Subversion Repositories Kolibri OS

Rev

Rev 7834 | Rev 8346 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1681 mario79 1
;---------------------------------------------------------------------
7829 leency 2
aQuestion	db '?',0
3
caption_str	db 'KPack - Kolibri Packer',0
1681 mario79 4
buttons1names	db ' InFile:'
5
		db 'OutFile:'
6
		db '   Path:'
7829 leency 7
aCompress	db ' Compress',0
8
aDecompress	db 'Decompress',0
1681 mario79 9
definoutname	db 0
2357 mario79 10
defpath		db '/rd/1',0
7834 leency 11
kernel_name db 'kernel.mnt',0
1686 mario79 12
;curedit		dd 0
1681 mario79 13
 
7834 leency 14
info_str	db 'KPack - Kolibri Packer, version 0.22',10
1681 mario79 15
		db 'Uses LZMA v4.32 compression library',10,10
16
info_len	= $ - info_str
7829 leency 17
usage_str	db 'Written by diamond in 2006-2009 specially for KolibriOS',10
1688 mario79 18
		db 'Disassembled code, using Box_Lib, Proc_Lib and OpenDialog',10
7829 leency 19
		db 'by Mario79, 2010',10
20
		db 'LZMA is copyright (c) 1999-2005 by Igor Pavlov',10
1681 mario79 21
		db 10
22
		db 'Command-line usage:',10
7829 leency 23
		db '   path_to_infile with zero',10
7834 leency 24
		db '   use <-ker> key to pack kernel',10
1681 mario79 25
		db 10
26
		db 'Window usage:',10
7829 leency 27
		db '   Select file with PATH-button or set all data in the',10
7835 leency 28
		db '   text fields manually, then press an appropriate button',10
1681 mario79 29
usage_len	= $ - usage_str
1713 mario79 30
already_str	db 'Already packed kernel.mnt file',10
31
already_len	= $ - already_str
32
notkernel_str	db 'This is not kernel.mnt file',10
33
notkernel_len	= $ - notkernel_str
1681 mario79 34
errload_str	db 'Cannot load input file',10
35
errload_len	= $ - errload_str
36
outfileerr_str	db 'Cannot save output file',10
37
outfileerr_len	= $ - outfileerr_str
38
nomem_str	db 'No memory',10
39
nomem_len	= $ - nomem_str
40
too_big_str	db 'failed, output is greater than input.',10
41
too_big_len	= $ - too_big_str
42
compressing_str	db 'Compressing ... '
43
compressing_len = $ - compressing_str
44
lzma_memsmall_str db	'Warning: not enough memory for default LZMA settings,',10
45
		db '         will use less dictionary size',10
46
lzma_memsmall_len = $ - lzma_memsmall_str
47
notpacked_str	db 'Input file is not packed with KPack!',10
48
notpacked_len	= $ - notpacked_str
49
unpacked_ok	db 'Unpacked successful',10
50
unpacked_len	= $ - unpacked_ok
51
 
52
done_str	db 'OK! Compression ratio: '
53
ratio		dw	'00'
54
		db '%',10
55
done_len	= $ - done_str
56
;---------------------------------------------------------------------
57
align 4
58
LiteralNextStates:
59
db 0,0,0,0,1,2,3,4,5,6,4,5
60
MatchNextStates:
61
db 7,7,7,7,7,7,7,10,10,10,10,10
62
RepNextStates:
63
db 8,8,8,8,8,8,8,11,11,11,11,11
64
ShortRepNextStates:
65
db 9,9,9,9,9,9,9,11,11,11,11,11
1686 mario79 66
;---------------------------------------------------------------------
67
align 4
68
ProcLib_import:
69
OpenDialog_Init		dd aOpenDialog_Init
70
OpenDialog_Start	dd aOpenDialog_Start
71
;OpenDialog__Version	dd aOpenDialog_Version
72
        dd      0
73
        dd      0
74
aOpenDialog_Init	db 'OpenDialog_init',0
75
aOpenDialog_Start	db 'OpenDialog_start',0
76
;aOpenDialog_Version	db 'Version_OpenDialog',0
77
;---------------------------------------------------------------------
78
align	4
79
Box_lib_import:
80
edit_box_draw		dd aEdit_box_draw
81
edit_box_key		dd aEdit_box_key
82
edit_box_mouse		dd aEdit_box_mouse
83
 
3177 IgorA 84
init_checkbox		dd aInit_checkbox
1713 mario79 85
check_box_draw		dd aCheck_box_draw
86
check_box_mouse		dd aCheck_box_mouse
1686 mario79 87
 
88
	dd 0
89
	dd 0
90
 
91
aEdit_box_draw		db 'edit_box',0
92
aEdit_box_key		db 'edit_box_key',0
93
aEdit_box_mouse		db 'edit_box_mouse',0
94
 
3177 IgorA 95
aInit_checkbox		db 'init_checkbox2',0
96
aCheck_box_draw		db 'check_box_draw2',0
97
aCheck_box_mouse	db 'check_box_mouse2',0
1686 mario79 98
 
99
;---------------------------------------------------------------------
100
head_f_i:
101
head_f_l	db 'System error',0
102
 
103
err_message_found_lib1	db 'box_lib.obj - Not found!',0
104
err_message_found_lib2	db 'proc_lib.obj - Not found!',0
105
 
106
err_message_import1	db 'box_lib.obj - Wrong import!',0
107
err_message_import2	db 'proc_lib.obj - Wrong import!',0
108
 
109
system_dir_Boxlib	db '/sys/lib/box_lib.obj',0
110
system_dir_ProcLib	db '/sys/lib/proc_lib.obj',0
111
;---------------------------------------------------------------------
112
align 4
113
l_libs_start:
114
 
115
library01  l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \
116
err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i
117
 
118
library02  l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \
119
err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i
120
 
121
load_lib_end:
122
;---------------------------------------------------------------------
123
align 4
124
OpenDialog_data:
125
.type			dd 0
126
.procinfo		dd procinfo	;+4
127
.com_area_name		dd communication_area_name	;+8
128
.com_area		dd 0	;+12
129
.opendir_pach		dd temp_dir_pach	;+16
130
.dir_default_pach	dd communication_area_default_pach	;+20
131
.start_path		dd open_dialog_path	;+24
132
.draw_window		dd draw_window	;+28
133
.status			dd 0	;+32
134
.openfile_pach 		dd fname_buf	;+36
135
.filename_area		dd filename_area	;+40
136
.filter_area		dd Filter
137
.x:
138
.x_size			dw 420 ;+48 ; Window X size
139
.x_start		dw 10 ;+50 ; Window X position
140
.y:
141
.y_size			dw 320 ;+52 ; Window y size
142
.y_start		dw 10 ;+54 ; Window Y position
143
 
144
communication_area_name:
145
	db 'FFFFFFFF_open_dialog',0
146
open_dialog_path:
1702 Lrz 147
if __nightbuild eq yes
148
    db '/sys/MANAGERS/opendial',0
149
else
150
    db '/sys/File Managers/opendial',0
151
end if
1686 mario79 152
communication_area_default_pach:
153
	db '/rd/1',0
154
 
155
path4	db '/rd/1/temp',0
156
 
157
Filter:
158
dd	Filter.end - Filter.1
159
.1:
160
;db	'BIN',0
161
;db	'DAT',0
162
.end:
163
db	0
164
 
7829 leency 165
WIN_W = 490
166
WIN_H = 350
167
LINE_H = 25
168
RIGHT_BTN_W = 103
169
EDIT_X = 76
170
LOG_Y = LINE_H*3+5
171
LOG_H = WIN_H-LOG_Y-9
172
 
1686 mario79 173
start_temp_file_name:	db 'temp.bin',0
174
 
175
;---------------------------------------------------------------------
176
align 4
7829 leency 177
edit1 edit_box WIN_W-EDIT_X-RIGHT_BTN_W-12, EDIT_X, 3,          0xffffff,\
178
        0xA4C4E4, 0x80ff, 0, 0x10000000, 256, inname,  mouse_dd, 0, 11,11
179
edit2 edit_box WIN_W-EDIT_X-RIGHT_BTN_W-12, EDIT_X, LINE_H+3,   0xffffff,\
180
        0xA4C4E4, 0x80ff, 0, 0x10000000, 256, outname, mouse_dd, 0, 7,7
181
edit3 edit_box WIN_W-EDIT_X-RIGHT_BTN_W-12, EDIT_X, LINE_H*2+3, 0xffffff,\
182
        0xA4C4E4, 0x80ff, 0, 0x10000000, 256, path,    mouse_dd, 0, 6,6
1686 mario79 183
editboxes_end:
184
 
185
mouse_dd dd 0
1713 mario79 186
;---------------------------------------------------------------------
187
 
7829 leency 188
check1 check_box2 ((WIN_W - RIGHT_BTN_W - 5) shl 16)+15, ((LINE_H*2+6) shl 16)+15, 6, 0xffffff,\
189
        0x80ff, 0x10000000, check_text,ch_flag_top
2263 leency 190
check1_end:
1713 mario79 191
 
192
check_text db 'Kernel',0
193
;*********************************************************************
194
; Kerpack data
195
;*********************************************************************
196
align 4
197
fn70_read:
198
		dd	0
199
		dd	0
200
		dd	0
201
insize3		dd	200*1024
202
infile3		dd	infile
203
		db	0
204
		dd	fullname
205
 
206
align 4
207
fn70_write:
208
		dd	2
209
		dd	0
210
		dd	0
211
outsize3	dd	?
212
outfile3	dd	outfile
213
		db	0
214
		dd	fullname
215
;*********************************************************************