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 | ;********************************************************************* |