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