Subversion Repositories Kolibri OS

Rev

Rev 2357 | Rev 7829 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

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