Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 1713 → Rev 1712

/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: