Rev 205 | Rev 314 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 205 | Rev 283 | ||
---|---|---|---|
Line 16... | Line 16... | ||
16 | include 'viewer.inc' |
16 | include 'viewer.inc' |
Line 17... | Line 17... | ||
17 | 17 | ||
18 | start: |
18 | start: |
19 | mov eax, mem |
19 | mov eax, mem |
- | 20 | call mf_init |
|
20 | call mf_init |
21 | call init_console |
21 | call draw_window |
22 | call draw_window |
22 | push 66 |
23 | push 66 |
23 | pop eax |
24 | pop eax |
24 | push 1 |
25 | push 1 |
25 | pop ebx |
26 | pop ebx |
26 | mov ecx, ebx |
27 | mov ecx, ebx |
27 | int 40h ; set keyboard mode to scancodes |
- | |
28 | call init_console |
28 | int 40h ; set keyboard mode to scancodes |
29 | mov esi, def_left_dir |
29 | mov esi, def_left_dir |
30 | mov edi, panel1_dir |
30 | mov edi, panel1_dir |
31 | @@: |
31 | @@: |
32 | lodsb |
32 | lodsb |
Line 39... | Line 39... | ||
39 | @@: |
39 | @@: |
40 | lodsb |
40 | lodsb |
41 | stosb |
41 | stosb |
42 | test al, al |
42 | test al, al |
43 | jnz @b |
43 | jnz @b |
44 | mov eax, 304 |
44 | mov eax, 200 |
45 | mov [panel1_nfa], eax |
45 | mov [panel1_nfa], eax |
46 | mov [panel2_nfa], eax |
46 | mov [panel2_nfa], eax |
- | 47 | mov eax, 200*4 + 32 + 200*304 |
|
- | 48 | push eax |
|
- | 49 | call mf_alloc |
|
47 | mov [panel1_files], buf1 |
50 | mov [panel1_files], eax |
- | 51 | pop eax |
|
- | 52 | call mf_alloc |
|
48 | mov [panel2_files], buf2 |
53 | mov [panel2_files], eax |
- | 54 | test eax, eax |
|
- | 55 | jz exit |
|
- | 56 | cmp [panel1_files], eax |
|
- | 57 | jz exit |
|
49 | mov [panel1_sortmode], 0 ; sort by name |
58 | mov [panel1_sortmode], 0 ; sort by name |
50 | mov [panel2_sortmode], 0 |
59 | mov [panel2_sortmode], 0 |
51 | mov [num_screens], 1 |
60 | mov [num_screens], 1 |
52 | mov eax, 8 |
61 | mov eax, 8 |
53 | call mf_alloc |
62 | call mf_alloc |
Line 74... | Line 83... | ||
74 | ; button - we have only one button, close |
83 | ; button - we have only one button, close |
75 | exit: |
84 | exit: |
76 | or eax, -1 |
85 | or eax, -1 |
77 | int 40h |
86 | int 40h |
78 | redraw: |
87 | redraw: |
- | 88 | ; query kbd state from OS |
|
- | 89 | mov al, 66 |
|
- | 90 | push 3 |
|
- | 91 | pop ebx |
|
- | 92 | int 0x40 |
|
- | 93 | and eax, 0x3F |
|
- | 94 | cmp al, [ctrlstate] |
|
- | 95 | mov [ctrlstate], al |
|
- | 96 | jz @f |
|
- | 97 | call draw_keybar |
|
- | 98 | @@: |
|
79 | mov al, 9 |
99 | mov al, 9 |
80 | mov ebx, procinfo |
100 | mov ebx, procinfo |
81 | or ecx, -1 |
101 | or ecx, -1 |
82 | int 40h |
102 | int 40h |
83 | ; test if rolled up |
103 | ; test if rolled up |
Line 99... | Line 119... | ||
99 | int 0x40 |
119 | int 0x40 |
100 | jmp event |
120 | jmp event |
101 | @@: |
121 | @@: |
102 | xor ecx, ecx |
122 | xor ecx, ecx |
103 | mov eax, [ebx+42] |
123 | mov eax, [ebx+42] |
104 | sub eax, 5*2 |
124 | sub eax, 5*2-1 |
105 | jae @f |
125 | jae @f |
106 | xor eax, eax |
126 | xor eax, eax |
107 | @@: |
127 | @@: |
108 | cdq |
128 | cdq |
109 | mov esi, font_width |
129 | mov esi, font_width |
Line 122... | Line 142... | ||
122 | mov [cur_width], eax |
142 | mov [cur_width], eax |
123 | setnz cl |
143 | setnz cl |
124 | or cl, ch |
144 | or cl, ch |
125 | test edx, edx |
145 | test edx, edx |
126 | setnz ch |
146 | setnz ch |
127 | or cl, ch |
- | |
128 | mov eax, [ebx+46] |
147 | mov eax, [ebx+46] |
129 | sub eax, [skinh] |
148 | sub eax, [skinh] |
130 | sub eax, 5 |
149 | sub eax, 5-1 |
131 | jns @f |
150 | jns @f |
132 | xor eax, eax |
151 | xor eax, eax |
133 | @@: |
152 | @@: |
134 | cdq |
153 | cdq |
135 | mov esi, font_height |
154 | mov esi, font_height |
Line 144... | Line 163... | ||
144 | mov eax, 255 |
163 | mov eax, 255 |
145 | mov cl, 1 |
164 | mov cl, 1 |
146 | @@: |
165 | @@: |
147 | cmp eax, [cur_height] |
166 | cmp eax, [cur_height] |
148 | mov [cur_height], eax |
167 | mov [cur_height], eax |
149 | setnz ch |
168 | jnz .resize |
150 | or cl, ch |
169 | test cl, cl |
- | 170 | jnz .resize |
|
151 | test edx, edx |
171 | test edx, edx |
152 | setnz ch |
172 | setnz cl |
153 | test cx, cx |
173 | or cl, ch |
154 | jz @f |
174 | jz @f |
155 | mov eax, [MemForImage] |
175 | test byte [ebx+70], 1 |
156 | call mf_free |
176 | jnz @f |
157 | and [MemForImage], 0 |
- | |
158 | call init_console |
177 | .resize: |
159 | push 67 |
178 | push 67 |
160 | pop eax |
179 | pop eax |
161 | or ebx, -1 |
180 | or ebx, -1 |
162 | or ecx, -1 |
181 | or ecx, -1 |
163 | mov edx, [cur_width] |
182 | mov edx, [cur_width] |
164 | imul edx, font_width |
183 | imul edx, font_width |
165 | add edx, 5*2 |
184 | add edx, 5*2-1 |
166 | mov esi, [cur_height] |
185 | mov esi, [cur_height] |
167 | imul esi, font_height |
186 | imul esi, font_height |
168 | add esi, [skinh] |
187 | add esi, [skinh] |
169 | add esi, 5 |
188 | add esi, 5-1 |
170 | int 40h |
189 | int 40h |
- | 190 | .resize_draw: |
|
- | 191 | call init_console |
|
171 | call draw_window |
192 | ; call draw_window |
172 | call draw_keybar |
193 | call draw_keybar |
173 | mov ebp, [active_screen_data] |
194 | mov ebp, [active_screen_data] |
174 | mov eax, [active_screen_vtable] |
195 | mov eax, [active_screen_vtable] |
175 | call dword [eax+screen_vtable.OnRedraw] |
196 | call dword [eax+screen_vtable.OnRedraw] |
176 | jmp event |
197 | jmp event |
177 | @@: |
198 | @@: |
178 | call draw_window |
199 | call draw_window |
179 | jmp event |
200 | jmp event |
- | 201 | alt_f9: |
|
- | 202 | cmp [saved_width], -1 |
|
- | 203 | jz @f |
|
- | 204 | mov eax, [saved_width] |
|
- | 205 | mov [cur_width], eax |
|
- | 206 | or [saved_width], -1 |
|
- | 207 | mov eax, [saved_height] |
|
- | 208 | mov [cur_height], eax |
|
- | 209 | or [saved_height], -1 |
|
- | 210 | jmp redraw.resize |
|
- | 211 | @@: |
|
- | 212 | push 48 |
|
- | 213 | pop eax |
|
- | 214 | push 5 |
|
- | 215 | pop ebx |
|
- | 216 | int 0x40 |
|
- | 217 | push eax |
|
- | 218 | sub eax, [esp+2] |
|
- | 219 | inc eax |
|
- | 220 | movzx eax, ax |
|
- | 221 | sub eax, 10 |
|
- | 222 | xor edx, edx |
|
- | 223 | mov ecx, font_width |
|
- | 224 | div ecx |
|
- | 225 | xchg [cur_width], eax |
|
- | 226 | mov [saved_width], eax |
|
- | 227 | mov eax, ebx |
|
- | 228 | shr ebx, 16 |
|
- | 229 | sub eax, ebx |
|
- | 230 | sub eax, 5-1 |
|
- | 231 | sub eax, [skinh] |
|
- | 232 | xor edx, edx |
|
- | 233 | mov ecx, font_height |
|
- | 234 | div ecx |
|
- | 235 | xchg [cur_height], eax |
|
- | 236 | mov [saved_height], eax |
|
- | 237 | mov ecx, ebx |
|
- | 238 | pop ebx |
|
- | 239 | shr ebx, 16 |
|
- | 240 | mov edx, [cur_width] |
|
- | 241 | imul edx, font_width |
|
- | 242 | add edx, 5*2-1 |
|
- | 243 | mov esi, [cur_height] |
|
- | 244 | imul esi, font_height |
|
- | 245 | add esi, [skinh] |
|
- | 246 | add esi, 4 |
|
- | 247 | push 67 |
|
- | 248 | pop eax |
|
- | 249 | int 0x40 |
|
- | 250 | jmp redraw.resize_draw |
|
180 | key: |
251 | key: |
181 | mov al, 2 |
252 | mov al, 2 |
182 | int 40h |
253 | int 40h |
183 | test al, al |
254 | test al, al |
184 | jnz event |
255 | jnz event |
Line 579... | Line 650... | ||
579 | jmp .done_redraw |
650 | jmp .done_redraw |
580 | .enter: |
651 | .enter: |
581 | call get_curfile_folder_entry |
652 | call get_curfile_folder_entry |
582 | test byte [ecx], 10h |
653 | test byte [ecx], 10h |
583 | jnz .enter_folder |
654 | jnz .enter_folder |
584 | ; find extension |
- | |
585 | lea esi, [ecx+40] |
- | |
586 | push esi |
- | |
587 | @@: |
- | |
588 | lodsb |
- | |
589 | test al, al |
- | |
590 | jnz @b |
- | |
591 | @@: |
- | |
592 | dec esi |
- | |
593 | cmp byte [esi], '.' |
- | |
594 | jz .found_ext |
655 | call find_extension |
595 | cmp esi, [esp] |
- | |
596 | ja @b |
- | |
597 | jmp .run_app |
656 | jc .run_app |
598 | .found_ext: |
- | |
599 | inc esi |
- | |
600 | mov edi, associations |
- | |
601 | @@: |
- | |
602 | push esi edi |
- | |
603 | mov edi, [edi] |
- | |
604 | call strcmpi |
- | |
605 | pop edi esi |
- | |
606 | jz .run_association |
- | |
607 | add edi, 8 |
- | |
608 | cmp edi, associations_end |
- | |
609 | jb @b |
- | |
610 | jmp .run_app |
657 | jnz .run_app |
611 | .run_association: |
658 | .run_association: |
612 | mov [execparams], execdata |
- | |
613 | mov eax, [edi+4] |
659 | mov eax, [edi+4] |
- | 660 | .run_association2: |
|
- | 661 | mov [execparams], execdata |
|
614 | mov [execptr], eax |
662 | mov [execptr], eax |
615 | jmp .dorun |
663 | jmp .dorun |
616 | .run_app: |
664 | .run_app: |
617 | mov [execptr], execdata |
665 | mov [execptr], execdata |
618 | and [execparams], 0 |
666 | and [execparams], 0 |
619 | .dorun: |
667 | .dorun: |
620 | pop esi |
- | |
621 | lea esi, [ebp + panel1_dir - panel1_data] |
668 | lea esi, [ebp + panel1_dir - panel1_data] |
622 | mov edi, execdata |
669 | mov edi, execdata |
623 | ; TODO: add overflow check |
670 | ; TODO: add overflow check |
624 | @@: |
671 | @@: |
625 | lodsb |
672 | lodsb |
Line 634... | Line 681... | ||
634 | @@: |
681 | @@: |
635 | lodsb |
682 | lodsb |
636 | stosb |
683 | stosb |
637 | test al, al |
684 | test al, al |
638 | jnz @b |
685 | jnz @b |
- | 686 | ; for fasm call - special handling, because |
|
- | 687 | ; 1) fasm command line convention is different : fasm infile,outfile[,path] rather than tinypad infile |
|
- | 688 | ; 2) fasm will probably create new file in directory, so we want to reload panel data |
|
- | 689 | xor edx, edx |
|
- | 690 | cmp [execparams], edx |
|
- | 691 | jz .nofasm |
|
- | 692 | cmp [execptr], fasm |
|
- | 693 | jnz .nofasm |
|
- | 694 | ; TODO: add buffer/cmdline overflow check |
|
- | 695 | mov esi, execdata |
|
- | 696 | @@: |
|
- | 697 | lodsb |
|
- | 698 | stosb |
|
- | 699 | test al, al |
|
- | 700 | jnz @b |
|
- | 701 | mov byte [esi-1], ',' |
|
- | 702 | inc edx |
|
- | 703 | ; output file: no extension if input file has extension, '.bin' otherwise |
|
- | 704 | push edi |
|
- | 705 | @@: |
|
- | 706 | dec edi |
|
- | 707 | cmp byte [edi], '.' |
|
- | 708 | jz .ptfound |
|
- | 709 | cmp byte [edi], '/' |
|
- | 710 | jnz @b |
|
- | 711 | pop edi |
|
- | 712 | mov dword [edi-1], '.bin' |
|
- | 713 | mov byte [edi+3], 0 |
|
- | 714 | jmp .nofasm |
|
- | 715 | .ptfound: |
|
- | 716 | mov byte [edi], 0 |
|
- | 717 | pop edi |
|
- | 718 | .nofasm: |
|
639 | push 70 |
719 | push 70 |
640 | pop eax |
720 | pop eax |
641 | mov ebx, execinfo |
721 | mov ebx, execinfo |
642 | int 40h |
722 | int 40h |
- | 723 | test edx, edx |
|
- | 724 | jz @f |
|
- | 725 | push 5 |
|
- | 726 | pop eax |
|
- | 727 | push 20 |
|
- | 728 | pop ebx |
|
- | 729 | int 0x40 |
|
- | 730 | jmp .ctrl_r |
|
- | 731 | @@: |
|
643 | ret |
732 | ret |
644 | .enter_folder: |
733 | .enter_folder: |
645 | lea esi, [ecx+40] |
734 | lea esi, [ecx+40] |
646 | cmp word [esi], '..' |
735 | cmp word [esi], '..' |
647 | jnz @f |
736 | jnz @f |
Line 878... | Line 967... | ||
878 | call mf_free |
967 | call mf_free |
879 | test ecx, ecx |
968 | test ecx, ecx |
880 | jnz @b |
969 | jnz @b |
881 | call read_folder |
970 | call read_folder |
882 | jmp .done_redraw |
971 | jmp .done_redraw |
- | 972 | .shift_f5: |
|
- | 973 | call get_curfile_folder_entry |
|
- | 974 | lea esi, [ecx+40] |
|
- | 975 | mov edi, CopyDestEditBuf |
|
- | 976 | mov eax, CopyDestEditBuf.length |
|
- | 977 | stosd |
|
- | 978 | scasd |
|
- | 979 | xor eax, eax |
|
- | 980 | stosd |
|
- | 981 | mov edx, edi |
|
- | 982 | @@: |
|
- | 983 | lodsb |
|
- | 984 | test al, al |
|
- | 985 | jz .f5_common |
|
- | 986 | stosb |
|
- | 987 | jmp @b |
|
- | 988 | .f5: |
|
- | 989 | mov edi, CopyDestEditBuf |
|
- | 990 | mov eax, CopyDestEditBuf.length |
|
- | 991 | stosd |
|
- | 992 | scasd |
|
- | 993 | xor eax, eax |
|
- | 994 | stosd |
|
- | 995 | mov edx, edi |
|
- | 996 | mov esi, ebp |
|
- | 997 | xor esi, panel1_data xor panel2_data |
|
- | 998 | add esi, panel1_dir - panel1_data |
|
- | 999 | @@: |
|
- | 1000 | lodsb |
|
- | 1001 | test al, al |
|
- | 1002 | jz @f |
|
- | 1003 | stosb |
|
- | 1004 | jmp @b |
|
- | 1005 | @@: |
|
- | 1006 | mov al, '/' |
|
- | 1007 | stosb |
|
- | 1008 | .f5_common: |
|
- | 1009 | mov byte [edi], 0 |
|
- | 1010 | sub edi, edx |
|
- | 1011 | mov [edx-8], edi |
|
- | 1012 | mov edi, CopySourceTextBuf |
|
- | 1013 | mov esi, aCopy1 |
|
- | 1014 | @@: |
|
- | 1015 | lodsb |
|
- | 1016 | test al, al |
|
- | 1017 | jz @f |
|
- | 1018 | stosb |
|
- | 1019 | jmp @b |
|
- | 1020 | @@: |
|
- | 1021 | call get_curfile_folder_entry |
|
- | 1022 | lea esi, [ecx+40] |
|
- | 1023 | lea eax, [esi+1] |
|
- | 1024 | @@: |
|
- | 1025 | inc esi |
|
- | 1026 | cmp byte [esi-1], 0 |
|
- | 1027 | jnz @b |
|
- | 1028 | sub esi, eax |
|
- | 1029 | xchg eax, esi |
|
- | 1030 | dec esi |
|
- | 1031 | mov edx, [cur_width] |
|
- | 1032 | sub edx, 50 |
|
- | 1033 | sub eax, edx |
|
- | 1034 | jbe @f |
|
- | 1035 | add esi, eax |
|
- | 1036 | mov al, '.' |
|
- | 1037 | stosb |
|
- | 1038 | stosb |
|
- | 1039 | stosb |
|
- | 1040 | @@: |
|
- | 1041 | lodsb |
|
- | 1042 | test al, al |
|
- | 1043 | jz @f |
|
- | 1044 | stosb |
|
- | 1045 | jmp @b |
|
- | 1046 | @@: |
|
- | 1047 | mov esi, aCopy2 |
|
- | 1048 | @@: |
|
- | 1049 | lodsb |
|
- | 1050 | stosb |
|
- | 1051 | test al, al |
|
- | 1052 | jnz @b |
|
- | 1053 | mov ebx, copy_dlgdata |
|
- | 1054 | mov eax, [cur_width] |
|
- | 1055 | sub eax, 12 |
|
- | 1056 | mov [ebx + dlgtemplate.width], eax |
|
- | 1057 | dec eax |
|
- | 1058 | dec eax |
|
- | 1059 | mov [ebx - copy_dlgdata + copy_dlgdata.width2], eax |
|
- | 1060 | mov [ebx - copy_dlgdata + copy_dlgdata.width3], eax |
|
- | 1061 | shr eax, 1 |
|
- | 1062 | dec eax |
|
- | 1063 | dec eax |
|
- | 1064 | mov [ebx - copy_dlgdata + copy_dlgdata.copy_x2], eax |
|
- | 1065 | sub eax, aCopyLength-1 |
|
- | 1066 | mov [ebx - copy_dlgdata + copy_dlgdata.copy_x1], eax |
|
- | 1067 | add eax, aCopyLength+3 |
|
- | 1068 | mov [ebx - copy_dlgdata + copy_dlgdata.cnl_x1], eax |
|
- | 1069 | add eax, aCancelBLength - 1 |
|
- | 1070 | mov [ebx - copy_dlgdata + copy_dlgdata.cnl_x2], eax |
|
- | 1071 | mov al, [dialog_border_color] |
|
- | 1072 | mov [ebx + dlgtemplate.border_color], al |
|
- | 1073 | mov al, [dialog_header_color] |
|
- | 1074 | mov [ebx + dlgtemplate.header_color], al |
|
- | 1075 | mov al, [dialog_main_color] |
|
- | 1076 | mov [ebx + dlgtemplate.main_color], al |
|
- | 1077 | mov byte [ebx - copy_dlgdata + copy_dlgdata.flags0], 0xC |
|
- | 1078 | and byte [ebx - copy_dlgdata + copy_dlgdata.flags1], not 4 |
|
- | 1079 | and byte [ebx - copy_dlgdata + copy_dlgdata.flags2], not 4 |
|
- | 1080 | push ebx |
|
- | 1081 | call DialogBox |
|
- | 1082 | cmp eax, copy_dlgdata.copy_btn |
|
- | 1083 | jnz .ret2 |
|
- | 1084 | ; ®¯¨à㥬 |
|
- | 1085 | mov esi, CopyDestEditBuf+12 |
|
- | 1086 | mov edi, esi |
|
- | 1087 | xor eax, eax |
|
- | 1088 | or ecx, -1 |
|
- | 1089 | repnz scasb |
|
- | 1090 | dec edi |
|
- | 1091 | dec edi |
|
- | 1092 | cmp edi, esi |
|
- | 1093 | jb .ret2 |
|
- | 1094 | cmp byte [edi], '/' |
|
- | 1095 | jnz @f |
|
- | 1096 | ; «¨ç¨¥/®âáãâá⢨¥ § ª 稢 î饣® á«íè ¢ ¦® ⮫쪮 ¤«ï ª®¯¨à®¢ ¨ï ¯ ¯®ª |
|
- | 1097 | cmp edi, esi |
|
- | 1098 | jz @f |
|
- | 1099 | mov byte [edi], 0 |
|
- | 1100 | dec edi |
|
- | 1101 | @@: |
|
- | 1102 | ; ᫨ ¯ãâì ¥ ç¨ ¥âáï á® á«íè , áç¨â ¥¬ ¥£® ®â®á¨â¥«ì® ⥪ã饩 ¯ ¯ª¨ |
|
- | 1103 | cmp byte [esi], '/' |
|
- | 1104 | jz .copy_absolute_path |
|
- | 1105 | push esi |
|
- | 1106 | push edi |
|
- | 1107 | lea edi, [ebp + panel1_dir - panel1_data] |
|
- | 1108 | or ecx, -1 |
|
- | 1109 | xor eax, eax |
|
- | 1110 | repnz scasb |
|
- | 1111 | not ecx |
|
- | 1112 | pop edi |
|
- | 1113 | lea edx, [edi+2] |
|
- | 1114 | sub edx, esi |
|
- | 1115 | lea edi, [edi+ecx+1] |
|
- | 1116 | xchg ecx, edx |
|
- | 1117 | std |
|
- | 1118 | lea esi, [esi+ecx-1] |
|
- | 1119 | rep movsb |
|
- | 1120 | cld |
|
- | 1121 | pop edi |
|
- | 1122 | lea esi, [ebp + panel1_dir - panel1_data] |
|
- | 1123 | push edi |
|
- | 1124 | mov ecx, edx |
|
- | 1125 | rep movsb |
|
- | 1126 | mov byte [edi-1], '/' |
|
- | 1127 | pop esi |
|
- | 1128 | .copy_absolute_path: |
|
- | 1129 | ; ®«ãç ¥¬ âਡãâë § 票ï |
|
- | 1130 | mov cl, 0x10 |
|
- | 1131 | xor eax, eax |
|
- | 1132 | mov edi, esi |
|
- | 1133 | .countslashloop: |
|
- | 1134 | cmp byte [edi], '/' |
|
- | 1135 | jnz @f |
|
- | 1136 | inc eax |
|
- | 1137 | @@: |
|
- | 1138 | inc edi |
|
- | 1139 | cmp byte [edi], 0 |
|
- | 1140 | jnz .countslashloop |
|
- | 1141 | cmp eax, 2 |
|
- | 1142 | jbe @f |
|
- | 1143 | mov ebx, attrinfo |
|
- | 1144 | mov [attrinfo.attr], 0 |
|
- | 1145 | mov [ebx + attrinfo.name - attrinfo], esi |
|
- | 1146 | push 70 |
|
- | 1147 | pop eax |
|
- | 1148 | int 0x40 |
|
- | 1149 | mov cl, byte [attrinfo.attr] |
|
- | 1150 | @@: |
|
- | 1151 | test cl, 0x10 |
|
- | 1152 | jz .copyfile |
|
- | 1153 | ; ¬ ¯®¤áã㫨 ª â «®£ § 票ï, ¤®¯¨áë¢ ¥¬ ¨¬ï ä ©« |
|
- | 1154 | mov al, '/' |
|
- | 1155 | stosb |
|
- | 1156 | push esi |
|
- | 1157 | call get_curfile_folder_entry |
|
- | 1158 | lea esi, [ecx+40] |
|
- | 1159 | @@: |
|
- | 1160 | lodsb |
|
- | 1161 | stosb |
|
- | 1162 | test al, al |
|
- | 1163 | jnz @b |
|
- | 1164 | pop esi |
|
- | 1165 | .copyfile: |
|
- | 1166 | ; ¬ï ¨á室®£® ä ©« |
|
- | 1167 | push esi |
|
- | 1168 | lea esi, [ebp+panel1_dir-panel1_data] |
|
- | 1169 | mov edi, saved_file_name |
|
- | 1170 | push edi |
|
- | 1171 | @@: |
|
- | 1172 | lodsb |
|
- | 1173 | test al, al |
|
- | 1174 | jz @f |
|
- | 1175 | stosb |
|
- | 1176 | jmp @b |
|
- | 1177 | @@: |
|
- | 1178 | mov al, '/' |
|
- | 1179 | stosb |
|
- | 1180 | call get_curfile_folder_entry |
|
- | 1181 | lea esi, [ecx+40] |
|
- | 1182 | @@: |
|
- | 1183 | lodsb |
|
- | 1184 | stosb |
|
- | 1185 | test al, al |
|
- | 1186 | jnz @b |
|
- | 1187 | pop esi |
|
- | 1188 | pop edi |
|
- | 1189 | ; ¥«ì§ï ᪮¯¨à®¢ âì ä ©« ¯®¢¥àå á ¬®£® ᥡï! |
|
- | 1190 | push esi edi |
|
- | 1191 | call strcmpi |
|
- | 1192 | pop edi esi |
|
- | 1193 | jz .ret2 |
|
- | 1194 | ; ®¡á⢥®, ª®¯¨à㥬 |
|
- | 1195 | ; esi->source name, edi->destination name |
|
- | 1196 | mov [writeinfo.code], 2 |
|
- | 1197 | mov [writeinfo.name], edi |
|
- | 1198 | and dword [writeinfo.first], 0 |
|
- | 1199 | and dword [writeinfo.first+4], 0 |
|
- | 1200 | mov [writeinfo.data], copy_buffer |
|
- | 1201 | mov ebx, readinfo |
|
- | 1202 | and dword [ebx+readinfo.first-readinfo], 0 |
|
- | 1203 | and dword [ebx+readinfo.first+4-readinfo], 0 |
|
- | 1204 | mov [ebx+readinfo.size-readinfo], copy_buffer_size |
|
- | 1205 | mov [ebx+readinfo.data-readinfo], copy_buffer |
|
- | 1206 | mov [ebx+readinfo.name-readinfo], esi |
|
- | 1207 | .copyloop: |
|
- | 1208 | mov ebx, readinfo |
|
- | 1209 | push 70 |
|
- | 1210 | pop eax |
|
- | 1211 | int 0x40 |
|
- | 1212 | cmp ebx, -1 |
|
- | 1213 | jz .copydone |
|
- | 1214 | test ebx, ebx |
|
- | 1215 | jz .copydone |
|
- | 1216 | add dword [readinfo.first], ebx |
|
- | 1217 | adc dword [readinfo.first+4], 0 |
|
- | 1218 | mov [writeinfo.size], ebx |
|
- | 1219 | mov ebx, writeinfo |
|
- | 1220 | push 70 |
|
- | 1221 | pop eax |
|
- | 1222 | int 0x40 |
|
- | 1223 | mov ecx, [writeinfo.size] |
|
- | 1224 | add dword [writeinfo.first], ecx |
|
- | 1225 | adc dword [writeinfo.first+4], 0 |
|
- | 1226 | mov [writeinfo.code], 3 |
|
- | 1227 | cmp ecx, copy_buffer_size |
|
- | 1228 | jz .copyloop |
|
- | 1229 | .copydone: |
|
- | 1230 | push ebp |
|
- | 1231 | call .ctrl_r |
|
- | 1232 | pop ebp |
|
- | 1233 | xor ebp, panel1_data xor panel2_data |
|
- | 1234 | jmp .ctrl_r |
|
- | 1235 | ||
883 | .f3: |
1236 | .f3: |
884 | call view_file |
1237 | call view_file |
885 | .ret2: |
1238 | .ret2: |
886 | ret |
1239 | ret |
887 | .f8: |
1240 | .f8: |
Line 978... | Line 1331... | ||
978 | ; call read_folder |
1331 | ; call read_folder |
979 | ; jmp .done_redraw |
1332 | ; jmp .done_redraw |
980 | mov eax, [ebp + panel1_index - panel1_data] |
1333 | mov eax, [ebp + panel1_index - panel1_data] |
981 | push eax |
1334 | push eax |
982 | call get_curfile_name |
1335 | call get_curfile_name |
983 | mov esi, eax |
1336 | mov esi, ecx |
984 | mov edi, saved_file_name |
1337 | mov edi, saved_file_name |
985 | @@: |
1338 | @@: |
986 | lodsb |
1339 | lodsb |
987 | stosb |
1340 | stosb |
988 | test al, al |
1341 | test al, al |
Line 1032... | Line 1385... | ||
1032 | cmp [ebp + panel1_start - panel1_data], eax |
1385 | cmp [ebp + panel1_start - panel1_data], eax |
1033 | jbe @f |
1386 | jbe @f |
1034 | mov [ebp + panel1_start - panel1_data], eax |
1387 | mov [ebp + panel1_start - panel1_data], eax |
1035 | @@: |
1388 | @@: |
1036 | jmp .done_redraw |
1389 | jmp .done_redraw |
- | 1390 | .menu: |
|
- | 1391 | ; display context menu |
|
- | 1392 | ; ignore folders |
|
- | 1393 | call get_curfile_folder_entry |
|
- | 1394 | test byte [ecx], 10h |
|
- | 1395 | jz @f |
|
- | 1396 | .menuret: |
|
- | 1397 | ret |
|
- | 1398 | @@: |
|
- | 1399 | call find_extension |
|
- | 1400 | jc .menuret |
|
- | 1401 | jnz .menuret |
|
- | 1402 | ; known extension |
|
- | 1403 | mov ebx, [edi+8] |
|
- | 1404 | test ebx, ebx |
|
- | 1405 | jz .menuret |
|
- | 1406 | mov ecx, esi |
|
- | 1407 | @@: |
|
- | 1408 | inc ecx |
|
- | 1409 | cmp byte [ecx-1], 0 |
|
- | 1410 | jnz @b |
|
- | 1411 | sub ecx, esi ; ecx = ¤«¨ ¨¬¥¨ ä ©« +1 = ¤«¨ § £®«®¢ª +1 |
|
- | 1412 | cmp ecx, 15 |
|
- | 1413 | jb @f |
|
- | 1414 | mov cl, 15 |
|
- | 1415 | @@: |
|
- | 1416 | xor edx, edx |
|
- | 1417 | .menucreateloop: |
|
- | 1418 | mov eax, [ebx] |
|
- | 1419 | test eax, eax |
|
- | 1420 | jz .menucreated |
|
- | 1421 | @@: |
|
- | 1422 | inc eax |
|
- | 1423 | cmp byte [eax-1], 0 |
|
- | 1424 | jnz @b |
|
- | 1425 | sub eax, [ebx] |
|
- | 1426 | cmp eax, ecx |
|
- | 1427 | ja @f |
|
- | 1428 | mov eax, ecx |
|
- | 1429 | @@: |
|
- | 1430 | add eax, 12 |
|
- | 1431 | call mf_alloc |
|
- | 1432 | test eax, eax |
|
- | 1433 | jz .menucreated |
|
- | 1434 | add eax, 4 |
|
- | 1435 | test edx, edx |
|
- | 1436 | jz @f |
|
- | 1437 | mov [edx], eax |
|
- | 1438 | @@: |
|
- | 1439 | mov [eax+4], edx |
|
- | 1440 | mov edx, eax |
|
- | 1441 | push esi |
|
- | 1442 | mov esi, [ebx+4] |
|
- | 1443 | mov [eax-4], esi |
|
- | 1444 | mov esi, [ebx] |
|
- | 1445 | lea edi, [eax+8] |
|
- | 1446 | @@: |
|
- | 1447 | lodsb |
|
- | 1448 | stosb |
|
- | 1449 | test al, al |
|
- | 1450 | jnz @b |
|
- | 1451 | sub esi, [ebx] |
|
- | 1452 | sub esi, ecx |
|
- | 1453 | jae .menunoadd |
|
- | 1454 | neg esi |
|
- | 1455 | @@: |
|
- | 1456 | mov byte [edi-1], ' ' |
|
- | 1457 | stosb |
|
- | 1458 | dec esi |
|
- | 1459 | jnz @b |
|
- | 1460 | .menunoadd: |
|
- | 1461 | pop esi |
|
- | 1462 | add ebx, 8 |
|
- | 1463 | jmp .menucreateloop |
|
- | 1464 | .menucreated: |
|
- | 1465 | test edx, edx |
|
- | 1466 | jz .menuret |
|
- | 1467 | and dword [edx], 0 |
|
- | 1468 | @@: |
|
- | 1469 | cmp dword [edx+4], 0 |
|
- | 1470 | jz @f |
|
- | 1471 | mov edx, [edx+4] |
|
- | 1472 | jmp @b |
|
- | 1473 | @@: |
|
- | 1474 | push 1 |
|
- | 1475 | push esi |
|
- | 1476 | push edx |
|
- | 1477 | call menu |
|
- | 1478 | cmp eax, -1 |
|
- | 1479 | jz .menuret |
|
- | 1480 | push dword [eax-4] |
|
- | 1481 | @@: |
|
- | 1482 | test edx, edx |
|
- | 1483 | jz @f |
|
- | 1484 | lea eax, [edx-4] |
|
- | 1485 | mov edx, [edx] |
|
- | 1486 | call mf_free |
|
- | 1487 | jmp @b |
|
- | 1488 | @@: |
|
- | 1489 | pop eax |
|
- | 1490 | call get_curfile_folder_entry |
|
- | 1491 | jmp .run_association2 |
|
Line 1037... | Line 1492... | ||
1037 | 1492 | ||
1038 | panels_OnRedraw: |
1493 | panels_OnRedraw: |
1039 | call draw_cmdbar |
1494 | call draw_cmdbar |
1040 | mov ebp, panel1_data |
1495 | mov ebp, panel1_data |
1041 | call draw_panel |
1496 | call draw_panel |
1042 | mov ebp, panel2_data |
1497 | mov ebp, panel2_data |
1043 | call draw_panel |
1498 | call draw_panel |
Line 1044... | Line 1499... | ||
1044 | ret |
1499 | ret |
- | 1500 | ||
- | 1501 | init_console: |
|
- | 1502 | mov eax, [console_data_ptr] |
|
- | 1503 | call mf_free |
|
- | 1504 | mov eax, [cur_width] |
|
- | 1505 | mul [cur_height] |
|
- | 1506 | mov ecx, eax |
|
- | 1507 | add eax, eax |
|
- | 1508 | add eax, eax |
|
- | 1509 | call mf_alloc |
|
- | 1510 | test eax, eax |
|
- | 1511 | jz exit |
|
1045 | 1512 | mov [console_data_ptr], eax |
|
1046 | init_console: |
- | |
1047 | mov ax, 0720h |
- | |
1048 | mov ecx, [cur_width] |
- | |
1049 | imul ecx, [cur_height] |
1513 | mov edi, eax |
1050 | mov edi, console_data |
1514 | mov ax, 0720h |
1051 | rep stosw |
1515 | rep stosw |
1052 | and [panel1_left], 0 |
1516 | mov [panel1_left], ecx |
1053 | and [panel1_top], 0 |
1517 | mov [panel1_top], ecx |
1054 | and [panel2_top], 0 |
1518 | mov [panel2_top], ecx |
1055 | mov eax, [cur_width] |
1519 | mov eax, [cur_width] |
1056 | inc eax |
1520 | inc eax |
1057 | shr eax, 1 |
1521 | shr eax, 1 |
Line 1190... | Line 1654... | ||
1190 | mov bl, 4 |
1654 | mov bl, 4 |
1191 | int 40h |
1655 | int 40h |
1192 | mov [skinh], eax |
1656 | mov [skinh], eax |
1193 | mov ebx, [cur_width] |
1657 | mov ebx, [cur_width] |
1194 | imul ebx, font_width |
1658 | imul ebx, font_width |
1195 | add ebx, 100*65536 + 5*2 |
1659 | add ebx, 100*65536 + 5*2-1 |
1196 | mov ecx, [cur_height] |
1660 | mov ecx, [cur_height] |
1197 | imul ecx, font_height |
1661 | imul ecx, font_height |
1198 | lea ecx, [eax+ecx+5+100*65536] |
1662 | lea ecx, [eax+ecx+5-1+100*65536] |
1199 | xor eax, eax |
1663 | xor eax, eax |
1200 | mov edx, 0x13000000 |
1664 | mov edx, 0x13000000 |
1201 | mov edi, header |
1665 | mov edi, header |
1202 | int 40h |
1666 | int 40h |
1203 | mov al, 48 |
1667 | mov al, 48 |
Line 1217... | Line 1681... | ||
1217 | ; push header.length |
1681 | ; push header.length |
1218 | ; pop esi |
1682 | ; pop esi |
1219 | ; push 4 |
1683 | ; push 4 |
1220 | ; pop eax |
1684 | ; pop eax |
1221 | ; int 40h |
1685 | ; int 40h |
1222 | xor ecx, ecx |
1686 | ; xor ecx, ecx |
1223 | call draw_image |
1687 | ; call draw_image |
- | 1688 | and [min_x], 0 |
|
- | 1689 | and [min_y], 0 |
|
- | 1690 | mov eax, [cur_width] |
|
1224 | push 12 |
1691 | dec eax |
- | 1692 | mov [max_x], eax |
|
- | 1693 | mov eax, [cur_height] |
|
1225 | pop eax |
1694 | dec eax |
- | 1695 | mov [max_y], eax |
|
- | 1696 | call draw_image.force |
|
- | 1697 | mov al, 12 |
|
1226 | push 2 |
1698 | push 2 |
1227 | pop ebx |
1699 | pop ebx |
1228 | int 40h |
1700 | int 40h |
1229 | ret |
1701 | ret |
Line 1246... | Line 1718... | ||
1246 | pop esi |
1718 | pop esi |
1247 | int 40h |
1719 | int 40h |
1248 | ret |
1720 | ret |
Line 1249... | Line 1721... | ||
1249 | 1721 | ||
- | 1722 | draw_image: |
|
- | 1723 | ; determine draw rectangle |
|
- | 1724 | and [max_x], 0 |
|
- | 1725 | or [min_x], -1 |
|
- | 1726 | or [min_y], -1 |
|
- | 1727 | mov esi, [console_data_ptr] |
|
- | 1728 | xor eax, eax |
|
- | 1729 | xor edx, edx |
|
- | 1730 | mov ecx, [cur_width] |
|
- | 1731 | imul ecx, [cur_height] |
|
- | 1732 | .m1: |
|
- | 1733 | mov bx, [esi] |
|
- | 1734 | cmp bx, [esi+ecx*2] |
|
- | 1735 | jz .m2 |
|
- | 1736 | cmp eax, [min_x] |
|
- | 1737 | ja @f |
|
- | 1738 | mov [min_x], eax |
|
- | 1739 | @@: |
|
- | 1740 | cmp eax, [max_x] |
|
- | 1741 | jb @f |
|
- | 1742 | mov [max_x], eax |
|
- | 1743 | @@: |
|
- | 1744 | cmp edx, [min_y] |
|
- | 1745 | jae @f |
|
- | 1746 | mov [min_y], edx |
|
- | 1747 | @@: |
|
- | 1748 | mov [max_y], edx |
|
- | 1749 | .m2: |
|
- | 1750 | add esi, 2 |
|
- | 1751 | inc eax |
|
- | 1752 | cmp eax, [cur_width] |
|
- | 1753 | jb .m1 |
|
- | 1754 | xor eax, eax |
|
- | 1755 | inc edx |
|
- | 1756 | cmp edx, [cur_height] |
|
- | 1757 | jb .m1 |
|
- | 1758 | mov eax, [cursor_x] |
|
- | 1759 | cmp eax, -1 |
|
- | 1760 | jz .m3 |
|
- | 1761 | cmp eax, [min_x] |
|
- | 1762 | ja @f |
|
- | 1763 | mov [min_x], eax |
|
- | 1764 | @@: |
|
- | 1765 | cmp eax, [max_x] |
|
- | 1766 | jb @f |
|
- | 1767 | mov [max_x], eax |
|
- | 1768 | @@: |
|
- | 1769 | mov edx, [cursor_y] |
|
- | 1770 | cmp edx, [min_y] |
|
- | 1771 | ja @f |
|
- | 1772 | mov [min_y], edx |
|
- | 1773 | @@: |
|
- | 1774 | cmp edx, [max_y] |
|
- | 1775 | jb @f |
|
- | 1776 | mov [max_y], edx |
|
- | 1777 | @@: |
|
- | 1778 | .m3: |
|
- | 1779 | xchg eax, [old_cursor_x] |
|
- | 1780 | xchg edx, [old_cursor_y] |
|
- | 1781 | cmp eax, -1 |
|
- | 1782 | jz .m4 |
|
- | 1783 | cmp eax, [min_x] |
|
- | 1784 | ja @f |
|
- | 1785 | mov [min_x], eax |
|
- | 1786 | @@: |
|
- | 1787 | cmp eax, [max_x] |
|
- | 1788 | jb @f |
|
- | 1789 | mov [max_x], eax |
|
- | 1790 | @@: |
|
- | 1791 | cmp edx, [min_y] |
|
- | 1792 | ja @f |
|
- | 1793 | mov [min_y], edx |
|
- | 1794 | @@: |
|
- | 1795 | cmp edx, [max_y] |
|
- | 1796 | jb @f |
|
- | 1797 | mov [max_y], edx |
|
- | 1798 | @@: |
|
1250 | draw_image: |
1799 | .m4: |
1251 | cmp [MemForImage], 0 |
1800 | cmp [min_y], -1 |
- | 1801 | jz .nodraw |
|
1252 | jnz .allocated |
1802 | .force: |
1253 | ; allocate memory for image |
1803 | ; allocate memory for image |
- | 1804 | mov ecx, [max_x] |
|
- | 1805 | sub ecx, [min_x] |
|
- | 1806 | inc ecx |
|
- | 1807 | mov [used_width], ecx |
|
- | 1808 | mov edx, [max_y] |
|
- | 1809 | sub edx, [min_y] |
|
- | 1810 | inc edx |
|
1254 | mov eax, [cur_width] |
1811 | mov [used_height], edx |
1255 | imul eax, [cur_height] |
1812 | imul ecx, edx |
- | 1813 | imul ecx, font_width*font_height |
|
- | 1814 | add ecx, [heapend] |
|
1256 | imul eax, font_width*font_height*3 |
1815 | push 64 |
- | 1816 | pop eax |
|
- | 1817 | push 1 |
|
- | 1818 | pop ebx |
|
1257 | call mf_alloc |
1819 | int 0x40 |
1258 | test eax, eax |
1820 | test eax, eax |
1259 | jz draw_image.nomem |
1821 | jnz draw_image.nomem |
1260 | mov [MemForImage], eax |
1822 | mov edi, [heapend] |
1261 | .allocated: |
1823 | mov esi, [console_data_ptr] |
- | 1824 | mov eax, [min_y] |
|
- | 1825 | imul eax, [cur_width] |
|
1262 | mov edi, [MemForImage] |
1826 | add eax, [min_x] |
1263 | mov esi, console_data |
1827 | lea esi, [esi+eax*2] |
1264 | mov ecx, [cur_height] |
1828 | mov ecx, [used_height] |
1265 | .lh: |
1829 | .lh: |
1266 | push ecx |
1830 | push ecx esi |
1267 | mov ecx, [cur_width] |
1831 | mov ecx, [used_width] |
1268 | .lw: |
1832 | .lw: |
1269 | push ecx edi |
1833 | push ecx |
1270 | xor eax, eax |
1834 | mov ebx, [esi] |
- | 1835 | mov eax, [cur_width] |
|
- | 1836 | imul eax, [cur_height] |
|
1271 | mov al, [esi+1] |
1837 | mov [eax*2+esi], bx |
- | 1838 | movzx eax, bl |
|
1272 | and al, 0xF |
1839 | push edi |
1273 | mov ebx, [console_colors + eax*4] ; 梥â ⥪áâ |
1840 | movzx ebx, bh |
1274 | mov al, [esi+1] |
1841 | mov ebp, ebx |
1275 | shr al, 4 |
1842 | shr ebp, 4 |
1276 | mov ebp, [console_colors + eax*4] ; 梥â ä® |
1843 | and ebx, 0xF |
1277 | lodsb |
1844 | sub ebx, ebp |
1278 | inc esi |
1845 | add esi, 2 |
1279 | if font_width > 8 |
1846 | if font_width > 8 |
1280 | lea edx, [eax+eax+font] |
1847 | lea edx, [eax+eax+font] |
1281 | else |
1848 | else |
1282 | lea edx, [eax+font] |
1849 | lea edx, [eax+font] |
1283 | end if |
1850 | end if |
1284 | mov ecx, font_height |
1851 | mov ecx, font_height |
1285 | .sh: |
1852 | .sh: |
1286 | push ecx edi |
1853 | push ecx edx edi |
- | 1854 | xor ecx, ecx |
|
1287 | xor ecx, ecx |
1855 | mov edx, [edx] |
1288 | .sw: |
1856 | .sw: |
1289 | mov eax, ebx |
1857 | shr edx, 1 |
1290 | bt [edx], ecx |
1858 | sbb eax, eax |
1291 | jc @f |
1859 | and eax, ebx |
1292 | mov eax, ebp |
- | |
1293 | @@: |
1860 | add eax, ebp |
1294 | stosw |
1861 | mov [edi], al |
1295 | shr eax, 16 |
- | |
1296 | stosb |
1862 | add ecx, 1 |
1297 | inc ecx |
1863 | add edi, 1 |
1298 | cmp ecx, font_width |
1864 | cmp ecx, font_width |
1299 | jb .sw |
1865 | jb .sw |
1300 | pop edi ecx |
1866 | pop edi edx ecx |
1301 | mov eax, [cur_width] |
1867 | mov eax, [used_width] |
1302 | imul eax, font_width*3 |
1868 | imul eax, font_width |
1303 | add edi, eax |
1869 | add edi, eax |
1304 | if font_width > 8 |
1870 | if font_width > 8 |
1305 | add edx, 256*2 |
1871 | add edx, 256*2 |
1306 | else |
1872 | else |
1307 | add edx, 256 |
1873 | add edx, 256 |
1308 | end if |
1874 | end if |
1309 | loop .sh |
1875 | loop .sh |
1310 | pop edi ecx |
- | |
1311 | add edi, font_width*3 |
1876 | pop edi |
1312 | loop .lw |
- | |
1313 | mov eax, [cur_width] |
- | |
1314 | imul eax, (font_height-1)*font_width*3 |
- | |
1315 | add edi, eax |
1877 | .skip_symbol: |
- | 1878 | pop ecx |
|
- | 1879 | add edi, font_width |
|
- | 1880 | dec ecx |
|
- | 1881 | jnz .lw |
|
- | 1882 | mov eax, [used_width] |
|
- | 1883 | imul eax, (font_height-1)*font_width |
|
- | 1884 | add edi, eax |
|
- | 1885 | pop esi ecx |
|
- | 1886 | add esi, [cur_width] |
|
- | 1887 | add esi, [cur_width] |
|
1316 | pop ecx |
1888 | dec ecx |
- | 1889 | jnz .lh |
|
- | 1890 | ; cursor |
|
- | 1891 | mov eax, [cursor_y] |
|
- | 1892 | inc eax |
|
- | 1893 | jz .nocursor |
|
- | 1894 | sub eax, [min_y] |
|
- | 1895 | mul [used_width] |
|
- | 1896 | imul eax, font_height*font_width |
|
- | 1897 | mov edx, [cursor_x] |
|
- | 1898 | sub edx, [min_x] |
|
- | 1899 | inc edx |
|
- | 1900 | imul edx, font_width |
|
- | 1901 | add eax, edx |
|
- | 1902 | add eax, [heapend] |
|
- | 1903 | mov edx, [used_width] |
|
- | 1904 | imul edx, font_width |
|
- | 1905 | neg edx |
|
- | 1906 | mov ecx, (font_height*15+50)/100 |
|
- | 1907 | .cursor_loop: |
|
- | 1908 | push ecx |
|
- | 1909 | mov ecx, font_width |
|
1317 | loop .lh |
1910 | add eax, edx |
- | 1911 | push eax |
|
- | 1912 | @@: |
|
- | 1913 | ; add byte [eax-1], 0x10 |
|
- | 1914 | xor byte [eax-1], 7 |
|
- | 1915 | sub eax, 1 |
|
1318 | push 7 |
1916 | loop @b |
- | 1917 | pop eax |
|
1319 | pop eax |
1918 | pop ecx |
- | 1919 | loop .cursor_loop |
|
1320 | mov ebx, [MemForImage] |
1920 | .nocursor: |
1321 | mov ecx, [cur_width] |
1921 | mov ecx, [used_width] |
1322 | imul ecx, font_width*10000h |
1922 | imul ecx, font_width*65536 |
1323 | mov cx, word [cur_height] |
1923 | mov cx, word [used_height] |
1324 | imul cx, font_height |
1924 | imul cx, font_height |
- | 1925 | mov edx, [min_x] |
|
1325 | mov edx, [skinh] |
1926 | imul edx, font_width |
- | 1927 | add edx, 5 |
|
- | 1928 | shl edx, 16 |
|
- | 1929 | mov dx, word [min_y] |
|
- | 1930 | imul dx, font_height |
|
- | 1931 | add edx, [skinh] |
|
- | 1932 | push 65 |
|
- | 1933 | pop eax |
|
- | 1934 | mov ebx, [heapend] |
|
- | 1935 | push 8 |
|
- | 1936 | pop esi |
|
- | 1937 | mov edi, console_colors |
|
- | 1938 | int 0x40 |
|
- | 1939 | push 64 |
|
- | 1940 | pop eax |
|
- | 1941 | push 1 |
|
- | 1942 | pop ebx |
|
1326 | add edx, 5*10000h |
1943 | mov ecx, [heapend] |
- | 1944 | int 0x40 |
|
1327 | int 40h |
1945 | .nodraw: |
Line 1328... | Line 1946... | ||
1328 | ret |
1946 | ret |
1329 | 1947 | ||
1330 | get_console_ptr: |
1948 | get_console_ptr: |
1331 | ; in: eax=x, edx=y |
1949 | ; in: eax=x, edx=y |
1332 | ; out: edi->console data |
1950 | ; out: edi->console data |
1333 | push edx |
1951 | push edx |
- | 1952 | imul edx, [cur_width] |
|
1334 | imul edx, [cur_width] |
1953 | add edx, eax |
1335 | add edx, eax |
1954 | mov edi, [console_data_ptr] |
1336 | lea edi, [console_data + edx*2] |
1955 | lea edi, [edi + edx*2] |
Line 1337... | Line 1956... | ||
1337 | pop edx |
1956 | pop edx |
1338 | ret |
1957 | ret |
Line 1429... | Line 2048... | ||
1429 | jnz @f |
2048 | jnz @f |
1430 | dec edi |
2049 | dec edi |
1431 | dec edi |
2050 | dec edi |
1432 | @@: |
2051 | @@: |
1433 | push edi |
2052 | push edi |
1434 | mov eax, [cur_width] |
2053 | xor eax, eax |
1435 | mov edx, [cur_height] |
2054 | mov edx, [cur_height] |
1436 | call get_console_ptr |
2055 | call get_console_ptr |
1437 | mov ecx, edi |
2056 | mov ecx, edi |
1438 | pop edi |
2057 | pop edi |
1439 | sub ecx, edi |
2058 | sub ecx, edi |
Line 1753... | Line 2372... | ||
1753 | jz .size_less_4g |
2372 | jz .size_less_4g |
1754 | cmp edx, 10*256 |
2373 | cmp edx, 10*256 |
1755 | jae .size_tera |
2374 | jae .size_tera |
1756 | ; ¢ £¨£ ¡ ©â å |
2375 | ; ¢ £¨£ ¡ ©â å |
1757 | mov al, 'G' |
2376 | mov al, 'G' |
- | 2377 | shl edx, 2 |
|
1758 | jmp .size_letter |
2378 | jmp .size_letter |
1759 | .size_tera: |
2379 | .size_tera: |
1760 | ; ¢ â¥à ¡ ©â å |
2380 | ; ¢ â¥à ¡ ©â å |
1761 | shr edx, 8 |
2381 | shr edx, 8 |
1762 | mov al, 'T' |
2382 | mov al, 'T' |
Line 1882... | Line 2502... | ||
1882 | mov ecx, [ebp + panel1_files - panel1_data] |
2502 | mov ecx, [ebp + panel1_files - panel1_data] |
1883 | mov esi, [ecx+esi*4] |
2503 | mov esi, [ecx+esi*4] |
1884 | mov ecx, [ebp + panel1_nfa - panel1_data] |
2504 | mov ecx, [ebp + panel1_nfa - panel1_data] |
1885 | lea esi, [esi + ecx*4 + 32 + 40] |
2505 | lea esi, [esi + ecx*4 + 32 + 40] |
1886 | add esi, [ebp + panel1_files - panel1_data] |
2506 | add esi, [ebp + panel1_files - panel1_data] |
1887 | ; ¯®¤á¢¥âª |
- | |
1888 | ; call insert_last_dot |
- | |
1889 | xor ecx, ecx |
- | |
1890 | .highlight_test_loop: |
- | |
1891 | mov ebx, [highlight_groups+ecx*4] |
- | |
1892 | mov al, [ebx + highlight.IncludeAttributes] |
- | |
1893 | mov ah, [esi - 40] |
2507 | mov ah, [esi - 40 + 5] |
1894 | and ah, al |
- | |
1895 | cmp ah, al |
- | |
1896 | jnz .highlight_test_failed |
- | |
1897 | push edi |
- | |
1898 | lea edi, [ebx + highlight.Mask] |
- | |
1899 | call match_mask |
- | |
1900 | pop edi |
- | |
1901 | jc .highlight_test_failed |
- | |
1902 | mov ah, [ebx + highlight.NormalColor] |
- | |
1903 | cmp ebp, [active_panel] |
- | |
1904 | jnz @f |
- | |
1905 | mov ecx, [column_index] |
- | |
1906 | cmp ecx, [ebp + panel1_index - panel1_data] |
- | |
1907 | jnz @f |
- | |
1908 | mov ah, [ebx + highlight.CursorColor] |
- | |
1909 | @@: |
- | |
1910 | test ah, ah |
- | |
1911 | jz .nohighlight |
- | |
1912 | jmp .doname |
- | |
1913 | .highlight_test_failed: |
- | |
1914 | inc ecx |
- | |
1915 | cmp ecx, [highlight_num_groups] |
- | |
1916 | jb .highlight_test_loop |
- | |
1917 | .nohighlight: |
- | |
1918 | mov ah, [panel_normal_color] |
- | |
1919 | cmp ebp, [active_panel] |
2508 | cmp ebp, [active_panel] |
1920 | jnz @f |
2509 | jnz @f |
1921 | mov ecx, [column_index] |
2510 | mov ecx, [column_index] |
1922 | cmp ecx, [ebp + panel1_index - panel1_data] |
2511 | cmp ecx, [ebp + panel1_index - panel1_data] |
1923 | jnz @f |
2512 | jnz @f |
1924 | mov ah, [panel_cursor_color] |
2513 | mov ah, [esi - 40 + 6] |
1925 | @@: |
2514 | @@: |
1926 | .doname: |
- | |
1927 | ; call delete_last_dot |
- | |
1928 | mov ecx, [column_width] |
2515 | mov ecx, [column_width] |
1929 | push edi |
2516 | push edi |
1930 | @@: |
2517 | @@: |
1931 | lodsb |
2518 | lodsb |
1932 | test al, al |
2519 | test al, al |
Line 2054... | Line 2641... | ||
2054 | mov eax, [dirinfo.dirdata] |
2641 | mov eax, [dirinfo.dirdata] |
2055 | cmp [eax+8], ebx |
2642 | cmp [eax+8], ebx |
2056 | jz .readdone |
2643 | jz .readdone |
2057 | push eax |
2644 | push eax |
2058 | mov eax, [ebp + panel1_files - panel1_data] |
2645 | mov eax, [ebp + panel1_files - panel1_data] |
2059 | cmp eax, buf1 |
- | |
2060 | jz @f |
- | |
2061 | cmp eax, buf2 |
- | |
2062 | jz @f |
- | |
2063 | call mf_free |
2646 | call mf_free |
2064 | @@: |
- | |
2065 | pop eax |
2647 | pop eax |
2066 | mov eax, [eax+8] |
2648 | mov eax, [eax+8] |
2067 | add eax, 0xF |
2649 | add eax, 0xF |
2068 | and eax, not 0xF |
2650 | and eax, not 0xF |
2069 | push eax |
2651 | push eax |
Line 2086... | Line 2668... | ||
2086 | mov edi, [ebp + panel1_files - panel1_data] |
2668 | mov edi, [ebp + panel1_files - panel1_data] |
2087 | mov eax, [ebp + panel1_nfa - panel1_data] |
2669 | mov eax, [ebp + panel1_nfa - panel1_data] |
2088 | lea esi, [edi + eax*4 + 32] |
2670 | lea esi, [edi + eax*4 + 32] |
2089 | xor eax, eax |
2671 | xor eax, eax |
2090 | mov ecx, [esi-32+4] |
2672 | mov ecx, [esi-32+4] |
- | 2673 | test ecx, ecx |
|
2091 | jecxz .loopdone |
2674 | jz .loopdone |
2092 | ; £®à¨à㥬 á¯¥æ¨ «ìë¥ ¢å®¤ë, ᮮ⢥âáâ¢ãî騥 ¯ ¯ª¥ '.' ¨ ¬¥âª¥ ⮬ |
2675 | ; £®à¨à㥬 á¯¥æ¨ «ìë¥ ¢å®¤ë, ᮮ⢥âáâ¢ãî騥 ¯ ¯ª¥ '.' ¨ ¬¥âª¥ ⮬ |
2093 | .ptrinit: |
2676 | .ptrinit: |
2094 | cmp word [esi+eax+40], '.' |
2677 | cmp word [esi+eax+40], '.' |
2095 | jz .loopcont |
2678 | jz .loopcont |
2096 | test byte [esi+eax], 8 |
2679 | test byte [esi+eax], 8 |
2097 | jnz .loopcont |
2680 | jnz .loopcont |
2098 | stosd |
2681 | stosd |
- | 2682 | ; ¯®¤á¢¥âª |
|
- | 2683 | ; call insert_last_dot |
|
- | 2684 | pushad |
|
- | 2685 | lea ebp, [esi+eax] |
|
- | 2686 | lea esi, [ebp+40] |
|
- | 2687 | mov edi, lower_file_name |
|
- | 2688 | mov edx, edi |
|
- | 2689 | @@: |
|
- | 2690 | lodsb |
|
- | 2691 | call tolower |
|
- | 2692 | stosb |
|
- | 2693 | test al, al |
|
- | 2694 | jnz @b |
|
- | 2695 | mov esi, edx |
|
- | 2696 | lea edx, [edi-1] |
|
- | 2697 | xor ecx, ecx |
|
- | 2698 | .highlight_test_loop: |
|
- | 2699 | mov ebx, [highlight_groups+ecx*4] |
|
- | 2700 | mov al, [ebx + highlight.IncludeAttributes] |
|
- | 2701 | mov ah, [ebp] |
|
- | 2702 | and ah, al |
|
- | 2703 | cmp ah, al |
|
- | 2704 | jnz .highlight_test_failed |
|
- | 2705 | lea edi, [ebx + highlight.Mask] |
|
- | 2706 | call match_mask_rev_lowercase |
|
- | 2707 | jc .highlight_test_failed |
|
- | 2708 | mov ah, [ebx + highlight.NormalColor] |
|
- | 2709 | test ah, ah |
|
- | 2710 | jnz @f |
|
- | 2711 | mov ah, [panel_normal_color] |
|
- | 2712 | @@: |
|
- | 2713 | mov [ebp+5], ah |
|
- | 2714 | mov ah, [ebx + highlight.CursorColor] |
|
- | 2715 | test ah, ah |
|
- | 2716 | jnz @f |
|
- | 2717 | mov ah, [panel_cursor_color] |
|
- | 2718 | @@: |
|
- | 2719 | mov [ebp+6], ah |
|
- | 2720 | jmp .doname |
|
- | 2721 | .highlight_test_failed: |
|
- | 2722 | inc ecx |
|
- | 2723 | cmp ecx, [highlight_num_groups] |
|
- | 2724 | jb .highlight_test_loop |
|
- | 2725 | .nohighlight: |
|
- | 2726 | mov ah, [panel_normal_color] |
|
- | 2727 | mov [ebp+5], ah |
|
- | 2728 | mov ah, [panel_cursor_color] |
|
- | 2729 | mov [ebp+6], ah |
|
- | 2730 | .doname: |
|
- | 2731 | ; call delete_last_dot |
|
- | 2732 | popad |
|
2099 | .loopcont: |
2733 | .loopcont: |
2100 | add eax, 304 |
2734 | add eax, 304 |
- | 2735 | dec ecx |
|
2101 | loop .ptrinit |
2736 | jnz .ptrinit |
2102 | .loopdone: |
2737 | .loopdone: |
2103 | sub edi, [ebp + panel1_files - panel1_data] |
2738 | sub edi, [ebp + panel1_files - panel1_data] |
2104 | shr edi, 2 |
2739 | shr edi, 2 |
2105 | mov [ebp + panel1_numfiles - panel1_data], edi |
2740 | mov [ebp + panel1_numfiles - panel1_data], edi |
2106 | .done: |
2741 | .done: |
Line 2728... | Line 3363... | ||
2728 | .less: |
3363 | .less: |
2729 | xor edi, edi |
3364 | xor edi, edi |
2730 | stc |
3365 | stc |
2731 | ret |
3366 | ret |
Line -... | Line 3367... | ||
- | 3367 | ||
2732 | 3368 | if 0 |
|
2733 | match_mask: |
3369 | match_mask: |
2734 | ; in: esi->name, edi->mask |
3370 | ; in: esi->name, edi->mask |
2735 | ; out: CF clear <=> match |
3371 | ; out: CF clear <=> match |
2736 | pusha |
3372 | pusha |
Line 2845... | Line 3481... | ||
2845 | jae .listok |
3481 | jae .listok |
2846 | @@: |
3482 | @@: |
2847 | inc esi |
3483 | inc esi |
2848 | jmp .list |
3484 | jmp .list |
2849 | .asterisk: |
3485 | .asterisk: |
- | 3486 | cmp byte [esi], 0 |
|
- | 3487 | jz .done_succ |
|
- | 3488 | cmp byte [esi], '?' |
|
- | 3489 | jnz @f |
|
- | 3490 | mov al, 0 |
|
- | 3491 | scasb |
|
- | 3492 | jz .done_fail |
|
- | 3493 | inc esi |
|
- | 3494 | jmp .asterisk |
|
- | 3495 | @@: |
|
- | 3496 | cmp byte [esi], '[' |
|
- | 3497 | jz .asterisk_common |
|
- | 3498 | ; the mask is ...* |
|
- | 3499 | .asterisk_normal: |
|
- | 3500 | mov al, [esi] |
|
- | 3501 | @@: |
|
- | 3502 | cmp byte [edi], 0 |
|
- | 3503 | jz .done_fail |
|
- | 3504 | call match_symbol |
|
- | 3505 | jz @f |
|
- | 3506 | inc edi |
|
- | 3507 | jmp @b |
|
- | 3508 | @@: |
|
- | 3509 | inc edi |
|
- | 3510 | inc esi |
|
- | 3511 | call match_single_mask |
|
- | 3512 | jnc .done_succ |
|
- | 3513 | dec esi |
|
- | 3514 | jmp .asterisk_normal |
|
- | 3515 | .asterisk_common: |
|
2850 | push edi |
3516 | push edi |
2851 | @@: |
3517 | @@: |
2852 | call match_single_mask |
3518 | call match_single_mask |
2853 | jnc @f |
3519 | jnc @f |
2854 | mov al, 0 |
3520 | mov al, 0 |
Line 2858... | Line 3524... | ||
2858 | jmp .done_fail |
3524 | jmp .done_fail |
2859 | @@: |
3525 | @@: |
2860 | pop edi |
3526 | pop edi |
2861 | jmp .done_succ |
3527 | jmp .done_succ |
Line -... | Line 3528... | ||
- | 3528 | ||
- | 3529 | match_mask_rev: |
|
- | 3530 | ; in: esi->name, edx->end of name, edi->mask |
|
- | 3531 | ; out: CF clear <=> match |
|
- | 3532 | pusha |
|
- | 3533 | xchg esi, edx |
|
- | 3534 | xchg esi, edi |
|
- | 3535 | .main_cycle: |
|
- | 3536 | mov ecx, esi |
|
- | 3537 | @@: |
|
- | 3538 | lodsb |
|
- | 3539 | test al, al |
|
- | 3540 | jz @f |
|
- | 3541 | cmp al, ',' |
|
- | 3542 | jz @f |
|
- | 3543 | cmp al, '|' |
|
- | 3544 | jnz @b |
|
- | 3545 | @@: |
|
- | 3546 | dec esi |
|
- | 3547 | mov [esi], byte 0 |
|
- | 3548 | call match_single_mask_rev2 |
|
- | 3549 | mov [esi], al |
|
- | 3550 | inc esi |
|
- | 3551 | jnc .found |
|
- | 3552 | cmp al, ',' |
|
- | 3553 | jz .main_cycle |
|
- | 3554 | .done_fail: |
|
- | 3555 | stc |
|
- | 3556 | popa |
|
- | 3557 | ret |
|
- | 3558 | .found: |
|
- | 3559 | test al, al |
|
- | 3560 | jz .done_succ |
|
- | 3561 | cmp al, '|' |
|
- | 3562 | jz .test_exclude |
|
- | 3563 | lodsb |
|
- | 3564 | jmp .found |
|
- | 3565 | .done_succ: |
|
- | 3566 | clc |
|
- | 3567 | popa |
|
- | 3568 | ret |
|
- | 3569 | .test_exclude: |
|
- | 3570 | mov ecx, esi |
|
- | 3571 | @@: |
|
- | 3572 | lodsb |
|
- | 3573 | test al, al |
|
- | 3574 | jz @f |
|
- | 3575 | cmp al, ',' |
|
- | 3576 | jnz @b |
|
- | 3577 | @@: |
|
- | 3578 | dec esi |
|
- | 3579 | mov byte [esi], 0 |
|
- | 3580 | call match_single_mask_rev2 |
|
- | 3581 | mov [esi], al |
|
- | 3582 | inc esi |
|
- | 3583 | jnc .done_fail |
|
- | 3584 | test al, al |
|
- | 3585 | jz .done_succ |
|
- | 3586 | jmp .test_exclude |
|
- | 3587 | ||
- | 3588 | match_single_mask_rev2: |
|
- | 3589 | pusha |
|
- | 3590 | jmp match_single_mask_rev.mask_symbol |
|
- | 3591 | match_single_mask_rev: |
|
- | 3592 | ; in: esi->mask, edi->end of name, edx->start of name |
|
- | 3593 | ; out: CF clear <=> match |
|
- | 3594 | pusha |
|
- | 3595 | mov ecx, esi |
|
- | 3596 | @@: |
|
- | 3597 | lodsb |
|
- | 3598 | test al, al |
|
- | 3599 | jnz @b |
|
- | 3600 | dec esi |
|
- | 3601 | ; esi->end of mask, ecx->start of mask |
|
- | 3602 | .mask_symbol: |
|
- | 3603 | dec esi |
|
- | 3604 | cmp esi, ecx |
|
- | 3605 | jb .mask_done |
|
- | 3606 | mov al, [esi] |
|
- | 3607 | cmp al, '*' |
|
- | 3608 | jz .asterisk |
|
- | 3609 | cmp al, '?' |
|
- | 3610 | jz .quest |
|
- | 3611 | cmp al, ']' |
|
- | 3612 | jz .list |
|
- | 3613 | dec edi |
|
- | 3614 | cmp edi, edx |
|
- | 3615 | jb .done_fail |
|
- | 3616 | call match_symbol |
|
- | 3617 | jz .mask_symbol |
|
- | 3618 | .done_fail: |
|
- | 3619 | stc |
|
- | 3620 | popa |
|
- | 3621 | ret |
|
- | 3622 | .mask_done: |
|
- | 3623 | cmp edi, edx |
|
- | 3624 | jnz .done_fail |
|
- | 3625 | .done_succ: |
|
- | 3626 | clc |
|
- | 3627 | popa |
|
- | 3628 | ret |
|
- | 3629 | .quest: |
|
- | 3630 | dec edi |
|
- | 3631 | cmp edi, edx |
|
- | 3632 | jb .done_fail |
|
- | 3633 | jmp .mask_symbol |
|
- | 3634 | .list: |
|
- | 3635 | dec edi |
|
- | 3636 | cmp edi, edx |
|
- | 3637 | jb .done_fail |
|
- | 3638 | .list_check: |
|
- | 3639 | dec esi |
|
- | 3640 | cmp esi, ecx |
|
- | 3641 | jbe .done_fail |
|
- | 3642 | mov al, [esi] |
|
- | 3643 | cmp al, '[' |
|
- | 3644 | jz .done_fail |
|
- | 3645 | cmp byte [esi-1], '-' |
|
- | 3646 | jz .range |
|
- | 3647 | call match_symbol |
|
- | 3648 | jnz .list_check |
|
- | 3649 | .listok: |
|
- | 3650 | @@: |
|
- | 3651 | dec esi |
|
- | 3652 | cmp esi, ecx |
|
- | 3653 | jb .done_fail |
|
- | 3654 | cmp byte [esi], '[' |
|
- | 3655 | jnz @b |
|
- | 3656 | jmp .mask_symbol |
|
- | 3657 | .range: |
|
- | 3658 | call match_symbol |
|
- | 3659 | jb @f |
|
- | 3660 | mov al, [esi-2] |
|
- | 3661 | call match_symbol |
|
- | 3662 | jbe .listok |
|
- | 3663 | @@: |
|
- | 3664 | dec esi |
|
- | 3665 | dec esi |
|
- | 3666 | jmp .list_check |
|
- | 3667 | .asterisk: |
|
- | 3668 | cmp esi, ecx |
|
- | 3669 | jz .done_succ |
|
- | 3670 | cmp byte [esi-1], '?' |
|
- | 3671 | jnz @f |
|
- | 3672 | cmp edi, edx |
|
- | 3673 | jz .done_fail |
|
- | 3674 | dec esi |
|
- | 3675 | jmp .asterisk |
|
- | 3676 | @@: |
|
- | 3677 | cmp byte [esi-1], ']' |
|
- | 3678 | jz .asterisk_common |
|
- | 3679 | ; the mask is ... |
|
- | 3680 | .asterisk_normal: |
|
- | 3681 | mov al, [esi-1] |
|
- | 3682 | @@: |
|
- | 3683 | cmp edi, edx |
|
- | 3684 | jz .done_fail |
|
- | 3685 | call match_symbol |
|
- | 3686 | jz @f |
|
- | 3687 | dec edi |
|
- | 3688 | jmp @b |
|
- | 3689 | @@: |
|
- | 3690 | dec edi |
|
- | 3691 | dec esi |
|
- | 3692 | call match_single_mask_rev2 |
|
- | 3693 | jnc .done_succ |
|
- | 3694 | inc esi |
|
- | 3695 | jmp .asterisk_normal |
|
- | 3696 | .asterisk_common: |
|
- | 3697 | push edi |
|
- | 3698 | @@: |
|
- | 3699 | call match_single_mask_rev2 |
|
- | 3700 | jnc @f |
|
- | 3701 | dec edi |
|
- | 3702 | cmp edi, edx |
|
- | 3703 | jae @b |
|
- | 3704 | pop edi |
|
- | 3705 | jmp .done_fail |
|
- | 3706 | @@: |
|
- | 3707 | pop edi |
|
- | 3708 | jmp .done_succ |
|
- | 3709 | end if |
|
2862 | 3710 | ||
2863 | tolower: |
3711 | tolower: |
2864 | cmp al, 'A' |
3712 | cmp al, 'A' |
2865 | jb @f |
3713 | jb @f |
2866 | cmp al, 'Z' |
3714 | cmp al, 'Z' |
Line 2878... | Line 3726... | ||
2878 | call tolower |
3726 | call tolower |
2879 | cmp ah, al |
3727 | cmp ah, al |
2880 | pop eax |
3728 | pop eax |
2881 | ret |
3729 | ret |
Line -... | Line 3730... | ||
- | 3730 | ||
- | 3731 | match_mask_rev_lowercase: |
|
- | 3732 | ; in: esi->name, edx->end of name, edi->mask |
|
- | 3733 | ; out: CF clear <=> match |
|
- | 3734 | pusha |
|
- | 3735 | xchg esi, edx |
|
- | 3736 | xchg esi, edi |
|
- | 3737 | .main_cycle: |
|
- | 3738 | mov ecx, esi |
|
- | 3739 | @@: |
|
- | 3740 | lodsb |
|
- | 3741 | test al, al |
|
- | 3742 | jz @f |
|
- | 3743 | cmp al, ',' |
|
- | 3744 | jz @f |
|
- | 3745 | cmp al, '|' |
|
- | 3746 | jnz @b |
|
- | 3747 | @@: |
|
- | 3748 | dec esi |
|
- | 3749 | mov [esi], byte 0 |
|
- | 3750 | call match_single_mask_rev_lowercase |
|
- | 3751 | mov [esi], al |
|
- | 3752 | inc esi |
|
- | 3753 | jnc .found |
|
- | 3754 | cmp al, ',' |
|
- | 3755 | jz .main_cycle |
|
- | 3756 | .done_fail: |
|
- | 3757 | stc |
|
- | 3758 | popa |
|
- | 3759 | ret |
|
- | 3760 | .found: |
|
- | 3761 | test al, al |
|
- | 3762 | jz .done_succ |
|
- | 3763 | cmp al, '|' |
|
- | 3764 | jz .test_exclude |
|
- | 3765 | lodsb |
|
- | 3766 | jmp .found |
|
- | 3767 | .done_succ: |
|
- | 3768 | clc |
|
- | 3769 | popa |
|
- | 3770 | ret |
|
- | 3771 | .test_exclude: |
|
- | 3772 | mov ecx, esi |
|
- | 3773 | @@: |
|
- | 3774 | lodsb |
|
- | 3775 | test al, al |
|
- | 3776 | jz @f |
|
- | 3777 | cmp al, ',' |
|
- | 3778 | jnz @b |
|
- | 3779 | @@: |
|
- | 3780 | dec esi |
|
- | 3781 | mov byte [esi], 0 |
|
- | 3782 | call match_single_mask_rev_lowercase |
|
- | 3783 | mov [esi], al |
|
- | 3784 | inc esi |
|
- | 3785 | jnc .done_fail |
|
- | 3786 | test al, al |
|
- | 3787 | jz .done_succ |
|
Line -... | Line 3788... | ||
- | 3788 | jmp .test_exclude |
|
- | 3789 | ||
- | 3790 | match_single_mask_rev_lowercase: |
|
- | 3791 | ; in: esi->end of mask, ecx->start of mask, edi->end of name, edx->start of name |
|
- | 3792 | ; out: CF clear <=> match |
|
- | 3793 | push esi edi eax |
|
- | 3794 | .mask_symbol: |
|
- | 3795 | dec esi |
|
- | 3796 | cmp esi, ecx |
|
- | 3797 | jb .mask_done |
|
- | 3798 | mov al, [esi] |
|
- | 3799 | cmp al, '*' |
|
- | 3800 | jz .asterisk |
|
- | 3801 | cmp al, '?' |
|
- | 3802 | jz .quest |
|
- | 3803 | cmp al, ']' |
|
- | 3804 | jz .list |
|
- | 3805 | dec edi |
|
- | 3806 | cmp edi, edx |
|
- | 3807 | jb .done_fail |
|
- | 3808 | cmp al, [edi] |
|
- | 3809 | jz .mask_symbol |
|
- | 3810 | .done_fail: |
|
- | 3811 | stc |
|
- | 3812 | pop eax edi esi |
|
- | 3813 | ret |
|
- | 3814 | .mask_done: |
|
- | 3815 | cmp edi, edx |
|
- | 3816 | jnz .done_fail |
|
- | 3817 | .done_succ: |
|
- | 3818 | clc |
|
- | 3819 | pop eax edi esi |
|
- | 3820 | ret |
|
- | 3821 | .quest: |
|
- | 3822 | dec edi |
|
- | 3823 | cmp edi, edx |
|
- | 3824 | jb .done_fail |
|
- | 3825 | jmp .mask_symbol |
|
- | 3826 | .list: |
|
- | 3827 | dec edi |
|
- | 3828 | cmp edi, edx |
|
- | 3829 | jb .done_fail |
|
- | 3830 | .list_check: |
|
- | 3831 | dec esi |
|
- | 3832 | cmp esi, ecx |
|
- | 3833 | jbe .done_fail |
|
- | 3834 | mov al, [esi] |
|
- | 3835 | cmp al, '[' |
|
- | 3836 | jz .done_fail |
|
- | 3837 | cmp byte [esi-1], '-' |
|
- | 3838 | jz .range |
|
- | 3839 | cmp al, [edi] |
|
- | 3840 | jnz .list_check |
|
- | 3841 | .listok: |
|
- | 3842 | @@: |
|
- | 3843 | dec esi |
|
- | 3844 | cmp esi, ecx |
|
- | 3845 | jb .done_fail |
|
- | 3846 | cmp byte [esi], '[' |
|
- | 3847 | jnz @b |
|
- | 3848 | jmp .mask_symbol |
|
- | 3849 | .range: |
|
- | 3850 | cmp al, [edi] |
|
- | 3851 | jb @f |
|
- | 3852 | mov al, [esi-2] |
|
- | 3853 | cmp al, [edi] |
|
- | 3854 | jbe .listok |
|
- | 3855 | @@: |
|
- | 3856 | dec esi |
|
- | 3857 | dec esi |
|
- | 3858 | jmp .list_check |
|
- | 3859 | .asterisk: |
|
- | 3860 | cmp esi, ecx |
|
- | 3861 | jz .done_succ |
|
- | 3862 | cmp byte [esi-1], '?' |
|
- | 3863 | jnz @f |
|
- | 3864 | cmp edi, edx |
|
- | 3865 | jz .done_fail |
|
- | 3866 | dec esi |
|
- | 3867 | jmp .asterisk |
|
2882 | 3868 | @@: |
|
- | 3869 | cmp byte [esi-1], ']' |
|
- | 3870 | jz .asterisk_common |
|
- | 3871 | ; the mask is ... |
|
- | 3872 | .asterisk_normal: |
|
- | 3873 | mov al, [esi-1] |
|
- | 3874 | @@: |
|
- | 3875 | cmp edi, edx |
|
- | 3876 | jz .done_fail |
|
- | 3877 | cmp al, [edi] |
|
- | 3878 | jz @f |
|
- | 3879 | dec edi |
|
- | 3880 | jmp @b |
|
- | 3881 | @@: |
|
- | 3882 | dec edi |
|
- | 3883 | dec esi |
|
- | 3884 | call match_single_mask_rev_lowercase |
|
- | 3885 | jnc .done_succ |
|
- | 3886 | inc esi |
|
- | 3887 | jmp .asterisk_normal |
|
- | 3888 | .asterisk_common: |
|
- | 3889 | push edi |
|
- | 3890 | @@: |
|
- | 3891 | call match_single_mask_rev_lowercase |
|
- | 3892 | jnc @f |
|
- | 3893 | dec edi |
|
- | 3894 | cmp edi, edx |
|
- | 3895 | jae @b |
|
- | 3896 | pop edi |
|
2883 | 3897 | jmp .done_fail |
|
- | 3898 | @@: |
|
- | 3899 | pop edi |
|
- | 3900 | jmp .done_succ |
|
- | 3901 | ||
- | 3902 | find_extension: |
|
- | 3903 | lea esi, [ecx+40] |
|
- | 3904 | push esi |
|
- | 3905 | @@: |
|
- | 3906 | lodsb |
|
- | 3907 | test al, al |
|
- | 3908 | jnz @b |
|
- | 3909 | @@: |
|
- | 3910 | dec esi |
|
- | 3911 | cmp byte [esi], '.' |
|
- | 3912 | jz .found_ext |
|
- | 3913 | cmp esi, [esp] |
|
- | 3914 | ja @b |
|
- | 3915 | ; empty extension |
|
- | 3916 | pop esi |
|
- | 3917 | stc |
|
- | 3918 | ret |
|
- | 3919 | .found_ext: |
|
- | 3920 | inc esi |
|
- | 3921 | mov edi, associations |
|
- | 3922 | @@: |
|
- | 3923 | push esi edi |
|
- | 3924 | mov edi, [edi] |
|
- | 3925 | call strcmpi |
|
- | 3926 | pop edi esi |
|
- | 3927 | jz @f |
|
2884 | header db 'Kolibri Far 0.14' |
3928 | add edi, 12 |
- | 3929 | cmp edi, associations_end |
|
- | 3930 | jb @b |
|
- | 3931 | ; unknown extension |
|
- | 3932 | inc edi |
|
- | 3933 | @@: |
|
- | 3934 | pop esi |
|
- | 3935 | ret |
|
Line 2885... | Line 3936... | ||
2885 | ;.length = $ - header |
3936 | |
2886 | db 0 |
3937 | header db 'Kolibri Far 0.19',0 |
Line 2887... | Line 3938... | ||
2887 | 3938 | ||
Line 3255... | Line 4306... | ||
3255 | end if |
4306 | end if |
Line 3256... | Line 4307... | ||
3256 | 4307 | ||
3257 | align 4 |
4308 | align 4 |
3258 | cur_width dd 80 |
4309 | cur_width dd 80 |
- | 4310 | cur_height dd 25 |
|
- | 4311 | saved_width dd -1 |
|
3259 | cur_height dd 25 |
4312 | saved_height dd -1 |
3260 | max_width = 256 |
4313 | max_width = 256 |
- | 4314 | max_height = 256 |
|
- | 4315 | console_data_ptr dd 0 |
|
- | 4316 | ||
- | 4317 | cursor_x dd -1 |
|
- | 4318 | cursor_y dd -1 |
|
- | 4319 | old_cursor_x dd -1 |
|
Line 3261... | Line 4320... | ||
3261 | max_height = 256 |
4320 | old_cursor_y dd -1 |
Line 3262... | Line 4321... | ||
3262 | 4321 | ||
3263 | active_panel dd panel1_data |
4322 | active_panel dd panel1_data |
Line 3373... | Line 4432... | ||
3373 | dd panels_OnKey.end |
4432 | dd panels_OnKey.end |
3374 | dw 0x1C, 0 |
4433 | dw 0x1C, 0 |
3375 | dd panels_OnKey.enter |
4434 | dd panels_OnKey.enter |
3376 | dw 0x3D, 0 |
4435 | dw 0x3D, 0 |
3377 | dd panels_OnKey.f3 |
4436 | dd panels_OnKey.f3 |
- | 4437 | dw 0x3F, 0 |
|
- | 4438 | dd panels_OnKey.f5 |
|
- | 4439 | dw 0x3F, 1 |
|
- | 4440 | dd panels_OnKey.shift_f5 |
|
3378 | dw 0x42, 0 |
4441 | dw 0x42, 0 |
3379 | dd panels_OnKey.f8 |
4442 | dd panels_OnKey.f8 |
- | 4443 | dw 0x43, 0x100 |
|
- | 4444 | dd alt_f9 |
|
3380 | dw 0x44, 0 |
4445 | dw 0x44, 0 |
3381 | dd exit |
4446 | dd exit |
- | 4447 | dw 0x5D, 0 |
|
- | 4448 | dd panels_OnKey.menu |
|
3382 | repeat 9-3+1 |
4449 | repeat 9-3+1 |
3383 | dw 0x3D+%-1, 0x10 |
4450 | dw 0x3D+%-1, 0x10 |
3384 | dd panels_OnKey.ctrl_f39 |
4451 | dd panels_OnKey.ctrl_f39 |
3385 | end repeat |
4452 | end repeat |
3386 | dw 0x3B, 0x100 |
4453 | dw 0x3B, 0x100 |
Line 3432... | Line 4499... | ||
3432 | dd viewer_OnKey.home |
4499 | dd viewer_OnKey.home |
3433 | dw 0x4F, 0 |
4500 | dw 0x4F, 0 |
3434 | dd viewer_OnKey.end |
4501 | dd viewer_OnKey.end |
3435 | dw 0x58, 0 |
4502 | dw 0x58, 0 |
3436 | dd F12 |
4503 | dd F12 |
- | 4504 | dw 0x43, 0x100 |
|
- | 4505 | dd alt_f9 |
|
3437 | db 0 |
4506 | db 0 |
Line 3438... | Line 4507... | ||
3438 | 4507 | ||
3439 | dirinfo: |
4508 | dirinfo: |
3440 | dd 1 |
4509 | dd 1 |
Line 3451... | Line 4520... | ||
3451 | .size dd 0 |
4520 | .size dd 0 |
3452 | .data dd 0 |
4521 | .data dd 0 |
3453 | db 0 |
4522 | db 0 |
3454 | .name dd 0 |
4523 | .name dd 0 |
Line -... | Line 4524... | ||
- | 4524 | ||
- | 4525 | writeinfo: |
|
- | 4526 | .code dd 2 |
|
- | 4527 | .first dq 0 |
|
- | 4528 | .size dd 0 |
|
- | 4529 | .data dd 0 |
|
- | 4530 | db 0 |
|
- | 4531 | .name dd 0 |
|
3455 | 4532 | ||
3456 | attrinfo: |
4533 | attrinfo: |
3457 | dd 5 |
4534 | dd 5 |
3458 | dd 0 |
4535 | dd 0 |
3459 | dd 0 |
4536 | dd 0 |
Line 3491... | Line 4568... | ||
3491 | dialog_main_color db 70h |
4568 | dialog_main_color db 70h |
3492 | dialog_border_color db 70h |
4569 | dialog_border_color db 70h |
3493 | dialog_header_color db 70h |
4570 | dialog_header_color db 70h |
3494 | dialog_normal_btn_color db 70h |
4571 | dialog_normal_btn_color db 70h |
3495 | dialog_selected_btn_color db 30h |
4572 | dialog_selected_btn_color db 30h |
- | 4573 | dialog_edit_color db 30h |
|
- | 4574 | dialog_unmodified_edit_color db 38h |
|
3496 | ; ¥î |
4575 | ; ¥î |
3497 | menu_normal_color db 3Fh |
4576 | menu_normal_color db 3Fh |
3498 | menu_selected_color db 0Fh |
4577 | menu_selected_color db 0Fh |
3499 | menu_highlight_color db 3Eh |
4578 | menu_highlight_color db 3Eh |
3500 | menu_selected_highlight_color db 0Eh |
4579 | menu_selected_highlight_color db 0Eh |
Line 3533... | Line 4612... | ||
3533 | .CursorColor db ? |
4612 | .CursorColor db ? |
3534 | .IncludeAttributes db ? |
4613 | .IncludeAttributes db ? |
3535 | .Mask: ; ASCIIZ-string |
4614 | .Mask: ; ASCIIZ-string |
3536 | end virtual |
4615 | end virtual |
Line -... | Line 4616... | ||
- | 4616 | ||
3537 | 4617 | ; all highlight masks must be in lowercase! |
|
3538 | highlight_group0: |
4618 | highlight_group0: |
3539 | db 13h |
4619 | db 13h |
3540 | db 38h |
4620 | db 38h |
3541 | db 2 |
4621 | db 2 |
Line 3588... | Line 4668... | ||
3588 | db 3Fh |
4668 | db 3Fh |
3589 | db 10h |
4669 | db 10h |
3590 | db '*',0 |
4670 | db '*',0 |
Line 3591... | Line 4671... | ||
3591 | 4671 | ||
3592 | associations: |
4672 | associations: |
3593 | dd aAsm, tinypad |
4673 | dd aAsm, tinypad, AsmMenu |
3594 | dd aInc, tinypad |
4674 | dd aInc, tinypad, 0 |
3595 | dd aTxt, tinypad |
4675 | dd aTxt, tinypad, 0 |
3596 | dd aJpg, jpegview |
4676 | dd aJpg, jpegview, 0 |
3597 | dd aJpeg, jpegview |
4677 | dd aJpeg, jpegview, 0 |
3598 | dd aGif, gifview |
4678 | dd aGif, gifview, GifMenu |
3599 | dd aWav, ac97 |
4679 | dd aWav, ac97, 0 |
3600 | dd aMp3, ac97 |
4680 | dd aMp3, ac97, 0 |
3601 | dd aMid, midamp |
4681 | dd aMid, midamp, 0 |
3602 | dd aBmp, mv |
4682 | dd aBmp, mv, BmpMenu |
3603 | dd aPng, archer |
4683 | dd aPng, archer, 0 |
3604 | dd aRtf, rtfread |
4684 | dd aRtf, rtfread, 0 |
3605 | dd a3ds, view3ds |
4685 | dd a3ds, view3ds, 0 |
3606 | dd aLif, life2 |
4686 | dd aLif, life2, 0 |
Line 3607... | Line 4687... | ||
3607 | associations_end: |
4687 | associations_end: |
3608 | 4688 | ||
3609 | aAsm db 'asm',0 |
4689 | aAsm db 'asm',0 |
Line 3638... | Line 4718... | ||
3638 | view3ds db '/rd/1/3d/view3ds',0 |
4718 | view3ds db '/rd/1/3d/view3ds',0 |
Line 3639... | Line 4719... | ||
3639 | 4719 | ||
3640 | aLif db 'lif',0 |
4720 | aLif db 'lif',0 |
Line -... | Line 4721... | ||
- | 4721 | life2 db '/rd/1/demos/life2',0 |
|
- | 4722 | ||
- | 4723 | AsmMenu: |
|
- | 4724 | dd aEdit, tinypad |
|
- | 4725 | dd aCompile, fasm |
|
- | 4726 | dd 0 |
|
- | 4727 | BmpMenu: |
|
- | 4728 | dd aView, mv |
|
- | 4729 | dd aEdit, animage |
|
- | 4730 | dd 0 |
|
- | 4731 | GifMenu: |
|
- | 4732 | dd aView, gifview |
|
- | 4733 | dd aEdit, animage |
|
- | 4734 | dd 0 |
|
- | 4735 | ||
- | 4736 | if lang eq en |
|
- | 4737 | aView db '&View',0 |
|
- | 4738 | aCompile db '&Compile',0 |
|
- | 4739 | aEdit db '&Edit',0 |
|
- | 4740 | else |
|
- | 4741 | aView db '&à®á¬®âà',0 |
|
- | 4742 | aCompile db '&®¬¯¨«¨à®¢ âì',0 |
|
- | 4743 | aEdit db '&¥¤ ªâ®à',0 |
|
- | 4744 | end if |
|
- | 4745 | ||
- | 4746 | fasm db '/rd/1/develop/fasm',0 |
|
3641 | life2 db '/rd/1/demos/life2',0 |
4747 | animage db '/rd/1/animage',0 |
Line 3642... | Line 4748... | ||
3642 | 4748 | ||
Line 3643... | Line 4749... | ||
3643 | bConfirmDelete db 1 |
4749 | bConfirmDelete db 1 |
3644 | 4750 | ||
3645 | ; ¤¥áì § ª 稢 îâáï ª®ä¨£ãà æ¨®ë¥ ¤ ë¥ |
- | |
Line 3646... | Line 4751... | ||
3646 | 4751 | ; ¤¥áì § ª 稢 îâáï ª®ä¨£ãà æ¨®ë¥ ¤ ë¥ |
|
3647 | bWasE0 db 0 |
4752 | |
3648 | ctrlstate db 0 |
4753 | bWasE0 db 0 |
3649 | MemForImage dd 0 |
4754 | ctrlstate db 0 |
Line 3695... | Line 4800... | ||
3695 | .cnl_x2 dd ? |
4800 | .cnl_x2 dd ? |
3696 | dd 2 |
4801 | dd 2 |
3697 | dd aCancel |
4802 | dd aCancel |
3698 | .flags2 dd 0 |
4803 | .flags2 dd 0 |
Line -... | Line 4804... | ||
- | 4804 | ||
- | 4805 | ; ¤¨ «®£ ª®¯¨à®¢ ¨ï |
|
- | 4806 | copy_dlgdata: |
|
- | 4807 | dd 0 |
|
- | 4808 | .x dd -1 |
|
- | 4809 | .y dd -1 |
|
- | 4810 | .width dd ? |
|
- | 4811 | .height dd 4 |
|
- | 4812 | dd 4 |
|
- | 4813 | dd 2 |
|
- | 4814 | dd aCopyCaption |
|
- | 4815 | .main_color db ? |
|
- | 4816 | .border_color db ? |
|
- | 4817 | .header_color db ? |
|
- | 4818 | db 0 |
|
- | 4819 | dd 0 |
|
- | 4820 | dd 0 |
|
- | 4821 | dd 4 |
|
- | 4822 | ; áâப '®¯¨à®¢ âì "%s" ¢:' |
|
- | 4823 | dd 1 |
|
- | 4824 | dd 1,0 |
|
- | 4825 | .width2 dd ? |
|
- | 4826 | dd 0 |
|
- | 4827 | dd CopySourceTextBuf |
|
- | 4828 | dd 0 |
|
- | 4829 | ; ¯®«¥ । ªâ¨à®¢ ¨ï á ¨¬¥¥¬ ä ©« /¯ ¯ª¨ § 票ï |
|
- | 4830 | dd 3 |
|
- | 4831 | dd 1,1 |
|
- | 4832 | .width3 dd ? |
|
- | 4833 | dd 1 |
|
- | 4834 | dd CopyDestEditBuf |
|
- | 4835 | .flags0 dd 0 |
|
- | 4836 | ; ª®¯ª "ª®¯¨à®¢ âì" |
|
- | 4837 | .copy_btn: |
|
- | 4838 | dd 2 |
|
- | 4839 | .copy_x1 dd ? |
|
- | 4840 | dd 3 |
|
- | 4841 | .copy_x2 dd ? |
|
- | 4842 | dd 3 |
|
- | 4843 | dd aCopy |
|
- | 4844 | .flags1 dd 18h |
|
- | 4845 | ; ª®¯ª "®â¬¥¨âì" |
|
- | 4846 | dd 2 |
|
- | 4847 | .cnl_x1 dd ? |
|
- | 4848 | dd 3 |
|
- | 4849 | .cnl_x2 dd ? |
|
- | 4850 | dd 3 |
|
- | 4851 | dd aCancelB |
|
- | 4852 | .flags2 dd 8 |
|
- | 4853 | ||
3699 | 4854 | ||
3700 | if lang eq ru |
4855 | if lang eq ru |
3701 | aDeleteCaption db '¤ «¥¨¥',0 |
4856 | aDeleteCaption db '¤ «¥¨¥',0 |
3702 | aConfirmDeleteText db 'ë å®â¨â¥ 㤠«¨âì ',0 |
4857 | aConfirmDeleteText db 'ë å®â¨â¥ 㤠«¨âì ',0 |
3703 | aDeleteFolder db '¯ ¯ªã',0 |
4858 | aDeleteFolder db '¯ ¯ªã',0 |
3704 | aConfirmDeleteTextMax = $ - aConfirmDeleteText - 2 |
4859 | aConfirmDeleteTextMax = $ - aConfirmDeleteText - 2 |
3705 | aDeleteFile db 'ä ©«',0 |
4860 | aDeleteFile db 'ä ©«',0 |
3706 | aDelete db ' ¤ «¨âì ',0 |
4861 | aDelete db ' ¤ «¨âì ',0 |
3707 | aDeleteLength = $ - aDelete - 1 |
4862 | aDeleteLength = $ - aDelete - 1 |
3708 | aCancel db ' ⬥¨âì ',0 |
4863 | aCancel db ' ⬥¨âì ',0 |
- | 4864 | aCancelLength = $ - aCancel - 1 |
|
- | 4865 | aCancelB db '[ ⬥¨âì ]',0 |
|
- | 4866 | aCancelBLength = $ - aCancelB - 1 |
|
- | 4867 | aCopyCaption db '®¯¨à®¢ ¨¥',0 |
|
- | 4868 | aCopy db '[ ®¯¨à®¢ âì ]',0 |
|
- | 4869 | aCopyLength = $ - aCopy - 1 |
|
- | 4870 | aCopy1 db '®¯¨à®¢ âì "',0 |
|
3709 | aCancelLength = $ - aCancel - 1 |
4871 | aCopy2 db '" ¢:',0 |
3710 | else |
4872 | else |
3711 | aDeleteCaption db 'Delete',0 |
4873 | aDeleteCaption db 'Delete',0 |
3712 | aConfirmDeleteText db 'Do you wish to delete ',0 |
4874 | aConfirmDeleteText db 'Do you wish to delete ',0 |
3713 | aDeleteFolder db 'the folder',0 |
4875 | aDeleteFolder db 'the folder',0 |
3714 | aConfirmDeleteTextMax = $ - aConfirmDeleteText - 2 |
4876 | aConfirmDeleteTextMax = $ - aConfirmDeleteText - 2 |
3715 | aDeleteFile db 'the file',0 |
4877 | aDeleteFile db 'the file',0 |
3716 | aDelete db ' Delete ',0 |
4878 | aDelete db ' Delete ',0 |
3717 | aDeleteLength = $ - aDelete - 1 |
4879 | aDeleteLength = $ - aDelete - 1 |
3718 | aCancel db ' Cancel ',0 |
4880 | aCancel db ' Cancel ',0 |
- | 4881 | aCancelLength = $ - aCancel - 1 |
|
- | 4882 | aCancelB db '[ Cancel ]',0 |
|
- | 4883 | aCancelBLength = $ - aCancelB - 1 |
|
- | 4884 | aCopyCaption db 'Copy',0 |
|
- | 4885 | aCopy db '[ Copy ]',0 |
|
- | 4886 | aCopyLength = $ - aCopy - 1 |
|
- | 4887 | aCopy1 db 'Copy "',0 |
|
3719 | aCancelLength = $ - aCancel - 1 |
4888 | aCopy2 db '" to:',0 |
Line 3720... | Line 4889... | ||
3720 | end if |
4889 | end if |
3721 | 4890 | ||
3722 | execinfo: |
4891 | execinfo: |
Line 3768... | Line 4937... | ||
3768 | panel2_nfa dd ? |
4937 | panel2_nfa dd ? |
3769 | panel2_numfiles dd ? |
4938 | panel2_numfiles dd ? |
3770 | panel2_files dd ? |
4939 | panel2_files dd ? |
3771 | panel2_dir rb 1024 |
4940 | panel2_dir rb 1024 |
Line 3772... | Line 4941... | ||
3772 | 4941 | ||
Line 3773... | Line 4942... | ||
3773 | console_data rb max_width*max_height*2 |
4942 | ;console_data rb max_width*max_height*2 |
3774 | 4943 | ||
Line 3775... | Line 4944... | ||
3775 | cur_header rb max_width |
4944 | cur_header rb max_width |
3776 | tmp dd ? |
4945 | tmp dd ? |
Line -... | Line 4946... | ||
- | 4946 | ||
- | 4947 | skinh dd ? |
|
- | 4948 | std_colors rd 10 |
|
- | 4949 | ||
- | 4950 | min_y dd ? |
|
- | 4951 | max_y dd ? |
|
- | 4952 | min_x dd ? |
|
3777 | 4953 | max_x dd ? |
|
3778 | skinh dd ? |
4954 | used_width dd ? |
3779 | std_colors rd 10 |
4955 | used_height dd ? |
3780 | 4956 | ||
3781 | column_left dd ? |
4957 | column_left dd ? |
Line 3787... | Line 4963... | ||
3787 | scrpos dq ? |
4963 | scrpos dq ? |
3788 | viewer_right_side dq ? |
4964 | viewer_right_side dq ? |
Line 3789... | Line 4965... | ||
3789 | 4965 | ||
3790 | saved_file_name: |
4966 | saved_file_name: |
- | 4967 | procinfo rb 1024 |
|
Line 3791... | Line 4968... | ||
3791 | procinfo rb 1024 |
4968 | lower_file_name = procinfo + 512 |
3792 | 4969 | ||
Line 3793... | Line 4970... | ||
3793 | driveinfo rb 32+304 |
4970 | driveinfo rb 32+304 |
3794 | tmpname rb 32 |
4971 | tmpname rb 32 |
3795 | 4972 | ||
3796 | screens dd ? |
4973 | screens dd ? |
Line 3797... | Line 4974... | ||
3797 | num_screens dd ? |
4974 | num_screens dd ? |
- | 4975 | active_screen_vtable dd ? |
|
- | 4976 | active_screen_data dd ? |
|
- | 4977 | ||
- | 4978 | aConfirmDeleteTextBuf rb aConfirmDeleteTextMax + 1 |
|
- | 4979 | CopySourceTextBuf rb 512 |
|
- | 4980 | CopyDestEditBuf rb 12+512+1 |
|
- | 4981 | .length = $ - CopyDestEditBuf - 9 |
|
- | 4982 | ||
- | 4983 | align 4 |
|
Line 3798... | Line 4984... | ||
3798 | active_screen_vtable dd ? |
4984 | layout rb 128 |
3799 | active_screen_data dd ? |
4985 | |
3800 | 4986 | copy_buffer_size = 32768 |
|
3801 | aConfirmDeleteTextBuf rb aConfirmDeleteTextMax + 1 |
4987 | copy_buffer rb copy_buffer_size |
3802 | - | ||
3803 | ; stack |
- | |
3804 | align 4 |
- | |
Line 3805... | Line 4988... | ||
3805 | rb 512 |
4988 |