Rev 3634 | Rev 4270 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
341 | heavyiron | 1 | ; RDsave для Kolibri (0.6.5.0 и старше) |
4213 | heavyiron | 2 | ; Save RAM-disk to hard or floppy drive |
1606 | mario79 | 3 | ;--------------------------------------------------------------------- |
205 | heavyiron | 4 | ; Mario79 2005 |
341 | heavyiron | 5 | ; Heavyiron 12.02.2007 |
1070 | Lrz | 6 | ; |
4213 | heavyiron | 7 | ; Mario79 08.09.2010 - select path with OpenDialog,keys 1,2,3,4 for select options |
8 | ; Heavyiron 01.12.2013 - new logic |
||
341 | heavyiron | 9 | ;--------------------------------------------------------------------- |
205 | heavyiron | 10 | appname equ 'RDsave ' |
4213 | heavyiron | 11 | version equ '1.4' |
12 | debug equ no |
||
3634 | fedesco | 13 | |
4213 | heavyiron | 14 | use32 ; включить 32-битный режим ассемблера |
15 | org 0x0 ; адресация с нуля |
||
205 | heavyiron | 16 | |
4213 | heavyiron | 17 | db 'MENUET01' ; 8-байтный идентификатор MenuetOS |
18 | dd 0x01 ; версия заголовка (всегда 1) |
||
19 | dd START ; адрес первой команды |
||
20 | dd IM_END ; размер программы |
||
21 | dd I_END ; количество памяти |
||
22 | dd stacktop ; адрес вершины стека |
||
23 | dd PARAMS ; адрес буфера для параметров |
||
24 | dd cur_dir_path |
||
205 | heavyiron | 25 | |
4213 | heavyiron | 26 | |
27 | include 'lang.inc' |
||
28 | include '../../../macros.inc' |
||
29 | if debug eq yes |
||
30 | include '../../../debug.inc' |
||
31 | end if |
||
32 | include '../../../proc32.inc' |
||
33 | include '../../../dll.inc' |
||
1111 | Lrz | 34 | include '../../../develop/libraries/box_lib/load_lib.mac' |
1373 | IgorA | 35 | include '../../../develop/libraries/box_lib/trunk/box_lib.mac' |
4213 | heavyiron | 36 | include 'str.inc' |
1070 | Lrz | 37 | |
4213 | heavyiron | 38 | @use_library |
341 | heavyiron | 39 | ;--------------------------------------------------------------------- |
40 | ;--- НАЧАЛО ПРОГРАММЫ ---------------------------------------------- |
||
41 | ;--------------------------------------------------------------------- |
||
1070 | Lrz | 42 | align 4 |
43 | START: |
||
4213 | heavyiron | 44 | ;--------------------------------------------------------------------- |
45 | mcall 48,3,sc,sizeof.system_colors |
||
46 | mcall 68,11 |
||
1606 | mario79 | 47 | |
48 | load_libraries l_libs_start,end_l_libs |
||
4213 | heavyiron | 49 | inc eax |
50 | test eax,eax |
||
51 | jz close |
||
1606 | mario79 | 52 | |
4213 | heavyiron | 53 | stdcall dll.Init,[init_lib] |
205 | heavyiron | 54 | |
4213 | heavyiron | 55 | invoke ini_get_int,ini_file,asettings,aautoclose,0 |
56 | mov [autoclose],eax |
||
57 | |||
58 | mov ecx,PARAMS |
||
59 | cmp byte[ecx], 0 |
||
60 | je no_params |
||
61 | cmp byte[ecx], 'h' |
||
62 | je @f |
||
63 | cmp byte[ecx], 'H' |
||
64 | jne .no_h |
||
1606 | mario79 | 65 | @@: |
4213 | heavyiron | 66 | mov [hidden],1 |
67 | jmp no_params |
||
68 | .no_h: |
||
69 | mov [param],1 |
||
70 | mov ah,2 |
||
71 | jmp noclose |
||
1228 | Lrz | 72 | |
4213 | heavyiron | 73 | no_params: |
1606 | mario79 | 74 | |
4213 | heavyiron | 75 | invoke ini_get_str,ini_file,apath,apath,fname_buf,4096,path |
1606 | mario79 | 76 | |
4213 | heavyiron | 77 | stdcall _lstrcpy,filename_area,start_temp_file_name |
1606 | mario79 | 78 | |
4213 | heavyiron | 79 | ;--------------------------------------------------------------------- |
80 | stdcall _lstrcpy,check_dir,fname_buf |
||
81 | call check_path |
||
82 | test eax,eax |
||
83 | jz path_ok |
||
84 | cmp eax,6 |
||
85 | je path_ok |
||
86 | ;--------------------------------------------------------------------- |
||
87 | if debug eq yes |
||
88 | dps 'read_folder_error' |
||
89 | newline |
||
90 | end if |
||
91 | ;--------------------------------------------------------------------- |
||
92 | |||
93 | stdcall _lstrcpy,fname_buf,communication_area_default_path |
||
94 | |||
95 | mov [hidden],0 |
||
96 | |||
97 | ;OpenDialog initialisation |
||
98 | push dword OpenDialog_data |
||
99 | call [OpenDialog_Init] |
||
100 | |||
1606 | mario79 | 101 | ; prepare for PathShow |
4213 | heavyiron | 102 | push dword PathShow_data_1 |
103 | call [PathShow_prepare] |
||
104 | call draw_window |
||
105 | mov ah,3 |
||
106 | mov ecx,fname_buf |
||
107 | jmp noclose |
||
108 | ;--------------------------------------------------------------------- |
||
109 | path_ok: |
||
110 | ;OpenDialog initialisation |
||
111 | push dword OpenDialog_data |
||
112 | call [OpenDialog_Init] |
||
1606 | mario79 | 113 | |
4213 | heavyiron | 114 | ; prepare for PathShow |
115 | push dword PathShow_data_1 |
||
116 | call [PathShow_prepare] |
||
205 | heavyiron | 117 | |
4213 | heavyiron | 118 | mcall 40,0x00000027 |
119 | |||
120 | cmp [hidden],1 |
||
121 | jne red |
||
122 | mov ah,2 |
||
123 | mov ecx,fname_buf |
||
124 | jmp noclose |
||
125 | red: |
||
126 | call draw_window |
||
341 | heavyiron | 127 | ;--------------------------------------------------------------------- |
128 | still: |
||
4213 | heavyiron | 129 | mcall 10 |
205 | heavyiron | 130 | |
4213 | heavyiron | 131 | dec eax ; перерисовать окно? |
132 | jz red ; если да - на метку red |
||
133 | dec eax |
||
134 | jz key |
||
135 | dec eax |
||
136 | jz button |
||
137 | jmp still |
||
1606 | mario79 | 138 | ;--------------------------------------------------------------------- |
341 | heavyiron | 139 | button: |
4213 | heavyiron | 140 | mcall 17 ; получить идентификатор нажатой кнопки |
141 | dec ah |
||
142 | jz close |
||
143 | mov ecx,fname_buf |
||
144 | cmp ah,1 ; кнопка с id=1("закрыть")? |
||
145 | jne noclose |
||
1070 | Lrz | 146 | close: |
4213 | heavyiron | 147 | or eax,-1 ; функция -1: завершить программу |
148 | mcall |
||
149 | ;--------------------------------------------------------------------- |
||
150 | key: |
||
151 | mcall 2 |
||
152 | cmp ah,0x1b |
||
153 | je close |
||
154 | mov ecx,fname_buf |
||
155 | cmp ah,0x0D |
||
156 | jne @f |
||
157 | mov ah,2 |
||
158 | jmp noclose |
||
159 | @@: |
||
160 | cmp ah,9h |
||
161 | jne still |
||
162 | ;--------------------------------------------------------------------- |
||
341 | heavyiron | 163 | noclose: |
4213 | heavyiron | 164 | push 16 |
165 | mov ebx,1 |
||
166 | cmp byte[ecx+1],'f' |
||
167 | je @f |
||
168 | cmp byte[ecx+1],'F' |
||
169 | jne not_fdd |
||
170 | @@: |
||
171 | cmp byte[ecx+4],'1' |
||
172 | jne @f |
||
173 | cmp ah,2 |
||
174 | je doit |
||
175 | @@: |
||
176 | inc ebx |
||
177 | cmp ah,2 |
||
178 | je doit |
||
179 | not_fdd: |
||
180 | push 18 |
||
181 | mov ebx,6 ; 18.6 = save to specified folder |
||
182 | cmp ah,2 |
||
183 | je doit |
||
1606 | mario79 | 184 | |
185 | ; invoke OpenDialog |
||
4213 | heavyiron | 186 | push dword OpenDialog_data |
187 | call [OpenDialog_Start] |
||
188 | cmp [OpenDialog_data.status],1 |
||
189 | jne still |
||
1606 | mario79 | 190 | |
191 | ; prepare for PathShow |
||
4213 | heavyiron | 192 | push dword PathShow_data_1 |
193 | call [PathShow_prepare] |
||
194 | call draw_window |
||
195 | mov ecx,fname_buf |
||
196 | mov ah,2 |
||
197 | jmp noclose |
||
1606 | mario79 | 198 | |
4213 | heavyiron | 199 | doit: |
200 | call save_ini |
||
201 | pop eax |
||
202 | mcall |
||
203 | call check_for_error |
||
204 | cmp [param],1 |
||
205 | je @f |
||
206 | jmp still |
||
207 | @@: |
||
208 | jmp no_params |
||
1606 | mario79 | 209 | |
210 | ;--------------------------------------------------------------------- |
||
4213 | heavyiron | 211 | check_for_error: ;Обработчик ошибок |
212 | stdcall _lstrcpy,check_dir,ok |
||
213 | stdcall _lstrcat,check_dir,fname_buf |
||
214 | mov edx,check_dir |
||
215 | test eax,eax |
||
216 | jz print_ok |
||
217 | cmp ebx,6 |
||
218 | je @f |
||
219 | mov edx,error11 |
||
220 | jmp print_err |
||
221 | @@: |
||
222 | mov edi, error_msg |
||
223 | cmp eax, 11 |
||
224 | ja .unknown |
||
225 | mov esi, [errors+eax*4] |
||
226 | @@: |
||
227 | lodsb |
||
228 | stosb |
||
229 | test al, al |
||
230 | jnz @b |
||
231 | mov edx, error_msg |
||
232 | jmp print_err |
||
233 | .unknown: |
||
234 | mov edx, aUnknownError |
||
235 | print_err: |
||
236 | mov dword [is_notify + 8], edx |
||
237 | mcall 70, is_notify |
||
238 | ret |
||
239 | print_ok: |
||
240 | mov dword [is_notify + 8], edx |
||
241 | mcall 70, is_notify |
||
242 | cmp [hidden],1 |
||
243 | je close |
||
244 | cmp [autoclose],0 |
||
245 | je @f |
||
246 | mcall 5,50 |
||
247 | jmp close |
||
248 | @@: |
||
249 | ret |
||
1606 | mario79 | 250 | ;--------------------------------------------------------------------- |
4213 | heavyiron | 251 | draw_PathShow: |
252 | pushad |
||
253 | mcall 13,<15,280>,<32,16>,0xffffff |
||
254 | push dword PathShow_data_1 |
||
255 | call [PathShow_draw] |
||
256 | popad |
||
257 | ret |
||
1606 | mario79 | 258 | ;--------------------------------------------------------------------- |
4213 | heavyiron | 259 | save_ini: |
260 | pushad |
||
261 | stdcall _lstrlen,fname_buf |
||
262 | invoke ini_set_str,ini_file,apath,apath,fname_buf,eax |
||
263 | invoke ini_set_int,ini_file,asettings,aautoclose,[autoclose] |
||
264 | popad |
||
265 | ret |
||
341 | heavyiron | 266 | ;--------------------------------------------------------------------- |
4213 | heavyiron | 267 | check_path: |
268 | stdcall _lstrlen,check_dir |
||
269 | mov edi,check_dir |
||
270 | add edi,eax |
||
271 | @@: |
||
272 | mov byte [edi],0 |
||
273 | dec edi |
||
274 | cmp byte [edi],'/' |
||
275 | jne @b |
||
276 | |||
277 | if debug eq yes |
||
278 | dps 'read_folder_name: ' |
||
279 | mov edx,check_dir |
||
280 | call debug_outstr |
||
281 | newline |
||
282 | end if |
||
283 | mcall 70,read_folder |
||
284 | ret |
||
1606 | mario79 | 285 | ;--------------------------------------------------------------------- |
4213 | heavyiron | 286 | ;--- Draw window --------------------------------------------------- |
341 | heavyiron | 287 | ;--------------------------------------------------------------------- |
205 | heavyiron | 288 | draw_window: |
4213 | heavyiron | 289 | mcall 12,1 |
205 | heavyiron | 290 | |
4213 | heavyiron | 291 | mov edx,[sc.work] |
292 | or edx,0x34000000 |
||
293 | mcall 0,<200,400>,<200,120>, , ,title |
||
205 | heavyiron | 294 | |
4213 | heavyiron | 295 | ;buttons |
296 | mcall 8,<198,70>,<68,20>,2,[sc.work_button] |
||
297 | inc edx |
||
298 | mcall ,<125,70>, |
||
299 | inc edx |
||
300 | mcall ,<300,75>,<30,20> |
||
1070 | Lrz | 301 | |
4213 | heavyiron | 302 | ;labels |
303 | mov ecx,[sc.work_button_text] |
||
304 | or ecx,0x80000000 |
||
305 | mcall 4,<134,75>, ,save |
||
306 | mcall ,<215,75>, ,cansel |
||
307 | mcall ,<315,36>, ,select |
||
308 | |||
309 | mov ecx,[sc.work] |
||
310 | mov dword [frame_data.font_backgr_color],ecx |
||
311 | push dword frame_data |
||
312 | call [Frame_draw] |
||
205 | heavyiron | 313 | |
4213 | heavyiron | 314 | call draw_PathShow |
205 | heavyiron | 315 | |
4213 | heavyiron | 316 | mcall 12,2 |
317 | ret |
||
205 | heavyiron | 318 | |
341 | heavyiron | 319 | ;--------------------------------------------------------------------- |
4213 | heavyiron | 320 | ;--- Data ---------------------------------------------------------- |
1606 | mario79 | 321 | ;--------------------------------------------------------------------- |
205 | heavyiron | 322 | if lang eq ru |
4213 | heavyiron | 323 | save db 'Сохранить',0 |
324 | cansel db 'Отмена',0 |
||
325 | select db 'Изменить',0 |
||
326 | label1 db ' Образ будет сохранен в: ',0 |
||
327 | ok db 'RAM-диск сохранен успешно в ',0 |
||
328 | error1 db 'Не определена база и/или раздел жёсткого диска',0 |
||
329 | error2 db 'Функция не поддерживается для данной файловой системы',0 |
||
330 | error3 db 'Неизвестная файловая система',0 |
||
331 | error4 db 'Странно... Ошибка 4',0 |
||
332 | error5 db 'Несуществующий путь',0 |
||
333 | error6 db 'Файл закончился',0 |
||
334 | error7 db 'Указатель вне памяти приложения',0 |
||
335 | error8 db 'Диск заполнен',0 |
||
336 | error9 db 'Файловая структура разрушена',0 |
||
337 | error10 db 'Доступ запрещён',0 |
||
338 | error11 db 'Ошибка устройства',0 |
||
339 | aUnknownError db 'Неизвестная ошибка',0 |
||
1606 | mario79 | 340 | ;--------------------------------------------------------------------- |
605 | kaitz | 341 | else if lang eq et |
4213 | heavyiron | 342 | save db 'Salvesta',0 |
343 | cansel db 'Cansel',0 |
||
344 | select db ' Valige',0 |
||
345 | label1 db ' RAM-drive will be saved as: ',0 |
||
346 | ok db 'RAM-ketas salvestatud edukalt ',0 |
||
347 | error1 db 'Hard disk base and/or partition not defined',0 |
||
348 | error2 db 'The file system does not support this function',0 |
||
349 | error3 db 'Tundmatu failis№steem',0 |
||
350 | error4 db 'Strange... Error 4',0 |
||
351 | error5 db 'Vigane teekond',0 |
||
352 | error6 db 'End of file',0 |
||
353 | error7 db 'Pointer is outside of application memory',0 |
||
354 | error8 db 'Ketas tфis',0 |
||
355 | error9 db 'FAT tabel vigane',0 |
||
356 | error10 db 'Juurdepффs keelatud',0 |
||
357 | error11 db 'Seadme viga',0 |
||
358 | aUnknownError db 'Tundmatu viga',0 |
||
1606 | mario79 | 359 | ;--------------------------------------------------------------------- |
3634 | fedesco | 360 | else if lang eq it |
4213 | heavyiron | 361 | save db ' Salva',0 |
362 | cansel db 'Cansel',0 |
||
363 | select db 'Seleziona',0 |
||
364 | label1 db ' RAM-drive will be saved as: ',0 |
||
365 | ok db 'Il RAM-drivet e stato salvato ',0 |
||
366 | error1 db 'Hard disk base and/or partition not defined',0 |
||
367 | error2 db 'The file system does not support this function',0 |
||
368 | error3 db 'Filesystem sconosciuto',0 |
||
369 | error4 db 'Strange... Error 4',0 |
||
370 | error5 db 'Percorso non valido',0 |
||
371 | error6 db 'End of file',0 |
||
372 | error7 db 'Pointer is outside of application memory',0 |
||
373 | error8 db 'Disco pieno',0 |
||
374 | error9 db 'Tabella FAT corrotta',0 |
||
375 | error10 db 'Accesso negato',0 |
||
376 | error11 db 'Errore di device',0 |
||
377 | aUnknownError db 'Errore sconosciuto',0 |
||
3634 | fedesco | 378 | ;--------------------------------------------------------------------- |
205 | heavyiron | 379 | else |
4213 | heavyiron | 380 | save db ' Save',0 |
381 | cansel db 'Cansel',0 |
||
382 | select db ' Select',0 |
||
383 | label1 db ' RAM-drive will be saved as: ',0 |
||
384 | ok db 'RAM-drive was saved successfully in ',0 |
||
385 | error1 db 'Hard disk base and/or partition not defined',0 |
||
386 | error2 db 'The file system does not support this function',0 |
||
387 | error3 db 'Unknown file system',0 |
||
388 | error4 db 'Strange... Error 4',0 |
||
389 | error5 db 'Incorrect path',0 |
||
390 | error6 db 'End of file',0 |
||
391 | error7 db 'Pointer is outside of application memory',0 |
||
392 | error8 db 'Disk is full',0 |
||
393 | error9 db 'File structure is destroyed',0 |
||
394 | error10 db 'Access denied',0 |
||
395 | error11 db 'Device error',0 |
||
396 | aUnknownError db 'Unknown error',0 |
||
205 | heavyiron | 397 | |
398 | end if |
||
4213 | heavyiron | 399 | |
400 | title db appname,version,0 |
||
401 | ;--------------------------------------------------------------------- |
||
402 | errors: |
||
403 | dd ok |
||
404 | dd error1 |
||
405 | dd error2 |
||
406 | dd error3 |
||
407 | dd error4 |
||
408 | dd error5 |
||
409 | dd error6 |
||
410 | dd error7 |
||
411 | dd error8 |
||
412 | dd error9 |
||
413 | dd error10 |
||
414 | dd error11 |
||
415 | ;--------------------------------------------------------------------- |
||
416 | ;Lib_DATA |
||
1070 | Lrz | 417 | ;Всегда соблюдать последовательность в имени. |
4213 | heavyiron | 418 | system_dir_Boxlib db '/sys/lib/box_lib.obj',0 |
419 | system_dir_ProcLib db '/sys/lib/proc_lib.obj',0 |
||
420 | system_dir_libini db '/sys/lib/libini.obj',0 |
||
421 | ;--------------------------------------------------------------------- |
||
1070 | Lrz | 422 | head_f_i: |
4213 | heavyiron | 423 | head_f_l db 'System error',0 |
1606 | mario79 | 424 | |
4213 | heavyiron | 425 | err_message_found_lib1 db 'box_lib.obj - Not found!',0 |
426 | err_message_found_lib2 db 'proc_lib.obj - Not found!',0 |
||
427 | err_message_found_lib3 db 'libini.obj - Not found!',0 |
||
1606 | mario79 | 428 | |
4213 | heavyiron | 429 | err_message_import1 db 'box_lib.obj - Wrong import!',0 |
430 | err_message_import2 db 'proc_lib.obj - Wrong import!',0 |
||
431 | err_message_import3 db 'libini.obj - Wrong import!',0 |
||
1606 | mario79 | 432 | ;--------------------------------------------------------------------- |
433 | l_libs_start: |
||
434 | |||
435 | library01 l_libs system_dir_Boxlib+9, cur_dir_path, library_path, system_dir_Boxlib, \ |
||
436 | err_message_found_lib1, head_f_l, Box_lib_import, err_message_import1, head_f_i |
||
437 | |||
438 | library02 l_libs system_dir_ProcLib+9, cur_dir_path, library_path, system_dir_ProcLib, \ |
||
439 | err_message_found_lib2, head_f_l, ProcLib_import, err_message_import2, head_f_i |
||
440 | |||
4213 | heavyiron | 441 | library03 l_libs system_dir_libini+9, cur_dir_path, library_path, system_dir_libini, \ |
442 | err_message_found_lib3, head_f_l, libini_import, err_message_import3, head_f_i |
||
443 | |||
1606 | mario79 | 444 | end_l_libs: |
445 | ;--------------------------------------------------------------------- |
||
446 | OpenDialog_data: |
||
4213 | heavyiron | 447 | .type dd 1 ; Save |
448 | .procinfo dd procinfo ;+4 |
||
449 | .com_area_name dd communication_area_name ;+8 |
||
450 | .com_area dd 0 ;+12 |
||
451 | .opendir_path dd temp_dir_path ;+16 |
||
452 | .dir_default_path dd communication_area_default_path ;+20 |
||
453 | .start_path dd open_dialog_path ;+24 |
||
454 | .draw_window dd draw_window ;+28 |
||
455 | .status dd 0 ;+32 |
||
456 | .openfile_pach dd fname_buf ;+36 |
||
457 | .filename_area dd filename_area ;+40 |
||
458 | .filter_area dd Filter |
||
1606 | mario79 | 459 | .x: |
4213 | heavyiron | 460 | .x_size dw 420 ;+48 ; Window X size |
461 | .x_start dw 200 ;+50 ; Window X position |
||
1606 | mario79 | 462 | .y: |
4213 | heavyiron | 463 | .y_size dw 320 ;+52 ; Window y size |
464 | .y_start dw 120 ;+54 ; Window Y position |
||
1606 | mario79 | 465 | |
466 | communication_area_name: |
||
4213 | heavyiron | 467 | db 'FFFFFFFF_open_dialog',0 |
1606 | mario79 | 468 | open_dialog_path: |
1702 | Lrz | 469 | if __nightbuild eq yes |
470 | db '/sys/MANAGERS/opendial',0 |
||
471 | else |
||
472 | db '/sys/File Managers/opendial',0 |
||
473 | end if |
||
4213 | heavyiron | 474 | communication_area_default_path: |
475 | db '/',0 |
||
1606 | mario79 | 476 | |
477 | Filter: |
||
4213 | heavyiron | 478 | dd Filter.end - Filter |
1606 | mario79 | 479 | .1: |
4213 | heavyiron | 480 | db 'IMG',0 |
481 | db 'IMA',0 |
||
1606 | mario79 | 482 | .end: |
4213 | heavyiron | 483 | db 0 |
1606 | mario79 | 484 | |
4213 | heavyiron | 485 | start_temp_file_name: db 'kolibri.img',0 |
1606 | mario79 | 486 | |
487 | ;--------------------------------------------------------------------- |
||
1070 | Lrz | 488 | align 4 |
1606 | mario79 | 489 | ProcLib_import: |
4213 | heavyiron | 490 | OpenDialog_Init dd aOpenDialog_Init |
491 | OpenDialog_Start dd aOpenDialog_Start |
||
1606 | mario79 | 492 | dd 0 |
493 | dd 0 |
||
4213 | heavyiron | 494 | aOpenDialog_Init db 'OpenDialog_init',0 |
495 | aOpenDialog_Start db 'OpenDialog_start',0 |
||
1606 | mario79 | 496 | ;--------------------------------------------------------------------- |
4213 | heavyiron | 497 | PathShow_data_1: |
498 | .type dd 0 ;+0 |
||
499 | .start_y dw 36 ;+4 |
||
500 | .start_x dw 20 ;+6 |
||
501 | .font_size_x dw 6 ;+8 ; 6 - for font 0, 8 - for font 1 |
||
502 | .area_size_x dw 270 ;+10 |
||
503 | .font_number dd 0 ;+12 ; 0 - monospace, 1 - variable |
||
504 | .background_flag dd 0 ;+16 |
||
505 | .font_color dd 0 ;+20 |
||
506 | .background_color dd 0 ;+24 |
||
507 | .text_pointer dd fname_buf ;+28 |
||
508 | .work_area_pointer dd text_work_area ;+32 |
||
509 | .temp_text_length dd 0 ;+36 |
||
510 | ;--------------------------------------------------------------------- |
||
1606 | mario79 | 511 | align 4 |
3634 | fedesco | 512 | Box_lib_import: |
4213 | heavyiron | 513 | ;edit_box_draw dd aEdit_box_draw |
514 | ;edit_box_key dd aEdit_box_key |
||
515 | ;edit_box_mouse dd aEdit_box_mouse |
||
516 | ;version_ed dd aVersion_ed |
||
485 | heavyiron | 517 | |
4213 | heavyiron | 518 | PathShow_prepare dd sz_PathShow_prepare |
519 | PathShow_draw dd sz_PathShow_draw |
||
520 | Frame_draw dd sz_Frame_draw |
||
521 | dd 0 |
||
522 | dd 0 |
||
1070 | Lrz | 523 | |
4213 | heavyiron | 524 | ;aEdit_box_draw db 'edit_box',0 |
525 | ;aEdit_box_key db 'edit_box_key',0 |
||
526 | ;aEdit_box_mouse db 'edit_box_mouse',0 |
||
527 | ;aVersion_ed db 'version_ed',0 |
||
1070 | Lrz | 528 | |
4213 | heavyiron | 529 | sz_PathShow_prepare db 'PathShow_prepare',0 |
530 | sz_PathShow_draw db 'PathShow_draw',0 |
||
1070 | Lrz | 531 | |
4213 | heavyiron | 532 | sz_Frame_draw db 'frame_draw',0 |
533 | ;szVersion_frame db 'version_frame',0 |
||
534 | ;--------------------------------------------------------------------- |
||
535 | frame_data: |
||
536 | .type dd 0 ;+0 |
||
537 | .x: |
||
538 | .x_size dw 374 ;+4 |
||
539 | .x_start dw 8 ;+6 |
||
540 | .y: |
||
541 | .y_size dw 45 ;+8 |
||
542 | .y_start dw 17 ;+10 |
||
543 | .ext_fr_col dd 0x888888 ;+12 |
||
544 | .int_fr_col dd 0xffffff ;+16 |
||
545 | .draw_text_flag dd 1 ;+20 |
||
546 | .text_pointer dd label1 ;+24 |
||
547 | .text_position dd 0 ;+28 |
||
548 | .font_number dd 0 ;+32 |
||
549 | .font_size_y dd 9 ;+36 |
||
550 | .font_color dd 0x0 ;+40 |
||
551 | .font_backgr_color dd 0xdddddd ;+44 |
||
552 | ;--------------------------------------------------------------------- |
||
553 | align 4 |
||
554 | libini_import: |
||
555 | init_lib dd a_init |
||
556 | ini_get_str dd aini_get_str |
||
557 | ini_get_int dd aini_get_int |
||
558 | ini_set_str dd aini_set_str |
||
559 | ini_set_int dd aini_set_int |
||
560 | dd 0 |
||
561 | dd 0 |
||
562 | a_init db 'lib_init',0 |
||
563 | aini_get_str db 'ini_get_str',0 |
||
564 | aini_get_int db 'ini_get_int',0 |
||
565 | aini_set_str db 'ini_set_str',0 |
||
566 | aini_set_int db 'ini_set_int',0 |
||
567 | ;--------------------------------------------------------------------- |
||
1070 | Lrz | 568 | |
4213 | heavyiron | 569 | apath db 'path',0 |
570 | asettings db 'settings',0 |
||
571 | aautoclose db 'autoclose',0 |
||
572 | path db '/hd2/1/kolibri.img',0 |
||
573 | ini_file db '/sys/settings/rdsave.ini',0 |
||
574 | ;ini_file db '/sys/rdsave.ini',0 |
||
575 | ;--------------------------------------------------------------------- |
||
576 | is_notify: |
||
577 | dd 7, 0, ok, 0, 0 |
||
578 | db "/rd/1/@notify", 0 |
||
579 | |||
580 | read_folder: |
||
581 | .subfunction dd 1 |
||
582 | .start dd 0 |
||
583 | .flags dd 0 |
||
584 | .size dd 1 |
||
585 | .return dd folder_data |
||
586 | db 0 |
||
587 | .name: dd check_dir |
||
1070 | Lrz | 588 | |
4213 | heavyiron | 589 | param dd 0 |
590 | hidden dd 0 |
||
591 | ;--------------------------------------------------------------------- |
||
592 | IM_END: |
||
593 | ;--------------------------------------------------------------------- |
||
594 | align 4 |
||
595 | PARAMS: |
||
596 | rb 256 |
||
597 | ini_path: |
||
598 | rb 4096 |
||
599 | check_dir: |
||
600 | rb 4096 |
||
1606 | mario79 | 601 | |
4213 | heavyiron | 602 | sc system_colors |
1606 | mario79 | 603 | |
4213 | heavyiron | 604 | ;mouse_dd rd 1 |
1606 | mario79 | 605 | |
4213 | heavyiron | 606 | autoclose rd 1 |
1606 | mario79 | 607 | |
4213 | heavyiron | 608 | error_msg rb 128 |
1606 | mario79 | 609 | |
4213 | heavyiron | 610 | folder_data: |
611 | rb 304*32+32 ; 9 Kb |
||
1606 | mario79 | 612 | ;--------------------------------------------------------------------- |
613 | cur_dir_path: |
||
4213 | heavyiron | 614 | rb 4096 |
1606 | mario79 | 615 | ;--------------------------------------------------------------------- |
616 | library_path: |
||
4213 | heavyiron | 617 | rb 4096 |
1606 | mario79 | 618 | ;--------------------------------------------------------------------- |
4213 | heavyiron | 619 | temp_dir_path: |
620 | rb 4096 |
||
1606 | mario79 | 621 | ;--------------------------------------------------------------------- |
622 | fname_buf: |
||
4213 | heavyiron | 623 | rb 4096 |
1606 | mario79 | 624 | ;--------------------------------------------------------------------- |
625 | procinfo: |
||
4213 | heavyiron | 626 | rb 1024 |
1606 | mario79 | 627 | ;--------------------------------------------------------------------- |
628 | filename_area: |
||
4213 | heavyiron | 629 | rb 256 |
1606 | mario79 | 630 | ;--------------------------------------------------------------------- |
631 | text_work_area: |
||
4213 | heavyiron | 632 | rb 1024 |
1606 | mario79 | 633 | ;--------------------------------------------------------------------- |
4213 | heavyiron | 634 | align 32 |
635 | rb 4096 |
||
1606 | mario79 | 636 | stacktop: |
4213 | heavyiron | 637 | I_END: ; метка конца программы315,36>215,75>134,75>30,20>300,75>125,70>68,20>198,70>200,120>200,400>32,16>15,280> |