Rev 552 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 552 | Rev 993 | ||
---|---|---|---|
Line 43... | Line 43... | ||
43 | dd RAM_END ; stack |
43 | dd RAM_END ; stack |
44 | dd param_area ,0x0 ; param,icon |
44 | dd param_area ,0x0 ; param,icon |
45 | ; dd 0,0 |
45 | ; dd 0,0 |
Line 46... | Line 46... | ||
46 | 46 | ||
47 | ;****************************************************************************** |
47 | ;****************************************************************************** |
48 | include '..\..\..\macros.inc' |
48 | include 'macros.inc' |
49 | include 'ascl.inc' |
49 | include 'ascl.inc' |
Line 50... | Line 50... | ||
50 | include 'ascgl.inc' |
50 | include 'ascgl.inc' |
51 | 51 | ||
Line 70... | Line 70... | ||
70 | no_hdpartition_on_hd2: |
70 | no_hdpartition_on_hd2: |
71 | cmp [edx+5],byte 0 |
71 | cmp [edx+5],byte 0 |
72 | je no_hdpartition_on_hd3 |
72 | je no_hdpartition_on_hd3 |
73 | mov [hdimg4], aHD3 |
73 | mov [hdimg4], aHD3 |
74 | no_hdpartition_on_hd3: |
74 | no_hdpartition_on_hd3: |
75 | test byte [edx+1], 80h |
75 | test byte [edx+1], 80h |
76 | jz @f |
76 | jz @f |
77 | mov [hdimg1], aCD0 |
77 | mov [hdimg1], aCD0 |
78 | mov [hdimg1+4], 'CD-R' |
78 | mov [hdimg1+4], 'CD-R' |
79 | mov [hdimg1+8], 'OM ' |
79 | mov [hdimg1+8], 'OM ' |
80 | @@: |
80 | @@: |
81 | test byte [edx+1], 20h |
81 | test byte [edx+1], 20h |
82 | jz @f |
82 | jz @f |
83 | mov [hdimg2], aCD1 |
83 | mov [hdimg2], aCD1 |
84 | mov [hdimg2+4], 'CD-R' |
84 | mov [hdimg2+4], 'CD-R' |
85 | mov [hdimg2+8], 'OM ' |
85 | mov [hdimg2+8], 'OM ' |
86 | @@: |
86 | @@: |
87 | test byte [edx+1], 8 |
87 | test byte [edx+1], 8 |
88 | jz @f |
88 | jz @f |
89 | mov [hdimg3], aCD2 |
89 | mov [hdimg3], aCD2 |
90 | mov [hdimg3+4], 'CD-R' |
90 | mov [hdimg3+4], 'CD-R' |
91 | mov [hdimg3+8], 'OM ' |
91 | mov [hdimg3+8], 'OM ' |
92 | @@: |
92 | @@: |
93 | test byte [edx+1], 2 |
93 | test byte [edx+1], 2 |
94 | jz @f |
94 | jz @f |
95 | mov [hdimg4], aCD3 |
95 | mov [hdimg4], aCD3 |
96 | mov [hdimg4+4], 'CD-R' |
96 | mov [hdimg4+4], 'CD-R' |
97 | mov [hdimg4+8], 'OM ' |
97 | mov [hdimg4+8], 'OM ' |
98 | @@: |
98 | @@: |
Line 99... | Line 99... | ||
99 | 99 | ||
100 | mov eax,40 |
100 | mov eax,40 |
101 | mov ebx,0100111b |
101 | mov ebx,0100111b |
Line 221... | Line 221... | ||
221 | 221 | ||
222 | scrl: |
222 | scrl: |
223 | mov eax,37 |
223 | mov eax,37 |
224 | mov ebx,1 |
224 | mov ebx,1 |
225 | mcall |
225 | mcall |
226 | movzx ebx, ax ; y |
226 | movzx ebx, ax ; y |
227 | shr eax, 16 ; x |
227 | shr eax, 16 ; x |
228 | mov ebp,eax |
228 | mov ebp,eax |
229 | sub ebp,[listx] ;[procinfo.box.width] |
229 | sub ebp,[listx] ;[procinfo.box.width] |
230 | sub ebp,[listxsize] |
230 | sub ebp,[listxsize] |
231 | add ebp,[scrollsize] |
231 | add ebp,[scrollsize] |
232 | cmp ebp,dword [scrollsize] ;8 |
232 | cmp ebp,dword [scrollsize] ;8 |
Line 233... | Line 233... | ||
233 | jae menu_test ; still |
233 | jae menu_test ; still |
234 | 234 | ||
235 | lea ebp, [ebx-scrollbutsize] |
235 | lea ebp, [ebx-scrollbutsize] |
236 | sub ebp, [listy] ; up scroll |
236 | sub ebp, [listy] ; up scroll |
237 | jl menu_test |
237 | jl menu_test |
238 | mov ecx, [listysize] |
238 | mov ecx, [listysize] |
239 | sub ecx, 2*scrollbutsize |
239 | sub ecx, 2*scrollbutsize |
240 | mov eax, [scroll_height] |
240 | mov eax, [scroll_height] |
241 | cmp ebp, ecx |
241 | cmp ebp, ecx |
242 | jge menu_test |
242 | jge menu_test |
243 | sub ecx, eax |
243 | sub ecx, eax |
244 | shr eax, 1 |
244 | shr eax, 1 |
245 | sub ebp, eax |
245 | sub ebp, eax |
246 | jge @f |
246 | jge @f |
247 | xor ebp, ebp |
247 | xor ebp, ebp |
248 | @@: |
248 | @@: |
249 | cmp ebp, ecx |
249 | cmp ebp, ecx |
250 | jl @f |
250 | jl @f |
251 | mov ebp, ecx |
251 | mov ebp, ecx |
252 | @@: |
252 | @@: |
253 | xor edx, edx |
253 | xor edx, edx |
254 | mov eax, [listysize] |
254 | mov eax, [listysize] |
255 | sub eax, 2 |
255 | sub eax, 2 |
256 | mov ebx, 10 |
256 | mov ebx, 10 |
257 | div ebx |
257 | div ebx |
258 | mov ebx, eax |
258 | mov ebx, eax |
259 | cmp ebx, [listsize] |
259 | cmp ebx, [listsize] |
260 | jae notusescrl |
260 | jae notusescrl |
261 | mov eax, [listsize] |
261 | mov eax, [listsize] |
262 | sub eax, ebx |
262 | sub eax, ebx |
263 | mul ebp |
263 | mul ebp |
264 | div ecx |
264 | div ecx |
265 | cmp eax, [filecursor] |
265 | cmp eax, [filecursor] |
266 | jz still |
266 | jz still |
267 | mov [filecursor], eax |
267 | mov [filecursor], eax |
268 | jmp usescrl |
268 | jmp usescrl |
269 | notusescrl: |
269 | notusescrl: |
270 | cmp [filecursor], 0 |
270 | cmp [filecursor], 0 |
271 | jz still |
271 | jz still |
Line 272... | Line 272... | ||
272 | mov [filecursor],0 ;ebp |
272 | mov [filecursor],0 ;ebp |
273 | usescrl: |
273 | usescrl: |
Line 311... | Line 311... | ||
311 | jne no_pgdown |
311 | jne no_pgdown |
312 | mov ebx,10 |
312 | mov ebx,10 |
313 | jmp down |
313 | jmp down |
314 | no_pgdown: |
314 | no_pgdown: |
315 | cmp ah,key_Enter |
315 | cmp ah,key_Enter |
316 | je kfad |
316 | je kfad |
317 | cmp ah,key_Bspace |
317 | cmp ah,key_Bspace |
318 | je back |
318 | je back |
319 | cmp ah,key_F2 |
319 | cmp ah,key_F2 |
320 | je viewset |
320 | je viewset |
321 | cmp ah,key_F3 |
321 | cmp ah,key_F3 |
Line 338... | Line 338... | ||
338 | jmp savetest |
338 | jmp savetest |
339 | ; jmp update |
339 | ; jmp update |
340 | no_con_ent: |
340 | no_con_ent: |
341 | cmp ah,key_Left |
341 | cmp ah,key_Left |
342 | jne no_con_left |
342 | jne no_con_left |
343 | cmp [cursor], 0 |
343 | cmp [cursor], 0 |
344 | jz still |
344 | jz still |
345 | dec [cursor] |
345 | dec [cursor] |
346 | mov [flick],2 |
346 | mov [flick],2 |
347 | jmp anti_flick ;red |
347 | jmp anti_flick ;red |
348 | no_con_left: |
348 | no_con_left: |
349 | cmp ah,key_Right |
349 | cmp ah,key_Right |
350 | jne no_con_right |
350 | jne no_con_right |
351 | mov eax, [cursor] |
351 | mov eax, [cursor] |
352 | cmp byte [path+eax], 0 |
352 | cmp byte [path+eax], 0 |
353 | jz still |
353 | jz still |
354 | inc [cursor] |
354 | inc [cursor] |
355 | mov [flick],2 |
355 | mov [flick],2 |
356 | jmp anti_flick ;red |
356 | jmp anti_flick ;red |
357 | no_con_right: |
357 | no_con_right: |
358 | cmp ah,key_Bspace |
358 | cmp ah,key_Bspace |
359 | jne no_con_bspace |
359 | jne no_con_bspace |
Line 360... | Line 360... | ||
360 | 360 | ||
361 | mov ebp, [cursor] |
361 | mov ebp, [cursor] |
362 | test ebp, ebp |
362 | test ebp, ebp |
363 | jz still |
363 | jz still |
364 | lobsp: |
364 | lobsp: |
365 | mov bl,byte [path+ebp] |
365 | mov bl,byte [path+ebp] |
366 | mov byte [path+ebp-1],bl |
366 | mov byte [path+ebp-1],bl |
367 | inc ebp |
367 | inc ebp |
Line 372... | Line 372... | ||
372 | jmp anti_flick ;red |
372 | jmp anti_flick ;red |
373 | no_con_bspace: |
373 | no_con_bspace: |
Line 374... | Line 374... | ||
374 | 374 | ||
375 | mov ecx,[cursor] |
375 | mov ecx,[cursor] |
376 | mov ebp,1022 |
376 | mov ebp,1022 |
377 | cmp byte [path+ebp], 0 |
377 | cmp byte [path+ebp], 0 |
378 | jnz still |
378 | jnz still |
379 | losx: |
379 | losx: |
380 | cmp ebp, ecx |
380 | cmp ebp, ecx |
381 | jbe @f |
381 | jbe @f |
382 | mov bl,byte [path+ebp] |
382 | mov bl,byte [path+ebp] |
383 | mov byte [path+ebp+1],bl |
383 | mov byte [path+ebp+1],bl |
384 | dec ebp |
384 | dec ebp |
385 | jmp losx |
385 | jmp losx |
Line 441... | Line 441... | ||
441 | mov ebx,27 |
441 | mov ebx,27 |
442 | mul ebx |
442 | mul ebx |
443 | lea ebp,[convinfo+eax] |
443 | lea ebp,[convinfo+eax] |
444 | mov esi,[ebp] |
444 | mov esi,[ebp] |
445 | cmp esi,-1 |
445 | cmp esi,-1 |
446 | jz still |
446 | jz still |
Line 447... | Line 447... | ||
447 | 447 | ||
448 | mov edi,paramtest ;clear param string |
448 | mov edi,paramtest ;clear param string |
449 | mov ecx,1024/4 |
449 | mov ecx,1024/4 |
450 | xor eax,eax |
450 | xor eax,eax |
Line 451... | Line 451... | ||
451 | rep stosd |
451 | rep stosd |
452 | 452 | ||
453 | mov edi, path |
453 | mov edi, path |
454 | mov ecx, 1024 |
454 | mov ecx, 1024 |
455 | repnz scasb |
455 | repnz scasb |
456 | dec edi |
456 | dec edi |
457 | cmp [ebp+15], dword 'FOL ' |
457 | cmp [ebp+15], dword 'FOL ' |
458 | jnz openf |
458 | jnz openf |
459 | ; open directory - append its name to path |
459 | ; open directory - append its name to path |
460 | cmp ecx, 2 |
460 | cmp ecx, 2 |
461 | jb still |
461 | jb still |
462 | push edi |
462 | push edi |
463 | mov al, '/' |
463 | mov al, '/' |
464 | stosb |
464 | stosb |
465 | dec ecx |
465 | dec ecx |
466 | @@: |
466 | @@: |
467 | lodsb |
467 | lodsb |
468 | stosb |
468 | stosb |
469 | test al, al |
469 | test al, al |
470 | jz @f |
470 | jz @f |
471 | dec ecx |
471 | dec ecx |
472 | jnz @b |
472 | jnz @b |
473 | ; name is too long - do not do anything |
473 | ; name is too long - do not do anything |
474 | pop edi |
474 | pop edi |
475 | xor eax, eax |
475 | xor eax, eax |
476 | mov ecx, path+1024 |
476 | mov ecx, path+1024 |
477 | sub ecx, edi |
477 | sub ecx, edi |
478 | rep stosb |
478 | rep stosb |
479 | jmp still |
479 | jmp still |
480 | @@: |
480 | @@: |
481 | sub edi, path+1 |
481 | sub edi, path+1 |
482 | mov [cursor], edi |
482 | mov [cursor], edi |
483 | pop edi |
483 | pop edi |
Line 484... | Line 484... | ||
484 | ; name appended, now read new directory |
484 | ; name appended, now read new directory |
485 | mov [filecursor],0 |
485 | mov [filecursor],0 |
Line 493... | Line 493... | ||
493 | savetest: |
493 | savetest: |
494 | cmp byte [dlg_type],'S' |
494 | cmp byte [dlg_type],'S' |
495 | jne still |
495 | jne still |
496 | ; always force open file - this is better |
496 | ; always force open file - this is better |
497 | ; because there exists files without extension and folders with extension |
497 | ; because there exists files without extension and folders with extension |
498 | jmp openf |
498 | jmp openf |
499 | ; mov ecx,100 |
499 | ; mov ecx,100 |
500 | ;savetestloop: |
500 | ;savetestloop: |
501 | ; cmp [path+ecx],byte 0 |
501 | ; cmp [path+ecx],byte 0 |
502 | ; je next_byte |
502 | ; je next_byte |
503 | ; cmp [path+ecx],byte 32 |
503 | ; cmp [path+ecx],byte 32 |
504 | ; je next_byte |
504 | ; je next_byte |
505 | ; cmp [path+ecx],byte '.' |
505 | ; cmp [path+ecx],byte '.' |
506 | ; je openf ;it's file |
506 | ; je openf ;it's file |
507 | ;; cmp [path+ecx],byte '/' |
507 | ;; cmp [path+ecx],byte '/' |
508 | ;; je no_save ;it's dir |
508 | ;; je no_save ;it's dir |
509 | ;next_byte: |
509 | ;next_byte: |
510 | ; dec ecx |
510 | ; dec ecx |
511 | ; jnz savetestloop |
511 | ; jnz savetestloop |
512 | ; jmp still |
512 | ; jmp still |
Line 513... | Line 513... | ||
513 | 513 | ||
Line 514... | Line 514... | ||
514 | ;Open/Run file |
514 | ;Open/Run file |
515 | 515 | ||
516 | openf: |
516 | openf: |
517 | push esi edi |
517 | push esi edi |
518 | mov esi, path |
518 | mov esi, path |
519 | mov edi, paramtest |
519 | mov edi, paramtest |
520 | mov ecx, 1024/4 |
520 | mov ecx, 1024/4 |
521 | rep movsd |
521 | rep movsd |
Line 522... | Line 522... | ||
522 | pop edi esi |
522 | pop edi esi |
523 | add edi, paramtest-path |
523 | add edi, paramtest-path |
Line 524... | Line 524... | ||
524 | 524 | ||
525 | cmp dword [focus],0 ;if prompt line with focus no add file name from frame |
525 | cmp dword [focus],0 ;if prompt line with focus no add file name from frame |
526 | jne file_set |
526 | jne file_set |
527 | 527 | ||
528 | cmp edi, paramtest+1022 |
528 | cmp edi, paramtest+1022 |
529 | jae still |
529 | jae still |
530 | mov al, '/' |
530 | mov al, '/' |
531 | stosb |
531 | stosb |
532 | @@: |
532 | @@: |
533 | lodsb |
533 | lodsb |
534 | stosb |
534 | stosb |
535 | test al, al |
535 | test al, al |
Line 536... | Line 536... | ||
536 | jz file_set |
536 | jz file_set |
Line 537... | Line 537... | ||
537 | cmp edi, paramtest+1024 |
537 | cmp edi, paramtest+1024 |
538 | jb @b |
538 | jb @b |
Line 571... | Line 571... | ||
571 | 571 | ||
572 | ; cmp [convinfo+edi+26],dword 'Fvol' |
572 | ; cmp [convinfo+edi+26],dword 'Fvol' |
Line 573... | Line 573... | ||
573 | ; je edit |
573 | ; je edit |
574 | 574 | ||
575 | ; find extension |
575 | ; find extension |
576 | mov eax, paramtest+1023 |
576 | mov eax, paramtest+1023 |
577 | @@: |
577 | @@: |
578 | dec eax |
578 | dec eax |
579 | cmp byte [eax+1], 0 |
579 | cmp byte [eax+1], 0 |
580 | jz @b |
580 | jz @b |
581 | @@: |
581 | @@: |
582 | cmp byte [eax], '/' |
582 | cmp byte [eax], '/' |
583 | jz .noext |
583 | jz .noext |
584 | cmp byte [eax], '.' |
584 | cmp byte [eax], '.' |
585 | jz .ext |
585 | jz .ext |
586 | dec eax |
586 | dec eax |
587 | cmp eax, paramtest |
587 | cmp eax, paramtest |
588 | jae @b |
588 | jae @b |
589 | .noext: |
589 | .noext: |
590 | ; file has no extension |
590 | ; file has no extension |
591 | ; xor ebx, ebx |
591 | ; xor ebx, ebx |
592 | jmp execute |
592 | jmp execute |
593 | .ext: |
593 | .ext: |
594 | inc eax |
594 | inc eax |
595 | ; eax points to extension |
595 | ; eax points to extension |
596 | cmp byte [eax], 0 |
596 | cmp byte [eax], 0 |
597 | jz .noext |
597 | jz .noext |
598 | mov ecx, dword [eax] |
598 | mov ecx, dword [eax] |
599 | and ecx, not 0x20202020 |
599 | and ecx, not 0x20202020 |
600 | mov ebx, jpgview |
600 | mov ebx, jpgview |
601 | cmp ecx, 'JPG' |
601 | cmp ecx, 'JPG' |
602 | jz run |
602 | jz run |
603 | cmp ecx, 'JPEG' ; note that it will select also *.JPEG* |
603 | cmp ecx, 'JPEG' ; note that it will select also *.JPEG* |
604 | jz run |
604 | jz run |
605 | mov ebx, gifview |
605 | mov ebx, bmpview |
606 | cmp ecx, 'GIF' |
606 | cmp ecx, 'GIF' |
607 | jz run |
607 | jz run |
608 | mov ebx, ac97 |
608 | mov ebx, ac97 |
609 | cmp ecx, 'WAV' |
609 | cmp ecx, 'WAV' |
- | 610 | jz run |
|
- | 611 | cmp ecx, 'MP3' |
|
610 | jz run |
612 | jz run |
611 | cmp ecx, 'MP3' |
613 | cmp ecx, 'XM' |
612 | jz run |
614 | jz run |
- | 615 | mov ebx, midamp |
|
- | 616 | cmp ecx, 'MID' |
|
- | 617 | jz run |
|
613 | mov ebx, midamp |
618 | mov ebx, htmlv |
614 | cmp ecx, 'MID' |
619 | cmp ecx, 'HTM' |
615 | jz run |
620 | jz run |
616 | mov ebx, bmpview |
621 | mov ebx, bmpview |
617 | cmp ecx, 'BMP' |
622 | cmp ecx, 'BMP' |
618 | jz run |
623 | jz run |
619 | ; //// Willow |
624 | ; //// Willow |
620 | mov ebx, pngview |
625 | mov ebx, pngview |
621 | cmp ecx, 'PNG' |
626 | cmp ecx, 'PNG' |
622 | jz run |
627 | jz run |
623 | ; //// Willow |
628 | ; //// Willow |
624 | mov ebx, rtfread |
629 | mov ebx, rtfread |
625 | cmp ecx, 'RTF' |
630 | cmp ecx, 'RTF' |
626 | jz run |
631 | jz run |
627 | mov ebx, editor |
632 | mov ebx, editor |
628 | cmp ecx, 'ASM' |
633 | cmp ecx, 'ASM' |
629 | jz run |
634 | jz run |
630 | cmp ecx, 'TXT' |
635 | cmp ecx, 'TXT' |
- | 636 | jz run |
|
- | 637 | cmp ecx, 'INC' |
|
- | 638 | jz run |
|
- | 639 | cmp ecx, 'INI' |
|
- | 640 | jz run |
|
631 | jz run |
641 | cmp ecx, 'LOG' |
- | 642 | jz run |
|
632 | cmp ecx, 'INC' |
643 | cmp ecx, 'CONF' |
633 | jz run |
644 | jz run |
634 | mov ebx, life2 |
645 | mov ebx, life2 |
635 | cmp ecx, 'LIF' |
646 | cmp ecx, 'LIF' |
636 | jz run |
647 | jz run |
637 | mov ebx, view3ds |
648 | mov ebx, view3ds |
638 | cmp ecx, '3DS' and not 0x20202020 |
649 | cmp ecx, '3DS' and not 0x20202020 |
Line 639... | Line 650... | ||
639 | jz run |
650 | jz run |
640 | jmp still |
651 | jmp still |
641 | 652 | ||
642 | execute: |
653 | execute: |
643 | mov ebx, fileinfo_start |
654 | mov ebx, fileinfo_start |
644 | and dword [ebx+8], 0 ; no parameters |
655 | and dword [ebx+8], 0 ; no parameters |
645 | mov dword [ebx+21], paramtest ; program name |
656 | mov dword [ebx+21], paramtest ; program name |
646 | .do: |
657 | .do: |
Line 647... | Line 658... | ||
647 | mov eax, 70 |
658 | mov eax, 70 |
648 | mcall |
659 | mcall |
649 | jmp still |
660 | jmp still |
650 | 661 | ||
651 | run: |
662 | run: |
Line 652... | Line 663... | ||
652 | mov [fileinfo_name], ebx ; program name |
663 | mov [fileinfo_name], ebx ; program name |
Line 653... | Line 664... | ||
653 | mov ebx, fileinfo_start |
664 | mov ebx, fileinfo_start |
654 | mov dword [ebx+8], paramtest ; parameters |
665 | mov dword [ebx+8], paramtest ; parameters |
Line 681... | Line 692... | ||
681 | no_update: |
692 | no_update: |
Line 682... | Line 693... | ||
682 | 693 | ||
683 | cmp ah,9 |
694 | cmp ah,9 |
684 | jne no_textopen |
695 | jne no_textopen |
685 | textopen: |
696 | textopen: |
686 | mov eax, 27 |
697 | mov eax, 27 |
687 | mul [filecursor] |
698 | mul [filecursor] |
688 | cmp dword [eax+convinfo+15], 'FOL ' |
699 | cmp dword [eax+convinfo+15], 'FOL ' |
689 | jz still |
700 | jz still |
690 | push eax |
701 | push eax |
691 | mov esi, path |
702 | mov esi, path |
692 | mov edi, paramtest |
703 | mov edi, paramtest |
693 | @@: |
704 | @@: |
694 | lodsb |
705 | lodsb |
695 | test al, al |
706 | test al, al |
696 | jz @f |
707 | jz @f |
697 | stosb |
708 | stosb |
698 | jmp @b |
709 | jmp @b |
699 | @@: |
710 | @@: |
700 | mov al, '/' |
711 | mov al, '/' |
701 | stosb |
712 | stosb |
702 | pop eax |
713 | pop eax |
703 | mov esi, [eax+convinfo] |
714 | mov esi, [eax+convinfo] |
704 | cmp esi, -1 |
715 | cmp esi, -1 |
705 | jz still |
716 | jz still |
706 | @@: |
717 | @@: |
707 | lodsb |
718 | lodsb |
708 | stosb |
719 | stosb |
709 | test al, al |
720 | test al, al |
710 | jz @f |
721 | jz @f |
711 | cmp edi, paramtest+1024 |
722 | cmp edi, paramtest+1024 |
712 | jb @b |
723 | jb @b |
713 | jmp still |
724 | jmp still |
714 | @@: |
725 | @@: |
715 | mov ebx, editor |
726 | mov ebx, editor |
Line 716... | Line 727... | ||
716 | jmp run |
727 | jmp run |
Line 717... | Line 728... | ||
717 | 728 | ||
718 | no_textopen: |
729 | no_textopen: |
719 | 730 | ||
720 | cmp ah,11 |
731 | cmp ah,11 |
721 | jne no_view |
732 | jne no_view |
722 | viewset: |
733 | viewset: |
723 | inc [viewmode] |
734 | inc [viewmode] |
724 | cmp [viewmode], 4 |
735 | cmp [viewmode], 4 |
725 | jb @f |
736 | jb @f |
726 | mov [viewmode], 0 |
737 | mov [viewmode], 0 |
727 | @@: |
738 | @@: |
728 | call read_directory |
739 | call read_directory |
Line 733... | Line 744... | ||
733 | no_view: |
744 | no_view: |
Line 734... | Line 745... | ||
734 | 745 | ||
735 | cmp ah,12 ;move back |
746 | cmp ah,12 ;move back |
736 | jne no_back |
747 | jne no_back |
737 | back: |
748 | back: |
738 | mov edi, path+1024 |
749 | mov edi, path+1024 |
739 | mov ecx, edi |
750 | mov ecx, edi |
740 | @@: |
751 | @@: |
741 | dec edi |
752 | dec edi |
742 | cmp byte [edi], '/' |
753 | cmp byte [edi], '/' |
743 | jz @f |
754 | jz @f |
744 | cmp edi, path |
755 | cmp edi, path |
745 | ja @b |
756 | ja @b |
746 | jmp still |
757 | jmp still |
747 | @@: |
758 | @@: |
748 | sub ecx, edi |
759 | sub ecx, edi |
749 | lea eax, [edi-path] |
760 | lea eax, [edi-path] |
750 | mov [cursor], eax |
761 | mov [cursor], eax |
751 | xor eax, eax |
762 | xor eax, eax |
752 | rep stosb |
763 | rep stosb |
753 | mov [filecursor],0 |
764 | mov [filecursor],0 |
754 | call read_directory |
765 | call read_directory |
755 | ; call convertation |
766 | ; call convertation |
756 | call draw_window |
767 | call draw_window |
Line 780... | Line 791... | ||
780 | no_dn: |
791 | no_dn: |
Line 781... | Line 792... | ||
781 | 792 | ||
782 | cmp ah,15 |
793 | cmp ah,15 |
783 | jne no_copyclip ;copy to clipboard |
794 | jne no_copyclip ;copy to clipboard |
784 | copy_to_clip: |
795 | copy_to_clip: |
785 | mov eax, 27 |
796 | mov eax, 27 |
786 | mul [filecursor] |
797 | mul [filecursor] |
787 | cmp dword [convinfo+eax+15], 'FOL ' |
798 | cmp dword [convinfo+eax+15], 'FOL ' |
788 | jz still |
799 | jz still |
789 | push eax |
800 | push eax |
790 | mov esi, path |
801 | mov esi, path |
791 | mov edi, paramtest |
802 | mov edi, paramtest |
792 | @@: |
803 | @@: |
793 | lodsb |
804 | lodsb |
794 | test al, al |
805 | test al, al |
795 | jz @f |
806 | jz @f |
796 | stosb |
807 | stosb |
797 | jmp @b |
808 | jmp @b |
798 | @@: |
809 | @@: |
799 | pop eax |
810 | pop eax |
800 | mov esi, [convinfo+eax] |
811 | mov esi, [convinfo+eax] |
801 | cmp esi, -1 |
812 | cmp esi, -1 |
802 | jz still |
813 | jz still |
803 | mov al, '/' |
814 | mov al, '/' |
804 | stosb |
815 | stosb |
805 | @@: |
816 | @@: |
806 | lodsb |
817 | lodsb |
807 | stosb |
818 | stosb |
808 | test al, al |
819 | test al, al |
809 | jz @f |
820 | jz @f |
810 | cmp edi, paramtest+1024 |
821 | cmp edi, paramtest+1024 |
811 | jb @b |
822 | jb @b |
812 | jmp still |
823 | jmp still |
813 | @@: |
824 | @@: |
814 | sub edi, paramtest+1 |
825 | sub edi, paramtest+1 |
815 | mov ebx, clipfile_info |
826 | mov ebx, clipfile_info |
816 | mov byte [ebx], 2 |
827 | mov byte [ebx], 2 |
817 | mov [ebx+12], edi |
828 | mov [ebx+12], edi |
818 | mov eax, 70 |
829 | mov eax, 70 |
819 | mcall |
830 | mcall |
820 | jmp still |
831 | jmp still |
Line 821... | Line 832... | ||
821 | no_copyclip: |
832 | no_copyclip: |
822 | 833 | ||
823 | cmp ah,16 |
834 | cmp ah,16 |
824 | jne no_clippaste |
835 | jne no_clippaste |
825 | paste_from_clip: |
836 | paste_from_clip: |
826 | mov ebx, clipfile_info |
837 | mov ebx, clipfile_info |
827 | mov byte [ebx], 0 |
838 | mov byte [ebx], 0 |
828 | mov dword [ebx+12], 1023 |
839 | mov dword [ebx+12], 1023 |
829 | mov eax, 70 |
840 | mov eax, 70 |
830 | mcall |
841 | mcall |
831 | cmp ebx, 0 |
842 | cmp ebx, 0 |
832 | jle still |
843 | jle still |
833 | mov byte [paramtest+ebx], 0 |
844 | mov byte [paramtest+ebx], 0 |
834 | ; OS allows only 256 symbols in command line |
845 | ; OS allows only 256 symbols in command line |
835 | cmp ebx, 250 |
846 | cmp ebx, 250 |
836 | jae still |
847 | jae still |
837 | ; we use Pascal-style strings for /RD/1/COPYR |
848 | ; we use Pascal-style strings for /RD/1/COPYR |
838 | ; source file |
849 | ; source file |
839 | mov edi, copyr_param |
850 | mov edi, copyr_param |
840 | mov al, bl |
851 | mov al, bl |
841 | stosb |
852 | stosb |
842 | mov ecx, ebx |
853 | mov ecx, ebx |
843 | mov esi, paramtest |
854 | mov esi, paramtest |
844 | rep movsb |
855 | rep movsb |
845 | ; destination path |
856 | ; destination path |
846 | inc edi |
857 | inc edi |
847 | mov ebp, edi |
858 | mov ebp, edi |
848 | mov esi, path |
859 | mov esi, path |
849 | @@: |
860 | @@: |
850 | cmp edi, copyr_param+255 |
861 | cmp edi, copyr_param+255 |
851 | jae still |
862 | jae still |
852 | lodsb |
863 | lodsb |
853 | test al, al |
864 | test al, al |
854 | jz @f |
865 | jz @f |
855 | stosb |
866 | stosb |
856 | jmp @b |
867 | jmp @b |
857 | ; destination file name |
868 | ; destination file name |
858 | @@: |
869 | @@: |
859 | dec ebx |
870 | dec ebx |
860 | jz still |
871 | jz still |
861 | cmp byte [paramtest+ebx], '/' |
872 | cmp byte [paramtest+ebx], '/' |
862 | jnz @b |
873 | jnz @b |
863 | lea esi, [paramtest+ebx] |
874 | lea esi, [paramtest+ebx] |
864 | @@: |
875 | @@: |
865 | lodsb |
876 | lodsb |
866 | test al, al |
877 | test al, al |
867 | jz @f |
878 | jz @f |
868 | stosb |
879 | stosb |
869 | cmp edi, copyr_param+255 |
880 | cmp edi, copyr_param+255 |
870 | jae still |
881 | jae still |
871 | jmp @b |
882 | jmp @b |
872 | @@: |
883 | @@: |
873 | mov byte [edi], 0 |
884 | mov byte [edi], 0 |
874 | sub edi, ebp |
885 | sub edi, ebp |
875 | mov eax, edi |
886 | mov eax, edi |
876 | mov [ebp-1], al |
887 | mov [ebp-1], al |
877 | ; display |
888 | ; display |
878 | cmp [browser], 1 |
889 | cmp [browser], 1 |
879 | jne no_outpath |
890 | jne no_outpath |
880 | mov eax,4 ; function 4 : write text to window |
891 | mov eax,4 ; function 4 : write text to window |
881 | mov ebx,10*65536+67 ; [x start] *65536 + [y start] |
892 | mov ebx,10*65536+67 ; [x start] *65536 + [y start] |
882 | mov ecx,0x00000000 ;[sc.grab_text] ; color of text RRGGBB |
893 | mov ecx,0x00000000 ;[sc.grab_text] ; color of text RRGGBB |
883 | mov edx, copyr_param+1 |
894 | mov edx, copyr_param+1 |
884 | movzx esi, byte [edx-1] |
895 | movzx esi, byte [edx-1] |
885 | mcall |
896 | mcall |
886 | mov ebx,250*65536+67 ; [x start] *65536 + [y start] |
897 | mov ebx,250*65536+67 ; [x start] *65536 + [y start] |
887 | mov ecx,0x00000000 ;[sc.grab_text] ; color of text RRGGBB |
898 | mov ecx,0x00000000 ;[sc.grab_text] ; color of text RRGGBB |
888 | mov edx, ebp |
899 | mov edx, ebp |
889 | mov esi, edi |
900 | mov esi, edi |
Line 890... | Line 901... | ||
890 | mcall |
901 | mcall |
891 | no_outpath: |
902 | no_outpath: |
892 | 903 | ||
893 | ; run COPYR |
904 | ; run COPYR |
894 | mov eax, 70 |
905 | mov eax, 70 |
895 | mov ebx, copyr_run |
906 | mov ebx, copyr_run |
896 | mcall |
907 | mcall |
Line 897... | Line 908... | ||
897 | delay 50 ;wait recoed file |
908 | delay 50 ;wait recoed file |
898 | jmp update ;still |
909 | jmp update ;still |
899 | no_clippaste: |
910 | no_clippaste: |
900 | 911 | ||
901 | cmp ah,19 ;Delete from floppy |
912 | cmp ah,19 ;Delete from floppy |
902 | jne no_delt |
913 | jne no_delt |
Line 903... | Line 914... | ||
903 | delete_file: |
914 | delete_file: |
904 | ; OS now do not support file delete |
915 | ; OS now do not support file delete |
Line 955... | Line 966... | ||
955 | je exit |
966 | je exit |
Line 956... | Line 967... | ||
956 | 967 | ||
957 | ;VIEW MENU |
968 | ;VIEW MENU |
958 | cmp ah,40 ;Sort by name |
969 | cmp ah,40 ;Sort by name |
959 | jne no_sn |
970 | jne no_sn |
960 | mov [viewmode], 0 |
971 | mov [viewmode], 0 |
961 | jmp update |
972 | jmp update |
Line 962... | Line 973... | ||
962 | no_sn: |
973 | no_sn: |
963 | 974 | ||
964 | cmp ah,41 ;Sort by extension |
975 | cmp ah,41 ;Sort by extension |
965 | jne no_se |
976 | jne no_se |
966 | mov [viewmode], 1 |
977 | mov [viewmode], 1 |
Line 967... | Line 978... | ||
967 | jmp update |
978 | jmp update |
968 | no_se: |
979 | no_se: |
969 | 980 | ||
970 | cmp ah,42 ;Sort by size |
981 | cmp ah,42 ;Sort by size |
971 | jne no_ss |
982 | jne no_ss |
Line 972... | Line 983... | ||
972 | mov [viewmode], 2 |
983 | mov [viewmode], 2 |
973 | jmp update |
984 | jmp update |
974 | no_ss: |
985 | no_ss: |
975 | 986 | ||
976 | cmp ah,43 ;Sort by date |
987 | cmp ah,43 ;Sort by date |
Line 977... | Line 988... | ||
977 | jne no_sd |
988 | jne no_sd |
978 | mov [viewmode], 3 |
989 | mov [viewmode], 3 |
Line 1089... | Line 1100... | ||
1089 | pop edi |
1100 | pop edi |
1090 | add edi,8 |
1101 | add edi,8 |
Line 1091... | Line 1102... | ||
1091 | 1102 | ||
1092 | cld |
1103 | cld |
1093 | cyc: |
1104 | cyc: |
1094 | push esi |
1105 | push esi |
1095 | lea ecx, [ebp+ebp*2] |
1106 | lea ecx, [ebp+ebp*2] |
1096 | rep movsb |
1107 | rep movsb |
1097 | pop esi |
1108 | pop esi |
1098 | add esi,edx |
1109 | add esi,edx |
1099 | dec ebx |
1110 | dec ebx |
Line 1100... | Line 1111... | ||
1100 | jne cyc |
1111 | jne cyc |
Line 1190... | Line 1201... | ||
1190 | jg @f |
1201 | jg @f |
1191 | .ret: |
1202 | .ret: |
1192 | ret |
1203 | ret |
1193 | @@: |
1204 | @@: |
1194 | cmp [procinfo.box.height], 0x70 |
1205 | cmp [procinfo.box.height], 0x70 |
1195 | jl .ret |
1206 | jl .ret |
Line 1196... | Line 1207... | ||
1196 | 1207 | ||
1197 | cmp [browser], 1 ;it's browser |
1208 | cmp [browser], 1 ;it's browser |
1198 | jne nob9 |
1209 | jne nob9 |
1199 | mov [listx],120 |
1210 | mov [listx],120 |
1200 | ; mov eax,[procinfo.box.width] |
1211 | ; mov eax,[procinfo.box.width] |
1201 | sub eax,127;[listx]+7 |
1212 | sub eax,127;[listx]+7 |
1202 | cmp eax,10 |
1213 | cmp eax,10 |
1203 | jl .ret |
1214 | jl .ret |
1204 | mov [listxsize],eax |
1215 | mov [listxsize],eax |
1205 | mov [listy],73 |
1216 | mov [listy],73 |
1206 | mov eax,[procinfo.box.height] |
1217 | mov eax,[procinfo.box.height] |
1207 | sub eax,73+7;[listy]+7 |
1218 | sub eax,73+7;[listy]+7 |
Line 1364... | Line 1375... | ||
1364 | mov [urlysize],12 |
1375 | mov [urlysize],12 |
Line 1365... | Line 1376... | ||
1365 | 1376 | ||
Line 1366... | Line 1377... | ||
1366 | glabel 20,57,"URL:",cl_Black |
1377 | glabel 20,57,"URL:",cl_Black |
1367 | 1378 | ||
1368 | ;Out view mode info |
1379 | ;Out view mode info |
1369 | movzx edx, [viewmode] |
1380 | movzx edx, [viewmode] |
1370 | shl edx, 4 |
1381 | shl edx, 4 |
1371 | mov eax,4 |
1382 | mov eax,4 |
1372 | mov ebx,180*65536+25 |
1383 | mov ebx,180*65536+25 |
1373 | mov ecx,cl_Black |
1384 | mov ecx,cl_Black |
Line 1559... | Line 1570... | ||
1559 | mov ebx,eax |
1570 | mov ebx,eax |
1560 | cmp ebx,[listsize] ;filelistsize in ebx |
1571 | cmp ebx,[listsize] ;filelistsize in ebx |
1561 | jae notusescroll |
1572 | jae notusescroll |
1562 | ;usescroll |
1573 | ;usescroll |
1563 | ; calculate scroll size |
1574 | ; calculate scroll size |
1564 | mov eax, [listysize] |
1575 | mov eax, [listysize] |
1565 | sub eax, 2*scrollbutsize |
1576 | sub eax, 2*scrollbutsize |
1566 | push eax |
1577 | push eax |
1567 | mul ebx |
1578 | mul ebx |
1568 | div [listsize] |
1579 | div [listsize] |
1569 | cmp eax, 5 |
1580 | cmp eax, 5 |
1570 | jae @f |
1581 | jae @f |
1571 | mov al, 5 |
1582 | mov al, 5 |
1572 | @@: |
1583 | @@: |
1573 | mov [scroll_height], eax |
1584 | mov [scroll_height], eax |
1574 | ; calculate scroll pos |
1585 | ; calculate scroll pos |
1575 | sub [esp], eax |
1586 | sub [esp], eax |
1576 | mov eax, [listsize] |
1587 | mov eax, [listsize] |
1577 | sub eax, ebx |
1588 | sub eax, ebx |
1578 | mov ecx, eax |
1589 | mov ecx, eax |
1579 | cmp eax, [filecursor] |
1590 | cmp eax, [filecursor] |
1580 | jb @f |
1591 | jb @f |
1581 | mov eax, [filecursor] |
1592 | mov eax, [filecursor] |
1582 | @@: |
1593 | @@: |
1583 | mul dword [esp] |
1594 | mul dword [esp] |
1584 | div ecx |
1595 | div ecx |
1585 | mov [scroll_pos], eax |
1596 | mov [scroll_pos], eax |
1586 | pop ecx |
1597 | pop ecx |
1587 | ; draw |
1598 | ; draw |
1588 | lea ecx, [eax+scrollbutsize] |
1599 | lea ecx, [eax+scrollbutsize] |
1589 | add ecx, [listy] |
1600 | add ecx, [listy] |
1590 | shl ecx, 16 |
1601 | shl ecx, 16 |
1591 | mov cx, word [scroll_height] |
1602 | mov cx, word [scroll_height] |
1592 | mov eax, 13 |
1603 | mov eax, 13 |
1593 | mov ebx, [listx] |
1604 | mov ebx, [listx] |
1594 | add ebx, [listxsize] |
1605 | add ebx, [listxsize] |
1595 | sub ebx, [scrollsize] |
1606 | sub ebx, [scrollsize] |
1596 | shl ebx, 16 |
1607 | shl ebx, 16 |
1597 | mov bx, word [scrollsize] |
1608 | mov bx, word [scrollsize] |
1598 | mov edx, [scrollboxcol] |
1609 | mov edx, [scrollboxcol] |
1599 | mcall |
1610 | mcall |
1600 | notusescroll: |
1611 | notusescroll: |
Line 1601... | Line 1612... | ||
1601 | 1612 | ||
1602 | 1613 | ||
Line 1684... | Line 1695... | ||
1684 | 1695 | ||
1685 | ; mov eax,[listxsize] |
1696 | ; mov eax,[listxsize] |
1686 | ; sub eax,40*6 ;leight of string |
1697 | ; sub eax,40*6 ;leight of string |
1687 | ; shr eax,1 |
1698 | ; shr eax,1 |
1688 | ; add eax,[listx] |
1699 | ; add eax,[listx] |
1689 | mov eax, [listx] |
1700 | mov eax, [listx] |
1690 | add eax, 12+4 ; for icons |
1701 | add eax, 12+4 ; for icons |
1691 | shl eax,16 |
1702 | shl eax,16 |
1692 | add eax,[listy] |
1703 | add eax,[listy] |
Line 1693... | Line 1704... | ||
1693 | add eax,2 |
1704 | add eax,2 |
Line 1711... | Line 1722... | ||
1711 | sub ebp,[filecursor] |
1722 | sub ebp,[filecursor] |
1712 | mov edx,convinfo ;fileinfo+11 |
1723 | mov edx,convinfo ;fileinfo+11 |
1713 | add edx,eax |
1724 | add edx,eax |
1714 | mov ebx,dword [filelistxy] |
1725 | mov ebx,dword [filelistxy] |
1715 | loo: |
1726 | loo: |
1716 | cmp dword [edx], -1 |
1727 | cmp dword [edx], -1 |
1717 | jz noout |
1728 | jz noout |
1718 | mov ecx,0x00888888 ;for another file's color white |
1729 | mov ecx,0x00888888 ;for another file's color white |
1719 | cmp [edx+15],dword 'FOL ' ;folder yellow |
1730 | cmp [edx+15],dword 'FOL ' ;folder yellow |
1720 | jne nb |
1731 | jne nb |
1721 | mov ecx,0x00006666 |
1732 | mov ecx,0x00006666 |
1722 | jmp cset1 |
1733 | jmp cset1 |
1723 | nb: |
1734 | nb: |
1724 | mov eax, [edx] |
1735 | mov eax, [edx] |
1725 | xor edi, edi |
1736 | xor edi, edi |
1726 | ; find extension and set color |
1737 | ; find extension and set color |
1727 | @@: |
1738 | @@: |
1728 | inc eax |
1739 | inc eax |
1729 | cmp byte [eax-1], 0 |
1740 | cmp byte [eax-1], 0 |
1730 | jz @f |
1741 | jz @f |
1731 | cmp byte [eax-1], '.' |
1742 | cmp byte [eax-1], '.' |
1732 | jnz @b |
1743 | jnz @b |
1733 | mov edi, eax |
1744 | mov edi, eax |
1734 | jmp @b |
1745 | jmp @b |
1735 | @@: |
1746 | @@: |
1736 | test edi, edi |
1747 | test edi, edi |
1737 | jz @f |
1748 | jz @f |
1738 | mov edi, [edi] |
1749 | mov edi, [edi] |
1739 | and edi, not 0x20202020 ; toupper |
1750 | and edi, not 0x20202020 ; toupper |
1740 | @@: |
1751 | @@: |
1741 | ;Color set |
1752 | ;Color set |
1742 | ; text's blue |
1753 | ; text's blue |
1743 | mov ecx, 0x00446666 |
1754 | mov ecx, 0x00446666 |
1744 | cmp edi, 'TXT' |
1755 | cmp edi, 'TXT' |
1745 | jz cset |
1756 | jz cset |
1746 | cmp edi, 'INC' |
1757 | cmp edi, 'INC' |
1747 | jz cset |
1758 | jz cset |
1748 | cmp edi, 'ASM' |
1759 | cmp edi, 'ASM' |
1749 | jz cset |
1760 | jz cset |
1750 | cmp edi, 'RTF' |
1761 | cmp edi, 'RTF' |
1751 | jz cset |
1762 | jz cset |
1752 | ; picture's pure |
1763 | ; picture's pure |
1753 | mov ecx, 0x00226688 |
1764 | mov ecx, 0x00226688 |
1754 | cmp edi, 'BMP' |
1765 | cmp edi, 'BMP' |
1755 | jz cset |
1766 | jz cset |
1756 | cmp edi, 'JPG' |
1767 | cmp edi, 'JPG' |
1757 | jz cset |
1768 | jz cset |
1758 | cmp edi, 'JPEG' |
1769 | cmp edi, 'JPEG' |
1759 | jz cset |
1770 | jz cset |
1760 | cmp edi, 'GIF' |
1771 | cmp edi, 'GIF' |
1761 | jz cset |
1772 | jz cset |
1762 | cmp edi, 'PNG' |
1773 | cmp edi, 'PNG' |
1763 | jz cset |
1774 | jz cset |
1764 | cmp edi, 'WAV' |
1775 | cmp edi, 'WAV' |
1765 | jz cset |
1776 | jz cset |
1766 | cmp edi, 'MID' |
1777 | cmp edi, 'MID' |
1767 | jz cset |
1778 | jz cset |
1768 | ; execute's green |
1779 | ; execute's green |
1769 | mov ecx, 0x00008866 |
1780 | mov ecx, 0x00008866 |
1770 | test edi, edi |
1781 | test edi, edi |
1771 | jz cset |
1782 | jz cset |
1772 | ; for another file's color white |
1783 | ; for another file's color white |
1773 | mov ecx, 0x00888888 |
1784 | mov ecx, 0x00888888 |
1774 | cset: |
1785 | cset: |
Line 1775... | Line 1786... | ||
1775 | 1786 | ||
1776 | cset1: |
1787 | cset1: |
1777 | push edx |
1788 | push edx |
1778 | mov edx,[edx] |
1789 | mov edx,[edx] |
1779 | push ebx edx |
1790 | push ebx edx |
1780 | mov eax, [listxsize] |
1791 | mov eax, [listxsize] |
1781 | sub eax, [scrollsize] |
1792 | sub eax, [scrollsize] |
1782 | sub eax, 12+4 |
1793 | sub eax, 12+4 |
1783 | xor edx, edx |
1794 | xor edx, edx |
1784 | mov ebx, 6 |
1795 | mov ebx, 6 |
1785 | div ebx |
1796 | div ebx |
1786 | pop edx ebx |
1797 | pop edx ebx |
1787 | sub eax, 25 |
1798 | sub eax, 25 |
1788 | xor esi, esi |
1799 | xor esi, esi |
1789 | @@: |
1800 | @@: |
1790 | cmp byte [edx+esi], 0 |
1801 | cmp byte [edx+esi], 0 |
1791 | jz @f |
1802 | jz @f |
1792 | inc esi |
1803 | inc esi |
1793 | cmp esi, eax |
1804 | cmp esi, eax |
1794 | jbe @b |
1805 | jbe @b |
1795 | dec esi |
1806 | dec esi |
1796 | @@: |
1807 | @@: |
1797 | push eax |
1808 | push eax |
1798 | mov eax,4 |
1809 | mov eax,4 |
1799 | mcall |
1810 | mcall |
1800 | cmp byte [edx+esi], 0 |
1811 | cmp byte [edx+esi], 0 |
1801 | jz @f |
1812 | jz @f |
1802 | pushad |
1813 | pushad |
1803 | mov edx, more_char |
1814 | mov edx, more_char |
1804 | mov eax, esi |
1815 | mov eax, esi |
1805 | imul eax, 6*65536 |
1816 | imul eax, 6*65536 |
1806 | add ebx, eax |
1817 | add ebx, eax |
1807 | mov esi, 1 |
1818 | mov esi, 1 |
1808 | mov eax, 4 |
1819 | mov eax, 4 |
1809 | mcall |
1820 | mcall |
1810 | popad |
1821 | popad |
1811 | @@: |
1822 | @@: |
1812 | pop eax |
1823 | pop eax |
1813 | pop edx |
1824 | pop edx |
1814 | push ebx edx |
1825 | push ebx edx |
1815 | inc eax |
1826 | inc eax |
1816 | imul eax, 6*65536 |
1827 | imul eax, 6*65536 |
1817 | add ebx, eax |
1828 | add ebx, eax |
1818 | add edx,4 |
1829 | add edx,4 |
1819 | mov esi,23 |
1830 | mov esi,23 |
1820 | mov eax,4 |
1831 | mov eax,4 |
1821 | mcall |
1832 | mcall |
Line 1866... | Line 1877... | ||
1866 | ; //// Willow |
1877 | ; //// Willow |
1867 | cmp edi,dword 'WAV' |
1878 | cmp edi,dword 'WAV' |
1868 | je is_imgico |
1879 | je is_imgico |
1869 | cmp edi,dword 'MID' |
1880 | cmp edi,dword 'MID' |
1870 | je is_imgico |
1881 | je is_imgico |
- | 1882 | cmp edi,dword 'MP3' |
|
- | 1883 | je is_imgico |
|
- | 1884 | cmp edi,dword 'XM' |
|
- | 1885 | je is_imgico |
|
1871 | jmp no_imgico |
1886 | jmp no_imgico |
1872 | is_imgico: |
1887 | is_imgico: |
1873 | push imgico+8 |
1888 | push imgico+8 |
1874 | jmp out_ico |
1889 | jmp out_ico |
1875 | no_imgico: |
1890 | no_imgico: |
1876 | cmp edi,dword 'ASM' |
1891 | cmp edi,dword 'ASM' |
1877 | je is_asmincico |
1892 | je is_asmincico |
1878 | cmp edi,dword 'INC' |
1893 | cmp edi,dword 'INC' |
1879 | je is_asmincico |
1894 | je is_asmincico |
- | 1895 | cmp edi,dword 'INI' |
|
- | 1896 | je is_asmincico |
|
- | 1897 | cmp edi,dword 'CONF' |
|
- | 1898 | je is_asmincico |
|
1880 | jmp no_asmincico |
1899 | jmp no_asmincico |
1881 | is_asmincico: |
1900 | is_asmincico: |
1882 | push asmincico+8 |
1901 | push asmincico+8 |
1883 | jmp out_ico |
1902 | jmp out_ico |
1884 | no_asmincico: |
1903 | no_asmincico: |
1885 | cmp edi,dword 'RTF' |
1904 | cmp edi,dword 'RTF' |
1886 | je @f |
1905 | je @f |
1887 | cmp edi,dword 'TXT' |
1906 | cmp edi,dword 'TXT' |
1888 | jne no_txtico |
1907 | jne no_txtico |
- | 1908 | cmp edi,dword 'LOG' |
|
- | 1909 | jne no_txtico |
|
1889 | @@: |
1910 | @@: |
1890 | push txtico+8 |
1911 | push txtico+8 |
1891 | jmp out_ico |
1912 | jmp out_ico |
1892 | no_txtico: |
1913 | no_txtico: |
1893 | test edi,edi |
1914 | test edi,edi |
Line 2079... | Line 2100... | ||
2079 | 2100 | ||
2080 | ;STEP 2 TEST ON HD OR PARTITION |
2101 | ;STEP 2 TEST ON HD OR PARTITION |
2081 | cmp [path],byte '/' |
2102 | cmp [path],byte '/' |
2082 | je nstep |
2103 | je nstep |
2083 | ; copy info on RD and FD |
2104 | ; copy info on RD and FD |
2084 | mov esi, hdimg |
2105 | mov esi, hdimg |
2085 | mov ecx, 2*27 |
2106 | mov ecx, 2*27 |
2086 | rep movsb |
2107 | rep movsb |
2087 | ; hard disks |
2108 | ; hard disks |
2088 | mov eax, 4 |
2109 | mov eax, 4 |
2089 | .1: |
2110 | .1: |
2090 | mov ecx, 27 |
2111 | mov ecx, 27 |
2091 | cmp dword [esi], 0 |
2112 | cmp dword [esi], 0 |
2092 | jz .2 |
2113 | jz .2 |
2093 | rep movsb |
2114 | rep movsb |
2094 | jmp .3 |
2115 | jmp .3 |
2095 | .2: |
2116 | .2: |
2096 | add esi, ecx |
2117 | add esi, ecx |
2097 | .3: |
2118 | .3: |
2098 | dec eax |
2119 | dec eax |
2099 | jnz .1 |
2120 | jnz .1 |
2100 | mov [listsize], 0 |
2121 | mov [listsize], 0 |
2101 | ret |
2122 | ret |
2102 | nstep: |
2123 | nstep: |
2103 | cmp [path+3],byte '/' |
2124 | cmp [path+3],byte '/' |
2104 | je nstep2 |
2125 | je nstep2 |
2105 | cmp [path+4],byte '/' |
2126 | cmp [path+4],byte '/' |
2106 | je nstep2 |
2127 | je nstep2 |
2107 | mov ecx,1 |
2128 | mov ecx,1 |
2108 | cmp [path+1],word 'RD' |
2129 | cmp [path+1],word 'RD' |
2109 | jz loxpt |
2130 | jz loxpt |
2110 | cmp [path+1],word 'CD' |
2131 | cmp [path+1],word 'CD' |
2111 | jz loxpt |
2132 | jz loxpt |
2112 | mov ecx,2 |
2133 | mov ecx,2 |
2113 | cmp [path+1],word 'FD' |
2134 | cmp [path+1],word 'FD' |
2114 | jz loxpt |
2135 | jz loxpt |
2115 | cmp [path+1],dword 'HD0' |
2136 | cmp [path+1],dword 'HD0' |
2116 | jne nostep_HD0 |
2137 | jne nostep_HD0 |
2117 | movzx ecx,byte [table_area+2] |
2138 | movzx ecx,byte [table_area+2] |
2118 | jmp loxpt |
2139 | jmp loxpt |
Line 2134... | Line 2155... | ||
2134 | nostep_HD3: |
2155 | nostep_HD3: |
Line 2135... | Line 2156... | ||
2135 | 2156 | ||
Line 2136... | Line 2157... | ||
2136 | mov ecx,2 |
2157 | mov ecx,2 |
2137 | 2158 | ||
2138 | loxpt: |
2159 | loxpt: |
2139 | cmp ecx, 20 |
2160 | cmp ecx, 20 |
2140 | jbe @f |
2161 | jbe @f |
2141 | mov ecx, 20 |
2162 | mov ecx, 20 |
2142 | @@: |
2163 | @@: |
2143 | mov eax, a1 |
2164 | mov eax, a1 |
2144 | mov esi, ptimg |
2165 | mov esi, ptimg |
2145 | @@: |
2166 | @@: |
2146 | stosd |
2167 | stosd |
2147 | add eax, 3 |
2168 | add eax, 3 |
2148 | push ecx esi |
2169 | push ecx esi |
2149 | mov ecx, 23 |
2170 | mov ecx, 23 |
2150 | rep movsb |
2171 | rep movsb |
2151 | pop esi ecx |
2172 | pop esi ecx |
2152 | loop @b |
2173 | loop @b |
2153 | mov [listsize],0 |
2174 | mov [listsize],0 |
Line 2154... | Line 2175... | ||
2154 | ret |
2175 | ret |
Line 2179... | Line 2200... | ||
2179 | jmp end_of_dir |
2200 | jmp end_of_dir |
2180 | no_unk_fs: |
2201 | no_unk_fs: |
Line 2181... | Line 2202... | ||
2181 | 2202 | ||
2182 | end_of_dir: |
2203 | end_of_dir: |
2183 | ; -1 -> 0 |
2204 | ; -1 -> 0 |
2184 | cmp ebx, -1 |
2205 | cmp ebx, -1 |
2185 | sbb ebx, -1 |
2206 | sbb ebx, -1 |
Line 2186... | Line 2207... | ||
2186 | mov [dirlen],ebx |
2207 | mov [dirlen],ebx |
Line 2187... | Line 2208... | ||
2187 | 2208 | ||
2188 | ; command successful |
2209 | ; command successful |
2189 | 2210 | ||
2190 | mov esi, outinfo+32 |
2211 | mov esi, outinfo+32 |
Line 2191... | Line 2212... | ||
2191 | and [listsize], 0 |
2212 | and [listsize], 0 |
2192 | test ebx, ebx |
2213 | test ebx, ebx |
Line 2193... | Line 2214... | ||
2193 | jz nofiles |
2214 | jz nofiles |
2194 | 2215 | ||
2195 | newlineb: |
2216 | newlineb: |
2196 | push ebx |
2217 | push ebx |
2197 | 2218 | ||
2198 | mov edi, fileinfo |
2219 | mov edi, fileinfo |
2199 | push edi |
2220 | push edi |
2200 | mov al, ' ' |
2221 | mov al, ' ' |
2201 | mov ecx, 27 |
2222 | mov ecx, 27 |
2202 | rep stosb |
2223 | rep stosb |
2203 | pop edi |
2224 | pop edi |
2204 | push esi |
2225 | push esi |
2205 | add esi, 40 |
2226 | add esi, 40 |
2206 | mov [edi], esi |
2227 | mov [edi], esi |
2207 | pop esi |
2228 | pop esi |
2208 | 2229 | ||
2209 | mov eax, 'DAT ' ; data or ... ? |
2230 | mov eax, 'DAT ' ; data or ... ? |
2210 | mov cl, [esi] |
2231 | mov cl, [esi] |
2211 | test cl, 0x10 |
2232 | test cl, 0x10 |
2212 | jz @f |
2233 | jz @f |
2213 | mov eax, 'FOL ' |
2234 | mov eax, 'FOL ' |
2214 | mov [edi+15], eax |
2235 | mov [edi+15], eax |
2215 | jmp nosize |
2236 | jmp nosize |
2216 | @@: |
2237 | @@: |
2217 | test cl, 8 |
2238 | test cl, 8 |
2218 | jz novol |
2239 | jz novol |
Line 2219... | Line 2240... | ||
2219 | mov eax, 'Fvol' |
2240 | mov eax, 'Fvol' |
2220 | mov [edi+15], eax |
2241 | mov [edi+15], eax |
2221 | jmp nosize |
2242 | jmp nosize |
2222 | novol: |
2243 | novol: |
2223 | mov [edi+15], eax |
2244 | mov [edi+15], eax |
2224 | 2245 | ||
2225 | ; size |
2246 | ; size |
2226 | mov eax, [esi+32] |
2247 | mov eax, [esi+32] |
2227 | push esi |
2248 | push esi |
2228 | lea esi, [edi+26] |
2249 | lea esi, [edi+26] |
2229 | mov ebx, 10 |
2250 | mov ebx, 10 |
2230 | mov ecx, 8 |
2251 | mov ecx, 8 |
2231 | newnum: |
2252 | newnum: |
2232 | xor edx, edx |
2253 | xor edx, edx |
2233 | div ebx |
2254 | div ebx |
2234 | add dl, '0' |
2255 | add dl, '0' |
2235 | mov [esi], dl |
2256 | mov [esi], dl |
2236 | test eax, eax |
2257 | test eax, eax |
Line 2237... | Line 2258... | ||
2237 | jz zernum |
2258 | jz zernum |
2238 | dec esi |
2259 | dec esi |
2239 | loop newnum |
2260 | loop newnum |
2240 | zernum: |
2261 | zernum: |
2241 | pop esi |
2262 | pop esi |
2242 | nosize: |
2263 | nosize: |
2243 | 2264 | ||
2244 | ; date |
2265 | ; date |
2245 | mov dword [edi+6], '. .' |
2266 | mov dword [edi+6], '. .' |
2246 | ; year |
2267 | ; year |
2247 | movzx eax, word [esi+28+2] |
2268 | movzx eax, word [esi+28+2] |
2248 | mov ecx, 4 |
2269 | mov ecx, 4 |
2249 | newdel1: |
2270 | newdel1: |
2250 | xor edx, edx |
2271 | xor edx, edx |
2251 | mov ebx, 10 |
2272 | mov ebx, 10 |
2252 | div ebx |
2273 | div ebx |
2253 | add edx, '0' |
2274 | add edx, '0' |
2254 | mov [edi+ecx+9], dl |
2275 | mov [edi+ecx+9], dl |
2255 | loop newdel1 |
2276 | loop newdel1 |
2256 | ; month |
2277 | ; month |
2257 | movzx eax, byte [esi+28+1] |
2278 | movzx eax, byte [esi+28+1] |
2258 | xor edx, edx |
2279 | xor edx, edx |
2259 | div ebx |
2280 | div ebx |
2260 | add al, '0' |
2281 | add al, '0' |
2261 | add dl, '0' |
2282 | add dl, '0' |
2262 | mov [edi+7], al |
2283 | mov [edi+7], al |
2263 | mov [edi+8], dl |
2284 | mov [edi+8], dl |
2264 | ; day |
2285 | ; day |
Line 2265... | Line 2286... | ||
2265 | movzx eax, byte [esi+28] |
2286 | movzx eax, byte [esi+28] |
2266 | xor edx, edx |
2287 | xor edx, edx |
2267 | div ebx |
2288 | div ebx |
2268 | add al, '0' |
2289 | add al, '0' |
2269 | add dl, '0' |
2290 | add dl, '0' |
2270 | mov [edi+4], al |
2291 | mov [edi+4], al |
2271 | mov [edi+5], dl |
2292 | mov [edi+5], dl |
2272 | 2293 | ||
Line 2273... | Line 2294... | ||
2273 | ;STEP 5 Test on WRITE OR NOTWRITE |
2294 | ;STEP 5 Test on WRITE OR NOTWRITE |
Line 2274... | Line 2295... | ||
2274 | cmp word [esi+40], '.' |
2295 | cmp word [esi+40], '.' |
2275 | jz nextfl |
2296 | jz nextfl |
Line 2276... | Line 2297... | ||
2276 | cmp word [esi+40], '..' |
2297 | cmp word [esi+40], '..' |
Line 2277... | Line 2298... | ||
2277 | jnz @f |
2298 | jnz @f |
2278 | cmp byte [esi+42], 0 |
2299 | cmp byte [esi+42], 0 |
2279 | jz nextfl |
2300 | jz nextfl |
2280 | @@: |
2301 | @@: |
2281 | 2302 | ||
2282 | ; STEP 6 SORT ALGORYTHM |
2303 | ; STEP 6 SORT ALGORYTHM |
2283 | 2304 | ||
2284 | push esi |
2305 | push esi |
Line 2304... | Line 2325... | ||
2304 | ; je add_element |
2325 | ; je add_element |
2305 | ; jmp add_element |
2326 | ; jmp add_element |
Line 2306... | Line 2327... | ||
2306 | 2327 | ||
2307 | add_element: |
2328 | add_element: |
2308 | ; compare items |
2329 | ; compare items |
2309 | movzx eax, [viewmode] |
2330 | movzx eax, [viewmode] |
2310 | call [compare+eax*4] |
2331 | call [compare+eax*4] |
2311 | jb writenow |
2332 | jb writenow |
2312 | skipfile: |
2333 | skipfile: |
2313 | add esi,27 |
2334 | add esi,27 |
Line 2314... | Line 2335... | ||
2314 | jmp ftestname |
2335 | jmp ftestname |
Line 2327... | Line 2348... | ||
2327 | wfloop: |
2348 | wfloop: |
2328 | mov al,[fileinfo+ecx] |
2349 | mov al,[fileinfo+ecx] |
2329 | mov [convinfo+ecx+esi],al |
2350 | mov [convinfo+ecx+esi],al |
2330 | dec ecx |
2351 | dec ecx |
2331 | jns wfloop |
2352 | jns wfloop |
2332 | inc [listsize] |
2353 | inc [listsize] |
2333 | pop esi |
2354 | pop esi |
Line 2334... | Line 2355... | ||
2334 | 2355 | ||
2335 | nextfl: |
2356 | nextfl: |
2336 | add esi, 304 |
2357 | add esi, 304 |
2337 | pop ebx |
2358 | pop ebx |
2338 | dec ebx |
2359 | dec ebx |
Line 2339... | Line 2360... | ||
2339 | jnz newlineb |
2360 | jnz newlineb |
2340 | 2361 | ||
Line 2341... | Line 2362... | ||
2341 | nofiles: |
2362 | nofiles: |
2342 | ret |
2363 | ret |
2343 | 2364 | ||
2344 | toupper: |
2365 | toupper: |
2345 | cmp al, 'a' |
2366 | cmp al, 'a' |
2346 | jb .ret |
2367 | jb .ret |
2347 | cmp al, 'z' |
2368 | cmp al, 'z' |
2348 | ja @f |
2369 | ja @f |
2349 | .sub20: |
2370 | .sub20: |
2350 | sub al, 0x20 |
2371 | sub al, 0x20 |
2351 | .ret: |
2372 | .ret: |
2352 | ret |
2373 | ret |
2353 | @@: |
2374 | @@: |
2354 | cmp al, 0xA0 |
2375 | cmp al, 0xA0 |
2355 | jb .ret |
2376 | jb .ret |
2356 | cmp al, 0xB0 |
2377 | cmp al, 0xB0 |
2357 | jb .sub20 |
2378 | jb .sub20 |
2358 | cmp al, 0xE0 |
2379 | cmp al, 0xE0 |
2359 | jb .ret |
2380 | jb .ret |
2360 | cmp al, 0xF0 |
2381 | cmp al, 0xF0 |
2361 | jae @f |
2382 | jae @f |
2362 | sub al, 0xE0-0x90 |
2383 | sub al, 0xE0-0x90 |
2363 | ret |
2384 | ret |
2364 | @@: |
2385 | @@: |
2365 | cmp al, 0xF1 |
2386 | cmp al, 0xF1 |
Line 2366... | Line 2387... | ||
2366 | jnz .ret |
2387 | jnz .ret |
2367 | dec eax |
2388 | dec eax |
2368 | ret |
2389 | ret |
2369 | 2390 | ||
2370 | compare_date: |
2391 | compare_date: |
2371 | pushad |
2392 | pushad |
2372 | mov al, [fileinfo+10] |
2393 | mov al, [fileinfo+10] |
2373 | cmp al, [convinfo+esi+10] |
2394 | cmp al, [convinfo+esi+10] |
2374 | jnz .ret |
2395 | jnz .ret |
2375 | mov al, [fileinfo+11] |
2396 | mov al, [fileinfo+11] |
2376 | cmp al, [convinfo+esi+11] |
2397 | cmp al, [convinfo+esi+11] |
2377 | jnz .ret |
2398 | jnz .ret |
2378 | mov al, [fileinfo+12] |
2399 | mov al, [fileinfo+12] |
2379 | cmp al, [convinfo+esi+12] |
2400 | cmp al, [convinfo+esi+12] |
2380 | jnz .ret |
2401 | jnz .ret |
2381 | mov al, [fileinfo+13] |
2402 | mov al, [fileinfo+13] |
2382 | cmp al, [convinfo+esi+13] |
2403 | cmp al, [convinfo+esi+13] |
2383 | jnz .ret |
2404 | jnz .ret |
2384 | mov al, [fileinfo+7] |
2405 | mov al, [fileinfo+7] |
2385 | cmp al, [convinfo+esi+7] |
2406 | cmp al, [convinfo+esi+7] |
2386 | jnz .ret |
2407 | jnz .ret |
2387 | mov al, [fileinfo+8] |
2408 | mov al, [fileinfo+8] |
2388 | cmp al, [convinfo+esi+8] |
2409 | cmp al, [convinfo+esi+8] |
2389 | jnz .ret |
2410 | jnz .ret |
2390 | mov al, [fileinfo+4] |
2411 | mov al, [fileinfo+4] |
2391 | cmp al, [convinfo+esi+4] |
2412 | cmp al, [convinfo+esi+4] |
2392 | jnz .ret |
2413 | jnz .ret |
2393 | mov al, [fileinfo+5] |
2414 | mov al, [fileinfo+5] |
2394 | cmp al, [convinfo+esi+5] |
2415 | cmp al, [convinfo+esi+5] |
2395 | jz compare_name.1 |
2416 | jz compare_name.1 |
2396 | .ret: |
2417 | .ret: |
2397 | popad |
2418 | popad |
2398 | ret |
2419 | ret |
2399 | compare_name: |
2420 | compare_name: |
2400 | pushad |
2421 | pushad |
2401 | .1: |
2422 | .1: |
2402 | mov edi, dword [convinfo+esi] |
2423 | mov edi, dword [convinfo+esi] |
2403 | mov esi, dword [fileinfo] |
2424 | mov esi, dword [fileinfo] |
2404 | call strcmpi |
2425 | call strcmpi |
2405 | popad |
2426 | popad |
2406 | ret |
2427 | ret |
2407 | compare_ext: |
2428 | compare_ext: |
2408 | pushad |
2429 | pushad |
2409 | mov esi, dword [convinfo+esi] |
2430 | mov esi, dword [convinfo+esi] |
2410 | mov edi, dword [fileinfo] |
2431 | mov edi, dword [fileinfo] |
2411 | call find_ext |
2432 | call find_ext |
2412 | xchg esi, edi |
2433 | xchg esi, edi |
2413 | call find_ext |
2434 | call find_ext |
2414 | call strcmpi |
2435 | call strcmpi |
2415 | popad |
2436 | popad |
2416 | jz compare_name |
2437 | jz compare_name |
2417 | ret |
2438 | ret |
2418 | compare_size: |
2439 | compare_size: |
2419 | pushad |
2440 | pushad |
2420 | lea edi, [convinfo+esi+19] |
2441 | lea edi, [convinfo+esi+19] |
2421 | lea esi, [fileinfo+19] |
2442 | lea esi, [fileinfo+19] |
2422 | mov ecx, 8 |
2443 | mov ecx, 8 |
Line 2423... | Line 2444... | ||
2423 | repz cmpsb |
2444 | repz cmpsb |
2424 | popad |
2445 | popad |
2425 | jz compare_name |
2446 | jz compare_name |
2426 | ret |
2447 | ret |
2427 | 2448 | ||
2428 | strcmpi: |
2449 | strcmpi: |
2429 | lodsb |
2450 | lodsb |
2430 | call toupper |
2451 | call toupper |
2431 | push eax |
2452 | push eax |
2432 | mov al, [edi] |
2453 | mov al, [edi] |
2433 | inc edi |
2454 | inc edi |
2434 | call toupper |
2455 | call toupper |
2435 | cmp [esp], al |
2456 | cmp [esp], al |
2436 | pop eax |
2457 | pop eax |
Line 2437... | Line 2458... | ||
2437 | jnz @f |
2458 | jnz @f |
2438 | test al, al |
2459 | test al, al |
2439 | jnz strcmpi |
2460 | jnz strcmpi |
2440 | @@: |
2461 | @@: |
2441 | ret |
2462 | ret |
2442 | 2463 | ||
2443 | find_ext: |
2464 | find_ext: |
2444 | lodsb |
2465 | lodsb |
2445 | test al, al |
2466 | test al, al |
2446 | jz .noext |
2467 | jz .noext |
Line 2447... | Line 2468... | ||
2447 | cmp al, '.' |
2468 | cmp al, '.' |
Line 2448... | Line 2469... | ||
2448 | jnz find_ext |
2469 | jnz find_ext |
2449 | ret |
2470 | ret |
Line 2471... | Line 2492... | ||
2471 | readblock dd 1 |
2492 | readblock dd 1 |
2472 | dlg_type db 0 ;S-save O-open |
2493 | dlg_type db 0 ;S-save O-open |
2473 | browser db 0 ;0-dialog, 1-browser |
2494 | browser db 0 ;0-dialog, 1-browser |
2474 | viewmode db 0 ;folder sort |
2495 | viewmode db 0 ;folder sort |
Line 2475... | Line 2496... | ||
2475 | 2496 | ||
2476 | compare dd compare_name |
2497 | compare dd compare_name |
2477 | dd compare_ext |
2498 | dd compare_ext |
2478 | dd compare_size |
2499 | dd compare_size |
2479 | dd compare_date |
2500 | dd compare_date |
2480 | 2501 | ||
2481 | aRD db 'RD',0 |
2502 | aRD db 'RD',0 |
2482 | aFD db 'FD',0 |
2503 | aFD db 'FD',0 |
2483 | aHD0 db 'HD0',0 |
2504 | aHD0 db 'HD0',0 |
2484 | aHD1 db 'HD1',0 |
2505 | aHD1 db 'HD1',0 |
2485 | aHD2 db 'HD2',0 |
2506 | aHD2 db 'HD2',0 |
2486 | aHD3 db 'HD3',0 |
2507 | aHD3 db 'HD3',0 |
2487 | aCD0 db 'CD0',0 |
2508 | aCD0 db 'CD0',0 |
2488 | aCD1 db 'CD1',0 |
2509 | aCD1 db 'CD1',0 |
2489 | aCD2 db 'CD2',0 |
2510 | aCD2 db 'CD2',0 |
2490 | aCD3 db 'CD3',0 |
2511 | aCD3 db 'CD3',0 |
2491 | a1 db '1',0,0 |
2512 | a1 db '1',0,0 |
2492 | a2 db '2',0,0 |
2513 | a2 db '2',0,0 |
2493 | a3 db '3',0,0 |
2514 | a3 db '3',0,0 |
2494 | a4 db '4',0,0 |
2515 | a4 db '4',0,0 |
2495 | a5 db '5',0,0 |
2516 | a5 db '5',0,0 |
2496 | a6 db '6',0,0 |
2517 | a6 db '6',0,0 |
2497 | a7 db '7',0,0 |
2518 | a7 db '7',0,0 |
2498 | a8 db '8',0,0 |
2519 | a8 db '8',0,0 |
2499 | a9 db '9',0,0 |
2520 | a9 db '9',0,0 |
2500 | a10 db '10',0 |
2521 | a10 db '10',0 |
2501 | a11 db '11',0 |
2522 | a11 db '11',0 |
2502 | a12 db '12',0 |
2523 | a12 db '12',0 |
2503 | a13 db '13',0 |
2524 | a13 db '13',0 |
2504 | a14 db '14',0 |
2525 | a14 db '14',0 |
2505 | a15 db '15',0 |
2526 | a15 db '15',0 |
2506 | a16 db '16',0 |
2527 | a16 db '16',0 |
2507 | a17 db '17',0 |
2528 | a17 db '17',0 |
2508 | a18 db '18',0 |
2529 | a18 db '18',0 |
2509 | a19 db '19',0 |
2530 | a19 db '19',0 |
Line 2510... | Line 2531... | ||
2510 | a20 db '20',0 |
2531 | a20 db '20',0 |
2511 | 2532 | ||
2512 | hdimg: |
2533 | hdimg: |
2513 | dd aRD |
2534 | dd aRD |
2514 | db 'RAMDISK FOL ' |
2535 | db 'RAMDISK FOL ' |
2515 | dd aFD |
2536 | dd aFD |
2516 | db 'FLOPPYDISK FOL ' |
2537 | db 'FLOPPYDISK FOL ' |
2517 | hdimg1 dd 0 |
2538 | hdimg1 dd 0 |
2518 | db 'HARDDISK FOL ' |
2539 | db 'HARDDISK FOL ' |
2519 | hdimg2 dd 0 |
2540 | hdimg2 dd 0 |
2520 | db 'HARDDISK FOL ' |
2541 | db 'HARDDISK FOL ' |
2521 | hdimg3 dd 0 |
2542 | hdimg3 dd 0 |
2522 | db 'HARDDISK FOL ' |
2543 | db 'HARDDISK FOL ' |
2523 | hdimg4 dd 0 |
2544 | hdimg4 dd 0 |
Line 2524... | Line 2545... | ||
2524 | db 'HARDDISK FOL ' |
2545 | db 'HARDDISK FOL ' |
2525 | ptimg db 'PARTITION FOL ' |
2546 | ptimg db 'PARTITION FOL ' |
2526 | 2547 | ||
2527 | modetext: |
2548 | modetext: |
Line 2551... | Line 2572... | ||
2551 | ;Name of programs |
2572 | ;Name of programs |
2552 | editor db '/sys/TINYPAD',0 |
2573 | editor db '/sys/TINYPAD',0 |
2553 | bmpview db '/sys/MV',0 |
2574 | bmpview db '/sys/MV',0 |
2554 | jpgview db '/sys/JPEGVIEW',0 |
2575 | jpgview db '/sys/JPEGVIEW',0 |
2555 | gifview db '/sys/GIFVIEW',0 |
2576 | gifview db '/sys/GIFVIEW',0 |
2556 | ac97 db '/sys/AC97SND',0 |
2577 | ac97 db '/sys/AC97SND',0 |
- | 2578 | htmlv db '/sys/NETWORK/HTMLV',0 |
|
2557 | rtfread db '/sys/RTFREAD',0 |
2579 | rtfread db '/sys/RTFREAD',0 |
2558 | ; //// Willow |
2580 | ; //// Willow |
2559 | pngview db '/sys/@RCHER',0 |
2581 | pngview db '/sys/@RCHER',0 |
2560 | ; //// Willow |
2582 | ; //// Willow |
2561 | midamp db '/sys/MIDAMP',0 |
2583 | midamp db '/sys/MIDAMP',0 |
2562 | view3ds db '/sys/3D/VIEW3DS',0 |
2584 | view3ds db '/sys/3D/VIEW3DS',0 |
2563 | life2 db '/sys/DEMOS/LIFE2',0 |
2585 | life2 db '/sys/DEMOS/LIFE2',0 |
Line 2564... | Line 2586... | ||
2564 | 2586 | ||
Line 2565... | Line 2587... | ||
2565 | more_char db 10h |
2587 | more_char db 10h |
Line 2566... | Line 2588... | ||
2566 | 2588 | ||
2567 | IncludeIGlobals |
2589 | IncludeIGlobals |
2568 | 2590 | ||
2569 | fileinfo_start: |
2591 | fileinfo_start: |
2570 | dd 7 |
2592 | dd 7 |
2571 | dd 0 |
2593 | dd 0 |
2572 | fileinfo_params: |
2594 | fileinfo_params: |
2573 | dd 0 |
2595 | dd 0 |
2574 | dd 0 |
2596 | dd 0 |
2575 | dd 0 |
2597 | dd 0 |
Line 2576... | Line 2598... | ||
2576 | db 0 |
2598 | db 0 |
2577 | fileinfo_name: |
2599 | fileinfo_name: |
2578 | dd 0 |
2600 | dd 0 |
2579 | 2601 | ||
2580 | clipfile_info: |
2602 | clipfile_info: |
2581 | dd ? |
2603 | dd ? |
2582 | dd 0 |
2604 | dd 0 |
2583 | dd 0 |
2605 | dd 0 |
2584 | dd ? |
2606 | dd ? |
2585 | dd paramtest |
2607 | dd paramtest |
2586 | db '/SYS/CLIPFILE.TXT',0 |
2608 | db '/SYS/CLIPFILE.TXT',0 |
2587 | copyr_run: |
2609 | copyr_run: |
2588 | dd 7 |
2610 | dd 7 |
2589 | dd 0 |
2611 | dd 0 |
Line 2590... | Line 2612... | ||
2590 | dd copyr_param |
2612 | dd copyr_param |
2591 | dd 0 |
2613 | dd 0 |
2592 | dd 0 |
2614 | dd 0 |
2593 | db '/SYS/COPYR',0 |
2615 | db '/SYS/COPYR',0 |
2594 | 2616 | ||
2595 | fileinfoblock: |
2617 | fileinfoblock: |
2596 | dd 0x1 ; read folder |
2618 | dd 0x1 ; read folder |
2597 | dd 0x0 ; first block |
2619 | dd 0x0 ; first block |
Line 2598... | Line 2620... | ||
2598 | dd 0x0 ; flags (ANSI names) |
2620 | dd 0x0 ; flags (ANSI names) |
2599 | dd 4095 ; number of blocks to read |
2621 | dd 4095 ; number of blocks to read |
Line 2600... | Line 2622... | ||
2600 | dd outinfo ; ret offset |
2622 | dd outinfo ; ret offset |
Line 2666... | Line 2688... | ||
2666 | sc system_colors |
2688 | sc system_colors |
Line 2667... | Line 2689... | ||
2667 | 2689 | ||
2668 | fileinfo: |
2690 | fileinfo: |
Line 2669... | Line 2691... | ||
2669 | rb 200 ;4096*62+1024 |
2691 | rb 200 ;4096*62+1024 |
Line 2670... | Line 2692... | ||
2670 | 2692 | ||
2671 | copyr_param rb 256 |
2693 | copyr_param rb 256 |
Line 2672... | Line 2694... | ||
2672 | 2694 | ||
2673 | outinfo: |
2695 | outinfo: |
2674 | rb 32+4096*304 |
2696 | rb 32+4096*304 |
2675 | 2697 | ||
2676 | convinfo: |
2698 | convinfo: |
2677 | rb 4096*27 |
2699 | rb 4096*27 |