Rev 131 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 131 | Rev 134 | ||
---|---|---|---|
Line 25... | Line 25... | ||
25 | ; sort type in headmenu bug del |
25 | ; sort type in headmenu bug del |
26 | ;78Ver directory extension bug fix by Asko Vuori |
26 | ;78Ver directory extension bug fix by Asko Vuori |
27 | ;79Ver Asko Vuori volume label add and "put in command line" bug fix |
27 | ;79Ver Asko Vuori volume label add and "put in command line" bug fix |
28 | ;80Ver prompt edit fatal bug deleted, antiflick when move list up/down |
28 | ;80Ver prompt edit fatal bug deleted, antiflick when move list up/down |
29 | ;81Ver Save Dialog bug deleted |
29 | ;81Ver Save Dialog bug deleted |
- | 30 | ;82Ver Rewritten to function 70. Corrected work with scrollbar. |
|
30 | ;600000 bytes memory! |
31 | ;1560000 bytes memory! |
Line 31... | Line 32... | ||
31 | 32 | ||
32 | ;****************************************************************************** |
33 | ;****************************************************************************** |
33 | use32 |
34 | use32 |
34 | org 0x0 |
35 | org 0x0 |
Line 53... | Line 54... | ||
53 | ; mov eax,58 |
54 | ; mov eax,58 |
54 | ; mov ebx,MRUfile |
55 | ; mov ebx,MRUfile |
55 | ; int 0x40 |
56 | ; int 0x40 |
56 | ; //// Willow |
57 | ; //// Willow |
57 | mcall 18,11,1,table_area |
58 | mcall 18,11,1,table_area |
58 | mov edi,hdimg+62*2 |
- | |
59 | cmp [table_area+2],byte 0 |
59 | cmp [edx+2],byte 0 |
60 | je no_hdpartition_on_hd0 |
60 | je no_hdpartition_on_hd0 |
61 | mov esi,hdimg1 |
61 | mov [hdimg1], aHD0 |
62 | mov ecx,62 |
- | |
63 | rep movsb |
- | |
64 | no_hdpartition_on_hd0: |
62 | no_hdpartition_on_hd0: |
65 | cmp [table_area+3],byte 0 |
63 | cmp [edx+3],byte 0 |
66 | je no_hdpartition_on_hd1 |
64 | je no_hdpartition_on_hd1 |
67 | mov esi,hdimg2 |
65 | mov [hdimg2], aHD1 |
68 | mov ecx,62 |
- | |
69 | rep movsb |
- | |
70 | no_hdpartition_on_hd1: |
66 | no_hdpartition_on_hd1: |
71 | cmp [table_area+4],byte 0 |
67 | cmp [edx+4],byte 0 |
72 | je no_hdpartition_on_hd2 |
68 | je no_hdpartition_on_hd2 |
73 | mov esi,hdimg3 |
69 | mov [hdimg3], aHD2 |
74 | mov ecx,62 |
- | |
75 | rep movsb |
- | |
76 | no_hdpartition_on_hd2: |
70 | no_hdpartition_on_hd2: |
77 | cmp [table_area+5],byte 0 |
71 | cmp [edx+5],byte 0 |
78 | je no_hdpartition_on_hd3 |
72 | je no_hdpartition_on_hd3 |
79 | mov esi,hdimg4 |
73 | mov [hdimg4], aHD3 |
80 | mov ecx,62 |
- | |
81 | rep movsb |
- | |
82 | no_hdpartition_on_hd3: |
74 | no_hdpartition_on_hd3: |
Line 83... | Line 75... | ||
83 | 75 | ||
84 | mov eax,40 |
76 | mov eax,40 |
85 | mov ebx,0100111b |
77 | mov ebx,0100111b |
Line 86... | Line 78... | ||
86 | int 0x40 |
78 | int 0x40 |
87 | 79 | ||
88 | cmp byte [param_area],0 ;test parameters line |
80 | cmp byte [param_area],0 ;test parameters line |
- | 81 | jne no_brow ;it's dialog |
|
89 | jne no_brow ;it's dialog |
82 | mov [browser], 1 ;it's browser |
Line 90... | Line -... | ||
90 | mov [browser],dword 1 ;it's browser |
- | |
91 | no_brow: |
- | |
92 | - | ||
93 | cmp [browser],dword 1 |
83 | jmp no_dlg |
94 | je no_dlg |
84 | no_brow: |
Line 95... | Line 85... | ||
95 | 85 | ||
96 | mov al,byte [param_area+5] |
86 | mov al,byte [param_area+5] |
Line 182... | Line 172... | ||
182 | call getimgproc |
172 | call getimgproc |
183 | add edx,9*12*3+8 |
173 | add edx,9*12*3+8 |
184 | add eax,12 |
174 | add eax,12 |
185 | dec ebp |
175 | dec ebp |
186 | jnz loogetimg |
176 | jnz loogetimg |
187 | jmp endgip |
- | |
188 | - | ||
189 | getimgproc: |
- | |
190 | pushad |
- | |
191 | mov dword [edx],esi ;xs |
- | |
192 | mov dword [edx+4],edi ;ys |
- | |
193 | - | ||
194 | mov ebp,eax |
- | |
195 | mov eax,dword [ecx] ;getx size |
- | |
196 | push edx |
- | |
197 | push ecx |
- | |
198 | lea ecx,[eax+2*eax] |
- | |
199 | - | ||
200 | mul ebx |
- | |
201 | add eax,ebp ;x |
- | |
202 | mov edx,ecx |
- | |
203 | lea eax,[eax+2*eax] ;eax=offset on imsrc |
- | |
204 | - | ||
205 | mov ecx,esi ;xs |
- | |
206 | mov ebx,edi ;ys |
- | |
207 | - | ||
208 | mov ebp,esi |
- | |
209 | - | ||
210 | pop edi |
- | |
211 | lea esi,[eax+8+edi] |
- | |
212 | - | ||
213 | pop edi |
- | |
214 | add edi,8 |
- | |
215 | - | ||
216 | cld |
- | |
217 | cyc: |
- | |
218 | movsw |
- | |
219 | movsb |
- | |
220 | dec ecx |
- | |
221 | jne cyc |
- | |
222 | add esi,edx |
- | |
223 | mov ecx,ebp ;xs |
- | |
224 | sub esi,ecx |
- | |
225 | sub esi,ecx |
- | |
226 | sub esi,ecx |
- | |
227 | dec ebx |
- | |
228 | jne cyc |
- | |
229 | - | ||
230 | popad |
- | |
231 | ret |
- | |
232 | - | ||
233 | endgip: |
- | |
Line 234... | Line 177... | ||
234 | 177 | ||
235 | call read_directory |
178 | call read_directory |
236 | ; call convertation |
179 | ; call convertation |
237 | red: |
180 | red: |
Line 247... | Line 190... | ||
247 | 190 | ||
248 | scrolltest: |
191 | scrolltest: |
249 | mov eax,37 |
192 | mov eax,37 |
250 | mov ebx,2 |
193 | mov ebx,2 |
251 | int 0x40 |
194 | int 0x40 |
252 | cmp eax,1 |
195 | dec eax |
Line 253... | Line 196... | ||
253 | jne still |
196 | jne still |
254 | 197 | ||
255 | scrl: |
198 | scrl: |
256 | mov eax,37 |
199 | mov eax,37 |
257 | mov ebx,1 |
200 | mov ebx,1 |
258 | int 0x40 |
201 | int 0x40 |
259 | mov ebx,eax |
- | |
260 | shr eax,16 ;x |
- | |
261 | and ebx,0xffff ;y |
202 | movzx ebx, ax ; y |
262 | 203 | shr eax, 16 ; x |
|
263 | mov ebp,eax |
204 | mov ebp,eax |
264 | sub ebp,[listx] ;[procinfo.x_size] |
205 | sub ebp,[listx] ;[procinfo.x_size] |
265 | sub ebp,[listxsize] |
206 | sub ebp,[listxsize] |
266 | add ebp,[scrollsize] |
207 | add ebp,[scrollsize] |
Line 267... | Line 208... | ||
267 | cmp ebp,dword [scrollsize] ;8 |
208 | cmp ebp,dword [scrollsize] ;8 |
268 | ja menu_test ; still |
209 | jae menu_test ; still |
269 | - | ||
270 | mov ebp,ebx |
- | |
271 | sub ebp,[listy] ;76 ;up scroll |
210 | |
- | 211 | lea ebp, [ebx-scrollbutsize] |
|
- | 212 | sub ebp, [listy] ; up scroll |
|
- | 213 | jl menu_test |
|
- | 214 | mov ecx, [listysize] |
|
- | 215 | sub ecx, 2*scrollbutsize |
|
- | 216 | mov eax, [scroll_height] |
|
- | 217 | cmp ebp, ecx |
|
- | 218 | jge menu_test |
|
- | 219 | sub ecx, eax |
|
272 | sub ebp,[scrollbutsize] |
220 | shr eax, 1 |
273 | cmp ebp,0 |
221 | sub ebp, eax |
- | 222 | jge @f |
|
- | 223 | xor ebp, ebp |
|
274 | jl menu_test |
224 | @@: |
- | 225 | cmp ebp, ecx |
|
275 | mov [mousey],ebp |
226 | jl @f |
276 | 227 | mov ebp, ecx |
|
277 | push eax ebx edx |
228 | @@: |
278 | mov edx,0 |
229 | xor edx, edx |
279 | mov eax,[listysize] |
230 | mov eax, [listysize] |
280 | sub eax,2 |
- | |
281 | mov ebx,dword 10 |
- | |
282 | div ebx |
231 | sub eax, 2 |
283 | 232 | mov ebx, 10 |
|
284 | mov [filelistsize],eax |
233 | div ebx |
285 | mov ebx,eax |
- | |
286 | cmp ebx,[listsize] ;filelistsize in ebx |
- | |
287 | ja notusescrl |
- | |
288 | - | ||
289 | mov edx,0 |
- | |
290 | mov eax,[listysize] |
- | |
291 | sub eax,[scrollbutsize] |
- | |
292 | sub eax,[scrollbutsize] |
- | |
293 | - | ||
294 | shl eax,16+6 |
- | |
295 | div dword [listsize] |
- | |
296 | mul ebx |
- | |
297 | shr eax,16+6 |
- | |
298 | - | ||
299 | mov ebp,eax ; in ebp ysize of scroll |
234 | mov ebx, eax |
300 | - | ||
301 | mov edx,0 |
- | |
302 | mov eax,[listsize] |
- | |
303 | - | ||
304 | mov ebx,[listysize] |
235 | cmp ebx, [listsize] |
305 | sub ebx,[scrollbutsize] |
- | |
306 | sub ebx,[scrollbutsize] |
236 | jae notusescrl |
307 | shl eax,16 |
- | |
308 | div ebx ;dword [listsize] |
- | |
309 | mul [mousey] |
237 | mov eax, [listsize] |
310 | shr eax,16 |
238 | sub eax, ebx |
311 | - | ||
312 | mov ebx,[listsize] |
- | |
313 | sub ebx,[filelistsize] |
- | |
314 | cmp eax,ebx |
239 | mul ebp |
315 | jnae no_cor |
- | |
316 | mov eax,[listsize] ;correction for full dirs (1000 files) |
240 | div ecx |
317 | sub eax,[filelistsize] |
- | |
318 | no_cor: |
241 | cmp eax, [filecursor] |
319 | mov [filecursor],eax |
242 | jz still |
- | 243 | mov [filecursor], eax |
|
- | 244 | jmp usescrl |
|
320 | 245 | notusescrl: |
|
321 | jmp usescrl |
246 | cmp [filecursor], 0 |
Line 322... | Line -... | ||
322 | notusescrl: |
- | |
323 | mov [filecursor],0 ;ebp |
- | |
324 | usescrl: |
- | |
325 | - | ||
326 | pop edx ebx eax |
- | |
327 | - | ||
328 | mov esi,[listy];[procinfo.y_size] |
- | |
329 | add esi,[listysize] |
- | |
330 | sub esi,[scrollbutsize] |
- | |
331 | - | ||
332 | cmp ebx,esi |
- | |
333 | jna oks ;menu_test ;still |
- | |
334 | - | ||
335 | sub esi,ebp |
- | |
336 | inc esi ;correction |
- | |
337 | cmp ebx,esi |
247 | jz still |
338 | ja menu_test ;still |
248 | mov [filecursor],0 ;ebp |
Line 339... | Line 249... | ||
339 | oks: |
249 | usescrl: |
340 | 250 | ||
Line 377... | Line 287... | ||
377 | jne no_pgdown |
287 | jne no_pgdown |
378 | mov ebx,10 |
288 | mov ebx,10 |
379 | jmp down |
289 | jmp down |
380 | no_pgdown: |
290 | no_pgdown: |
381 | cmp ah,key_Enter |
291 | cmp ah,key_Enter |
382 | jne no_k_ent |
- | |
383 | jmp kfad |
292 | je kfad |
384 | no_k_ent: |
- | |
385 | cmp ah,key_Bspace |
293 | cmp ah,key_Bspace |
386 | je back |
294 | je back |
387 | cmp ah,key_F2 |
295 | cmp ah,key_F2 |
388 | je viewset |
296 | je viewset |
389 | cmp ah,key_F3 |
297 | cmp ah,key_F3 |
Line 402... | Line 310... | ||
402 | con_edit: |
310 | con_edit: |
403 | cmp ah,key_Enter |
311 | cmp ah,key_Enter |
404 | jne no_con_ent |
312 | jne no_con_ent |
405 | not [focus] |
313 | not [focus] |
406 | jmp savetest |
314 | jmp savetest |
407 | jmp update |
315 | ; jmp update |
408 | no_con_ent: |
316 | no_con_ent: |
409 | cmp ah,key_Left |
317 | cmp ah,key_Left |
410 | jne no_con_left |
318 | jne no_con_left |
411 | dec [cursor] |
319 | dec [cursor] |
412 | mov [flick],2 |
320 | mov [flick],2 |
Line 419... | Line 327... | ||
419 | jmp anti_flick ;red |
327 | jmp anti_flick ;red |
420 | no_con_right: |
328 | no_con_right: |
421 | cmp ah,key_Bspace |
329 | cmp ah,key_Bspace |
422 | jne no_con_bspace |
330 | jne no_con_bspace |
Line 423... | Line -... | ||
423 | - | ||
424 | mov ecx,[cursor] |
- | |
425 | cmp ecx,0 |
- | |
426 | je still |
- | |
427 | dec ecx |
331 | |
- | 332 | mov ebp, [cursor] |
|
- | 333 | test ebp, ebp |
|
428 | mov ebp,[cursor] |
334 | jz still |
429 | lobsp: |
335 | lobsp: |
430 | mov bl,byte [path+ebp] |
336 | mov bl,byte [path+ebp] |
431 | mov byte [path+ebp-1],bl |
337 | mov byte [path+ebp-1],bl |
432 | inc ebp |
338 | inc ebp |
433 | cmp ebp,100 |
339 | cmp ebp,1024 |
434 | jne lobsp |
340 | jne lobsp |
435 | dec [cursor] |
341 | dec [cursor] |
436 | mov [flick],2 |
342 | mov [flick],2 |
437 | jmp anti_flick ;red |
343 | jmp anti_flick ;red |
Line 438... | Line 344... | ||
438 | no_con_bspace: |
344 | no_con_bspace: |
439 | 345 | ||
440 | mov ecx,[cursor] |
346 | mov ecx,[cursor] |
- | 347 | dec ecx |
|
- | 348 | mov ebp,1022 |
|
441 | dec ecx |
349 | cmp byte [path+ebp], 0 |
- | 350 | jnz still |
|
- | 351 | losx: |
|
442 | mov ebp,100 ;[cursor] |
352 | cmp ebp, ecx |
443 | losx: |
353 | jbe @f |
444 | mov bl,byte [path+ebp] |
354 | mov bl,byte [path+ebp] |
445 | mov byte [path+ebp+1],bl |
- | |
446 | dec ebp |
355 | mov byte [path+ebp+1],bl |
447 | cmp ebp,ecx ;100 |
356 | dec ebp |
448 | jne losx |
- | |
449 | - | ||
450 | mov ebp, [cursor] |
- | |
Line 451... | Line 357... | ||
451 | cmp ebp,100 |
357 | jmp losx |
452 | ja still |
358 | @@: |
Line 453... | Line 359... | ||
453 | 359 | ||
Line 502... | Line 408... | ||
502 | add eax,[filecursor] |
408 | add eax,[filecursor] |
503 | jmp no_kfad |
409 | jmp no_kfad |
504 | kfad: |
410 | kfad: |
505 | mov eax,[filecursor] |
411 | mov eax,[filecursor] |
506 | no_kfad: |
412 | no_kfad: |
507 | mov ebx,62 |
413 | mov ebx,27 |
508 | mul ebx |
414 | mul ebx |
- | 415 | lea ebp,[convinfo+eax] |
|
509 | mov ebp,eax |
416 | mov esi,[ebp] |
- | 417 | cmp esi,-1 |
|
- | 418 | jz still |
|
Line 510... | Line 419... | ||
510 | 419 | ||
511 | mov edi,paramtest ;clear param string |
420 | mov edi,paramtest ;clear param string |
512 | mov ecx,256 |
421 | mov ecx,1024/4 |
513 | mov al,0 |
422 | xor eax,eax |
514 | rep stosb |
- | |
515 | - | ||
516 | - | ||
517 | mov esi,0 |
- | |
518 | lll2: |
- | |
519 | mov al,byte [path+esi] |
- | |
520 | cmp al,byte 0 ;' '; '/' |
- | |
521 | je fis2 |
- | |
522 | cmp al,byte ' '; '/' |
- | |
523 | je fis2 |
- | |
524 | inc esi |
- | |
525 | cmp esi,100 |
- | |
526 | jna lll2 |
- | |
527 | jmp fis2 |
- | |
528 | - | ||
529 | fis2: |
- | |
530 | mov edi,ebp |
- | |
531 | cmp [convinfo+edi+26],dword 'FOL ' |
- | |
532 | jne openf |
- | |
533 | mov [path+esi],byte '/' |
- | |
534 | inc esi |
- | |
535 | mov ebp,8 |
- | |
536 | - | ||
537 | los: ;directory extension bug fix |
- | |
538 | mov al,[convinfo+edi] |
- | |
539 | cmp al,' ' |
- | |
540 | jz skip_name_space |
- | |
541 | mov [path+esi],al |
- | |
542 | inc esi |
- | |
543 | skip_name_space: |
- | |
544 | inc edi |
- | |
545 | dec ebp |
- | |
Line 546... | Line 423... | ||
546 | jnz los |
423 | rep stosd |
- | 424 | ||
- | 425 | mov edi, path |
|
547 | 426 | mov ecx, 1024 |
|
548 | cmp byte [convinfo+edi],'.' |
427 | repnz scasb |
549 | jnz dir_name_end |
428 | dec edi |
- | 429 | cmp [ebp+15], dword 'FOL ' |
|
550 | cmp byte [convinfo+edi+1],' ' |
430 | jnz openf |
551 | jz dir_name_end |
431 | ; open directory - append its name to path |
552 | mov ebp,4 |
432 | cmp ecx, 2 |
553 | dir_ext_char: |
433 | jb still |
554 | mov al,[convinfo+edi] |
434 | push edi |
555 | cmp al,' ' |
435 | mov al, '/' |
- | 436 | stosb |
|
556 | jz dir_name_end |
437 | dec ecx |
557 | mov [path+esi],al |
438 | @@: |
- | 439 | lodsb |
|
- | 440 | stosb |
|
558 | inc esi |
441 | test al, al |
- | 442 | jz @f |
|
- | 443 | dec ecx |
|
- | 444 | jnz @b |
|
559 | inc edi |
445 | ; name is too long - do not do anything |
- | 446 | pop edi |
|
- | 447 | xor eax, eax |
|
- | 448 | mov ecx, path+1024 |
|
- | 449 | sub ecx, edi |
|
- | 450 | rep stosb |
|
560 | dec ebp |
451 | jmp still |
- | 452 | @@: |
|
561 | jnz dir_ext_char |
453 | pop edi |
Line 562... | Line -... | ||
562 | dir_name_end: |
- | |
563 | mov [filecursor],0 |
- | |
564 | - | ||
565 | ;los: |
- | |
566 | ; mov al,[convinfo+edi] |
- | |
567 | ; mov [path+esi],al |
- | |
568 | ; inc esi |
- | |
569 | ; inc edi |
- | |
570 | ; dec ebp |
- | |
571 | ; jnz los |
- | |
572 | ; mov [filecursor],0 |
- | |
573 | ; cmp byte [dlg_type],'S' |
- | |
574 | ; je savetest |
454 | ; name appended, now read new directory |
575 | ;no_save: |
455 | mov [filecursor],0 |
576 | 456 | ||
577 | call read_directory |
457 | call read_directory |
Line 578... | Line 458... | ||
578 | ;; call convertation |
458 | ;; call convertation |
579 | call draw_window |
459 | call draw_window |
580 | ; jmp still |
460 | jmp still |
581 | - | ||
582 | ;Savetest |
461 | |
- | 462 | ;Savetest |
|
- | 463 | savetest: |
|
583 | savetest: |
464 | cmp byte [dlg_type],'S' |
584 | cmp byte [dlg_type],'S' |
465 | jne still |
585 | je savetest_yes |
466 | ; always force open file - this is better |
586 | jmp still |
467 | ; because there exists files without extension and folders with extension |
587 | savetest_yes: |
468 | jmp openf |
588 | mov ecx,100 |
469 | ; mov ecx,100 |
589 | savetestloop: |
470 | ;savetestloop: |
590 | cmp [path+ecx],byte 0 |
471 | ; cmp [path+ecx],byte 0 |
591 | je next_byte |
472 | ; je next_byte |
592 | cmp [path+ecx],byte 32 |
473 | ; cmp [path+ecx],byte 32 |
593 | je next_byte |
474 | ; je next_byte |
594 | cmp [path+ecx],byte '.' |
475 | ; cmp [path+ecx],byte '.' |
595 | je openf ;it's file |
476 | ; je openf ;it's file |
596 | ; cmp [path+ecx],byte '/' |
477 | ;; cmp [path+ecx],byte '/' |
597 | ; je no_save ;it's dir |
478 | ;; je no_save ;it's dir |
Line 598... | Line 479... | ||
598 | next_byte: |
479 | ;next_byte: |
Line 599... | Line 480... | ||
599 | dec ecx |
480 | ; dec ecx |
600 | jnz savetestloop |
481 | ; jnz savetestloop |
601 | jmp still |
- | |
602 | 482 | ; jmp still |
|
603 | ;Open/Run file |
483 | |
604 | - | ||
605 | openf: |
- | |
606 | mov ecx,100 |
- | |
607 | lopt: |
484 | ;Open/Run file |
608 | mov al,[path+ecx] |
- | |
609 | mov [paramtest+ecx],al |
- | |
610 | dec ecx |
485 | |
611 | jns lopt |
486 | openf: |
612 | 487 | push esi edi |
|
Line 613... | Line 488... | ||
613 | ; mov ebp,100 |
488 | mov esi, path |
614 | ;loow: |
489 | mov edi, paramtest |
Line 615... | Line 490... | ||
615 | ; cmp [paramtest+ebp],byte '.' |
490 | mov ecx, 1024/4 |
616 | ; je file_set |
491 | rep movsd |
617 | ; dec ebp |
492 | pop edi esi |
618 | ; jnz loow ;is file set not file add |
493 | add edi, paramtest-path |
619 | 494 | ||
620 | cmp dword [focus],0 ;if prompt line with focus no add file name from frame |
495 | cmp dword [focus],0 ;if prompt line with focus no add file name from frame |
- | 496 | jne file_set |
|
621 | jne file_set |
497 | |
622 | 498 | cmp edi, paramtest+1022 |
|
623 | mov [paramtest+esi],byte '/' |
499 | jae still |
624 | inc esi |
500 | mov al, '/' |
625 | mov ebp,8+4 |
501 | stosb |
- | 502 | @@: |
|
626 | mov edx,edi |
503 | lodsb |
Line 627... | Line 504... | ||
627 | losf: |
504 | stosb |
628 | mov al,[convinfo+edi] |
505 | test al, al |
Line 653... | Line 530... | ||
653 | 530 | ||
654 | mov ecx,eax ;pid to ecx |
531 | mov ecx,eax ;pid to ecx |
655 | mov eax,60 |
532 | mov eax,60 |
656 | mov ebx,2 |
533 | mov ebx,2 |
657 | mov edx,paramtest |
534 | mov edx,paramtest |
658 | mov esi,100 |
535 | mov esi,1024 |
Line 659... | Line 536... | ||
659 | int 0x40 |
536 | int 0x40 |
Line 660... | Line 537... | ||
660 | 537 | ||
Line 661... | Line 538... | ||
661 | jmp exit |
538 | jmp exit |
662 | 539 | ||
Line -... | Line 540... | ||
- | 540 | is_brow: |
|
663 | is_brow: |
541 | |
- | 542 | ; cmp [convinfo+edi+26],dword 'Fvol' |
|
- | 543 | ; je edit |
|
- | 544 | ||
664 | 545 | ; find extension |
|
- | 546 | mov eax, paramtest+1023 |
|
- | 547 | @@: |
|
- | 548 | dec eax |
|
- | 549 | cmp byte [eax+1], 0 |
|
- | 550 | jz @b |
|
- | 551 | @@: |
|
- | 552 | cmp byte [eax], '/' |
|
665 | ; cmp [convinfo+edi+26],dword 'Fvol' |
553 | jz .noext |
- | 554 | cmp byte [eax], '.' |
|
- | 555 | jz .ext |
|
666 | ; je edit |
556 | dec eax |
667 | 557 | cmp eax, paramtest |
|
668 | mov eax,dword [convinfo+edx+8] |
558 | jae @b |
669 | cmp eax,'. ' |
- | |
670 | jne noexecute |
559 | .noext: |
- | 560 | ; file has no extension |
|
- | 561 | ; xor ebx, ebx |
|
671 | mov ebx,0 |
562 | jmp execute |
672 | jmp execute |
563 | .ext: |
- | 564 | inc eax |
|
673 | noexecute: |
565 | ; eax points to extension |
674 | - | ||
675 | cmp eax,'.JPG' |
- | |
676 | jne nojv |
566 | cmp byte [eax], 0 |
677 | jpg_jpe: |
567 | jz .noext |
678 | mov ebx,jpgview |
568 | mov ecx, dword [eax] |
679 | jmp run |
569 | and ecx, not 0x20202020 |
680 | nojv: |
570 | mov ebx, jpgview |
681 | cmp eax,'.JPE' |
- | |
682 | je jpg_jpe |
- | |
683 | cmp eax,'.GIF' |
571 | cmp ecx, 'JPG' |
684 | jne nojv1 |
572 | jz run |
685 | mov ebx,gifview |
573 | cmp ecx, 'JPEG' ; note that it will select also *.JPEG* |
686 | jmp run |
- | |
687 | nojv1: |
- | |
688 | cmp eax,'.WAV' |
574 | jz run |
689 | jne nojv12 |
575 | mov ebx, gifview |
690 | mov ebx,ac97wav |
576 | cmp ecx, 'GIF' |
691 | jmp run |
- | |
692 | nojv12: |
- | |
693 | cmp eax,'.MID' |
577 | jz run |
694 | jne nojv13 |
578 | mov ebx, ac97wav |
695 | mov ebx,midamp |
579 | cmp ecx, 'WAV' |
- | 580 | jz run |
|
696 | jmp run |
581 | mov ebx, midamp |
697 | nojv13: |
- | |
698 | cmp eax,'.BMP' |
582 | cmp ecx, 'MID' |
699 | jne nobv |
- | |
700 | mov ebx,bmpview |
- | |
701 | jmp run |
583 | jz run |
- | 584 | mov ebx, bmpview |
|
702 | nobv: |
585 | cmp ecx, 'BMP' |
703 | ; //// Willow |
- | |
704 | cmp eax,'.PNG' |
586 | jz run |
705 | jne nopngv |
- | |
706 | mov ebx,pngview |
- | |
707 | jmp run |
587 | ; //// Willow |
708 | nopngv: |
- | |
709 | ; //// Willow |
- | |
710 | cmp eax,'.RTF' |
- | |
711 | jne nortf |
- | |
712 | mov ebx,rtfread |
588 | mov ebx, pngview |
713 | jmp run |
- | |
714 | nortf: |
589 | cmp ecx, 'PNG' |
715 | cmp eax,'.ASM' |
- | |
716 | je edit |
- | |
717 | cmp eax,'.TXT' |
- | |
718 | je edit |
590 | jz run |
- | 591 | ; //// Willow |
|
- | 592 | mov ebx, rtfread |
|
- | 593 | cmp ecx, 'RTF' |
|
719 | cmp eax,'.INC' |
594 | jz run |
- | 595 | mov ebx, editor |
|
- | 596 | cmp ecx, 'ASM' |
|
- | 597 | jz run |
|
Line 720... | Line 598... | ||
720 | je edit |
598 | cmp ecx, 'TXT' |
721 | jmp still |
- | |
722 | edit: |
- | |
723 | mov ebx,editor |
- | |
724 | jmp run |
- | |
725 | - | ||
726 | execute: |
- | |
727 | mov ecx,0 ;200 |
- | |
728 | loexe: |
- | |
729 | mov al,[paramtest+ecx] |
- | |
730 | ; cmp al,0 |
- | |
731 | ; je setzr |
- | |
732 | ; cmp al,' ' |
- | |
733 | ; je setzr |
- | |
734 | ; je badl |
- | |
735 | cmp al,'.' |
- | |
736 | je setzr |
- | |
737 | ; je badl |
- | |
738 | ; jmp okl |
- | |
739 | ;badl: |
- | |
740 | ; mov al,0 |
- | |
741 | okl: |
- | |
742 | mov [open_path+ecx],al |
- | |
743 | inc ecx |
- | |
744 | cmp ecx,200 |
- | |
745 | jnae loexe |
- | |
746 | - | ||
747 | setzr: |
599 | jz run |
- | 600 | cmp ecx, 'INC' |
|
- | 601 | jz run |
|
- | 602 | jmp still |
|
- | 603 | ||
748 | ; add ecx,3 |
604 | execute: |
749 | ; mov al,0 |
- | |
750 | mov [open_path+ecx],byte 0 ;al |
605 | mov ebx, fileinfo_start |
Line 751... | Line 606... | ||
751 | 606 | and dword [ebx+8], 0 ; no parameters |
|
752 | mov eax,58 |
607 | mov dword [ebx+21], paramtest ; program name |
753 | mov ebx,fileinfo_start |
608 | .do: |
754 | int 0x40 |
609 | mov eax, 70 |
755 | 610 | int 0x40 |
|
Line 756... | Line 611... | ||
756 | jmp still |
611 | jmp still |
Line 757... | Line 612... | ||
757 | 612 | ||
758 | run: |
613 | run: |
Line 788... | Line 643... | ||
788 | no_update: |
643 | no_update: |
Line 789... | Line 644... | ||
789 | 644 | ||
790 | cmp ah,9 |
645 | cmp ah,9 |
791 | jne no_textopen |
646 | jne no_textopen |
792 | textopen: |
647 | textopen: |
793 | mov esi,0 |
648 | mov eax, 27 |
- | 649 | mul [filecursor] |
|
794 | xlll2: |
650 | cmp dword [eax+convinfo+15], 'FOL ' |
795 | mov al,byte [path+esi] |
651 | jz still |
- | 652 | push eax |
|
- | 653 | mov esi, path |
|
- | 654 | mov edi, paramtest |
|
796 | cmp al,byte '/' |
655 | @@: |
797 | jne xfis2 |
656 | lodsb |
798 | inc esi |
657 | test al, al |
799 | cmp esi,12*20 |
658 | jz @f |
800 | jnae xlll2 |
659 | stosb |
801 | jmp still |
660 | jmp @b |
- | 661 | @@: |
|
- | 662 | mov al, '/' |
|
- | 663 | stosb |
|
802 | xfis2: |
664 | pop eax |
803 | mov al,byte [path+esi] |
665 | mov esi, [eax+convinfo] |
- | 666 | cmp esi, -1 |
|
- | 667 | jz still |
|
804 | cmp al,byte ' ' |
668 | @@: |
805 | je xaa2 |
669 | lodsb |
- | 670 | stosb |
|
806 | inc esi |
671 | test al, al |
- | 672 | jz @f |
|
807 | cmp esi,12*20 |
673 | cmp edi, paramtest+1024 |
808 | jnae xfis2 |
674 | jb @b |
809 | jmp still |
675 | jmp still |
810 | xaa2: |
- | |
811 | mov eax,[filecursor] |
- | |
812 | mov ebx,62 |
- | |
813 | mul ebx |
- | |
814 | mov edi,eax |
- | |
815 | cmp [convinfo+edi+26],dword 'FOL ' |
- | |
816 | je still |
- | |
817 | mov ecx,12*20 |
- | |
818 | xlopt: |
- | |
819 | mov al,[path+ecx] |
- | |
820 | mov [paramtest+ecx],al |
- | |
821 | dec ecx |
- | |
822 | jns xlopt |
- | |
823 | mov [paramtest+esi],byte '/' |
- | |
824 | inc esi |
- | |
825 | mov ebp,8+4 |
- | |
826 | mov edx,edi |
- | |
827 | xlosf: |
- | |
828 | mov al,[convinfo+edi] |
- | |
829 | mov [paramtest+esi],al |
- | |
830 | inc esi |
- | |
831 | inc edi |
- | |
832 | dec ebp |
- | |
833 | jnz xlosf |
- | |
834 | mov [paramtest+esi],byte 0 |
676 | @@: |
835 | mov ebx,editor |
- | |
836 | mov ecx,paramtest |
- | |
837 | mov eax,19 |
- | |
838 | int 0x40 |
677 | mov ebx, editor |
Line 839... | Line 678... | ||
839 | jmp red ;still |
678 | jmp run |
Line 840... | Line 679... | ||
840 | 679 | ||
841 | no_textopen: |
680 | no_textopen: |
842 | 681 | ||
843 | cmp ah,11 |
- | |
844 | jne no_view |
682 | cmp ah,11 |
845 | viewset: |
683 | jne no_view |
846 | ; not dword [delflag] |
684 | viewset: |
847 | inc dword [viewmode] |
685 | inc [viewmode] |
848 | cmp dword [viewmode],8 |
686 | cmp [viewmode], 4 |
849 | jnae not_cm |
687 | jb @f |
850 | mov [viewmode],0 |
688 | mov [viewmode], 0 |
851 | not_cm: |
689 | @@: |
852 | call read_directory |
690 | call read_directory |
853 | ; call convertation |
691 | ; call convertation |
854 | mov [filecursor],0 |
692 | mov [filecursor],0 |
Line 855... | Line 693... | ||
855 | call draw_window |
693 | call draw_window |
856 | jmp still |
694 | jmp still |
857 | no_view: |
695 | no_view: |
- | 696 | ||
858 | 697 | cmp ah,12 ;move back |
|
859 | cmp ah,12 ;move back |
698 | jne no_back |
860 | jne no_back |
699 | back: |
861 | back: |
700 | mov edi, path+1024 |
862 | mov esi,12*20 |
701 | mov ecx, edi |
863 | lll: |
702 | @@: |
864 | mov al,byte [path+esi] |
703 | dec edi |
865 | cmp al,byte ' ' |
704 | cmp byte [edi], '/' |
866 | jne findsl |
- | |
867 | dec esi |
- | |
868 | jnz lll |
705 | jz @f |
869 | jmp still |
706 | cmp edi, path |
870 | findsl: |
707 | ja @b |
871 | dec esi |
708 | jmp still |
872 | fis: |
- | |
873 | mov al,byte [path+esi] |
- | |
874 | cmp al,byte '/' |
- | |
875 | je aa |
- | |
876 | mov [path+esi],byte 0 ;' ' |
- | |
877 | dec esi |
- | |
878 | jnz fis |
709 | @@: |
879 | aa: |
710 | sub ecx, edi |
880 | mov [path+esi],byte 0 ;' ' |
711 | xor eax, eax |
881 | 712 | rep stosb |
|
882 | mov [filecursor],0 |
713 | mov [filecursor],0 |
Line 909... | Line 740... | ||
909 | no_dn: |
740 | no_dn: |
Line 910... | Line 741... | ||
910 | 741 | ||
911 | cmp ah,15 |
742 | cmp ah,15 |
912 | jne no_copyclip ;copy to clipboard |
743 | jne no_copyclip ;copy to clipboard |
- | 744 | copy_to_clip: |
|
913 | copy_to_clip: |
745 | mov eax, 27 |
- | 746 | mul [filecursor] |
|
914 | mov ebx,param_area ;clipfilp |
747 | cmp dword [convinfo+eax+15], 'FOL ' |
915 | mov eax,32 |
748 | jz still |
916 | int 0x40 |
749 | push eax |
- | 750 | mov esi, path |
|
917 | mov esi,0 |
751 | mov edi, paramtest |
- | 752 | @@: |
|
918 | wlll2: |
753 | lodsb |
919 | mov al,byte [path+esi] |
754 | test al, al |
920 | cmp al,byte '/' |
755 | jz @f |
- | 756 | stosb |
|
- | 757 | jmp @b |
|
921 | jne wfis2 |
758 | @@: |
- | 759 | pop eax |
|
922 | inc esi |
760 | mov esi, [convinfo+eax] |
923 | cmp esi,12*20 |
761 | cmp esi, -1 |
- | 762 | jz still |
|
924 | jnae wlll2 |
763 | mov al, '/' |
925 | jmp still |
764 | stosb |
926 | wfis2: |
765 | @@: |
927 | mov al,byte [path+esi] |
766 | lodsb |
928 | cmp al,byte ' ' |
767 | stosb |
929 | je waa2 |
768 | test al, al |
930 | inc esi |
769 | jz @f |
931 | cmp esi,12*20 |
770 | cmp edi, paramtest+1024 |
932 | jnae wfis2 |
771 | jb @b |
933 | jmp still |
772 | jmp still |
934 | waa2: |
- | |
935 | mov eax,[filecursor] |
- | |
936 | mov ebx,62 |
- | |
937 | mul ebx |
- | |
938 | mov edi,eax |
- | |
939 | cmp [convinfo+edi+26],dword 'FOL ' |
- | |
940 | je still |
- | |
941 | mov ecx,12*20 |
- | |
942 | wlopt: |
- | |
943 | mov al,[path+ecx] |
- | |
944 | mov [paramtest+ecx],al |
- | |
945 | dec ecx |
- | |
946 | jns wlopt |
773 | @@: |
947 | mov [paramtest+esi],byte '/' |
- | |
948 | inc esi |
- | |
949 | mov ebp,8+4 |
- | |
950 | mov edx,edi |
- | |
951 | wlosf: |
774 | sub edi, paramtest+1 |
952 | mov al,[convinfo+edi] |
775 | mov ebx, clipfile_info |
953 | mov [paramtest+esi],al |
- | |
954 | inc esi |
- | |
955 | inc edi |
- | |
956 | dec ebp |
- | |
957 | jnz wlosf |
776 | mov byte [ebx], 2 |
958 | mov [paramtest+esi],byte 0 |
- | |
959 | mov ebx,param_area ;clipfile |
- | |
960 | mov ecx,paramtest |
777 | mov [ebx+12], edi |
961 | mov edx,100 |
- | |
962 | mov esi,0 |
- | |
963 | mov eax,33 |
778 | mov eax, 70 |
964 | int 0x40 |
779 | int 0x40 |
965 | jmp still |
780 | jmp still |
Line 966... | Line 781... | ||
966 | no_copyclip: |
781 | no_copyclip: |
967 | 782 | ||
968 | cmp ah,16 |
783 | cmp ah,16 |
969 | jne no_clippaste |
784 | jne no_clippaste |
970 | paste_from_clip: |
785 | paste_from_clip: |
971 | mov ebx,param_area ;clipfile |
- | |
972 | mov ecx,0 |
786 | mov ebx, clipfile_info |
973 | mov edx,-1 |
787 | mov byte [ebx], 0 |
974 | mov esi,sourcepath |
788 | mov dword [ebx+12], 1023 |
975 | mov eax,6 |
- | |
976 | int 0x40 |
789 | mov eax, 70 |
977 | - | ||
978 | mov ecx,99 |
790 | int 0x40 |
979 | cdestp: |
791 | cmp ebx, 0 |
980 | mov al,[path+ecx] |
- | |
981 | mov [destpath+ecx],al |
- | |
982 | dec ecx |
- | |
983 | jns cdestp |
- | |
984 | - | ||
985 | mov esi,0 |
792 | jle still |
986 | zlll2: |
- | |
987 | mov al,byte [destpath+esi] |
- | |
988 | cmp al,byte '/' |
- | |
989 | jne zfis2 |
793 | mov byte [paramtest+ebx], 0 |
990 | inc esi |
- | |
991 | cmp esi,100 |
794 | ; OS allows only 256 symbols in command line |
992 | jnae zlll2 |
- | |
993 | jmp still |
795 | cmp ebx, 250 |
994 | zfis2: |
- | |
995 | mov al,byte [destpath+esi] |
- | |
996 | cmp al,byte ' ' |
- | |
997 | je zaa2 |
- | |
998 | inc esi |
796 | jae still |
999 | cmp esi,100 |
- | |
1000 | jnae zfis2 |
- | |
1001 | jmp still |
- | |
1002 | zaa2: |
- | |
1003 | mov byte [destpath+esi],'/' |
- | |
1004 | inc esi |
- | |
1005 | - | ||
1006 | mov edi,0 |
797 | ; we use Pascal-style strings for /RD/1/COPYR |
1007 | qlll2: |
- | |
1008 | mov al,byte [sourcepath+edi] |
798 | ; source file |
1009 | cmp al,byte '.' |
- | |
1010 | je qfis2 |
- | |
1011 | inc edi |
- | |
1012 | cmp edi,100 |
799 | mov edi, copyr_param |
1013 | jnae qlll2 |
- | |
1014 | jmp still |
- | |
1015 | qfis2: |
- | |
1016 | sub edi,8 ;.-8=start of file name |
800 | mov al, bl |
1017 | - | ||
1018 | mov ecx,11 ;11 sybols |
801 | stosb |
1019 | cfname: |
- | |
1020 | mov al,[sourcepath+edi] |
802 | mov ecx, ebx |
1021 | cmp al,byte ' ' |
803 | mov esi, paramtest |
1022 | je dar |
- | |
1023 | mov [destpath+esi],al |
- | |
1024 | inc esi |
804 | rep movsb |
1025 | dar: |
805 | ; destination path |
1026 | inc edi |
806 | inc edi |
1027 | dec ecx |
807 | mov ebp, edi |
1028 | jns cfname |
808 | mov esi, path |
1029 | - | ||
1030 | ; mov [destpath+esi],byte 0 |
809 | @@: |
1031 | 810 | cmp edi, copyr_param+255 |
|
1032 | mov ecx,199 |
811 | jae still |
1033 | cdestjp: |
812 | lodsb |
1034 | mov al,[sourcepath+ecx] |
813 | test al, al |
1035 | cmp al,byte 0 |
814 | jz @f |
- | 815 | stosb |
|
1036 | jne nor |
816 | jmp @b |
- | 817 | ; destination file name |
|
- | 818 | @@: |
|
1037 | mov al,byte 32 |
819 | dec ebx |
- | 820 | jz still |
|
- | 821 | cmp byte [paramtest+ebx], '/' |
|
- | 822 | jnz @b |
|
1038 | nor: |
823 | lea esi, [paramtest+ebx] |
- | 824 | @@: |
|
- | 825 | lodsb |
|
1039 | mov [sourcepath+ecx],al |
826 | test al, al |
- | 827 | jz @f |
|
- | 828 | stosb |
|
- | 829 | cmp edi, copyr_param+255 |
|
1040 | dec ecx |
830 | jae still |
- | 831 | jmp @b |
|
- | 832 | @@: |
|
- | 833 | mov byte [edi], 0 |
|
- | 834 | sub edi, ebp |
|
- | 835 | mov eax, edi |
|
1041 | jns cdestjp |
836 | mov [ebp-1], al |
1042 | 837 | ; display |
|
1043 | cmp [browser],dword 1 |
838 | cmp [browser], 1 |
1044 | jne no_outpath |
839 | jne no_outpath |
1045 | mov eax,4 ; function 4 : write text to window |
840 | mov eax,4 ; function 4 : write text to window |
1046 | mov ebx,10*65536+67 ; [x start] *65536 + [y start] |
841 | mov ebx,10*65536+67 ; [x start] *65536 + [y start] |
1047 | mov ecx,0x00000000 ;[sc.grab_text] ; color of text RRGGBB |
842 | mov ecx,0x00000000 ;[sc.grab_text] ; color of text RRGGBB |
1048 | mov edx,sourcepath ; pointer to text beginning |
843 | mov edx, copyr_param+1 |
1049 | mov esi,100 ;12*20 ; text length |
844 | movzx esi, byte [edx-1] |
1050 | int 0x40 |
845 | int 0x40 |
1051 | mov ebx,250*65536+67 ; [x start] *65536 + [y start] |
846 | mov ebx,250*65536+67 ; [x start] *65536 + [y start] |
1052 | mov ecx,0x00000000 ;[sc.grab_text] ; color of text RRGGBB |
847 | mov ecx,0x00000000 ;[sc.grab_text] ; color of text RRGGBB |
1053 | mov edx,destpath ; pointer to text beginning |
848 | mov edx, ebp |
1054 | mov esi,100 ;12*20 ; text length |
849 | mov esi, edi |
Line 1055... | Line 850... | ||
1055 | int 0x40 |
850 | int 0x40 |
1056 | no_outpath: |
851 | no_outpath: |
1057 | 852 | ||
1058 | mov ebx,copyrfile |
853 | ; run COPYR |
1059 | mov ecx,sourcepath |
854 | mov eax, 70 |
1060 | mov eax,19 |
855 | mov ebx, copyr_run |
1061 | int 0x40 |
856 | int 0x40 |
Line 1062... | Line 857... | ||
1062 | delay 50 ;wait recoed file |
857 | delay 50 ;wait recoed file |
1063 | jmp update ;still |
- | |
1064 | no_clippaste: |
- | |
1065 | - | ||
1066 | cmp ah,19 ;Delete from floppy |
858 | jmp update ;still |
1067 | delete_file: |
- | |
1068 | jne no_delt |
- | |
1069 | cmp dword [path],'/RD/' |
- | |
1070 | jne no_delt |
- | |
1071 | cmp byte [path+4],'1' |
- | |
1072 | jne no_delt |
- | |
1073 | 859 | no_clippaste: |
|
1074 | mov eax,[filecursor] |
- | |
1075 | mov ebx,62 |
- | |
1076 | mul ebx |
- | |
1077 | mov edi,eax |
860 | |
1078 | add edi,convinfo |
- | |
1079 | mov ebp,edi |
- | |
1080 | mov eax,dword [edi] |
- | |
1081 | mov dword [paramtest],eax |
- | |
1082 | mov eax,dword [edi+4] |
- | |
1083 | mov dword [paramtest+4],eax |
- | |
1084 | mov eax,dword [edi+4+4+1] |
- | |
1085 | mov dword [paramtest+4+4],eax |
- | |
1086 | 861 | cmp ah,19 ;Delete from floppy |
|
1087 | mov ebx,paramtest |
862 | jne no_delt |
Line 1088... | Line 863... | ||
1088 | mov eax,32 |
863 | delete_file: |
1089 | int 0x40 |
864 | ; OS now do not support file delete |
Line 1138... | Line 913... | ||
1138 | 913 | ||
1139 | cmp ah,37 |
914 | cmp ah,37 |
Line 1140... | Line 915... | ||
1140 | je exit |
915 | je exit |
1141 | 916 | ||
1142 | ;VIEW MENU |
917 | ;VIEW MENU |
1143 | cmp ah,40 ;Sort by name show del |
918 | cmp ah,40 ;Sort by name |
1144 | jne no_sn |
- | |
1145 | ; mov dword [viewmode],0 |
919 | jne no_sn |
1146 | and dword [viewmode],100b |
920 | mov [viewmode], 0 |
Line 1147... | Line 921... | ||
1147 | jmp update |
921 | jmp update |
1148 | no_sn: |
922 | no_sn: |
1149 | - | ||
1150 | cmp ah,41 ;Sort by extension show del |
923 | |
1151 | jne no_se |
924 | cmp ah,41 ;Sort by extension |
1152 | and dword [viewmode],1101b |
925 | jne no_se |
Line 1153... | Line 926... | ||
1153 | or dword [viewmode],0001b |
926 | mov [viewmode], 1 |
1154 | jmp update |
927 | jmp update |
1155 | no_se: |
- | |
1156 | 928 | no_se: |
|
1157 | cmp ah,42 ;Sort by size show del |
929 | |
1158 | jne no_ss |
930 | cmp ah,42 ;Sort by size |
Line 1159... | Line 931... | ||
1159 | and dword [viewmode],1110b |
931 | jne no_ss |
1160 | or dword [viewmode],0010b |
932 | mov [viewmode], 2 |
1161 | jmp update |
933 | jmp update |
1162 | no_ss: |
934 | no_ss: |
1163 | 935 | ||
Line 1164... | Line -... | ||
1164 | cmp ah,43 ;Sort by date show del |
- | |
1165 | jne no_sd |
- | |
1166 | or dword [viewmode],0011b |
- | |
1167 | jmp update |
- | |
1168 | no_sd: |
- | |
1169 | - | ||
1170 | cmp ah,44 ;Show del files |
- | |
1171 | jne no_ds |
- | |
1172 | or dword [viewmode],0100b |
- | |
1173 | jmp update |
- | |
1174 | no_ds: |
- | |
1175 | - | ||
1176 | cmp ah,45 ;Fade del files |
936 | cmp ah,43 ;Sort by date |
1177 | jne no_df |
937 | jne no_sd |
1178 | and dword [viewmode],11111011b |
938 | mov [viewmode], 3 |
Line 1179... | Line 939... | ||
1179 | jmp update |
939 | jmp update |
1180 | no_df: |
940 | no_sd: |
Line 1181... | Line -... | ||
1181 | - | ||
1182 | ;HELP MENU |
- | |
1183 | cmp ah,50 ;Help? |
- | |
1184 | je help_scr |
- | |
1185 | - | ||
1186 | cmp ah,51 ;Info? |
- | |
1187 | je info_scr |
- | |
1188 | - | ||
1189 | cmp ah,83 |
- | |
1190 | ja no_hd_part |
- | |
1191 | cmp ah,80 |
- | |
1192 | jb no_hd_part |
- | |
1193 | mov ecx,0 |
- | |
1194 | sub ah,80 |
- | |
1195 | inc ah |
941 | |
1196 | mov cl,ah |
942 | ;HELP MENU |
Line 1197... | Line 943... | ||
1197 | mov eax,21 |
943 | cmp ah,50 ;Help? |
Line 1235... | Line 981... | ||
1235 | mov esi,6 |
981 | mov esi,6 |
1236 | mov ebp,info_text |
982 | mov ebp,info_text |
1237 | jmp screen |
983 | jmp screen |
Line 1238... | Line 984... | ||
1238 | 984 | ||
1239 | screen: |
985 | screen: |
1240 | cmp [browser],dword 1 ;it's browser? |
986 | cmp [browser], 1 ;it's browser? |
Line 1241... | Line 987... | ||
1241 | jne dialogscr |
987 | jne dialogscr |
1242 | 988 | ||
1243 | mov eax,[procinfo.y_size] |
989 | mov eax,[procinfo.y_size] |
Line 1276... | Line 1022... | ||
1276 | 1022 | ||
Line 1277... | Line 1023... | ||
1277 | setimg 48,84,logoinfimg |
1023 | setimg 48,84,logoinfimg |
Line -... | Line 1024... | ||
- | 1024 | ||
- | 1025 | jmp still |
|
- | 1026 | ||
- | 1027 | getimgproc: |
|
- | 1028 | pushad |
|
- | 1029 | mov dword [edx],esi ;xs |
|
- | 1030 | mov dword [edx+4],edi ;ys |
|
- | 1031 | ||
- | 1032 | mov ebp,eax |
|
- | 1033 | mov eax,dword [ecx] ;getx size |
|
- | 1034 | push edx |
|
- | 1035 | push ecx |
|
- | 1036 | lea ecx,[eax+2*eax] |
|
- | 1037 | ||
- | 1038 | mul ebx |
|
- | 1039 | add eax,ebp ;x |
|
- | 1040 | mov edx,ecx |
|
- | 1041 | lea eax,[eax+2*eax] ;eax=offset on imsrc |
|
- | 1042 | ||
- | 1043 | mov ebp,esi ;xs |
|
- | 1044 | mov ebx,edi ;ys |
|
- | 1045 | ||
- | 1046 | pop edi |
|
- | 1047 | lea esi,[eax+8+edi] |
|
- | 1048 | ||
- | 1049 | pop edi |
|
- | 1050 | add edi,8 |
|
- | 1051 | ||
- | 1052 | cld |
|
- | 1053 | cyc: |
|
- | 1054 | push esi |
|
- | 1055 | lea ecx, [ebp+ebp*2] |
|
- | 1056 | rep movsb |
|
- | 1057 | pop esi |
|
- | 1058 | add esi,edx |
|
- | 1059 | dec ebx |
|
- | 1060 | jne cyc |
|
- | 1061 | ||
1278 | 1062 | popad |
|
1279 | jmp still |
1063 | ret |
1280 | 1064 | ||
1281 | ;HELP TEXT |
1065 | ;HELP TEXT |
1282 | help_text: |
1066 | help_text: |
Line 1298... | Line 1082... | ||
1298 | db 'Backspace - back to previos directory ' |
1082 | db 'Backspace - back to previos directory ' |
1299 | db 'PageDn/PageUp, Up/Down - move cursor ' |
1083 | db 'PageDn/PageUp, Up/Down - move cursor ' |
Line 1300... | Line 1084... | ||
1300 | 1084 | ||
1301 | info_text: |
1085 | info_text: |
1302 | db ' ~~~~~ SYSTEM X-TREE ~~~~~ ' |
1086 | db ' ~~~~~ SYSTEM X-TREE ~~~~~ ' |
1303 | db ' INFO 81 Ver ' |
1087 | db ' INFO 82 Ver ' |
1304 | db ' ' |
1088 | db ' ' |
1305 | db ' Create by Pavlushin Evgeni ' |
1089 | db ' Create by Pavlushin Evgeni ' |
1306 | db ' with ASCL libary special for Menuet OS ' |
1090 | db 'with ASCL library special for Kolibri OS' |
Line 1307... | Line 1091... | ||
1307 | db ' www.deck4.narod.ru waptap@mail.ru ' |
1091 | db ' www.deck4.narod.ru waptap@mail.ru ' |
1308 | 1092 | ||
Line 1339... | Line 1123... | ||
1339 | 1123 | ||
Line 1340... | Line 1124... | ||
1340 | ;Window |
1124 | ;Window |
Line 1341... | Line 1125... | ||
1341 | 1125 | ||
1342 | xor eax,eax ; function 0 : define and draw window |
1126 | xor eax,eax ; function 0 : define and draw window |
1343 | 1127 | ||
1344 | cmp [browser],dword 1 ;it's browser |
1128 | cmp [browser], 1 ;it's browser |
1345 | jne nob1 |
1129 | jne nob1 |
1346 | mov ebx,140*65536+400 ; [x start] *65536 + [x size] |
1130 | mov ebx,140*65536+400 ; [x start] *65536 + [x size] |
Line 1360... | Line 1144... | ||
1360 | mov ecx,-1 |
1144 | mov ecx,-1 |
1361 | int 0x40 |
1145 | int 0x40 |
Line 1362... | Line 1146... | ||
1362 | 1146 | ||
1363 | mov eax,[procinfo.x_size] |
1147 | mov eax,[procinfo.x_size] |
1364 | cmp eax,66 |
1148 | cmp eax,66 |
- | 1149 | jg @f |
|
1365 | jg temp12345 |
1150 | .ret: |
- | 1151 | ret |
|
- | 1152 | @@: |
|
1366 | ret |
1153 | cmp [procinfo.y_size], 0x70 |
Line 1367... | Line 1154... | ||
1367 | temp12345: |
1154 | jl .ret |
1368 | 1155 | ||
1369 | cmp [browser],dword 1 ;it's browser |
1156 | cmp [browser], 1 ;it's browser |
1370 | jne nob9 |
1157 | jne nob9 |
1371 | mov [listx],120 |
1158 | mov [listx],120 |
1372 | mov eax,[procinfo.x_size] |
1159 | ; mov eax,[procinfo.x_size] |
- | 1160 | sub eax,127;[listx]+7 |
|
1373 | sub eax,[listx] |
1161 | cmp eax,10 |
1374 | sub eax,7 |
1162 | jl .ret |
1375 | mov [listxsize],eax |
1163 | mov [listxsize],eax |
1376 | mov [listy],73 |
1164 | mov [listy],73 |
1377 | mov eax,[procinfo.y_size] |
- | |
1378 | sub eax,[listy] |
1165 | mov eax,[procinfo.y_size] |
1379 | sub eax,7 |
1166 | sub eax,73+7;[listy]+7 |
1380 | mov [listysize],eax |
1167 | mov [listysize],eax |
1381 | jmp isb9 |
1168 | jmp isb9 |
1382 | nob9: |
1169 | nob9: |
1383 | mov [listx],10 |
1170 | mov [listx],10 |
1384 | mov eax,[procinfo.x_size] |
- | |
1385 | sub eax,[listx] |
1171 | ; mov eax,[procinfo.x_size] |
1386 | sub eax,7 |
1172 | sub eax,17 ;[listx]+7 |
1387 | mov [listxsize],eax |
1173 | mov [listxsize],eax |
1388 | mov [listy],54 |
1174 | mov [listy],54 |
1389 | mov eax,[procinfo.y_size] |
- | |
1390 | sub eax,[listy] |
1175 | mov eax,[procinfo.y_size] |
1391 | sub eax,34 |
1176 | sub eax,54+34;[listy]+34 |
Line 1392... | Line 1177... | ||
1392 | mov [listysize],eax |
1177 | mov [listysize],eax |
1393 | isb9: |
1178 | isb9: |
1394 | 1179 | ||
Line 1395... | Line 1180... | ||
1395 | 1180 | ||
1396 | ;Draw only browser components |
1181 | ;Draw only browser components |
1397 | cmp [browser],dword 1 ;it's browser |
1182 | cmp [browser], 1 ;it's browser |
Line 1415... | Line 1200... | ||
1415 | inc edx |
1200 | inc edx |
1416 | int 0x40 |
1201 | int 0x40 |
1417 | dec edi |
1202 | dec edi |
1418 | jnz nexthbut |
1203 | jnz nexthbut |
Line 1419... | Line -... | ||
1419 | - | ||
1420 | ;DRAW PARTITION BUTTONS |
- | |
1421 | mov eax,8 |
- | |
1422 | mov ebx,340*65536+5 ;start pos x |
- | |
1423 | mov ecx,24*65536+8 ;start pos y |
- | |
1424 | mov edx,80;+1000000000000000000000000000000b ;spoke butt |
- | |
1425 | mov edi,4 ;draw 13 button's |
- | |
1426 | mov esi,0x00339933 |
- | |
1427 | int 0x40 |
- | |
1428 | dec edi |
- | |
1429 | nextpbut: |
- | |
1430 | add ebx,6*65536 |
- | |
1431 | inc edx |
- | |
1432 | int 0x40 |
- | |
1433 | dec edi |
- | |
1434 | jnz nextpbut |
- | |
1435 | - | ||
1436 | ;DRAW PARTITON TEXT |
- | |
1437 | glabel 341,25,'1234',cl_White;Black |
- | |
1438 | 1204 | ||
1439 | ;File STRING |
1205 | ;File STRING |
Line 1440... | Line 1206... | ||
1440 | glabel 8,25,' FILE VIEW INFO ', ;cl_White ;Black |
1206 | glabel 8,25,' FILE VIEW INFO ', cl_White ;Black |
1441 | 1207 | ||
1442 | ;BlackLine |
1208 | ;BlackLine |
1443 | mov eax,[procinfo.x_size] |
1209 | mov eax,[procinfo.x_size] |
Line 1456... | Line 1222... | ||
1456 | 1222 | ||
1457 | ;Set logo img |
1223 | ;Set logo img |
1458 | setimg 34,88,logoinfimg |
1224 | setimg 34,88,logoinfimg |
1459 | glabel 20,165,'SYSTEM X-TREE',cl_Black |
1225 | glabel 20,165,'SYSTEM X-TREE',cl_Black |
1460 | add ebx,10 |
1226 | add ebx,10 |
Line 1461... | Line 1227... | ||
1461 | glabel ,,'FOR MENUETOS', |
1227 | glabel ,,'FOR KolibriOS', |
1462 | 1228 | ||
1463 | add ebx,9*65536+20 |
1229 | add ebx,9*65536+20 |
1464 | glabel ,,'welcome to',cl_Green |
1230 | glabel ,,'welcome to',cl_Green |
Line 1465... | Line 1231... | ||
1465 | add ebx,-15*65536+10 |
1231 | add ebx,-15*65536+10 |
1466 | glabel ,,'www.menuetos.org',cl_Green |
1232 | glabel ,,'www.kolibrios.org',cl_Green |
1467 | 1233 | ||
1468 | ; glabel ,,'Create by',cl_Green |
1234 | ; glabel ,,'Create by',cl_Green |
Line 1487... | Line 1253... | ||
1487 | cmp [drawhv],1 |
1253 | cmp [drawhv],1 |
1488 | jne no_drawhv |
1254 | jne no_drawhv |
1489 | mov ebx,(8+6*8)*65536+6*12 ;start pos x |
1255 | mov ebx,(8+6*8)*65536+6*12 ;start pos x |
1490 | mov ecx,35*65536+10 ;start pos y |
1256 | mov ecx,35*65536+10 ;start pos y |
1491 | mov edx,40 ;spoke butt |
1257 | mov edx,40 ;spoke butt |
1492 | mov edi,6 ;draw 4 button's |
1258 | mov edi,4 ;draw 4 button's |
1493 | mov esi,cl_Grey |
1259 | mov esi,cl_Grey |
1494 | call menubutton |
1260 | call menubutton |
1495 | no_drawhv: |
1261 | no_drawhv: |
Line 1496... | Line 1262... | ||
1496 | 1262 | ||
Line 1507... | Line 1273... | ||
1507 | 1273 | ||
Line 1508... | Line 1274... | ||
1508 | nob2: |
1274 | nob2: |
1509 | 1275 | ||
1510 | ;Draw buttons instruments |
1276 | ;Draw buttons instruments |
1511 | mov eax,8 |
1277 | mov eax,8 |
1512 | cmp [browser],dword 1 ;it's browser |
1278 | cmp [browser], 1 ;it's browser |
1513 | jne nob3 |
1279 | jne nob3 |
1514 | mov ebx,10*65536+16+5 ;start pos x |
1280 | mov ebx,10*65536+16+5 ;start pos x |
1515 | mov ecx,37*65536+15 ;start pos y |
1281 | mov ecx,37*65536+15 ;start pos y |
Line 1529... | Line 1295... | ||
1529 | int 0x40 |
1295 | int 0x40 |
1530 | dec edi |
1296 | dec edi |
1531 | jnz nextbut |
1297 | jnz nextbut |
Line 1532... | Line 1298... | ||
1532 | 1298 | ||
1533 | 1299 | ||
1534 | cmp [browser],dword 1 ;it's browser |
1300 | cmp [browser], 1 ;it's browser |
1535 | jne nob4 |
1301 | jne nob4 |
1536 | ;But img browser |
1302 | ;But img browser |
1537 | setimg 10,37,butimg |
1303 | setimg 10,37,butimg |
Line 1544... | Line 1310... | ||
1544 | nob4: |
1310 | nob4: |
1545 | ;But img dialog |
1311 | ;But img dialog |
1546 | setimg 16,29,butimg |
1312 | setimg 16,29,butimg |
1547 | isb4: |
1313 | isb4: |
Line 1548... | Line 1314... | ||
1548 | 1314 | ||
1549 | cmp [browser],dword 1 ;it's browser |
1315 | cmp [browser], 1 ;it's browser |
Line 1550... | Line 1316... | ||
1550 | jne nob5 |
1316 | jne nob5 |
1551 | 1317 | ||
1552 | mov [urlx],48 |
1318 | mov [urlx],48 |
Line 1557... | Line 1323... | ||
1557 | mov [urlysize],12 |
1323 | mov [urlysize],12 |
Line 1558... | Line 1324... | ||
1558 | 1324 | ||
Line 1559... | Line 1325... | ||
1559 | glabel 20,57,"URL:",cl_Black |
1325 | glabel 20,57,"URL:",cl_Black |
1560 | 1326 | ||
1561 | ;Out view mode info |
- | |
1562 | mov eax,[viewmode] |
- | |
1563 | mov ebx,16 |
1327 | ;Out view mode info |
1564 | mul ebx |
1328 | movzx edx, [viewmode] |
1565 | mov edx,eax |
1329 | shl edx, 4 |
1566 | mov eax,4 |
1330 | mov eax,4 |
1567 | mov ebx,180*65536+25 |
1331 | mov ebx,180*65536+25 |
1568 | mov ecx,cl_Black |
1332 | mov ecx,cl_Black |
Line 1733... | Line 1497... | ||
1733 | add ebx,[listxsize] |
1497 | add ebx,[listxsize] |
1734 | sub ebx,[scrollsize] |
1498 | sub ebx,[scrollsize] |
1735 | shl ebx,16 |
1499 | shl ebx,16 |
1736 | add ebx,dword [scrollsize] |
1500 | add ebx,dword [scrollsize] |
1737 | mov ecx,[listy] |
1501 | mov ecx,[listy] |
1738 | add ecx,[scrollbutsize] |
1502 | add ecx,scrollbutsize |
1739 | shl ecx,16 |
1503 | shl ecx,16 |
1740 | add ecx,[listysize] |
1504 | add ecx,[listysize] |
1741 | sub ecx,[scrollbutsize] |
- | |
1742 | sub ecx,[scrollbutsize] |
1505 | sub ecx,scrollbutsize*2 |
1743 | mov edx,[scrollcolor] ;0x00006600 |
1506 | mov edx,[scrollcolor] ;0x00006600 |
1744 | int 0x40 |
1507 | int 0x40 |
Line 1745... | Line 1508... | ||
1745 | 1508 | ||
1746 | ;Draw Scroll Box |
1509 | ;Draw Scroll Box |
1747 | mov edx,0 |
1510 | mov edx,0 |
1748 | mov eax,[listysize] |
1511 | mov eax,[listysize] |
1749 | sub eax,2 |
1512 | sub eax,2 |
1750 | mov ebx,dword 10 |
1513 | mov ebx,dword 10 |
Line 1751... | Line -... | ||
1751 | div ebx |
- | |
1752 | 1514 | div ebx |
|
1753 | mov edx,0 |
1515 | |
1754 | mov ebx,eax |
1516 | mov ebx,eax |
1755 | cmp ebx,[listsize] ;filelistsize in ebx |
1517 | cmp ebx,[listsize] ;filelistsize in ebx |
- | 1518 | jae notusescroll |
|
1756 | ja notusescroll |
1519 | ;usescroll |
1757 | ;usescroll |
- | |
1758 | mov eax,[listysize] |
1520 | ; calculate scroll size |
1759 | sub eax,[scrollbutsize] |
1521 | mov eax, [listysize] |
1760 | sub eax,[scrollbutsize] |
- | |
1761 | shl eax,16 |
1522 | sub eax, 2*scrollbutsize |
- | 1523 | push eax |
|
1762 | div dword [listsize] |
1524 | mul ebx |
- | 1525 | div [listsize] |
|
- | 1526 | cmp eax, 5 |
|
- | 1527 | jae @f |
|
- | 1528 | mov al, 5 |
|
- | 1529 | @@: |
|
- | 1530 | mov [scroll_height], eax |
|
1763 | mul ebx |
1531 | ; calculate scroll pos |
1764 | shr eax,16 |
1532 | sub [esp], eax |
1765 | mov esi,[mousey] |
1533 | mov eax, [listsize] |
- | 1534 | sub eax, ebx |
|
- | 1535 | mov ecx, eax |
|
- | 1536 | cmp eax, [filecursor] |
|
1766 | shl esi,16 |
1537 | jb @f |
- | 1538 | mov eax, [filecursor] |
|
- | 1539 | @@: |
|
- | 1540 | mul dword [esp] |
|
- | 1541 | div ecx |
|
- | 1542 | mov [scroll_pos], eax |
|
- | 1543 | pop ecx |
|
- | 1544 | ; draw |
|
- | 1545 | lea ecx, [eax+scrollbutsize] |
|
- | 1546 | add ecx, [listy] |
|
1767 | add esi,eax |
1547 | shl ecx, 16 |
1768 | 1548 | mov cx, word [scroll_height] |
|
1769 | mov eax,13 |
1549 | mov eax, 13 |
1770 | mov ebx,[listx] |
1550 | mov ebx, [listx] |
1771 | add ebx,[listxsize] |
1551 | add ebx, [listxsize] |
1772 | sub ebx,[scrollsize] |
1552 | sub ebx, [scrollsize] |
1773 | shl ebx,16 |
- | |
1774 | add ebx,dword [scrollsize] |
- | |
1775 | mov ecx,[listy] |
- | |
1776 | add ecx,[scrollbutsize] |
- | |
1777 | shl ecx,16 |
1553 | shl ebx, 16 |
1778 | add ecx,esi |
1554 | mov bx, word [scrollsize] |
1779 | mov edx,[scrollboxcol] |
1555 | mov edx, [scrollboxcol] |
Line 1806... | Line 1582... | ||
1806 | sub ebx,[scrollsize] |
1582 | sub ebx,[scrollsize] |
1807 | shl ebx,16 |
1583 | shl ebx,16 |
1808 | add ebx,[scrollsize] |
1584 | add ebx,[scrollsize] |
1809 | mov ecx,[listy] |
1585 | mov ecx,[listy] |
1810 | shl ecx,16 |
1586 | shl ecx,16 |
1811 | add ecx,[scrollbutsize] |
1587 | add ecx,scrollbutsize-1 |
1812 | dec ecx ;correction |
- | |
1813 | mov eax,8 |
1588 | mov eax,8 |
1814 | mov edx,6+1000000000000000000000000000000b ;spoke butt |
1589 | mov edx,6+1000000000000000000000000000000b ;spoke butt |
1815 | int 0x40 |
1590 | int 0x40 |
Line 1816... | Line 1591... | ||
1816 | 1591 | ||
Line 1834... | Line 1609... | ||
1834 | 1609 | ||
1835 | 1610 | ||
1836 | dec ecx ;correction |
1611 | dec ecx ;correction |
1837 | mov edx,7+1000000000000000000000000000000b ;spoke butt |
1612 | mov edx,7+1000000000000000000000000000000b ;spoke butt |
1838 | mov eax,[listysize] |
1613 | mov eax,[listysize] |
1839 | sub eax,[scrollbutsize] |
1614 | sub eax,scrollbutsize |
Line 1840... | Line 1615... | ||
1840 | shl eax,16 |
1615 | shl eax,16 |
1841 | add ecx,eax |
1616 | add ecx,eax |
Line 1862... | Line 1637... | ||
1862 | popad |
1637 | popad |
Line 1863... | Line 1638... | ||
1863 | 1638 | ||
Line 1864... | Line 1639... | ||
1864 | 1639 | ||
1865 | ; Draw text in file list |
1640 | ; Draw text in file list |
1866 | 1641 | ||
1867 | mov eax,[listxsize] |
1642 | ; mov eax,[listxsize] |
- | 1643 | ; sub eax,40*6 ;leight of string |
|
- | 1644 | ; shr eax,1 |
|
1868 | sub eax,40*6 ;leight of string |
1645 | ; add eax,[listx] |
1869 | shr eax,1 |
1646 | mov eax, [listx] |
1870 | add eax,[listx] |
1647 | add eax, 12+4 ; for icons |
Line 1871... | Line 1648... | ||
1871 | shl eax,16 |
1648 | shl eax,16 |
Line 1881... | Line 1658... | ||
1881 | div ebx |
1658 | div ebx |
1882 | mov [filelistsize],eax ;dword 40 |
1659 | mov [filelistsize],eax ;dword 40 |
Line 1883... | Line 1660... | ||
1883 | 1660 | ||
1884 | ; OUT FILE DATA |
1661 | ; OUT FILE DATA |
1885 | mov eax,[filecursor] ;calc cursor position |
1662 | mov eax,[filecursor] ;calc cursor position |
1886 | mov ebx,62 |
1663 | mov ebx,27 |
Line 1887... | Line 1664... | ||
1887 | mul ebx |
1664 | mul ebx |
1888 | 1665 | ||
1889 | ;OUT TEXT |
1666 | ;OUT TEXT |
1890 | mov ebp,4096 ; 16 ;out strings process |
1667 | mov ebp,4096 ; 16 ;out strings process |
1891 | sub ebp,[filecursor] |
1668 | sub ebp,[filecursor] |
1892 | mov edx,convinfo ;fileinfo+11 |
1669 | mov edx,convinfo ;fileinfo+11 |
1893 | add edx,eax |
1670 | add edx,eax |
- | 1671 | mov ebx,dword [filelistxy] |
|
- | 1672 | loo: |
|
1894 | mov ebx,dword [filelistxy] |
1673 | cmp dword [edx], -1 |
1895 | loo: |
1674 | jz noout |
1896 | mov ecx,0x00888888 ;for another file's color white |
1675 | mov ecx,0x00888888 ;for another file's color white |
1897 | cmp [edx+26],dword 'FOL ' ;folder yellow |
1676 | cmp [edx+15],dword 'FOL ' ;folder yellow |
1898 | jne nb |
1677 | jne nb |
1899 | mov ecx,0x00006666 |
1678 | mov ecx,0x00006666 |
1900 | jmp cset1 |
1679 | jmp cset1 |
- | 1680 | nb: |
|
- | 1681 | mov eax, [edx] |
|
- | 1682 | xor edi, edi |
|
- | 1683 | ; find extension and set color |
|
- | 1684 | @@: |
|
- | 1685 | inc eax |
|
- | 1686 | cmp byte [eax-1], 0 |
|
- | 1687 | jz @f |
|
- | 1688 | cmp byte [eax-1], '.' |
|
- | 1689 | jnz @b |
|
- | 1690 | mov edi, eax |
|
- | 1691 | jmp @b |
|
- | 1692 | @@: |
|
- | 1693 | test edi, edi |
|
- | 1694 | jz @f |
|
- | 1695 | mov edi, [edi] |
|
1901 | nb: |
1696 | and edi, not 0x20202020 ; toupper |
1902 | mov eax,[edx+8] |
- | |
1903 | ;Color set |
- | |
1904 | cmp eax,dword '.TXT' ;text's blue |
- | |
1905 | je itx |
1697 | @@: |
1906 | cmp eax,dword '.INC' |
- | |
1907 | je itx |
- | |
1908 | cmp eax,dword '.ASM' |
- | |
1909 | je itx |
- | |
1910 | cmp eax,dword '.RTF' |
- | |
1911 | je itx |
- | |
1912 | jmp nt |
1698 | ;Color set |
1913 | itx: |
- | |
1914 | mov ecx,0x00446666 |
- | |
1915 | jmp cset |
- | |
1916 | nt: |
- | |
1917 | cmp eax,dword '.BMP' ;picture's pure |
1699 | ; text's blue |
1918 | je ipic |
1700 | mov ecx, 0x00446666 |
1919 | cmp eax,dword '.JPG' |
1701 | cmp edi, 'TXT' |
1920 | je ipic |
1702 | jz cset |
1921 | cmp eax,dword '.JPE' |
1703 | cmp edi, 'INC' |
1922 | je ipic |
1704 | jz cset |
1923 | cmp eax,dword '.GIF' |
- | |
1924 | je ipic |
- | |
1925 | ; //// Willow |
- | |
1926 | cmp eax,dword '.PNG' |
- | |
1927 | je ipic |
1705 | cmp edi, 'ASM' |
1928 | ; //// Willow |
1706 | jz cset |
1929 | cmp eax,dword '.WAV' |
- | |
1930 | je ipic |
1707 | cmp edi, 'RTF' |
1931 | cmp eax,dword '.MID' |
- | |
1932 | je ipic |
- | |
1933 | jmp np |
1708 | jz cset |
- | 1709 | ; picture's pure |
|
1934 | ipic: |
1710 | mov ecx, 0x00226688 |
- | 1711 | cmp edi, 'BMP' |
|
1935 | mov ecx,0x00226688 |
1712 | jz cset |
1936 | jmp cset |
1713 | cmp edi, 'JPG' |
- | 1714 | jz cset |
|
- | 1715 | cmp edi, 'JPEG' |
|
1937 | np: |
1716 | jz cset |
- | 1717 | cmp edi, 'GIF' |
|
- | 1718 | jz cset |
|
- | 1719 | cmp edi, 'PNG' |
|
- | 1720 | jz cset |
|
- | 1721 | cmp edi, 'WAV' |
|
- | 1722 | jz cset |
|
- | 1723 | cmp edi, 'MID' |
|
1938 | cmp eax,dword '. ' ;execute's green |
1724 | jz cset |
- | 1725 | ; execute's green |
|
1939 | jne nexec |
1726 | mov ecx, 0x00008866 |
1940 | mov ecx,0x00008866 |
1727 | test edi, edi |
- | 1728 | jz cset |
|
1941 | jmp cset |
1729 | ; for another file's color white |
Line 1942... | Line 1730... | ||
1942 | nexec: |
1730 | mov ecx, 0x00888888 |
- | 1731 | cset: |
|
- | 1732 | ||
- | 1733 | cset1: |
|
- | 1734 | push edx |
|
1943 | cset: |
1735 | mov edx,[edx] |
- | 1736 | push ebx edx |
|
- | 1737 | mov eax, [listxsize] |
|
- | 1738 | sub eax, [scrollsize] |
|
- | 1739 | sub eax, 12+4 |
|
- | 1740 | xor edx, edx |
|
- | 1741 | mov ebx, 6 |
|
- | 1742 | div ebx |
|
- | 1743 | pop edx ebx |
|
- | 1744 | sub eax, 25 |
|
- | 1745 | xor esi, esi |
|
- | 1746 | @@: |
|
- | 1747 | cmp byte [edx+esi], 0 |
|
- | 1748 | jz @f |
|
- | 1749 | inc esi |
|
- | 1750 | cmp esi, eax |
|
- | 1751 | jbe @b |
|
1944 | 1752 | dec esi |
|
- | 1753 | @@: |
|
- | 1754 | push eax |
|
- | 1755 | mov eax,4 |
|
1945 | cset1: |
1756 | int 0x40 |
- | 1757 | cmp byte [edx+esi], 0 |
|
- | 1758 | jz @f |
|
- | 1759 | pushad |
|
- | 1760 | mov edx, more_char |
|
- | 1761 | mov eax, esi |
|
- | 1762 | imul eax, 6*65536 |
|
- | 1763 | add ebx, eax |
|
- | 1764 | mov esi, 1 |
|
- | 1765 | mov eax, 4 |
|
- | 1766 | int 0x40 |
|
- | 1767 | popad |
|
- | 1768 | @@: |
|
- | 1769 | pop eax |
|
- | 1770 | pop edx |
|
- | 1771 | push ebx edx |
|
- | 1772 | inc eax |
|
- | 1773 | imul eax, 6*65536 |
|
- | 1774 | add ebx, eax |
|
1946 | mov esi,40 ;symbols out 62 ;32 |
1775 | add edx,4 |
1947 | mov eax,4 |
1776 | mov esi,23 |
Line 1948... | Line 1777... | ||
1948 | pushad |
1777 | mov eax,4 |
1949 | int 0x40 |
1778 | int 0x40 |
1950 | ; popad |
1779 | pop edx ebx |
1951 | 1780 | ||
1952 | ; pushad |
1781 | pushad |
1953 | cmp [edx+26],dword 'Fvol' ;volume label |
1782 | cmp [edx+15],dword 'Fvol' ;volume label |
1954 | jne no_volico |
1783 | jne no_volico |
1955 | push hdico+8 |
1784 | push hdico+8 |
1956 | jmp out_ico |
1785 | jmp out_ico |
1957 | no_volico: |
1786 | no_volico: |
1958 | cmp [edx+26],dword 'FOL ' |
1787 | cmp [edx+15],dword 'FOL ' |
1959 | jne no_folico |
1788 | jne no_folico |
1960 | cmp [edx+9],dword 'HARD' |
1789 | cmp [edx+4],dword 'HARD' |
1961 | jne no_hdico |
1790 | jne no_hdico |
1962 | push hdico+8 |
1791 | push hdico+8 |
1963 | jmp out_ico |
1792 | jmp out_ico |
1964 | no_hdico: |
1793 | no_hdico: |
1965 | cmp [edx+9],dword 'RAMD' |
1794 | cmp [edx+4],dword 'RAMD' |
1966 | jne no_rdico |
1795 | jne no_rdico |
1967 | push rdico+8 |
1796 | push rdico+8 |
1968 | jmp out_ico |
1797 | jmp out_ico |
1969 | no_rdico: |
1798 | no_rdico: |
1970 | cmp [edx+9],dword 'FLOP' |
1799 | cmp [edx+4],dword 'FLOP' |
1971 | jne no_fdico |
1800 | jne no_fdico |
1972 | push rdico+8 |
1801 | push rdico+8 |
1973 | jmp out_ico |
1802 | jmp out_ico |
1974 | no_fdico: |
1803 | no_fdico: |
1975 | push folico+8 |
1804 | push folico+8 |
1976 | jmp out_ico |
1805 | jmp out_ico |
1977 | no_folico: |
1806 | no_folico: |
1978 | cmp [edx+8],dword '.BMP' |
1807 | cmp edi,dword 'BMP' |
1979 | je is_imgico |
1808 | je is_imgico |
1980 | cmp [edx+8],dword '.JPG' |
1809 | cmp edi,dword 'JPG' |
1981 | je is_imgico |
1810 | je is_imgico |
1982 | cmp [edx+8],dword '.JPE' |
1811 | cmp edi,dword 'JPEG' |
1983 | je is_imgico |
1812 | je is_imgico |
1984 | cmp [edx+8],dword '.GIF' |
1813 | cmp edi,dword 'GIF' |
1985 | je is_imgico |
1814 | je is_imgico |
1986 | ; //// Willow |
1815 | ; //// Willow |
1987 | cmp [edx+8],dword '.PNG' |
1816 | cmp edi,dword 'PNG' |
1988 | je is_imgico |
1817 | je is_imgico |
1989 | ; //// Willow |
1818 | ; //// Willow |
1990 | cmp [edx+8],dword '.WAV' |
1819 | cmp edi,dword 'WAV' |
1991 | je is_imgico |
1820 | je is_imgico |
1992 | cmp [edx+8],dword '.MID' |
1821 | cmp edi,dword 'MID' |
1993 | je is_imgico |
1822 | je is_imgico |
1994 | jmp no_imgico |
1823 | jmp no_imgico |
1995 | is_imgico: |
1824 | is_imgico: |
1996 | push imgico+8 |
1825 | push imgico+8 |
1997 | jmp out_ico |
1826 | jmp out_ico |
1998 | no_imgico: |
1827 | no_imgico: |
1999 | cmp [edx+8],dword '.ASM' |
1828 | cmp edi,dword 'ASM' |
2000 | je is_asmincico |
1829 | je is_asmincico |
2001 | cmp [edx+8],dword '.INC' |
1830 | cmp edi,dword 'INC' |
2002 | je is_asmincico |
1831 | je is_asmincico |
2003 | jmp no_asmincico |
1832 | jmp no_asmincico |
2004 | is_asmincico: |
1833 | is_asmincico: |
2005 | push asmincico+8 |
1834 | push asmincico+8 |
2006 | jmp out_ico |
1835 | jmp out_ico |
2007 | no_asmincico: |
1836 | no_asmincico: |
2008 | cmp [edx+8],dword '.RTF' |
1837 | cmp edi,dword 'RTF' |
2009 | je @f |
1838 | je @f |
2010 | cmp [edx+8],dword '.TXT' |
1839 | cmp edi,dword 'TXT' |
2011 | jne no_txtico |
1840 | jne no_txtico |
2012 | @@: |
1841 | @@: |
2013 | push txtico+8 |
1842 | push txtico+8 |
2014 | jmp out_ico |
1843 | jmp out_ico |
2015 | no_txtico: |
1844 | no_txtico: |
2016 | cmp [edx+8],dword '. ' |
1845 | test edi,edi |
2017 | jne no_execico |
1846 | jne no_execico |
2018 | push execico+8 |
1847 | push execico+8 |
2019 | jmp out_ico |
1848 | jmp out_ico |
2020 | no_execico: |
1849 | no_execico: |
2021 | cmp [edx+26],dword 'DAT ' |
1850 | cmp [edx+15],dword 'DAT ' |
2022 | jne no_datico |
1851 | jne no_datico |
2023 | push datico+8 |
1852 | push datico+8 |
2024 | jmp out_ico |
1853 | jmp out_ico |
2025 | no_datico: |
1854 | no_datico: |
2026 | cmp [edx+26],dword 'DEL ' |
1855 | cmp [edx+15],dword 'DEL ' |
Line 2040... | Line 1869... | ||
2040 | popad |
1869 | popad |
Line 2041... | Line 1870... | ||
2041 | 1870 | ||
2042 | 1871 | ||
2043 | add ebx,10 |
1872 | add ebx,10 |
Line 2044... | Line 1873... | ||
2044 | noout: |
1873 | noout: |
2045 | add edx,62 |
- | |
2046 | 1874 | add edx,27 |
|
Line 2047... | Line 1875... | ||
2047 | dec [filelistsize] |
1875 | |
2048 | cmp [filelistsize],dword 0 |
1876 | dec [filelistsize] |
2049 | je extloo |
1877 | jz extloo |
2050 | 1878 | ||
Line 2051... | Line 1879... | ||
2051 | dec ebp |
1879 | dec ebp |
Line 2052... | Line 1880... | ||
2052 | jnz loo |
1880 | jnz loo |
2053 | dext: |
1881 | dext: |
Line 2054... | Line 1882... | ||
2054 | mov [downstop],1 |
1882 | mov [downstop],1 |
2055 | 1883 | ||
2056 | extloo: |
1884 | extloo: |
Line 2084... | Line 1912... | ||
2084 | no_drawhftext: |
1912 | no_drawhftext: |
Line 2085... | Line 1913... | ||
2085 | 1913 | ||
2086 | ;Draw text for head->view buttons |
1914 | ;Draw text for head->view buttons |
2087 | cmp [drawhv],1 |
1915 | cmp [drawhv],1 |
2088 | jne no_drawhvtext |
1916 | jne no_drawhvtext |
2089 | drawfbox (8+6*8),35,(6*12)+1,(11*6),0x00000000 |
1917 | drawfbox (8+6*8),35,(6*12)+1,(11*4),0x00000000 |
Line 2090... | Line 1918... | ||
2090 | drawfbox (9+6*8),36,(6*12)-1,(11*6)-2,0x00ffffff |
1918 | drawfbox (9+6*8),36,(6*12)-1,(11*4)-2,0x00ffffff |
2091 | 1919 | ||
2092 | mov edi,6 ;4 |
1920 | mov edi,4 |
2093 | mov ebx,(9+6*8)*65536+37 |
1921 | mov ebx,(9+6*8)*65536+37 |
2094 | mov ecx,cl_Black |
1922 | mov ecx,cl_Black |
2095 | mov edx,view_text_label |
1923 | mov edx,view_text_label |
Line 2099... | Line 1927... | ||
2099 | view_text_label: |
1927 | view_text_label: |
2100 | db ' Name sort ' |
1928 | db ' Name sort ' |
2101 | db ' Ext. sort ' |
1929 | db ' Ext. sort ' |
2102 | db ' Size sort ' |
1930 | db ' Size sort ' |
2103 | db ' Date sort ' |
1931 | db ' Date sort ' |
2104 | db ' Show DEL ' |
- | |
2105 | db ' Fade DEL ' |
- | |
Line 2106... | Line 1932... | ||
2106 | 1932 | ||
Line 2107... | Line 1933... | ||
2107 | no_drawhvtext: |
1933 | no_drawhvtext: |
2108 | 1934 | ||
Line 2151... | Line 1977... | ||
2151 | scrollsize dd 8 |
1977 | scrollsize dd 8 |
2152 | listcolor dd 0xffffff ;0xeeeeee |
1978 | listcolor dd 0xffffff ;0xeeeeee |
2153 | scrollcolor dd 0x778877 |
1979 | scrollcolor dd 0x778877 |
2154 | scrollboxcol dd 0x335533 |
1980 | scrollboxcol dd 0x335533 |
2155 | scrollbutcol dd 0x224422 |
1981 | scrollbutcol dd 0x224422 |
2156 | scrollbutsize dd 9 |
1982 | scrollbutsize = 9 |
2157 | usescroll dd 1 |
- | |
Line 2158... | Line 1983... | ||
2158 | 1983 | ||
Line 2159... | Line 1984... | ||
2159 | ;URL LINE PARAMETRS |
1984 | ;URL LINE PARAMETRS |
2160 | 1985 | ||
Line 2189... | Line 2014... | ||
2189 | ; READ FILE STRUCTURE PROC |
2014 | ; READ FILE STRUCTURE PROC |
2190 | ;***************************** |
2015 | ;***************************** |
Line 2191... | Line 2016... | ||
2191 | 2016 | ||
Line 2192... | Line -... | ||
2192 | read_directory: |
- | |
2193 | - | ||
2194 | ; STEP 0 SEt TYPE OF SORT |
- | |
2195 | - | ||
2196 | mov eax,[viewmode] |
- | |
2197 | ;with no show del files |
- | |
2198 | and eax,0FFFFFFFBh |
- | |
2199 | cmp eax,0 |
- | |
2200 | jnz no_sort_by_name |
- | |
2201 | mov [start],0 |
- | |
2202 | mov [x0],12 |
- | |
2203 | mov [x1],99 |
- | |
2204 | mov [x2],99 |
- | |
2205 | mov [x3],99 |
- | |
2206 | jmp sortset |
- | |
2207 | - | ||
2208 | no_sort_by_name: |
- | |
2209 | dec eax |
- | |
2210 | jnz no_sort_by_ext |
- | |
2211 | mov [start],9 |
- | |
2212 | mov [x0],9 |
- | |
2213 | mov [x1],99 |
- | |
2214 | mov [x2],99 |
- | |
2215 | mov [x3],12 |
- | |
2216 | jmp sortset |
- | |
2217 | - | ||
2218 | no_sort_by_ext: |
- | |
2219 | dec eax |
- | |
2220 | jnz no_sort_by_size |
- | |
2221 | mov [start],30 |
- | |
2222 | mov [x0],12 |
- | |
2223 | mov [x1],99 |
- | |
2224 | mov [x2],99 |
- | |
2225 | mov [x3],38 |
- | |
2226 | jmp sortset |
- | |
2227 | - | ||
2228 | no_sort_by_size: |
- | |
2229 | dec eax |
- | |
2230 | mov [start],21 |
- | |
2231 | mov [x0],12 |
- | |
2232 | mov [x1],17 |
- | |
2233 | mov [x2],20 |
- | |
2234 | mov [x3],26 |
- | |
2235 | jmp sortset ;sort by date |
- | |
2236 | - | ||
2237 | ;SORT VARILE |
- | |
2238 | start dd 0 |
- | |
2239 | x0 dd 0 |
- | |
2240 | x1 dd 0 |
- | |
2241 | x2 dd 0 |
- | |
2242 | x3 dd 0 |
- | |
2243 | - | ||
2244 | sortset: |
2017 | read_directory: |
2245 | 2018 | ||
2246 | ;STEP 1 CLEAR CONVINFO |
2019 | ;STEP 1 CLEAR CONVINFO |
2247 | mov edi,convinfo |
2020 | mov edi,convinfo |
2248 | mov al,255 |
2021 | mov al,255 |
- | 2022 | mov ecx,4096*27 |
|
2249 | mov ecx,4096*62 ;512 |
2023 | cld |
- | 2024 | push edi |
|
Line 2250... | Line 2025... | ||
2250 | cld |
2025 | rep stosb |
2251 | rep stosb |
2026 | pop edi |
2252 | 2027 | ||
- | 2028 | ;STEP 2 TEST ON HD OR PARTITION |
|
- | 2029 | cmp [path],byte '/' |
|
2253 | ;STEP 2 TEST ON HD OR PARTITION |
2030 | je nstep |
- | 2031 | ; copy info on RD and FD |
|
- | 2032 | mov esi, hdimg |
|
- | 2033 | mov ecx, 2*27 |
|
2254 | cmp [path],byte '/' |
2034 | rep movsb |
2255 | je nstep |
2035 | ; hard disks |
2256 | mov ecx,61+62*5 |
2036 | mov eax, 4 |
- | 2037 | .1: |
|
- | 2038 | mov ecx, 27 |
|
- | 2039 | cmp dword [esi], 0 |
|
- | 2040 | jz .2 |
|
- | 2041 | rep movsb |
|
- | 2042 | jmp .3 |
|
2257 | loxhd: |
2043 | .2: |
2258 | mov al,[hdimg+ecx] |
2044 | add esi, ecx |
2259 | mov [convinfo+ecx],al |
2045 | .3: |
2260 | dec ecx |
2046 | dec eax |
2261 | jns loxhd |
2047 | jnz .1 |
2262 | mov [listsize],0 |
2048 | mov [listsize], 0 |
2263 | ret |
2049 | ret |
2264 | nstep: |
2050 | nstep: |
2265 | cmp [path+3],byte '/' |
2051 | cmp [path+3],byte '/' |
2266 | je nstep2 |
2052 | je nstep2 |
2267 | cmp [path+4],byte '/' |
2053 | cmp [path+4],byte '/' |
2268 | je nstep2 |
2054 | je nstep2 |
2269 | cmp [path+1],word 'RD' |
2055 | cmp [path+1],word 'RD' |
2270 | jne nostep_RD |
2056 | jne nostep_RD |
2271 | mov ecx,61 |
2057 | mov ecx,1 |
2272 | jmp loxpt |
2058 | jmp loxpt |
2273 | nostep_RD: |
2059 | nostep_RD: |
2274 | cmp [path+1],word 'FD' |
2060 | cmp [path+1],word 'FD' |
2275 | jne nostep_FD |
2061 | jne nostep_FD |
2276 | mov ecx,61+62 |
2062 | mov ecx,2 |
2277 | jmp loxpt |
2063 | jmp loxpt |
2278 | nostep_FD: |
2064 | nostep_FD: |
2279 | cmp [path+1],dword 'HD0' |
- | |
2280 | jne nostep_HD0 |
- | |
2281 | mov cl,[table_area+2] |
- | |
2282 | movzx ecx,cl |
2065 | cmp [path+1],dword 'HD0' |
2283 | imul ecx,62 |
2066 | jne nostep_HD0 |
2284 | dec ecx |
2067 | movzx ecx,byte [table_area+2] |
2285 | jmp loxpt |
2068 | jmp loxpt |
2286 | nostep_HD0: |
2069 | nostep_HD0: |
2287 | cmp [path+1],dword 'HD1' |
- | |
2288 | jne nostep_HD1 |
- | |
2289 | mov cl,[table_area+3] |
- | |
2290 | movzx ecx,cl |
2070 | cmp [path+1],dword 'HD1' |
2291 | imul ecx,62 |
2071 | jne nostep_HD1 |
2292 | dec ecx |
2072 | movzx ecx,byte [table_area+3] |
2293 | jmp loxpt |
2073 | jmp loxpt |
2294 | nostep_HD1: |
2074 | nostep_HD1: |
2295 | cmp [path+1],dword 'HD2' |
- | |
2296 | jne nostep_HD2 |
- | |
2297 | mov cl,[table_area+4] |
- | |
2298 | movzx ecx,cl |
2075 | cmp [path+1],dword 'HD2' |
2299 | imul ecx,62 |
2076 | jne nostep_HD2 |
2300 | dec ecx |
2077 | movzx ecx,byte [table_area+4] |
2301 | jmp loxpt |
2078 | jmp loxpt |
2302 | nostep_HD2: |
2079 | nostep_HD2: |
2303 | cmp [path+1],dword 'HD3' |
- | |
2304 | jne nostep_HD3 |
- | |
2305 | mov cl,[table_area+5] |
- | |
2306 | movzx ecx,cl |
2080 | cmp [path+1],dword 'HD3' |
2307 | imul ecx,62 |
2081 | jne nostep_HD3 |
Line 2308... | Line 2082... | ||
2308 | dec ecx |
2082 | movzx ecx,byte [table_area+5] |
Line 2309... | Line 2083... | ||
2309 | jmp loxpt |
2083 | jmp loxpt |
2310 | nostep_HD3: |
2084 | nostep_HD3: |
- | 2085 | ||
2311 | 2086 | mov ecx,2 |
|
- | 2087 | ||
- | 2088 | loxpt: |
|
- | 2089 | cmp ecx, 20 |
|
- | 2090 | jbe @f |
|
2312 | mov ecx,61+62 ;+496 |
2091 | mov ecx, 20 |
- | 2092 | @@: |
|
- | 2093 | mov eax, a1 |
|
- | 2094 | mov esi, ptimg |
|
- | 2095 | @@: |
|
- | 2096 | stosd |
|
2313 | 2097 | add eax, 3 |
|
2314 | loxpt: |
2098 | push ecx esi |
2315 | mov al,[ptimg+ecx] |
2099 | mov ecx, 23 |
2316 | mov [convinfo+ecx],al |
2100 | rep movsb |
Line 2317... | Line 2101... | ||
2317 | dec ecx |
2101 | pop esi ecx |
2318 | jns loxpt |
- | |
2319 | mov [listsize],0 |
- | |
2320 | ret |
- | |
2321 | nstep2: |
- | |
2322 | - | ||
Line 2323... | Line 2102... | ||
2323 | ;STEP 3 CLEAR OUTINFO |
2102 | loop @b |
2324 | mov edi,outinfo ;0x14000 ;0x20000 |
- | |
2325 | xor eax,eax |
- | |
Line 2326... | Line 2103... | ||
2326 | mov ecx,4096*32 ;512 |
2103 | mov [listsize],0 |
2327 | cld |
- | |
2328 | rep stosb |
- | |
2329 | 2104 | ret |
|
2330 | ;STEP 4 READ DATA FROM HD |
2105 | nstep2: |
2331 | mov dword [farea],outinfo |
2106 | |
2332 | mov dword [readblock],0 |
- | |
2333 | - | ||
2334 | loorhd: |
- | |
2335 | mov eax,[readblock] |
- | |
2336 | mov [fileinfoblock+4],eax |
- | |
2337 | mov eax,58 |
- | |
2338 | mov ebx,fileinfoblock |
- | |
2339 | int 0x40 |
- | |
2340 | cmp eax,0 |
- | |
2341 | jne hd_err |
- | |
2342 | add dword [farea],512 |
- | |
Line 2343... | Line 2107... | ||
2343 | inc dword [readblock] |
2107 | ;STEP 3 was deleted |
2344 | cmp dword [readblock],4096/16 |
2108 | |
Line 2345... | Line 2109... | ||
2345 | jna loorhd |
2109 | ;STEP 4 READ DATA FROM HD |
Line 2346... | Line 2110... | ||
2346 | 2110 | ||
Line 2359... | Line 2123... | ||
2359 | glabel 10,10,'Invalid partition or hd base',cl_Red+font_Big |
2123 | glabel 10,10,'Invalid partition or hd base',cl_Red+font_Big |
2360 | jmp end_of_dir |
2124 | jmp end_of_dir |
2361 | no_inv_part: |
2125 | no_inv_part: |
2362 | cmp eax,3 |
2126 | cmp eax,3 |
2363 | jne no_unk_fs |
2127 | jne no_unk_fs |
2364 | glabel 10,10,'Unknow file system',cl_Red+font_Big |
2128 | glabel 10,10,'Unknown file system',cl_Red+font_Big |
2365 | jmp end_of_dir |
2129 | jmp end_of_dir |
2366 | no_unk_fs: |
2130 | no_unk_fs: |
Line 2367... | Line 2131... | ||
2367 | 2131 | ||
- | 2132 | end_of_dir: |
|
- | 2133 | ; -1 -> 0 |
|
- | 2134 | cmp ebx, -1 |
|
2368 | end_of_dir: |
2135 | sbb ebx, -1 |
Line 2369... | Line 2136... | ||
2369 | mov [dirlen],ebx |
2136 | mov [dirlen],ebx |
Line 2370... | Line 2137... | ||
2370 | 2137 | ||
2371 | ; command succesful |
2138 | ; command successful |
2372 | 2139 | ||
- | 2140 | mov esi, outinfo+32 |
|
Line 2373... | Line 2141... | ||
2373 | mov esi,outinfo ;data_area+1024 |
2141 | and [listsize], 0 |
- | 2142 | test ebx, ebx |
|
Line 2374... | Line 2143... | ||
2374 | ; mov edi,fileinfo+11 |
2143 | jz nofiles |
2375 | mov edx,0 ;4096 ;16 |
- | |
2376 | 2144 | ||
2377 | newlineb: |
2145 | newlineb: |
2378 | 2146 | push ebx |
|
2379 | mov edi,fileinfo+11 |
- | |
2380 | - | ||
2381 | pushad ; clear |
2147 | |
2382 | mov al,32 |
2148 | mov edi, fileinfo |
2383 | mov ecx,58 |
- | |
2384 | sub edi,11 |
- | |
2385 | cld |
2149 | push edi |
2386 | rep stosb |
- | |
2387 | popad |
- | |
2388 | - | ||
2389 | mov cl,[esi] ; end of entries ? |
2150 | mov al, ' ' |
2390 | cmp cl,6 |
- | |
2391 | jnz noib0 |
- | |
2392 | - | ||
2393 | mov [edi+26],dword 'EOE ' |
- | |
2394 | add esi,32 |
- | |
2395 | ; add edi,62 |
2151 | mov ecx, 27 |
2396 | jmp inf |
- | |
2397 | 2152 | rep stosb |
|
2398 | noib0: |
- | |
2399 | - | ||
2400 | mov cl,[esi+0] |
- | |
2401 | cmp cl,0xe5 |
- | |
2402 | je yesdelfil |
- | |
2403 | - | ||
2404 | mov cl,[esi+11] ; long fat32 name ? |
- | |
2405 | cmp cl,0xf |
- | |
2406 | jnz noib1 |
- | |
2407 | - | ||
2408 | mov [edi+26],dword 'F32 ' |
- | |
2409 | add esi,32 |
2153 | pop edi |
2410 | ; add edi,62 |
2154 | push esi |
2411 | jmp inf |
- | |
2412 | - | ||
2413 | noib1: |
- | |
2414 | - | ||
2415 | mov eax,'DAT ' ; data or .. ? |
- | |
2416 | 2155 | add esi, 40 |
|
2417 | mov cl,[esi+0] ; deleted file |
- | |
2418 | cmp cl,0xe5 |
- | |
2419 | je yesdelfil |
- | |
2420 | cmp cl,0x0 |
- | |
2421 | je yesdelfil |
- | |
2422 | jmp nodelfil |
- | |
2423 | yesdelfil: |
- | |
2424 | mov eax,'DEL ' |
- | |
2425 | jmp ffile |
2156 | mov [edi], esi |
2426 | 2157 | pop esi |
|
2427 | nodelfil: |
2158 | |
2428 | 2159 | mov eax, 'DAT ' ; data or ... ? |
|
2429 | mov cl,[esi+11] ; folder |
2160 | mov cl, [esi] |
2430 | and cl,0x10 |
- | |
2431 | jz ffile |
2161 | test cl, 0x10 |
2432 | mov eax,'FOL ' |
- | |
2433 | mov [edi+26],eax |
- | |
2434 | jmp nosize |
2162 | jz @f |
2435 | ffile: |
- | |
2436 | 2163 | mov eax, 'FOL ' |
|
2437 | ; Asko patch for v79 |
- | |
2438 | mov cl,[esi+11] ; fold |
- | |
2439 | and cl,0xf |
2164 | mov [edi+15], eax |
2440 | cmp cl,0xf ; skip long filename |
2165 | jmp nosize |
2441 | jz novol |
2166 | @@: |
2442 | test cl,0x8 ; is it fold label? |
2167 | test cl, 8 |
- | 2168 | jz novol |
|
Line 2443... | Line -... | ||
2443 | jz novol ; no |
- | |
2444 | mov eax,'Fvol' |
- | |
2445 | mov [edi+26],eax |
2169 | mov eax, 'Fvol' |
2446 | jmp nosize |
2170 | mov [edi+15], eax |
2447 | novol: |
2171 | jmp nosize |
2448 | 2172 | novol: |
|
2449 | mov [edi+26],eax |
2173 | mov [edi+15], eax |
2450 | 2174 | ||
2451 | pusha ; size |
2175 | ; size |
2452 | mov eax,[esi+28] |
2176 | mov eax, [esi+32] |
2453 | mov esi,edi |
2177 | push esi |
2454 | add esi,37 |
2178 | lea esi, [edi+26] |
2455 | mov ebx,10 |
2179 | mov ebx, 10 |
2456 | mov ecx,8 |
2180 | mov ecx, 8 |
2457 | newnum: |
2181 | newnum: |
2458 | xor edx,edx |
2182 | xor edx, edx |
2459 | div ebx |
2183 | div ebx |
2460 | add dl,48 |
2184 | add dl, '0' |
2461 | mov [esi],dl |
2185 | mov [esi], dl |
2462 | test eax,eax |
2186 | test eax, eax |
Line 2463... | Line 2187... | ||
2463 | jz zernum |
2187 | jz zernum |
2464 | dec esi |
2188 | dec esi |
2465 | loop newnum |
2189 | loop newnum |
2466 | zernum: |
2190 | zernum: |
2467 | popa |
- | |
2468 | nosize: |
- | |
2469 | 2191 | pop esi |
|
2470 | pusha ; date |
2192 | nosize: |
2471 | mov [edi+17],dword '. .' |
- | |
2472 | - | ||
2473 | movzx eax,word [esi+24] |
- | |
2474 | shr eax,9 ; year |
- | |
2475 | add eax,1980 |
- | |
2476 | mov ecx,4 |
- | |
2477 | newdel1: |
- | |
2478 | dec ecx |
- | |
2479 | xor edx,edx |
- | |
2480 | mov ebx,10 |
- | |
2481 | div ebx |
- | |
2482 | add edx,48 |
- | |
2483 | mov [edi+ecx+21],dl |
- | |
2484 | test ecx,ecx |
- | |
2485 | jnz newdel1 |
- | |
2486 | - | ||
2487 | movzx eax,word [esi+24] |
- | |
2488 | shr eax,5 ; month |
- | |
2489 | and eax,0x0f |
- | |
2490 | mov ecx,2 |
- | |
2491 | newdel2: |
- | |
2492 | dec ecx |
- | |
2493 | xor edx,edx |
- | |
2494 | mov ebx,10 |
- | |
2495 | div ebx |
- | |
2496 | add edx,48 |
- | |
2497 | mov [edi+ecx+18],dl |
- | |
2498 | test ecx,ecx |
- | |
2499 | jnz newdel2 |
- | |
2500 | - | ||
2501 | movzx eax,word [esi+24] |
- | |
2502 | and eax,0x1f ; day |
- | |
2503 | mov ecx,2 |
- | |
2504 | newdel3: |
- | |
2505 | dec ecx |
- | |
2506 | xor edx,edx |
- | |
2507 | mov ebx,10 |
- | |
2508 | div ebx |
- | |
2509 | add edx,48 |
- | |
2510 | mov [edi+ecx+15],dl |
- | |
2511 | test ecx,ecx |
- | |
2512 | jnz newdel3 |
- | |
2513 | - | ||
2514 | popa |
- | |
2515 | 2193 | ||
2516 | 2194 | ; date |
|
2517 | pusha ; number |
2195 | mov dword [edi+6], '. .' |
2518 | mov eax,edx |
2196 | ; year |
- | 2197 | movzx eax, word [esi+28+2] |
|
2519 | sub eax,4096 |
2198 | mov ecx, 4 |
- | 2199 | newdel1: |
|
- | 2200 | xor edx, edx |
|
2520 | neg eax |
2201 | mov ebx, 10 |
2521 | 2202 | div ebx |
|
2522 | xor edx,edx |
2203 | add edx, '0' |
2523 | mov ebx,10 |
2204 | mov [edi+ecx+9], dl |
- | 2205 | loop newdel1 |
|
- | 2206 | ; month |
|
- | 2207 | movzx eax, byte [esi+28+1] |
|
- | 2208 | xor edx, edx |
|
2524 | div ebx |
2209 | div ebx |
2525 | add dl,48 |
2210 | add al, '0' |
2526 | mov [edi+43],dl ;0001 |
2211 | add dl, '0' |
2527 | xor edx,edx |
2212 | mov [edi+7], al |
2528 | div ebx |
2213 | mov [edi+8], dl |
2529 | add dl,48 |
- | |
2530 | mov [edi+42],dl ;0010 |
- | |
2531 | xor edx,edx |
- | |
2532 | div ebx |
- | |
2533 | add al,48 |
- | |
2534 | add dl,48 |
- | |
2535 | mov [edi+41],dl ;0100 |
2214 | ; day |
2536 | mov [edi+40],byte 0 ;1000 |
- | |
2537 | popa |
- | |
2538 | - | ||
2539 | mov ecx,8 ; first 8 |
- | |
2540 | cld |
- | |
2541 | rep movsb |
- | |
2542 | mov [edi],byte '.' |
- | |
2543 | inc edi |
- | |
2544 | mov ecx,3 ; last 3 |
- | |
2545 | cld |
- | |
2546 | rep movsb |
- | |
Line 2547... | Line 2215... | ||
2547 | 2215 | movzx eax, byte [esi+28] |
|
- | 2216 | xor edx, edx |
|
- | 2217 | div ebx |
|
- | 2218 | add al, '0' |
|
- | 2219 | add dl, '0' |
|
- | 2220 | mov [edi+4], al |
|
2548 | add esi,(32-11) |
2221 | mov [edi+5], dl |
2549 | ; add edi,(60-12+2) |
2222 | |
- | 2223 | ;STEP 5 Test on WRITE OR NOTWRITE |
|
- | 2224 | cmp word [esi+40], '.' |
|
Line 2550... | Line -... | ||
2550 | - | ||
2551 | inf: |
- | |
2552 | - | ||
2553 | pushad |
- | |
2554 | 2225 | jz nextfl |
|
2555 | ;STEP 5 Test on WRITE OR NOTWRITE |
- | |
2556 | mov edx,fileinfo+11 |
- | |
2557 | looo: |
- | |
2558 | - | ||
2559 | ; Delete del, eoe, f32 and another head-names |
- | |
2560 | cmp [viewmode],3 ;0-3 no outdel |
- | |
2561 | ja del_out |
- | |
2562 | cmp [edx+26],dword 'DEL ' |
- | |
2563 | je nextfl |
- | |
2564 | del_out: |
- | |
2565 | cmp [edx+26],dword 'DEL ' |
- | |
2566 | jne no_del |
- | |
2567 | cmp [edx],dword 0 ;431 ;435 ;484 +10% speed |
- | |
2568 | je nextfl |
- | |
2569 | no_del: |
- | |
2570 | cmp [edx+26],dword 'EOE ' |
2226 | cmp word [esi+40], '..' |
2571 | je nextfl |
- | |
2572 | cmp [edx+26],dword 'F32 ' ;F32 not useles |
- | |
2573 | je nextfl |
- | |
2574 | cmp [edx],dword '. ' |
- | |
2575 | je nextfl |
- | |
2576 | cmp [edx],dword '.. ' |
- | |
2577 | je nextfl |
- | |
2578 | cmp [edx],dword 'FIRS' |
- | |
2579 | je nextfl |
- | |
2580 | - | ||
Line 2581... | Line 2227... | ||
2581 | ; ---------_______-------_______ --------_________----------- |
2227 | jnz @f |
Line 2582... | Line 2228... | ||
2582 | ; SORT by name and del deletet files or f32 headers from list |
2228 | cmp byte [esi+42], 0 |
- | 2229 | jz nextfl |
|
- | 2230 | @@: |
|
2583 | ; _________-------_______ --------_______---------___________ |
2231 | |
2584 | 2232 | ; STEP 6 SORT ALGORYTHM |
|
2585 | ; STEP 6 UNIVERSAL SORT ALGORYTHM |
2233 | |
2586 | - | ||
2587 | xxx: |
2234 | push esi |
2588 | mov esi,0 ;[tekfilename] ;0 |
2235 | xor esi, esi |
2589 | mov ebx,[start] ; 0 |
2236 | |
2590 | 2237 | ; At first Fold after Dat |
|
2591 | ; At first Fold after Dat and Del |
2238 | |
2592 | 2239 | ftestname: |
|
2593 | ftestname: |
2240 | cmp dword [convinfo+esi], -1 |
2594 | cmp byte [fileinfo+11+26],'F' |
2241 | jz writefile |
2595 | je F |
2242 | cmp byte [fileinfo+15],'F' |
2596 | cmp byte [fileinfo+11+26],'D' |
2243 | je F |
2597 | je D |
2244 | cmp byte [fileinfo+15],'D' |
Line 2598... | Line 2245... | ||
2598 | jmp add_element |
2245 | jne add_element |
2599 | D: cmp byte [convinfo+esi+26],'D' |
2246 | D: cmp byte [convinfo+esi+15],'D' |
2600 | je add_element |
2247 | je add_element |
2601 | cmp byte [convinfo+esi+26],'F' |
2248 | cmp byte [convinfo+esi+15],'F' |
2602 | je skipfile |
2249 | je skipfile |
2603 | jmp add_element |
2250 | jmp add_element |
2604 | F: cmp byte [convinfo+esi+26],'D' |
2251 | F: cmp byte [convinfo+esi+15],'D' |
2605 | je writenow |
- | |
2606 | ; cmp byte [convinfo+esi+26],'F' |
2252 | je writenow |
Line 2607... | Line -... | ||
2607 | ; je add_element |
- | |
2608 | ; jmp add_element |
- | |
2609 | - | ||
2610 | add_element: |
- | |
2611 | mov al,[fileinfo+ebx+11] |
- | |
2612 | cmp al,[convinfo+esi+ebx] |
- | |
2613 | je equal |
- | |
2614 | jb writenow |
- | |
2615 | skipfile: |
- | |
2616 | add esi,62 |
- | |
2617 | mov ebx,[start] ;0 |
- | |
2618 | jmp ftestname |
- | |
2619 | - | ||
2620 | equal: |
- | |
2621 | inc ebx |
- | |
2622 | cmp ebx,[x0] |
- | |
2623 | je writefile |
- | |
2624 | cmp ebx,[x1] |
- | |
2625 | je x1p |
- | |
2626 | cmp ebx,[x2] |
- | |
2627 | je x2p |
- | |
2628 | cmp ebx,[x3] |
- | |
2629 | jae x3p |
2253 | ; cmp byte [convinfo+esi+15],'F' |
2630 | jmp add_element |
2254 | ; je add_element |
2631 | 2255 | ; jmp add_element |
|
2632 | x1p: |
2256 | |
2633 | mov ebx,18 |
2257 | add_element: |
2634 | jmp add_element |
2258 | ; compare items |
2635 | x2p: |
2259 | movzx eax, [viewmode] |
2636 | mov ebx,15 |
2260 | call [compare+eax*4] |
Line 2637... | Line -... | ||
2637 | jmp add_element |
- | |
2638 | x3p: |
2261 | jb writenow |
2639 | mov ebx,0 |
2262 | skipfile: |
2640 | jmp add_element |
2263 | add esi,27 |
2641 | 2264 | jmp ftestname |
|
2642 | writenow: |
2265 | |
2643 | mov ecx,4096*62 |
2266 | writenow: |
2644 | sub ecx,esi |
2267 | mov ecx,4096*27-1 |
2645 | ldloop: |
- | |
- | 2268 | sub ecx,esi |
|
2646 | mov al,[convinfo+ecx+esi] |
2269 | ldloop: |
Line 2647... | Line 2270... | ||
2647 | mov [convinfo+ecx+esi+62],al |
2270 | mov al,[convinfo+ecx+esi] |
2648 | dec ecx |
2271 | mov [convinfo+ecx+esi+27],al |
2649 | jns ldloop |
- | |
2650 | 2272 | dec ecx |
|
2651 | 2273 | jns ldloop |
|
2652 | writefile: |
- | |
2653 | mov ecx,61 |
2274 | |
2654 | wfloop: |
- | |
2655 | mov al,[fileinfo+ecx+11] |
- | |
2656 | mov [convinfo+ecx+esi],al |
- | |
2657 | dec ecx |
- | |
2658 | jns wfloop |
- | |
2659 | - | ||
Line 2660... | Line 2275... | ||
2660 | nextfile: |
2275 | writefile: |
2661 | - | ||
2662 | nextfl: |
2276 | mov ecx,26 |
Line -... | Line 2277... | ||
- | 2277 | wfloop: |
|
- | 2278 | mov al,[fileinfo+ecx] |
|
- | 2279 | mov [convinfo+ecx+esi],al |
|
- | 2280 | dec ecx |
|
- | 2281 | jns wfloop |
|
- | 2282 | inc [listsize] |
|
- | 2283 | pop esi |
|
- | 2284 | ||
- | 2285 | nextfl: |
|
- | 2286 | add esi, 304 |
|
- | 2287 | pop ebx |
|
- | 2288 | dec ebx |
|
- | 2289 | jnz newlineb |
|
- | 2290 | ||
- | 2291 | nofiles: |
|
- | 2292 | ret |
|
- | 2293 | ||
- | 2294 | toupper: |
|
- | 2295 | cmp al, 'a' |
|
- | 2296 | jb .ret |
|
- | 2297 | cmp al, 'z' |
|
- | 2298 | ja @f |
|
- | 2299 | .sub20: |
|
- | 2300 | sub al, 0x20 |
|
- | 2301 | .ret: |
|
Line -... | Line 2302... | ||
- | 2302 | ret |
|
- | 2303 | @@: |
|
- | 2304 | cmp al, 0xA0 |
|
- | 2305 | jb .ret |
|
- | 2306 | cmp al, 0xB0 |
|
2663 | ; popad |
2307 | jb .sub20 |
- | 2308 | cmp al, 0xE0 |
|
- | 2309 | jb .ret |
|
- | 2310 | cmp al, 0xF0 |
|
- | 2311 | jae @f |
|
- | 2312 | sub al, 0xE0-0x90 |
|
- | 2313 | ret |
|
- | 2314 | @@: |
|
- | 2315 | cmp al, 0xF1 |
|
- | 2316 | jnz .ret |
|
- | 2317 | dec eax |
|
- | 2318 | ret |
|
- | 2319 | ||
- | 2320 | compare_date: |
|
- | 2321 | pushad |
|
- | 2322 | mov al, [fileinfo+10] |
|
- | 2323 | cmp al, [convinfo+esi+10] |
|
- | 2324 | jnz .ret |
|
- | 2325 | mov al, [fileinfo+11] |
|
- | 2326 | cmp al, [convinfo+esi+11] |
|
- | 2327 | jnz .ret |
|
- | 2328 | mov al, [fileinfo+12] |
|
2664 | ; pushad |
2329 | cmp al, [convinfo+esi+12] |
2665 | mov eax,edx |
2330 | jnz .ret |
- | 2331 | mov al, [fileinfo+13] |
|
- | 2332 | cmp al, [convinfo+esi+13] |
|
- | 2333 | jnz .ret |
|
- | 2334 | mov al, [fileinfo+7] |
|
- | 2335 | cmp al, [convinfo+esi+7] |
|
2666 | shl eax,26 |
2336 | jnz .ret |
2667 | cmp eax,0 |
2337 | mov al, [fileinfo+8] |
2668 | jne no_outcnt |
2338 | cmp al, [convinfo+esi+8] |
- | 2339 | jnz .ret |
|
2669 | push edx |
2340 | mov al, [fileinfo+4] |
- | 2341 | cmp al, [convinfo+esi+4] |
|
- | 2342 | jnz .ret |
|
- | 2343 | mov al, [fileinfo+5] |
|
- | 2344 | cmp al, [convinfo+esi+5] |
|
- | 2345 | jz compare_name.1 |
|
- | 2346 | .ret: |
|
- | 2347 | popad |
|
- | 2348 | ret |
|
- | 2349 | compare_name: |
|
2670 | drawfbox 294,25,(4*6),10,cl_White |
2350 | pushad |
- | 2351 | .1: |
|
2671 | pop ebp |
2352 | mov edi, dword [convinfo+esi] |
2672 | outcount ebp,294,25,cl_Black,4*65536 |
2353 | mov esi, dword [fileinfo] |
- | 2354 | call strcmpi |
|
- | 2355 | popad |
|
- | 2356 | ret |
|
- | 2357 | compare_ext: |
|
2673 | no_outcnt: |
2358 | pushad |
- | 2359 | mov esi, dword [convinfo+esi] |
|
- | 2360 | mov edi, dword [fileinfo] |
|
2674 | popad |
2361 | call find_ext |
- | 2362 | xchg esi, edi |
|
- | 2363 | call find_ext |
|
- | 2364 | call strcmpi |
|
2675 | 2365 | popad |
|
- | 2366 | jz compare_name |
|
- | 2367 | ret |
|
- | 2368 | compare_size: |
|
- | 2369 | pushad |
|
- | 2370 | lea edi, [convinfo+esi+19] |
|
2676 | inc edx |
2371 | lea esi, [fileinfo+19] |
- | 2372 | mov ecx, 8 |
|
- | 2373 | repz cmpsb |
|
- | 2374 | popad |
|
- | 2375 | jz compare_name |
|
2677 | cmp edx,4096 |
2376 | ret |
- | 2377 | ||
- | 2378 | strcmpi: |
|
- | 2379 | lodsb |
|
- | 2380 | call toupper |
|
- | 2381 | push eax |
|
2678 | jnae newlineb |
2382 | mov al, [edi] |
2679 | 2383 | inc edi |
|
2680 | 2384 | call toupper |
|
Line 2681... | Line 2385... | ||
2681 | ;STEP 8 GET SIZE OF RESORTING LIST |
2385 | cmp [esp], al |
Line 2682... | Line 2386... | ||
2682 | mov ecx,0 |
2386 | pop eax |
2683 | mov edi,0 |
2387 | jnz @f |
2684 | mov eax,[blocksread] |
2388 | test al, al |
2685 | mov ebx,62 |
2389 | jnz strcmpi |
2686 | mul ebx |
2390 | @@: |
2687 | mov edx,eax |
2391 | ret |
2688 | loogs: |
- | |
2689 | mov eax,dword [convinfo+edi+26] |
2392 | |
2690 | cmp eax,dword 0xffffffff |
2393 | find_ext: |
2691 | je endgs |
- | |
2692 | add edi,62 |
2394 | lodsb |
2693 | inc ecx |
2395 | test al, al |
2694 | cmp edi,edx ;4096*62 |
2396 | jz .noext |
2695 | jnae loogs |
2397 | cmp al, '.' |
2696 | endgs: |
2398 | jnz find_ext |
2697 | mov [listsize],ecx |
2399 | ret |
2698 | ret |
2400 | .noext: |
2699 | 2401 | dec esi |
|
2700 | ;****************************************************************************** |
2402 | ret |
- | 2403 | ||
- | 2404 | ;****************************************************************************** |
|
Line 2701... | Line 2405... | ||
2701 | 2405 | ||
2702 | ; DATA AREA |
2406 | ; DATA AREA |
2703 | pmenu_draw dd 0 ;if poup menu is draw,update all window |
2407 | pmenu_draw dd 0 ;if poup menu is draw,update all window |
2704 | flick dd 0 ;anti flick on ? |
2408 | flick dd 0 ;anti flick on ? |
2705 | drawhf dd 0 ;draw file menu? |
2409 | drawhf dd 0 ;draw file menu? |
2706 | drawhv dd 0 ;draw view menu? |
2410 | drawhv dd 0 ;draw view menu? |
2707 | drawhi dd 0 ;draw info menu? |
2411 | drawhi dd 0 ;draw info menu? |
- | 2412 | cursor dd 0 ;cursor in prompt line |
|
- | 2413 | focus dd 0 ;prompt edit or window? |
|
- | 2414 | downstop dd 0 |
|
2708 | browser dd 0 ;0-dialog, 1-browser |
2415 | filecursor dd 0 |
2709 | cursor dd 0 ;cursor in prompt line |
2416 | mousex dd 0 |
2710 | focus dd 0 ;prompt edit or window? |
2417 | mousey dd 0 |
2711 | viewmode dd 0 ;folder sort & not del |
2418 | blocksread dd 0 |
2712 | downstop dd 0 |
2419 | listsize dd 0 ;num of files in directory |
2713 | filecursor dd 0 |
- | |
2714 | mousex dd 0 |
2420 | temp dd 0 |
2715 | mousey dd 0 |
2421 | readblock dd 1 |
2716 | blocksread dd 0 |
2422 | dlg_type db 0 ;S-save O-open |
2717 | listsize dd 0 ;num of files in directory |
2423 | browser db 0 ;0-dialog, 1-browser |
2718 | temp dd 0 |
2424 | viewmode db 0 ;folder sort |
- | 2425 | ||
- | 2426 | compare dd compare_name |
|
- | 2427 | dd compare_ext |
|
- | 2428 | dd compare_size |
|
- | 2429 | dd compare_date |
|
2719 | readblock dd 1 |
2430 | |
2720 | dlg_type db 0 ;S-save O-open |
2431 | aRD db 'RD',0 |
2721 | 2432 | aFD db 'FD',0 |
|
2722 | hdimg1 db 'HD0 HARDDISK FOL ' |
2433 | aHD0 db 'HD0',0 |
2723 | hdimg2 db 'HD1 HARDDISK FOL ' |
2434 | aHD1 db 'HD1',0 |
2724 | hdimg3 db 'HD2 HARDDISK FOL ' |
2435 | aHD2 db 'HD2',0 |
- | 2436 | aHD3 db 'HD3',0 |
|
- | 2437 | a1 db '1',0,0 |
|
2725 | hdimg4 db 'HD3 HARDDISK FOL ' |
2438 | a2 db '2',0,0 |
2726 | 2439 | a3 db '3',0,0 |
|
2727 | ;01234567890123456789012345678901234567890123456789012345678912 |
2440 | a4 db '4',0,0 |
2728 | hdimg db 'RD RAMDISK FOL ' |
2441 | a5 db '5',0,0 |
- | 2442 | a6 db '6',0,0 |
|
2729 | db 'FD FLOPPYDISK FOL ' |
2443 | a7 db '7',0,0 |
- | 2444 | a8 db '8',0,0 |
|
2730 | db ' ' |
2445 | a9 db '9',0,0 |
- | 2446 | a10 db '10',0 |
|
2731 | db ' ' |
2447 | a11 db '11',0 |
- | 2448 | a12 db '12',0 |
|
2732 | db ' ' |
2449 | a13 db '13',0 |
2733 | db ' ' |
2450 | a14 db '14',0 |
Line 2734... | Line 2451... | ||
2734 | 2451 | a15 db '15',0 |
|
2735 | ptimg db '1 FIRST PARTITION FOL ' |
2452 | a16 db '16',0 |
2736 | db '2 SECOND PARTITION FOL ' |
2453 | a17 db '17',0 |
2737 | db '3 NEXT PARTITION FOL ' |
2454 | a18 db '18',0 |
Line 2776... | Line 2493... | ||
2776 | ; dd tempzone |
2493 | ; dd tempzone |
2777 | ; db '/RD/1/MRU.LST',0 |
2494 | ; db '/RD/1/MRU.LST',0 |
2778 | ; //// Willow |
2495 | ; //// Willow |
Line 2779... | Line 2496... | ||
2779 | 2496 | ||
2780 | ;Name of programs |
2497 | ;Name of programs |
2781 | editor db 'TINYPAD ' |
2498 | editor db '/RD/1/TINYPAD',0 |
2782 | bmpview db 'MV ' |
2499 | bmpview db '/RD/1/MV',0 |
2783 | jpgview db 'JPEGVIEW ' |
2500 | jpgview db '/RD/1/JPEGVIEW',0 |
2784 | gifview db 'GIFVIEW ' |
2501 | gifview db '/RD/1/GIFVIEW',0 |
2785 | ac97wav db 'AC97WAV ' |
- | |
2786 | copyrfile db 'COPYR ' |
2502 | ac97wav db '/RD/1/AC97WAV',0 |
2787 | rtfread db 'RTFREAD ' |
2503 | rtfread db '/RD/1/RTFREAD',0 |
2788 | ; //// Willow |
2504 | ; //// Willow |
2789 | pngview db '@RCHER ' |
2505 | pngview db '/RD/1/@RCHER',0 |
2790 | ; //// Willow |
2506 | ; //// Willow |
- | 2507 | midamp db '/RD/1/MIDAMP',0 |
|
- | 2508 | ||
Line 2791... | Line 2509... | ||
2791 | midamp db 'MIDAMP ' |
2509 | more_char db 10h |
- | 2510 | ||
- | 2511 | fileinfo_start: |
|
- | 2512 | dd 7 |
|
- | 2513 | dd 0 |
|
2792 | 2514 | fileinfo_params: |
|
2793 | fileinfo_start: |
2515 | dd 0 |
2794 | dd 16 |
2516 | dd 0 |
- | 2517 | dd 0 |
|
2795 | dd 0 |
2518 | db 0 |
- | 2519 | fileinfo_name: |
|
- | 2520 | dd 0 |
|
- | 2521 | ||
- | 2522 | clipfile_info: |
|
2796 | dd 0 ;tempzone+1000; |
2523 | dd ? |
- | 2524 | dd 0 |
|
- | 2525 | dd 0 |
|
- | 2526 | dd ? |
|
2797 | dd 0 |
2527 | dd paramtest |
- | 2528 | db '/RD/1/CLIPFILE.TXT',0 |
|
- | 2529 | copyr_run: |
|
2798 | dd tempzone ;0x10000 |
2530 | dd 7 |
- | 2531 | dd 0 |
|
- | 2532 | dd copyr_param |
|
- | 2533 | dd 0 |
|
Line 2799... | Line 2534... | ||
2799 | open_path: |
2534 | dd 0 |
2800 | times 256 db 0 ;run app path |
2535 | db '/RD/1/COPYR',0 |
2801 | 2536 | ||
- | 2537 | fileinfoblock: |
|
2802 | fileinfoblock: |
2538 | dd 0x1 ; read folder |
2803 | dd 0x0 ; read |
- | |
2804 | dd 0x0 ; first block |
2539 | dd 0x0 ; first block |
2805 | dd 0x1 ; number of blocks to read |
- | |
2806 | farea: |
2540 | dd 0x0 ; flags (ANSI names) |
2807 | dd outinfo ; ret offset |
2541 | dd 4095 ; number of blocks to read |
Line 2808... | Line 2542... | ||
2808 | dd tempzone ; work size of sytemram |
2542 | dd outinfo ; ret offset |
2809 | path: |
2543 | path: |
Line 2810... | Line 2544... | ||
2810 | times 256 db 0 ;path |
2544 | times 1024 db 0 ;path |
2811 | 2545 | ||
2812 | table_area: |
2546 | table_area: |
- | 2547 | rb 10 |
|
- | 2548 | ||
- | 2549 | ;rb 256 |
|
- | 2550 | but_file: |
|
- | 2551 | file 'systr12.GIF' |
|
- | 2552 | ||
2813 | rb 10 |
2553 | I_END: |
2814 | 2554 | ||
2815 | ;rb 256 |
2555 | scroll_height dd ? |
2816 | but_file: |
2556 | scroll_pos dd ? |
2817 | file 'systr12.GIF' |
2557 | |
Line 2850... | Line 2590... | ||
2850 | rb 400*100*3+8 ;for picture |
2590 | rb 400*100*3+8 ;for picture |
2851 | rb 8000 |
2591 | rb 8000 |
Line 2852... | Line 2592... | ||
2852 | 2592 | ||
2853 | gif_hash: |
2593 | gif_hash: |
2854 | rd 4096 |
- | |
2855 | tempzone: ;temp zone for 58 function |
- | |
2856 | rb 4000 |
- | |
2857 | - | ||
2858 | sourcepath rb 100 |
- | |
Line 2859... | Line 2594... | ||
2859 | destpath rb 100 |
2594 | rd 4096 |
2860 | 2595 | ||
Line 2861... | Line -... | ||
2861 | MYPID: |
- | |
2862 | rd 8 |
- | |
2863 | 2596 | MYPID: |
|
2864 | I_END: |
2597 | rd 8 |
2865 | 2598 | ||
2866 | param_area: |
2599 | param_area: |
2867 | rb 256 |
2600 | rb 256 |
2868 | paramtest: |
2601 | paramtest: |
Line 2869... | Line 2602... | ||
2869 | rb 256 |
2602 | rb 1024 |
2870 | filedir: |
2603 | filedir: |
Line 2871... | Line 2604... | ||
2871 | rb 256 |
2604 | rb 1024 |
2872 | 2605 | ||
Line -... | Line 2606... | ||
- | 2606 | procinfo process_information |
|
- | 2607 | sc system_colors |
|
2873 | procinfo process_information |
2608 | |
2874 | sc system_colors |
2609 | fileinfo: |
Line 2875... | Line 2610... | ||
2875 | 2610 | rb 200 ;4096*62+1024 |
|
2876 | fileinfo: |
2611 | |
2877 | rb 200 ;4096*62+1024 |
2612 | copyr_param rb 256 |
- | 2613 | ||
- | 2614 | outinfo: |
|
2878 | 2615 | rb 32+4096*304 |