/programs/other/kpack/trunk/calltrick2.inc |
---|
File deleted |
/programs/other/kpack/trunk/kerpack.inc |
---|
File deleted |
\ No newline at end of file |
/programs/other/kpack/trunk/loader_lzma.inc |
---|
File deleted |
\ No newline at end of file |
/programs/other/kpack/trunk/const_var.inc |
---|
10,7 → 10,7 |
defpath db '/RD/1/' |
;curedit dd 0 |
info_str db 'KPack - Kolibri Packer, version 0.20',10 |
info_str db 'KPack - Kolibri Packer, version 0.15',10 |
db 'Uses LZMA v4.32 compression library',10,10 |
info_len = $ - info_str |
usage_str db 'Written by diamond in 2006, 2007, 2009 specially for KolibriOS',10 |
26,10 → 26,6 |
db ' or enter input and output file name,',10 |
db ' enter path and press needed button',10 |
usage_len = $ - usage_str |
already_str db 'Already packed kernel.mnt file',10 |
already_len = $ - already_str |
notkernel_str db 'This is not kernel.mnt file',10 |
notkernel_len = $ - notkernel_str |
errload_str db 'Cannot load input file',10 |
errload_len = $ - errload_str |
outfileerr_str db 'Cannot save output file',10 |
79,26 → 75,22 |
edit_box_draw dd aEdit_box_draw |
edit_box_key dd aEdit_box_key |
edit_box_mouse dd aEdit_box_mouse |
;version_ed dd aVersion_ed |
version_ed dd aVersion_ed |
check_box_draw dd aCheck_box_draw |
check_box_mouse dd aCheck_box_mouse |
;version_ch dd aVersion_ch |
option_box_draw dd aOption_box_draw |
option_box_mouse dd aOption_box_mouse |
version_op dd aVersion_op |
;option_box_draw dd aOption_box_draw |
;option_box_mouse dd aOption_box_mouse |
;version_op dd aVersion_op |
scrollbar_ver_draw dd aScrollbar_ver_draw |
scrollbar_ver_mouse dd aScrollbar_ver_mouse |
scrollbar_hor_draw dd aScrollbar_hor_draw |
scrollbar_hor_mouse dd aScrollbar_hor_mouse |
version_scrollbar dd aVersion_scrollbar |
;scrollbar_ver_draw dd aScrollbar_ver_draw |
;scrollbar_ver_mouse dd aScrollbar_ver_mouse |
;scrollbar_hor_draw dd aScrollbar_hor_draw |
;scrollbar_hor_mouse dd aScrollbar_hor_mouse |
;version_scrollbar dd aVersion_scrollbar |
menu_bar_draw dd aMenu_bar_draw |
menu_bar_mouse dd aMenu_bar_mouse |
version_menu_bar dd aVersion_menu_bar |
;menu_bar_draw dd aMenu_bar_draw |
;menu_bar_mouse dd aMenu_bar_mouse |
;version_menu_bar dd aVersion_menu_bar |
dd 0 |
dd 0 |
105,25 → 97,21 |
aEdit_box_draw db 'edit_box',0 |
aEdit_box_key db 'edit_box_key',0 |
aEdit_box_mouse db 'edit_box_mouse',0 |
;aVersion_ed db 'version_ed',0 |
aVersion_ed db 'version_ed',0 |
aCheck_box_draw db 'check_box_draw',0 |
aCheck_box_mouse db 'check_box_mouse',0 |
;aVersion_ch db 'version_ch',0 |
aOption_box_draw db 'option_box_draw',0 |
aOption_box_mouse db 'option_box_mouse',0 |
aVersion_op db 'version_op',0 |
;aOption_box_draw db 'option_box_draw',0 |
;aOption_box_mouse db 'option_box_mouse',0 |
;aVersion_op db 'version_op',0 |
aScrollbar_ver_draw db 'scrollbar_v_draw',0 |
aScrollbar_ver_mouse db 'scrollbar_v_mouse',0 |
aScrollbar_hor_draw db 'scrollbar_h_draw',0 |
aScrollbar_hor_mouse db 'scrollbar_h_mouse',0 |
aVersion_scrollbar db 'version_scrollbar',0 |
;aScrollbar_ver_draw db 'scrollbar_v_draw',0 |
;aScrollbar_ver_mouse db 'scrollbar_v_mouse',0 |
;aScrollbar_hor_draw db 'scrollbar_h_draw',0 |
;aScrollbar_hor_mouse db 'scrollbar_h_mouse',0 |
;aVersion_scrollbar db 'version_scrollbar',0 |
;aMenu_bar_draw db 'menu_bar_draw',0 |
;aMenu_bar_mouse db 'menu_bar_mouse',0 |
;aVersion_menu_bar db 'version_menu_bar',0 |
aMenu_bar_draw db 'menu_bar_draw',0 |
aMenu_bar_mouse db 'menu_bar_mouse',0 |
aVersion_menu_bar db 'version_menu_bar',0 |
;--------------------------------------------------------------------- |
head_f_i: |
head_f_l db 'System error',0 |
200,31 → 188,4 |
editboxes_end: |
mouse_dd dd 0 |
;--------------------------------------------------------------------- |
check1 check_box 353,40,4,10,0x80AABBCC,0,0,check_text,6 |
check_text db 'Kernel',0 |
;********************************************************************* |
; Kerpack data |
;********************************************************************* |
align 4 |
fn70_read: |
dd 0 |
dd 0 |
dd 0 |
insize3 dd 200*1024 |
infile3 dd infile |
db 0 |
dd fullname |
align 4 |
fn70_write: |
dd 2 |
dd 0 |
dd 0 |
outsize3 dd ? |
outfile3 dd outfile |
db 0 |
dd fullname |
;********************************************************************* |
;--------------------------------------------------------------------- |
/programs/other/kpack/trunk/kpack.asm |
---|
1,10 → 1,5 |
; kpack = Kolibri Packer |
;--------------------------------------------------------------------- |
; version: 0.20 |
; last update: 07/12/2010 |
; changed by: Marat Zakiyanov aka Mario79, aka Mario |
; changes: Added code for packing the kernel.mnt |
;--------------------------------------------------------------------- |
; version: 0.15 |
; last update: 06/11/2010 |
; changed by: Marat Zakiyanov aka Mario79, aka Mario |
147,29 → 142,8 |
push dword edit3 |
call [edit_box_mouse] |
push dword check1 |
call [check_box_mouse] |
jmp still |
;********************************************************************* |
tell_compress_mess: |
push compressing_len |
pop ecx |
mov esi,compressing_str |
call write_string |
ret |
;********************************************************************* |
clear_mess_and_displogo: |
call refresh_editbox_data |
; clear messages |
call clear_messages |
; display logo |
mov esi,info_str |
push info_len |
pop ecx |
call write_string |
ret |
;********************************************************************* |
clear_messages: |
xor eax,eax |
mov ecx,80*20/4+1 |
195,17 → 169,9 |
dec eax |
jnz nopack |
mov eax,[check1+32] |
test eax,10b |
jnz @f |
call pack |
jmp still |
;--------------------------------------------------------------------- |
@@: |
call kerpack |
jmp still |
;--------------------------------------------------------------------- |
nopack: |
dec eax |
jnz nounpack |
450,15 → 416,10 |
draw_editbox: |
push dword edit1 |
call [edit_box_draw] |
push dword edit2 |
call [edit_box_draw] |
push dword edit3 |
call [edit_box_draw] |
push dword check1 |
call [check_box_draw] |
ret |
;********************************************************************* |
set_editbox_position: |
547,9 → 508,6 |
;lzma_decompress: |
include 'lzma_decompress.inc' |
;--------------------------------------------------------------------- |
;kerpack code: |
include 'kerpack.inc' |
;--------------------------------------------------------------------- |
;initialized variables and constants |
include 'const_var.inc' |
;--------------------------------------------------------------------- |
/programs/other/kpack/trunk/data.inc |
---|
42,7 → 42,8 |
fn70size rd 1 |
fn70zero rd 1 |
fn70dest rd 1 |
fullname rb 4096 ;256 |
fullname rb 256 |
;--------------------------------------------------------------------- |
align 4 |
file_attr rd 8 |
198,7 → 199,7 |
_numPosBits: rd 1 |
_posMask: rd 1 |
_posStateBits: rd 1 |
_range: rd 1 |
range: rd 1 |
_cacheSize: rd 1 |
_cyclicBufferSize: rd 1 |
;----------------------------------------------------- |
222,15 → 223,4 |
pack_length: rd 1 |
;--------------------------------------------------------------------- |
; Compress data area end |
;--------------------------------------------------------------------- |
;********************************************************************* |
; Kerpack data |
;********************************************************************* |
align 4 |
inptr dd ? |
indelta dd ? |
insize1 dd ? |
;ct1 rb 256 |
;ctn dd ? |
;cti db ? |
;--------------------------------------------------------------------- |
/programs/other/kpack/trunk/packpoc.inc |
---|
1,6 → 1,24 |
;********************************************************************* |
pack: |
call displogo_and_readfile |
call refresh_editbox_data |
; clear messages |
call clear_messages |
; display logo |
mov esi,info_str |
push info_len |
pop ecx |
call write_string |
; load input file |
mov esi,inname |
call get_full_name |
mov ebx,fn70block |
mov [ebx],dword 5 |
and [ebx+4],dword 0 |
and [ebx+8],dword 0 |
and [ebx+12],dword 0 |
mov [ebx+16],dword file_attr |
mcall 70 |
test eax,eax |
jz inopened |
;--------------------------------------------------------------------- |
infileerr: |
136,8 → 154,10 |
call lzma_set_dict_size |
;-------------------------------------- |
no_lzma_setds: |
call tell_compress_mess |
push compressing_len |
pop ecx |
mov esi,compressing_str |
call write_string |
mov esi,[outfile1] |
mov edi,[outfile2] |
movsd |
/programs/other/kpack/trunk/upacproc.inc |
---|
1,6 → 1,25 |
;********************************************************************* |
unpack: |
call displogo_and_readfile |
call refresh_editbox_data |
; clear messages |
call clear_messages |
; display logo |
mov esi,info_str |
push info_len |
pop ecx |
call write_string |
; load input file |
mov esi,inname |
call get_full_name |
mov ebx,fn70block |
mov [ebx],dword 5 |
and [ebx+4],dword 0 |
and [ebx+8],dword 0 |
and [ebx+12],dword 0 |
mov [ebx+16],dword file_attr |
mcall 70 |
test eax,eax |
jnz infileerr |
mov ecx,[insize] |
161,19 → 180,4 |
mov [infile],eax |
@@: |
ret |
;********************************************************************* |
displogo_and_readfile: |
call clear_mess_and_displogo |
; load input file |
mov esi,inname |
call get_full_name |
mov ebx,fn70block |
mov [ebx],dword 5 |
and [ebx+4],dword 0 |
and [ebx+8],dword 0 |
and [ebx+12],dword 0 |
mov [ebx+16],dword file_attr |
mcall 70 |
test eax,eax |
ret |
;********************************************************************* |
/programs/other/kpack/trunk/lzma_compress.inc |
---|
181,7 → 181,7 |
;RangeEncoder_Init |
and dword [low],0 |
and dword [low+4],0 |
or dword [_range],0xFFFFFFFF |
or dword [range],0xFFFFFFFF |
push ebx |
push esi |
push edi |
1884,7 → 1884,7 |
;---------------------------------------------------------- |
.labl_00: |
mov eax,[esp+8] |
shr dword [_range],1 |
shr dword [range],1 |
dec esi |
mov ecx,esi |
shr eax,cl |
1891,15 → 1891,15 |
test al,1 |
je .labl_01 |
mov eax,[_range] |
mov eax,[range] |
add [low],eax |
adc dword [low+4],0 |
;---------------------------------------------------------- |
.labl_01: |
cmp dword [_range],0x1000000 |
cmp dword [range],0x1000000 |
jnb .labl_02 |
shl dword [_range],8 |
shl dword [range],8 |
call RangeEncoder_ShiftLow |
;---------------------------------------------------------- |
.labl_02: |
3179,7 → 3179,7 |
;* Call: *************************************************************** |
CMyBitEncoder_Encode: |
mov ecx,[_range] |
mov ecx,[range] |
mov eax,[edx] |
shr ecx,0xB |
imul ecx,eax |
3186,7 → 3186,7 |
cmp dword [esp+4],0 |
jne .labl_00 |
mov [_range],ecx |
mov [range],ecx |
mov ecx,2048 |
sub ecx,eax |
shr ecx,5 |
3197,7 → 3197,7 |
.labl_00: |
add [low],ecx |
adc dword [low+4],0 |
sub [_range],ecx |
sub [range],ecx |
mov ecx,eax |
shr ecx,5 |
sub eax,ecx |
3204,10 → 3204,10 |
mov [edx],eax |
;---------------------------------------------------------- |
.labl_01: |
cmp dword [_range],0x1000000 |
cmp dword [range],0x1000000 |
jnb .labl_02 |
shl dword [_range],8 |
shl dword [range],8 |
call RangeEncoder_ShiftLow |
;---------------------------------------------------------- |
.labl_02: |