Rev 2584 | Rev 5684 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2584 | Rev 3840 | ||
---|---|---|---|
Line -... | Line 1... | ||
- | 1 | ;------------------------------------------------------------------------------ |
|
1 | draw_buttons_panel: |
2 | draw_buttons_panel: |
2 | mov ecx,[skin_high] |
3 | mov ecx,[skin_high] |
3 | add ecx,19 |
4 | add ecx,19 |
4 | shl ecx,16 |
5 | shl ecx,16 |
5 | mov cx,18 |
6 | mov cx,18 |
Line 9... | Line 10... | ||
9 | mcall 13,,,0xffffff |
10 | mcall 13,,,0xffffff |
10 | mov edx,15 shl 16+20 |
11 | mov edx,15 shl 16+20 |
11 | add edx,[skin_high] |
12 | add edx,[skin_high] |
12 | pusha |
13 | pusha |
13 | call .calculate_button |
14 | call .calculate_button |
14 | mov edx,150 |
15 | mcall ,,,150 |
15 | int 0x40 |
- | |
16 | popa |
16 | popa |
17 | mcall 7,[buttons_img_start],<16,16> |
17 | mcall 7,[buttons_img_start],<16,16> |
18 | add edx,26 shl 16 |
18 | add edx,26 shl 16 |
19 | add ebx,16*16*3 |
19 | add ebx,16*16*3 |
20 | pusha |
20 | pusha |
21 | call .calculate_button |
21 | call .calculate_button |
22 | mov edx,151 |
22 | mcall ,,,151 |
23 | int 0x40 |
- | |
24 | popa |
23 | popa |
25 | int 0x40 |
24 | mcall |
26 | add edx,26 shl 16 |
25 | add edx,26 shl 16 |
27 | add ebx,16*16*3 |
26 | add ebx,16*16*3 |
28 | pusha |
27 | pusha |
29 | call .calculate_button |
28 | call .calculate_button |
30 | mov edx,152 |
29 | mcall ,,,152 |
31 | int 0x40 |
- | |
32 | popa |
30 | popa |
33 | int 0x40 |
31 | mcall |
34 | add edx,26 shl 16 |
32 | add edx,26 shl 16 |
35 | add ebx,16*16*3 |
33 | add ebx,16*16*3 |
36 | pusha |
34 | pusha |
37 | call .calculate_button |
35 | call .calculate_button |
38 | mov edx,153 |
36 | mcall ,,,153 |
39 | int 0x40 |
- | |
40 | popa |
37 | popa |
41 | int 0x40 |
38 | mcall |
42 | add edx,26 shl 16 |
39 | add edx,26 shl 16 |
43 | add ebx,16*16*3 |
40 | add ebx,16*16*3 |
44 | pusha |
41 | pusha |
45 | call .calculate_button |
42 | call .calculate_button |
46 | mov edx,154 |
43 | mcall ,,,154 |
47 | int 0x40 |
- | |
48 | popa |
44 | popa |
49 | int 0x40 |
45 | mcall |
50 | add edx,26 shl 16 |
46 | add edx,26 shl 16 |
51 | add ebx,16*16*3 |
47 | add ebx,16*16*3 |
52 | pusha |
48 | pusha |
53 | call .calculate_button |
49 | call .calculate_button |
54 | mov edx,155 |
50 | mcall ,,,155 |
55 | int 0x40 |
- | |
56 | popa |
51 | popa |
57 | int 0x40 |
52 | mcall |
58 | add edx,26 shl 16 |
53 | add edx,26 shl 16 |
59 | add ebx,16*16*3 |
54 | add ebx,16*16*3 |
60 | pusha |
55 | pusha |
61 | call .calculate_button |
56 | call .calculate_button |
62 | mov edx,156 |
57 | mcall ,,,156 |
63 | int 0x40 |
- | |
64 | popa |
58 | popa |
65 | int 0x40 |
59 | mcall |
66 | add edx,26 shl 16 |
60 | add edx,26 shl 16 |
67 | add ebx,16*16*3 |
61 | add ebx,16*16*3 |
68 | pusha |
62 | pusha |
69 | call .calculate_button |
63 | call .calculate_button |
70 | mov edx,157 |
64 | mcall ,,,157 |
71 | int 0x40 |
- | |
72 | popa |
65 | popa |
73 | int 0x40 |
66 | mcall |
74 | ret |
67 | ret |
- | 68 | ;-------------------------------------- |
|
75 | .calculate_button: |
69 | .calculate_button: |
76 | mov esi,0xffffff |
70 | mov esi,0xffffff |
77 | mov ebx,edx |
71 | mov ebx,edx |
78 | mov bx,15 |
72 | mov bx,15 |
79 | mov ecx,edx |
73 | mov ecx,edx |
80 | shl ecx,16 |
74 | shl ecx,16 |
81 | mov cx,bx |
75 | mov cx,bx |
82 | mov eax,8 |
76 | mov eax,8 |
83 | ret |
77 | ret |
84 | ;--------------------------------------------------------------------- |
78 | ;------------------------------------------------------------------------------ |
85 | draw_left_sort_button: |
79 | draw_left_sort_button: |
86 | mov bx,[left_panel_x.start_x] |
80 | mov bx,[left_panel_x.start_x] |
87 | add bx,[left_panel_x.size_x] |
81 | add bx,[left_panel_x.size_x] |
88 | sub ebx,50+15 |
82 | sub ebx,50+15 |
89 | mov cx,[left_panel_y.start_y] |
83 | mov cx,[left_panel_y.start_y] |
90 | call calclulate_sort_button_1 |
84 | call calclulate_sort_button_1 |
91 | mov edx,145 |
85 | mov edx,145 |
- | 86 | ;-------------------------------------- |
|
92 | .start: |
87 | .start: |
93 | mov esi,0xffffff |
88 | mov esi,0xffffff |
94 | dec ebp |
89 | dec ebp |
95 | cmp [left_sort_flag],ebp |
90 | cmp [left_sort_flag],ebp |
96 | jne @f |
91 | jne @f |
- | 92 | ||
97 | mov esi,0xccccff |
93 | mov esi,0xccccff |
- | 94 | ;-------------------------------------- |
|
98 | @@: |
95 | @@: |
99 | call calclulate_sort_button_2 |
96 | call calclulate_sort_button_2 |
100 | jnz .start |
97 | jnz .start |
- | 98 | ||
101 | ret |
99 | ret |
102 | ;--------------------------------------------------------------------- |
100 | ;------------------------------------------------------------------------------ |
103 | calclulate_sort_button_1: |
101 | calclulate_sort_button_1: |
104 | shl ebx,16 |
102 | shl ebx,16 |
105 | mov bx,50 |
103 | mov bx,50 |
106 | sub cx,14 |
104 | sub cx,14 |
107 | shl ecx,16 |
105 | shl ecx,16 |
108 | mov cx,12 |
106 | mov cx,12 |
109 | mov eax,8 |
107 | mov eax,8 |
110 | mov ebp,4 |
108 | mov ebp,4 |
111 | ret |
109 | ret |
112 | ;--------------------------------------------------------------------- |
110 | ;------------------------------------------------------------------------------ |
113 | calclulate_sort_button_2: |
111 | calclulate_sort_button_2: |
114 | inc ebp |
112 | inc ebp |
115 | int 0x40 |
113 | mcall |
116 | pusha |
114 | pusha |
117 | push ebx |
115 | push ebx |
118 | mov eax,ebx |
116 | mov eax,ebx |
119 | inc eax |
117 | inc eax |
120 | shl eax,16 |
118 | shl eax,16 |
121 | add ebx,eax |
119 | add ebx,eax |
122 | cmp ebp,4 |
120 | cmp ebp,4 |
123 | jne @f |
121 | jne @f |
- | 122 | ||
124 | mov bx,15 |
123 | mov bx,15 |
125 | jmp .continue |
124 | jmp .continue |
- | 125 | ;-------------------------------------- |
|
126 | @@: |
126 | @@: |
127 | mov bx,1 |
127 | mov bx,1 |
- | 128 | ;-------------------------------------- |
|
128 | .continue: |
129 | .continue: |
129 | mov edx,0xcccccc |
- | |
130 | inc ecx |
130 | inc ecx |
131 | mcall 13 |
131 | mcall 13,,,0xcccccc |
132 | pop ebx |
132 | pop ebx |
133 | cmp ebp,1 |
133 | cmp ebp,1 |
134 | jne @f |
134 | jne @f |
- | 135 | ||
135 | mov eax,[temp_panel_end] |
136 | mov eax,[temp_panel_end] |
136 | shl eax,16 |
137 | shl eax,16 |
137 | add eax,[temp_panel_end] |
138 | add eax,[temp_panel_end] |
138 | shr eax,16 |
139 | shr eax,16 |
139 | shr ebx,16 |
140 | shr ebx,16 |
Line 141... | Line 142... | ||
141 | shl ebx,16 |
142 | shl ebx,16 |
142 | mov bx,ax |
143 | mov bx,ax |
143 | rol ebx,16 |
144 | rol ebx,16 |
144 | mcall 13 |
145 | mcall 13 |
145 | mov [temp_panel_end],ebx |
146 | mov [temp_panel_end],ebx |
- | 147 | ;-------------------------------------- |
|
146 | @@: |
148 | @@: |
147 | popa |
149 | popa |
148 | pusha |
150 | pusha |
149 | shr ecx,16 |
151 | shr ecx,16 |
150 | mov bx,cx |
152 | mov bx,cx |
151 | add ebx,3 shl 16+2 |
153 | add ebx,3 shl 16+2 |
152 | mov ecx,0x10000000 |
- | |
153 | mov edx,ebp |
154 | mov edx,ebp |
154 | dec edx |
155 | dec edx |
155 | shl edx,2 |
156 | shl edx,2 |
156 | add edx,sort_button_name |
157 | add edx,sort_button_name |
157 | mov eax,4 |
158 | mov eax,4 |
158 | mov esi,eax |
159 | mov esi,eax |
159 | int 0x40 |
160 | mcall ,,0x10000000 |
160 | popa |
161 | popa |
161 | dec edx |
162 | dec edx |
162 | sub ebx,38 shl 16 |
163 | sub ebx,38 shl 16 |
163 | mov bx,36 |
164 | mov bx,36 |
164 | dec ebp |
165 | dec ebp |
165 | ret |
166 | ret |
166 | ;--------------------------------------------------------------------- |
167 | ;------------------------------------------------------------------------------ |
167 | draw_right_sort_button: |
168 | draw_right_sort_button: |
168 | mov bx,[right_panel_x.start_x] |
169 | mov bx,[right_panel_x.start_x] |
169 | add bx,[right_panel_x.size_x] |
170 | add bx,[right_panel_x.size_x] |
170 | sub ebx,50+15 |
171 | sub ebx,50+15 |
171 | mov cx,[right_panel_y.start_y] |
172 | mov cx,[right_panel_y.start_y] |
172 | call calclulate_sort_button_1 |
173 | call calclulate_sort_button_1 |
173 | mov edx,149 |
174 | mov edx,149 |
- | 175 | ;-------------------------------------- |
|
174 | .start: |
176 | .start: |
175 | mov esi,0xffffff |
177 | mov esi,0xffffff |
176 | dec ebp |
178 | dec ebp |
177 | cmp [right_sort_flag],ebp |
179 | cmp [right_sort_flag],ebp |
178 | jne @f |
180 | jne @f |
- | 181 | ||
179 | mov esi,0xccccff |
182 | mov esi,0xccccff |
- | 183 | ;-------------------------------------- |
|
180 | @@: |
184 | @@: |
181 | call calclulate_sort_button_2 |
185 | call calclulate_sort_button_2 |
182 | jnz .start |
186 | jnz .start |
- | 187 | ||
183 | ret |
188 | ret |
184 | ;--------------------------------------------------------------------- |
189 | ;------------------------------------------------------------------------------ |
185 | draw_left_select_disk_button: |
190 | draw_left_select_disk_button: |
186 | mov bx,[left_panel_x.start_x] |
191 | mov bx,[left_panel_x.start_x] |
187 | mov cx,[left_panel_y.start_y] |
192 | mov cx,[left_panel_y.start_y] |
188 | mov ebp,read_folder_name ;read_folder.name |
193 | mov ebp,read_folder_name ;read_folder.name |
189 | mov edx,0x40000000+140 |
194 | mov edx,0x40000000+140 |
- | 195 | ;-------------------------------------- |
|
190 | .1: |
196 | .1: |
191 | shl ebx,16 |
197 | shl ebx,16 |
192 | mov bx,60 |
198 | mov bx,60 |
193 | sub cx,14 |
199 | sub cx,14 |
194 | shl ecx,16 |
200 | shl ecx,16 |
195 | mov cx,13 |
201 | mov cx,13 |
196 | mov esi,0xffffff |
202 | mcall 8,,,,0xffffff |
197 | mov eax,8 |
- | |
198 | int 0x40 |
- | |
199 | mov edx,0xffffff |
203 | mcall 13,,,0xffffff |
200 | mov eax,13 |
- | |
201 | int 0x40 |
- | |
202 | pusha |
204 | pusha |
203 | ; mov esi,read_folder.name+2 |
- | |
204 | mov esi,ebp |
205 | mov esi,ebp |
205 | add esi,2 |
206 | add esi,2 |
- | 207 | ;-------------------------------------- |
|
206 | @@: |
208 | @@: |
207 | inc esi |
209 | inc esi |
208 | cmp [esi],byte 0 |
210 | cmp [esi],byte 0 |
209 | je @f |
211 | je @f |
- | 212 | ||
210 | cmp [esi],byte '/' |
213 | cmp [esi],byte '/' |
211 | jne @r |
214 | jne @r |
- | 215 | ||
212 | add esi,2 |
216 | add esi,2 |
- | 217 | ;-------------------------------------- |
|
213 | @@: |
218 | @@: |
214 | sub esi,ebp ;read_folder.name |
219 | sub esi,ebp ;read_folder.name |
215 | add ebx,1 shl 16 |
220 | add ebx,1 shl 16 |
216 | shr ecx,16 |
221 | shr ecx,16 |
217 | mov bx,cx |
222 | mov bx,cx |
Line 219... | Line 224... | ||
219 | mov edx,ebp |
224 | mov edx,ebp |
220 | mcall 4, ,0 ;,read_folder.name |
225 | mcall 4,,0 ;,read_folder.name |
221 | popa |
226 | popa |
222 | add ebx,50 shl 16 |
227 | add ebx,50 shl 16 |
223 | mov bx,10 |
228 | mov bx,10 |
224 | mov edx,0x6060ff |
229 | mcall ,,,0x6060ff |
225 | int 0x40 |
- | |
226 | mov [temp_panel_end],ebx |
230 | mov [temp_panel_end],ebx |
227 | add ebx,1 shl 16 |
231 | add ebx,1 shl 16 |
228 | shr ecx,16 |
232 | shr ecx,16 |
229 | mov bx,cx |
233 | mov bx,cx |
230 | add ebx,3 |
234 | add ebx,3 |
231 | mcall 4, ,0x80ffffff,select_disk_char |
235 | mcall 4, ,0x80ffffff,select_disk_char |
232 | add ebx,1 shl 16 |
236 | add ebx,1 shl 16 |
233 | int 0x40 |
237 | mcall |
234 | ret |
238 | ret |
235 | ;--------------------------------------------------------------------- |
239 | ;------------------------------------------------------------------------------ |
236 | draw_right_select_disk_button: |
240 | draw_right_select_disk_button: |
237 | mov bx,[right_panel_x.start_x] |
241 | mov bx,[right_panel_x.start_x] |
238 | mov cx,[right_panel_y.start_y] |
242 | mov cx,[right_panel_y.start_y] |
239 | mov ebp,read_folder_1_name ;read_folder_1.name |
243 | mov ebp,read_folder_1_name ;read_folder_1.name |
240 | mov edx,0x40000000+141 |
244 | mov edx,0x40000000+141 |
241 | jmp draw_left_select_disk_button.1 |
245 | jmp draw_left_select_disk_button.1 |
242 | ;--------------------------------------------------------------------- |
246 | ;------------------------------------------------------------------------------ |
243 | draw_device_button: |
247 | draw_device_button: |
244 | mov edi,device_present |
248 | mov edi,device_present |
245 | mov edx,120 |
249 | mov edx,120 |
246 | mov bx,[left_panel_x.start_x] |
250 | mov bx,[left_panel_x.start_x] |
247 | mov cx,[left_panel_y.start_y] |
251 | mov cx,[left_panel_y.start_y] |
248 | mov eax,[left_panel_x] |
252 | mov eax,[left_panel_x] |
249 | mov [temp_panel_end],eax |
253 | mov [temp_panel_end],eax |
250 | mov [temp_counter],0 |
254 | mov [temp_counter],0 |
251 | call .draw |
255 | call .draw |
252 | ; inc edx |
- | |
253 | mov edx,130 |
256 | mov edx,130 |
254 | mov bx,[right_panel_x.start_x] |
257 | mov bx,[right_panel_x.start_x] |
255 | mov cx,[right_panel_y.start_y] |
258 | mov cx,[right_panel_y.start_y] |
256 | mov eax,[right_panel_x] |
259 | mov eax,[right_panel_x] |
257 | mov [temp_panel_end],eax |
260 | mov [temp_panel_end],eax |
258 | mov [temp_counter],1 |
261 | mov [temp_counter],1 |
- | 262 | ;-------------------------------------- |
|
259 | .draw: |
263 | .draw: |
260 | shl ebx,16 |
264 | shl ebx,16 |
261 | mov bx,25 |
265 | mov bx,25 |
262 | sub cx,30 |
266 | sub cx,30 |
263 | shl ecx,16 |
267 | shl ecx,16 |
264 | mov cx,12 |
268 | mov cx,12 |
265 | mov eax,8 |
269 | mov eax,8 |
266 | mov esi,0xaa00 |
270 | mov esi,0xaa00 |
267 | cmp [edi],byte 1 |
271 | cmp [edi],byte 1 |
268 | jne @f |
272 | jne @f |
- | 273 | ||
269 | mov ebp,read_folder_device_name.rd |
274 | mov ebp,read_folder_device_name.rd |
270 | call .draw_1 |
275 | call .draw_1 |
- | 276 | ;-------------------------------------- |
|
271 | @@: |
277 | @@: |
272 | inc edx |
278 | inc edx |
273 | cmp [edi+1],byte 1 |
279 | cmp [edi+1],byte 1 |
274 | jne @f |
280 | jne @f |
- | 281 | ||
275 | mov ebp,read_folder_device_name.fd |
282 | mov ebp,read_folder_device_name.fd |
276 | call .draw_1 |
283 | call .draw_1 |
- | 284 | ;-------------------------------------- |
|
277 | @@: |
285 | @@: |
278 | inc edx |
286 | inc edx |
279 | cmp [edi+2],byte 1 |
287 | cmp [edi+2],byte 1 |
280 | jne @f |
288 | jne @f |
- | 289 | ||
281 | mov ebp,read_folder_device_name.hd0 |
290 | mov ebp,read_folder_device_name.hd0 |
282 | call .draw_1 |
291 | call .draw_1 |
- | 292 | ;-------------------------------------- |
|
283 | @@: |
293 | @@: |
284 | inc edx |
294 | inc edx |
285 | cmp [edi+3],byte 1 |
295 | cmp [edi+3],byte 1 |
286 | jne @f |
296 | jne @f |
- | 297 | ||
287 | mov ebp,read_folder_device_name.hd1 |
298 | mov ebp,read_folder_device_name.hd1 |
288 | call .draw_1 |
299 | call .draw_1 |
- | 300 | ;-------------------------------------- |
|
289 | @@: |
301 | @@: |
290 | inc edx |
302 | inc edx |
291 | cmp [edi+4],byte 1 |
303 | cmp [edi+4],byte 1 |
292 | jne @f |
304 | jne @f |
- | 305 | ||
293 | mov ebp,read_folder_device_name.hd2 |
306 | mov ebp,read_folder_device_name.hd2 |
294 | call .draw_1 |
307 | call .draw_1 |
- | 308 | ;-------------------------------------- |
|
295 | @@: |
309 | @@: |
296 | inc edx |
310 | inc edx |
297 | cmp [edi+5],byte 1 |
311 | cmp [edi+5],byte 1 |
298 | jne @f |
312 | jne @f |
- | 313 | ||
299 | mov ebp,read_folder_device_name.hd3 |
314 | mov ebp,read_folder_device_name.hd3 |
300 | call .draw_1 |
315 | call .draw_1 |
- | 316 | ;-------------------------------------- |
|
301 | @@: |
317 | @@: |
302 | inc edx |
318 | inc edx |
303 | cmp [edi+6],byte 1 |
319 | cmp [edi+6],byte 1 |
304 | jne @f |
320 | jne @f |
- | 321 | ||
305 | mov ebp,read_folder_device_name.cd0 |
322 | mov ebp,read_folder_device_name.cd0 |
306 | call .draw_1 |
323 | call .draw_1 |
- | 324 | ;-------------------------------------- |
|
307 | @@: |
325 | @@: |
308 | inc edx |
326 | inc edx |
309 | cmp [edi+7],byte 1 |
327 | cmp [edi+7],byte 1 |
310 | jne @f |
328 | jne @f |
- | 329 | ||
311 | mov ebp,read_folder_device_name.cd1 |
330 | mov ebp,read_folder_device_name.cd1 |
312 | call .draw_1 |
331 | call .draw_1 |
- | 332 | ;-------------------------------------- |
|
313 | @@: |
333 | @@: |
314 | inc edx |
334 | inc edx |
315 | cmp [edi+8],byte 1 |
335 | cmp [edi+8],byte 1 |
316 | jne @f |
336 | jne @f |
- | 337 | ||
317 | mov ebp,read_folder_device_name.cd2 |
338 | mov ebp,read_folder_device_name.cd2 |
318 | call .draw_1 |
339 | call .draw_1 |
- | 340 | ;-------------------------------------- |
|
319 | @@: |
341 | @@: |
320 | inc edx |
342 | inc edx |
321 | cmp [edi+9],byte 1 |
343 | cmp [edi+9],byte 1 |
322 | jne @f |
344 | jne @f |
- | 345 | ||
323 | mov ebp,read_folder_device_name.cd3 |
346 | mov ebp,read_folder_device_name.cd3 |
324 | call .draw_1 |
347 | call .draw_1 |
- | 348 | ;-------------------------------------- |
|
325 | @@: |
349 | @@: |
326 | push ebx |
350 | push ebx |
327 | mov ebx,[temp_panel_end] |
351 | mov ebx,[temp_panel_end] |
328 | mov ax,bx |
352 | mov ax,bx |
329 | shr ebx,16 |
353 | shr ebx,16 |
Line 336... | Line 360... | ||
336 | add ecx,1 |
360 | add ecx,1 |
337 | add ebx,1 |
361 | add ebx,1 |
338 | mcall 13,,,0xcccccc |
362 | mcall 13,,,0xcccccc |
339 | cmp [temp_counter],0 |
363 | cmp [temp_counter],0 |
340 | je @f |
364 | je @f |
- | 365 | ||
341 | mov ax,bx |
366 | mov ax,bx |
342 | shr ebx,16 |
367 | shr ebx,16 |
343 | add bx,ax |
368 | add bx,ax |
344 | mov eax,[window_width] |
369 | mov eax,[window_width] |
345 | sub eax,4 |
370 | sub eax,4 |
346 | sub ax,bx |
371 | sub ax,bx |
347 | cmp eax,0 |
372 | cmp eax,0 |
348 | jbe @f |
373 | jbe @f |
- | 374 | ||
349 | shl ebx,16 |
375 | shl ebx,16 |
350 | mov bx,ax |
376 | mov bx,ax |
351 | mov ax,[right_panel_y.size_y] |
377 | mov ax,[right_panel_y.size_y] |
352 | add ax,[right_panel_y.start_y] |
378 | add ax,[right_panel_y.start_y] |
353 | shr ecx,16 |
379 | shr ecx,16 |
354 | sub ax,cx |
380 | sub ax,cx |
355 | shl ecx,16 |
381 | shl ecx,16 |
356 | mov cx,ax |
382 | mov cx,ax |
357 | mov edx,0xcccccc |
383 | mcall 13,,,0xcccccc |
358 | mcall 13 |
- | |
359 | ret |
384 | ret |
360 | - | ||
- | 385 | ;-------------------------------------- |
|
361 | .draw_1: |
386 | .draw_1: |
362 | int 0x40 |
387 | mcall |
363 | pusha |
388 | pusha |
364 | mov eax,ebx |
389 | mov eax,ebx |
365 | inc eax |
390 | inc eax |
366 | shl eax,16 |
391 | shl eax,16 |
367 | add ebx,eax |
392 | add ebx,eax |
368 | mov bx,1 |
393 | mov bx,1 |
369 | inc ecx |
394 | inc ecx |
370 | mov edx,0xcccccc |
395 | mcall 13,,,0xcccccc |
371 | mcall 13 |
- | |
372 | popa |
396 | popa |
373 | pusha |
397 | pusha |
374 | mov edx,ebp |
398 | mov edx,ebp |
375 | shr ecx,16 |
399 | shr ecx,16 |
376 | mov bx,cx |
400 | mov bx,cx |
377 | add ebx,2 shl 16 +3 |
401 | add ebx,2 shl 16 +3 |
378 | mov ecx,0x90000000 |
402 | mcall 4,,0x90000000 |
379 | mov eax,4 |
- | |
380 | int 0x40 |
- | |
381 | mov ecx,0x90ffffff |
- | |
382 | sub ebx,1 shl 16 + 1 |
403 | sub ebx,1 shl 16 + 1 |
383 | int 0x40 |
404 | mcall ,,0x90ffffff |
384 | popa |
405 | popa |
385 | add ebx,27 shl 16 |
406 | add ebx,27 shl 16 |
- | 407 | ;-------------------------------------- |
|
386 | @@: |
408 | @@: |
387 | ret |
409 | ret |
388 | ;--------------------------------------------------------------------- |
410 | ;------------------------------------------------------------------------------ |
389 | draw_ATAPI_tray_control: |
411 | draw_ATAPI_tray_control: |
390 | ret |
412 | ret |
391 | ;--------------------------------------------------------------------- |
413 | ;------------------------------------------------------------------------------ |
392 | calc_max_panel_line: |
414 | calc_max_panel_line: |
393 | xor eax,eax |
415 | xor eax,eax |
394 | mov ax,[left_panel_y.size_y] |
416 | mov ax,[left_panel_y.size_y] |
395 | mov ebx,10 |
417 | mov ebx,10 |
396 | xor edx,edx |
418 | xor edx,edx |
397 | div ebx |
419 | div ebx |
398 | mov [max_panel_line],eax |
420 | mov [max_panel_line],eax |
399 | ret |
421 | ret |
400 | ;--------------------------------------------------------------------- |
422 | ;------------------------------------------------------------------------------ |
401 | draw_icon: |
423 | draw_icon: |
402 | pusha |
424 | pusha |
403 | test [edx-40],byte 0x10 |
425 | test [edx-40],byte 0x10 |
404 | jnz .draw_dir_pic |
426 | jnz .draw_dir_pic |
- | 427 | ||
405 | call get_icon_number |
428 | call get_icon_number |
406 | imul ebx,270 |
429 | imul ebx,270 |
407 | add ebx,mem |
430 | add ebx,mem |
408 | jmp .draw |
431 | jmp .draw |
- | 432 | ;-------------------------------------- |
|
409 | .draw_dir_pic: |
433 | .draw_dir_pic: |
410 | mov ebx,mem |
434 | mov ebx,mem |
411 | cmp [edx],word '..' |
435 | cmp [edx],word '..' |
412 | jne .draw |
436 | jne .draw |
- | 437 | ||
413 | add ebx,270 ;*17 |
438 | add ebx,270 ;*17 |
- | 439 | ;-------------------------------------- |
|
414 | .draw: |
440 | .draw: |
415 | mov edx,[esp+16] ;ebx |
441 | mov edx,[esp+16] ;ebx |
416 | ror edx,16 |
442 | ror edx,16 |
417 | sub edx,12 |
443 | sub edx,12 |
418 | rol edx,16 |
444 | rol edx,16 |
419 | mcall 7, ,<10,9> |
445 | mcall 7, ,<10,9> |
420 | popa |
446 | popa |
421 | ret |
447 | ret |
422 | ;--------------------------------------------------------------------- |
448 | ;------------------------------------------------------------------------------ |
423 | ; ÏÅÐÅÂÎÄ 10-ÍÛÕ ×ÈÑÅË ÑÎ ÇÍÀÊÎÌ Â ÑÒÐÎÊÎÂÛÉ ÂÈÄ |
449 | ; ÏÅÐÅÂÎÄ 10-ÍÛÕ ×ÈÑÅË ÑÎ ÇÍÀÊÎÌ Â ÑÒÐÎÊÎÂÛÉ ÂÈÄ |
424 | ; Âõîä: |
450 | ; Âõîä: |
425 | ; AX - ÷èñëî |
451 | ; AX - ÷èñëî |
426 | ; EBX - àäðåñ ñòðîêè |
452 | ; EBX - àäðåñ ñòðîêè |
427 | ; Âûõîä: |
453 | ; Âûõîä: |
428 | ; ñòðîêà ñîäåðæèò ÷èñëî, êîíåö îòìå÷åí êîäîì 0 |
454 | ; ñòðîêà ñîäåðæèò ÷èñëî, êîíåö îòìå÷åí êîäîì 0 |
- | 455 | ;------------------------------------------------------------------------------ |
|
429 | decimal_string_2: |
456 | decimal_string_2: |
430 | push eax ebx ecx edx |
457 | push eax ebx ecx edx |
431 | xor ecx,ecx |
458 | xor ecx,ecx |
432 | mov [ebx],byte '0' |
459 | mov [ebx],byte '0' |
433 | inc ebx |
460 | inc ebx |
- | 461 | ;-------------------------------------- |
|
434 | .p3: |
462 | .p3: |
435 | xor edx,edx |
463 | xor edx,edx |
436 | push ebx |
464 | push ebx |
437 | mov ebx,10 |
465 | mov ebx,10 |
438 | div ebx |
466 | div ebx |
Line 440... | Line 468... | ||
440 | add edx,48 |
468 | add edx,48 |
441 | push edx |
469 | push edx |
442 | inc ecx |
470 | inc ecx |
443 | cmp ax,0 |
471 | cmp ax,0 |
444 | jne .p3 |
472 | jne .p3 |
- | 473 | ||
445 | cmp ecx,1 |
474 | cmp ecx,1 |
446 | jbe .p4 |
475 | jbe .p4 |
- | 476 | ||
447 | mov ecx,2 |
477 | mov ecx,2 |
448 | dec ebx |
478 | dec ebx |
- | 479 | ;-------------------------------------- |
|
449 | .p4: |
480 | .p4: |
450 | pop edx |
481 | pop edx |
451 | mov [ebx],dl |
482 | mov [ebx],dl |
452 | inc ebx |
483 | inc ebx |
453 | loop .p4 |
484 | loop .p4 |
454 | pop edx ecx ebx eax |
485 | pop edx ecx ebx eax |
455 | ret |
486 | ret |
456 | ;--------------------------------------------------------------------- |
487 | ;------------------------------------------------------------------------------ |
457 | decimal_string_4: |
488 | decimal_string_4: |
458 | push eax ecx edx |
489 | push eax ecx edx |
459 | xor ecx,ecx |
490 | xor ecx,ecx |
460 | mov [ebx],byte '0' |
491 | mov [ebx],byte '0' |
461 | inc ebx |
492 | inc ebx |
- | 493 | ;-------------------------------------- |
|
462 | .p3: |
494 | .p3: |
463 | xor edx,edx |
495 | xor edx,edx |
464 | push ebx |
496 | push ebx |
465 | mov ebx,10 |
497 | mov ebx,10 |
466 | div ebx |
498 | div ebx |
Line 468... | Line 500... | ||
468 | add edx,48 |
500 | add edx,48 |
469 | push edx |
501 | push edx |
470 | inc ecx |
502 | inc ecx |
471 | cmp eax,0 |
503 | cmp eax,0 |
472 | jne .p3 |
504 | jne .p3 |
- | 505 | ||
473 | cmp ecx,3 |
506 | cmp ecx,3 |
474 | jbe .p4 |
507 | jbe .p4 |
- | 508 | ||
475 | mov ecx,4 |
509 | mov ecx,4 |
476 | dec ebx |
510 | dec ebx |
- | 511 | ;-------------------------------------- |
|
477 | .p4: |
512 | .p4: |
478 | pop edx |
513 | pop edx |
479 | mov [ebx],dl |
514 | mov [ebx],dl |
480 | inc ebx |
515 | inc ebx |
481 | loop .p4 |
516 | loop .p4 |
- | 517 | ||
482 | pop edx ecx eax |
518 | pop edx ecx eax |
483 | ret |
519 | ret |
484 | ;--------------------------------------------------------------------- |
520 | ;------------------------------------------------------------------------------ |
485 | draw_type_size_date: |
521 | draw_type_size_date: |
486 | pusha |
522 | pusha |
487 | test [edx-40],byte 0x10 |
523 | test [edx-40],byte 0x10 |
488 | jz .copy_type |
524 | jz .copy_type |
- | 525 | ||
489 | mov [type_table],dword ' |
526 | mov [type_table],dword ' |
490 | mov [type_table+4],word '> ' |
527 | mov [type_table+4],word '> ' |
491 | mov [file_name_length],0 |
528 | mov [file_name_length],0 |
492 | mov [extension_size],0 |
529 | mov [extension_size],0 |
493 | jmp .start ;.size |
530 | jmp .start ;.size |
- | 531 | ;-------------------------------------- |
|
494 | .copy_type: |
532 | .copy_type: |
495 | mov [type_table],dword ' ' |
533 | mov [type_table],dword ' ' |
496 | mov [type_table+4],word ' ' |
534 | mov [type_table+4],word ' ' |
- | 535 | ;-------------------------------------- |
|
497 | .start: |
536 | .start: |
498 | mov esi,edx |
537 | mov esi,edx |
499 | xor eax,eax |
538 | xor eax,eax |
- | 539 | ;-------------------------------------- |
|
500 | @@: |
540 | @@: |
501 | cld |
541 | cld |
502 | lodsb |
542 | lodsb |
503 | test eax,eax |
543 | test eax,eax |
504 | jnz @b |
544 | jnz @b |
- | 545 | ||
505 | mov [file_name_length],esi |
546 | mov [file_name_length],esi |
506 | sub [file_name_length],edx |
547 | sub [file_name_length],edx |
507 | mov [temp_counter_1],esi |
548 | mov [temp_counter_1],esi |
508 | test [edx-40],byte 0x10 |
549 | test [edx-40],byte 0x10 |
509 | jnz .size |
550 | jnz .size |
510 | ;@@: |
551 | |
511 | dec esi |
552 | dec esi |
512 | dec edx |
553 | dec edx |
- | 554 | ;-------------------------------------- |
|
513 | @@: |
555 | @@: |
514 | std |
556 | std |
515 | lodsb |
557 | lodsb |
516 | cmp esi,edx |
558 | cmp esi,edx |
517 | je .extension_size_0 ;@f |
559 | je .extension_size_0 |
- | 560 | ||
518 | cmp al,'.' |
561 | cmp al,'.' |
519 | jnz @b |
562 | jnz @b |
- | 563 | ||
520 | add esi,2 |
564 | add esi,2 |
521 | mov [extension_start],esi |
565 | mov [extension_start],esi |
522 | mov ecx,[temp_counter_1] |
566 | mov ecx,[temp_counter_1] |
523 | sub ecx,esi |
567 | sub ecx,esi |
524 | inc ecx |
568 | inc ecx |
525 | mov [extension_size],ecx |
569 | mov [extension_size],ecx |
526 | sub [file_name_length],ecx |
570 | sub [file_name_length],ecx |
527 | cmp ecx,2 |
571 | cmp ecx,2 |
528 | ja @f |
572 | ja @f |
- | 573 | ||
529 | inc [file_name_length] |
574 | inc [file_name_length] |
- | 575 | ;-------------------------------------- |
|
530 | @@: |
576 | @@: |
531 | sub ecx,2 |
577 | sub ecx,2 |
532 | cmp ecx,4 |
578 | cmp ecx,4 |
533 | jbe @f |
579 | jbe @f |
- | 580 | ||
534 | mov ecx,4 |
581 | mov ecx,4 |
535 | mov [type_table+4],word '..' |
582 | mov [type_table+4],word '..' |
- | 583 | ;-------------------------------------- |
|
536 | @@: |
584 | @@: |
537 | mov edi,type_table ;+1 |
585 | mov edi,type_table ;+1 |
538 | cld |
586 | cld |
539 | rep movsb |
587 | rep movsb |
540 | mov [edi],byte ' ' |
588 | mov [edi],byte ' ' |
541 | inc edx |
589 | inc edx |
542 | jmp .size |
590 | jmp .size |
- | 591 | ;-------------------------------------- |
|
543 | .extension_size_0: |
592 | .extension_size_0: |
544 | inc edx |
593 | inc edx |
545 | mov [extension_size],0 |
594 | mov [extension_size],0 |
- | 595 | ;-------------------------------------- |
|
546 | .size: |
596 | .size: |
547 | test [edx-40],byte 0x10 |
597 | test [edx-40],byte 0x10 |
548 | jz .copy_size |
598 | jz .copy_size |
- | 599 | ||
549 | mov [size_table],dword '----' |
600 | mov [size_table],dword '----' |
550 | mov [size_table+4],word '- ' |
601 | mov [size_table+4],word '- ' |
551 | jmp .date |
602 | jmp .date |
- | 603 | ;-------------------------------------- |
|
552 | .copy_size: |
604 | .copy_size: |
553 | ;/0x40000000 - Gb |
605 | ;/0x40000000 - Gb |
554 | ;/0x100000 - Mb |
606 | ;/0x100000 - Mb |
555 | ;/0x400 Kb |
607 | ;/0x400 Kb |
556 | mov [size_table],dword ' ' |
608 | mov [size_table],dword ' ' |
Line 561... | Line 613... | ||
561 | mov ebx,0x40000000 |
613 | mov ebx,0x40000000 |
562 | xor edx,edx |
614 | xor edx,edx |
563 | div ebx |
615 | div ebx |
564 | cmp eax,0 |
616 | cmp eax,0 |
565 | je @f |
617 | je @f |
- | 618 | ||
566 | mov ebx,size_table |
619 | mov ebx,size_table |
567 | call decimal_string_4 |
620 | call decimal_string_4 |
568 | mov [ebx],byte 'G' |
621 | mov [ebx],byte 'G' |
569 | jmp .size_convert_end |
622 | jmp .size_convert_end |
- | 623 | ;-------------------------------------- |
|
570 | @@: |
624 | @@: |
571 | mov edx,[esp] |
625 | mov edx,[esp] |
572 | mov eax,[edx-40+32] |
626 | mov eax,[edx-40+32] |
573 | mov ebx,0x100000 |
627 | mov ebx,0x100000 |
574 | xor edx,edx |
628 | xor edx,edx |
575 | div ebx |
629 | div ebx |
576 | cmp eax,0 |
630 | cmp eax,0 |
577 | je @f |
631 | je @f |
- | 632 | ||
578 | mov ebx,size_table |
633 | mov ebx,size_table |
579 | call decimal_string_4 |
634 | call decimal_string_4 |
580 | mov [ebx],byte 'M' |
635 | mov [ebx],byte 'M' |
581 | jmp .size_convert_end |
636 | jmp .size_convert_end |
- | 637 | ;-------------------------------------- |
|
582 | @@: |
638 | @@: |
583 | mov edx,[esp] |
639 | mov edx,[esp] |
584 | mov eax,[edx-40+32] |
640 | mov eax,[edx-40+32] |
585 | mov ebx,0x400 |
641 | mov ebx,0x400 |
586 | xor edx,edx |
642 | xor edx,edx |
587 | div ebx |
643 | div ebx |
588 | cmp eax,0 |
644 | cmp eax,0 |
589 | je @f |
645 | je @f |
- | 646 | ||
590 | mov ebx,size_table |
647 | mov ebx,size_table |
591 | call decimal_string_4 |
648 | call decimal_string_4 |
592 | mov [ebx],byte 'K' |
649 | mov [ebx],byte 'K' |
593 | jmp .size_convert_end |
650 | jmp .size_convert_end |
- | 651 | ;-------------------------------------- |
|
594 | @@: |
652 | @@: |
595 | mov edx,[esp] |
653 | mov edx,[esp] |
596 | mov eax,[edx-40+32] |
654 | mov eax,[edx-40+32] |
597 | ;.size_convert: |
655 | ;.size_convert: |
598 | mov ebx,size_table |
656 | mov ebx,size_table |
599 | call decimal_string_4 |
657 | call decimal_string_4 |
- | 658 | ;-------------------------------------- |
|
600 | .size_convert_end: |
659 | .size_convert_end: |
601 | cmp [size_table],byte '0' |
660 | cmp [size_table],byte '0' |
602 | jne @f |
661 | jne @f |
- | 662 | ||
603 | mov [size_table],byte ' ' |
663 | mov [size_table],byte ' ' |
- | 664 | ;-------------------------------------- |
|
604 | @@: |
665 | @@: |
605 | cmp [size_table+4],byte ' ' |
666 | cmp [size_table+4],byte ' ' |
606 | jne @f |
667 | jne @f |
- | 668 | ||
607 | mov esi,size_table+3 |
669 | mov esi,size_table+3 |
608 | mov edi,esi |
670 | mov edi,esi |
609 | inc edi |
671 | inc edi |
610 | mov ecx,5 |
672 | mov ecx,5 |
611 | std |
673 | std |
612 | rep movsb |
674 | rep movsb |
613 | jmp @r |
675 | jmp @r |
- | 676 | ;-------------------------------------- |
|
614 | @@: |
677 | @@: |
615 | pop edx |
678 | pop edx |
616 | pop ebx |
679 | pop ebx |
- | 680 | ;-------------------------------------- |
|
617 | .date: |
681 | .date: |
618 | xor eax,eax |
682 | xor eax,eax |
619 | mov al,[edx-40+28] |
683 | mov al,[edx-40+28] |
620 | push ebx |
684 | push ebx |
621 | mov ebx,date_table |
685 | mov ebx,date_table |
Line 634... | Line 698... | ||
634 | sub ebx,122+12+15 |
698 | sub ebx,122+12+15 |
635 | rol ebx,16 |
699 | rol ebx,16 |
636 | mov ecx,0 |
700 | mov ecx,0 |
637 | cmp [marked_file],byte 0 |
701 | cmp [marked_file],byte 0 |
638 | je @f |
702 | je @f |
- | 703 | ||
639 | mov ecx,0xff0000 |
704 | mov ecx,0xff0000 |
- | 705 | ;-------------------------------------- |
|
640 | @@: |
706 | @@: |
641 | mov edx,type_table |
707 | mcall 4,,,type_table,20 |
642 | mov esi,20 |
- | |
643 | mov eax,4 |
- | |
644 | int 0x40 |
- | |
645 | popa |
708 | popa |
646 | ret |
709 | ret |
647 | ;--------------------------------------------------------------------- |
710 | ;------------------------------------------------------------------------------ |
648 | draw_folder_data: |
711 | draw_folder_data: |
649 | cmp [drawing_panel_folder],1 |
712 | cmp [drawing_panel_folder],1 |
650 | jne .right_panel |
713 | jne .right_panel |
- | 714 | ||
651 | mov eax,[left_folder_block] |
715 | mov eax,[left_folder_block] |
652 | sub eax,[max_panel_line] |
716 | sub eax,[max_panel_line] |
653 | test eax,0x8000000 |
717 | test eax,0x8000000 |
654 | jz .ok_left |
718 | jz .ok_left |
- | 719 | ||
655 | mov [left_start_draw_line],0 |
720 | mov [left_start_draw_line],0 |
656 | jmp @f |
721 | jmp @f |
- | 722 | ;-------------------------------------- |
|
657 | .ok_left: |
723 | .ok_left: |
658 | cmp eax,[left_start_draw_line] |
724 | cmp eax,[left_start_draw_line] |
659 | jae @f |
725 | jae @f |
- | 726 | ||
660 | mov [left_start_draw_line],eax |
727 | mov [left_start_draw_line],eax |
- | 728 | ;-------------------------------------- |
|
661 | @@: |
729 | @@: |
662 | mov bx,[left_panel_x.start_x] |
730 | mov bx,[left_panel_x.start_x] |
663 | ; inc bx |
- | |
664 | add bx,12 |
731 | add bx,12 |
665 | shl ebx,16 |
732 | shl ebx,16 |
666 | mov bx,[left_panel_y.start_y] |
733 | mov bx,[left_panel_y.start_y] |
667 | inc bx |
734 | inc bx |
668 | mov edx,[left_start_draw_line] |
735 | mov edx,[left_start_draw_line] |
669 | imul edx,304 |
736 | imul edx,304 |
670 | add edx,[left_folder_data] |
737 | add edx,[left_folder_data] |
671 | add edx,32+40 |
738 | add edx,32+40 |
672 | mov [temp_counter],0 |
739 | mov [temp_counter],0 |
673 | jmp .type_folder |
740 | jmp .type_folder |
- | 741 | ;-------------------------------------- |
|
674 | .right_panel: |
742 | .right_panel: |
675 | mov eax,[right_folder_block] |
743 | mov eax,[right_folder_block] |
676 | sub eax,[max_panel_line] |
744 | sub eax,[max_panel_line] |
677 | test eax,0x8000000 |
745 | test eax,0x8000000 |
678 | jz .ok_right |
746 | jz .ok_right |
- | 747 | ||
679 | mov [right_start_draw_line],0 |
748 | mov [right_start_draw_line],0 |
680 | jmp @f |
749 | jmp @f |
- | 750 | ;-------------------------------------- |
|
681 | .ok_right: |
751 | .ok_right: |
682 | cmp eax,[right_start_draw_line] |
752 | cmp eax,[right_start_draw_line] |
683 | jae @f |
753 | jae @f |
- | 754 | ||
684 | mov [right_start_draw_line],eax |
755 | mov [right_start_draw_line],eax |
- | 756 | ;-------------------------------------- |
|
685 | @@: |
757 | @@: |
686 | mov bx,[right_panel_x.start_x] |
758 | mov bx,[right_panel_x.start_x] |
687 | ; inc bx |
- | |
688 | add bx,12 |
759 | add bx,12 |
689 | shl ebx,16 |
760 | shl ebx,16 |
690 | mov bx,[right_panel_y.start_y] |
761 | mov bx,[right_panel_y.start_y] |
691 | inc bx |
762 | inc bx |
692 | mov edx,[right_start_draw_line] |
763 | mov edx,[right_start_draw_line] |
693 | imul edx,304 |
764 | imul edx,304 |
694 | add edx,[right_folder_data] |
765 | add edx,[right_folder_data] |
695 | add edx,32+40 |
766 | add edx,32+40 |
696 | mov [temp_counter],1 |
767 | mov [temp_counter],1 |
697 | ; mov edx,retrieved_devices_table |
768 | ;-------------------------------------- |
698 | .type_folder: |
769 | .type_folder: |
699 | xor eax,eax |
770 | xor eax,eax |
- | 771 | ;-------------------------------------- |
|
700 | .start: |
772 | .start: |
701 | pusha |
773 | pusha |
702 | mov eax,edx |
774 | mov eax,edx |
703 | cmp [temp_counter],1 |
775 | cmp [temp_counter],1 |
704 | je @f |
776 | je @f |
- | 777 | ||
705 | sub eax,[left_folder_data] |
778 | sub eax,[left_folder_data] |
706 | sub eax,32+40 |
779 | sub eax,32+40 |
707 | xor edx,edx |
780 | xor edx,edx |
708 | mov ebx,304 |
781 | mov ebx,304 |
709 | div ebx |
782 | div ebx |
710 | cmp eax,[left_folder_block] |
783 | cmp eax,[left_folder_block] |
711 | je .end_1 |
784 | je .end_1 |
- | 785 | ||
712 | jmp .continue_1 |
786 | jmp .continue_1 |
- | 787 | ;-------------------------------------- |
|
713 | @@: |
788 | @@: |
714 | sub eax,[right_folder_data] |
789 | sub eax,[right_folder_data] |
715 | sub eax,32+40 |
790 | sub eax,32+40 |
716 | xor edx,edx |
791 | xor edx,edx |
717 | mov ebx,304 |
792 | mov ebx,304 |
718 | div ebx |
793 | div ebx |
719 | cmp eax,[right_folder_block] |
794 | cmp eax,[right_folder_block] |
720 | je .end_1 |
795 | je .end_1 |
- | 796 | ;-------------------------------------- |
|
721 | .continue_1: |
797 | .continue_1: |
722 | popa |
798 | popa |
723 | cmp eax,[max_panel_line] ; 20 |
799 | cmp eax,[max_panel_line] ; 20 |
724 | je .end_2 ;.end |
800 | je .end_2 |
- | 801 | ||
725 | mov [marked_file],0 |
802 | mov [marked_file],0 |
726 | cmp [edx+299-40],byte 0 |
803 | cmp [edx+299-40],byte 0 |
727 | je @f |
804 | je @f |
- | 805 | ||
728 | mov [marked_file],1 |
806 | mov [marked_file],1 |
- | 807 | ;-------------------------------------- |
|
729 | @@: |
808 | @@: |
730 | call clear_line |
809 | call clear_line |
731 | call draw_type_size_date |
810 | call draw_type_size_date |
732 | call draw_icon |
811 | call draw_icon |
733 | push eax |
812 | push eax |
Line 741... | Line 820... | ||
741 | sub eax,23+2+2 |
820 | sub eax,23+2+2 |
742 | mov esi,[file_name_length] |
821 | mov esi,[file_name_length] |
743 | mov [temp_counter_1],0 |
822 | mov [temp_counter_1],0 |
744 | cmp esi,eax |
823 | cmp esi,eax |
745 | jbe @f |
824 | jbe @f |
- | 825 | ||
746 | mov esi,eax |
826 | mov esi,eax |
747 | mov [temp_counter_1],1 |
827 | mov [temp_counter_1],1 |
- | 828 | ;-------------------------------------- |
|
748 | @@: |
829 | @@: |
749 | mov ecx,0 |
830 | mov ecx,0 |
750 | cmp [marked_file],byte 0 |
831 | cmp [marked_file],byte 0 |
751 | je @f |
832 | je @f |
- | 833 | ||
752 | mov ecx,0xff0000 |
834 | mov ecx,0xff0000 |
- | 835 | ;-------------------------------------- |
|
753 | @@: |
836 | @@: |
754 | mov eax,4 |
837 | mcall 4 |
755 | int 0x40 |
- | |
756 | cmp [temp_counter_1],0 |
838 | cmp [temp_counter_1],0 |
757 | je .continue |
839 | je .continue |
- | 840 | ||
758 | mov eax,esi ;[file_name_length] |
841 | mov eax,esi ;[file_name_length] |
759 | imul eax,6 |
842 | imul eax,6 |
760 | shl eax,16 |
843 | shl eax,16 |
761 | push ebx edx |
844 | push ebx edx |
762 | add ebx,eax |
845 | add ebx,eax |
763 | mov esi,2 |
- | |
764 | mov ecx,0xff0000 |
- | |
765 | mov edx,truncated_filename_char |
846 | mcall 4,,0xff0000,truncated_filename_char,2 |
766 | mov eax,4 |
- | |
767 | int 0x40 |
- | |
768 | add ebx,1 shl 16 |
847 | add ebx,1 shl 16 |
769 | int 0x40 |
848 | mcall |
770 | pop edx ebx |
849 | pop edx ebx |
- | 850 | ;-------------------------------------- |
|
771 | .continue: |
851 | .continue: |
772 | add ebx,10 |
852 | add ebx,10 |
773 | add edx,304 ;10 |
853 | add edx,304 ;10 |
774 | pop eax |
854 | pop eax |
775 | inc eax |
855 | inc eax |
776 | jmp .start |
856 | jmp .start |
- | 857 | ;-------------------------------------- |
|
777 | .end_1: |
858 | .end_1: |
778 | popa |
859 | popa |
- | 860 | ;-------------------------------------- |
|
779 | .end_2: |
861 | .end_2: |
780 | mov ax,[left_panel_y.start_y] |
862 | mov ax,[left_panel_y.start_y] |
781 | add ax,[left_panel_y.size_y] |
863 | add ax,[left_panel_y.size_y] |
782 | mov cx,bx |
864 | mov cx,bx |
783 | dec cx |
865 | dec cx |
Line 786... | Line 868... | ||
786 | mov eax,ecx |
868 | mov eax,ecx |
787 | shr eax,16 |
869 | shr eax,16 |
788 | sub cx,ax |
870 | sub cx,ax |
789 | cmp cx,0 |
871 | cmp cx,0 |
790 | jbe @f |
872 | jbe @f |
- | 873 | ||
791 | mov bx,[left_panel_x.size_x] |
874 | mov bx,[left_panel_x.size_x] |
792 | sub ebx,12 shl 16 |
875 | sub ebx,12 shl 16 |
793 | mov edx,0xffffff |
876 | mcall 13,,,0xffffff |
794 | mcall 13 |
877 | ;-------------------------------------- |
795 | @@: |
878 | @@: |
796 | - | ||
797 | .end: |
879 | .end: |
798 | cmp [drawing_panel_folder],1 |
880 | cmp [drawing_panel_folder],1 |
799 | jne @f |
881 | jne @f |
- | 882 | ||
800 | call draw_scroll_bar_left |
883 | call draw_scroll_bar_left |
801 | ret |
884 | ret |
- | 885 | ;-------------------------------------- |
|
802 | @@: |
886 | @@: |
803 | call draw_scroll_bar_right |
887 | call draw_scroll_bar_right |
804 | ret |
888 | ret |
805 | ;--------------------------------------------------------------------- |
889 | ;------------------------------------------------------------------------------ |
806 | clear_line: |
890 | clear_line: |
807 | cmp [not_clear_lines],0 |
891 | cmp [not_clear_lines],0 |
808 | jne .end_1 |
892 | jne .end_1 |
- | 893 | ||
809 | pusha |
894 | pusha |
810 | shl ebx,16 |
895 | shl ebx,16 |
811 | shr ebx,16 |
896 | shr ebx,16 |
812 | dec ebx |
897 | dec ebx |
813 | cmp [drawing_panel_folder],1 |
898 | cmp [drawing_panel_folder],1 |
814 | jne .right |
899 | jne .right |
- | 900 | ||
815 | cmp [select_panel_counter],0 |
901 | cmp [select_panel_counter],0 |
816 | jne .continue |
902 | jne .continue |
- | 903 | ||
817 | mov ax,[left_start_draw_cursor_line] |
904 | mov ax,[left_start_draw_cursor_line] |
818 | add ax,[left_panel_y.start_y] |
905 | add ax,[left_panel_y.start_y] |
819 | cmp bx,ax |
906 | cmp bx,ax |
820 | je .end |
907 | je .end |
- | 908 | ||
821 | jmp .continue |
909 | jmp .continue |
- | 910 | ;-------------------------------------- |
|
822 | .right: |
911 | .right: |
823 | cmp [select_panel_counter],0 |
912 | cmp [select_panel_counter],0 |
824 | je .continue |
913 | je .continue |
- | 914 | ||
825 | mov ax,[right_start_draw_cursor_line] |
915 | mov ax,[right_start_draw_cursor_line] |
826 | add ax,[right_panel_y.start_y] |
916 | add ax,[right_panel_y.start_y] |
827 | cmp bx,ax |
917 | cmp bx,ax |
828 | je .end |
918 | je .end |
- | 919 | ;-------------------------------------- |
|
829 | .continue: |
920 | .continue: |
830 | mov ebx,[esp+16] |
921 | mov ebx,[esp+16] |
831 | mov cx,bx |
922 | mov cx,bx |
832 | dec cx |
923 | dec cx |
833 | rol ecx,16 |
924 | rol ecx,16 |
834 | mov cx,10 |
925 | mov cx,10 |
835 | mov bx,[left_panel_x.size_x] |
926 | mov bx,[left_panel_x.size_x] |
836 | cmp [drawing_panel_folder],1 |
927 | cmp [drawing_panel_folder],1 |
837 | je @f |
928 | je @f |
- | 929 | ||
838 | dec ebx |
930 | dec ebx |
- | 931 | ;-------------------------------------- |
|
839 | @@: |
932 | @@: |
840 | sub ebx,12 shl 16+15 |
933 | sub ebx,12 shl 16+15 |
841 | mov edx,0xffffff |
934 | mcall 13,,,0xffffff |
842 | mov eax,13 |
935 | ;-------------------------------------- |
843 | int 0x40 |
- | |
844 | .end: |
936 | .end: |
845 | popa |
937 | popa |
- | 938 | ;-------------------------------------- |
|
846 | .end_1: |
939 | .end_1: |
847 | ret |
940 | ret |
848 | ;--------------------------------------------------------------------- |
941 | ;------------------------------------------------------------------------------ |
849 | draw_left_panel: |
942 | draw_left_panel: |
850 | call clear_left_panel |
943 | call clear_left_panel |
851 | call calc_max_panel_line |
944 | call calc_max_panel_line |
852 | call draw_left_panel_selection |
945 | call draw_left_panel_selection |
853 | mov [drawing_panel_folder],1 |
946 | mov [drawing_panel_folder],1 |
854 | call draw_folder_data |
947 | call draw_folder_data |
855 | call draw_left_panel_patch |
948 | call draw_left_panel_patch |
856 | ret |
949 | ret |
857 | ;--------------------------------------------------------------------- |
950 | ;------------------------------------------------------------------------------ |
858 | draw_right_panel: |
951 | draw_right_panel: |
859 | call clear_right_panel |
952 | call clear_right_panel |
860 | call calc_max_panel_line |
953 | call calc_max_panel_line |
861 | call draw_right_panel_selection |
954 | call draw_right_panel_selection |
862 | mov [drawing_panel_folder],2 |
955 | mov [drawing_panel_folder],2 |
863 | call draw_folder_data |
956 | call draw_folder_data |
864 | call draw_right_panel_patch |
957 | call draw_right_panel_patch |
865 | ret |
958 | ret |
866 | ;--------------------------------------------------------------------- |
959 | ;------------------------------------------------------------------------------ |
867 | draw_left_panel_patch: |
960 | draw_left_panel_patch: |
868 | cmp [select_panel_counter],0 |
961 | cmp [select_panel_counter],0 |
869 | jne .end |
962 | jne .end |
- | 963 | ||
870 | mov edx,read_folder_name ;read_folder.name |
964 | mov edx,read_folder_name ;read_folder.name |
- | 965 | ;-------------------------------------- |
|
871 | .1: |
966 | .1: |
872 | call clear_patch_area |
967 | call clear_patch_area |
873 | mov ebx,[window_high] |
968 | mov ebx,[window_high] |
874 | sub ebx,33 |
969 | sub ebx,33 |
875 | add ebx,8 shl 16 |
970 | add ebx,8 shl 16 |
876 | mcall 4, ,0x80000000 ; ,read_folder.name |
971 | mcall 4,,0x80000000 ; ,read_folder.name |
- | 972 | ;-------------------------------------- |
|
877 | .end: |
973 | .end: |
878 | ret |
974 | ret |
879 | ;--------------------------------------------------------------------- |
975 | ;------------------------------------------------------------------------------ |
880 | draw_right_panel_patch: |
976 | draw_right_panel_patch: |
881 | cmp [select_panel_counter],1 |
977 | cmp [select_panel_counter],1 |
882 | jne draw_left_panel_patch.end |
978 | jne draw_left_panel_patch.end |
- | 979 | ||
883 | mov edx,read_folder_1_name ;read_folder_1.name |
980 | mov edx,read_folder_1_name ;read_folder_1.name |
884 | jmp draw_left_panel_patch.1 |
981 | jmp draw_left_panel_patch.1 |
885 | ;--------------------------------------------------------------------- |
982 | ;------------------------------------------------------------------------------ |
886 | clear_patch_area: |
983 | clear_patch_area: |
887 | push edx |
984 | push edx |
888 | mov ebx,[window_width] |
985 | mov ebx,[window_width] |
889 | sub ebx,9 |
986 | sub ebx,9 |
890 | add ebx,5 shl 16 |
987 | add ebx,5 shl 16 |
891 | mov ecx,[window_high] |
988 | mov ecx,[window_high] |
892 | sub ecx,35 |
989 | sub ecx,35 |
893 | shl ecx,16 |
990 | shl ecx,16 |
894 | mov cx,12 |
991 | mov cx,12 |
895 | mov edx,0xffffcc |
992 | mcall 13,,,0xffffcc |
896 | mov eax,13 |
- | |
897 | int 0x40 |
- | |
898 | pop edx |
993 | pop edx |
899 | ret |
994 | ret |
900 | ;--------------------------------------------------------------------- |
995 | ;------------------------------------------------------------------------------ |
901 | draw_left_panel_selection: |
996 | draw_left_panel_selection: |
902 | cmp [select_panel_counter],0 |
997 | cmp [select_panel_counter],0 |
903 | jne .end |
998 | jne .end |
- | 999 | ||
904 | mov eax,[left_folder_block] |
1000 | mov eax,[left_folder_block] |
905 | sub eax,[left_start_draw_line] |
1001 | sub eax,[left_start_draw_line] |
906 | mov edx,left_start_draw_cursor_line |
1002 | mov edx,left_start_draw_cursor_line |
907 | mov cx,[edx] |
1003 | mov cx,[edx] |
908 | call for_all_panel_selection |
1004 | call for_all_panel_selection |
909 | mov eax,[left_folder_block] |
1005 | mov eax,[left_folder_block] |
910 | dec eax |
1006 | dec eax |
911 | imul eax,10 |
1007 | imul eax,10 |
912 | cmp ax,cx |
1008 | cmp ax,cx |
913 | jae @f |
1009 | jae @f |
- | 1010 | ||
914 | mov cx,ax |
1011 | mov cx,ax |
- | 1012 | ;-------------------------------------- |
|
915 | @@: |
1013 | @@: |
916 | mov [edx],cx |
1014 | mov [edx],cx |
917 | mov ebx,[left_panel_x] |
1015 | mov ebx,[left_panel_x] |
918 | add cx,[left_panel_y.start_y] |
1016 | add cx,[left_panel_y.start_y] |
- | 1017 | ;-------------------------------------- |
|
919 | .1: |
1018 | .1: |
920 | shl ecx,16 |
1019 | shl ecx,16 |
921 | mov cx,10 |
1020 | mov cx,10 |
922 | mov edx,0xbbddff |
- | |
923 | sub ebx,15 |
1021 | sub ebx,15 |
924 | mov eax,13 |
1022 | mcall 13,,,0xbbddff |
925 | int 0x40 |
1023 | ;-------------------------------------- |
926 | .end: |
1024 | .end: |
927 | ret |
1025 | ret |
928 | ;--------------------------------------------------------------------- |
1026 | ;------------------------------------------------------------------------------ |
929 | draw_right_panel_selection: |
1027 | draw_right_panel_selection: |
930 | cmp [select_panel_counter],1 |
1028 | cmp [select_panel_counter],1 |
931 | jne draw_left_panel_selection.end |
1029 | jne draw_left_panel_selection.end |
- | 1030 | ||
932 | mov eax,[right_folder_block] |
1031 | mov eax,[right_folder_block] |
933 | sub eax,[right_start_draw_line] |
1032 | sub eax,[right_start_draw_line] |
934 | mov edx,right_start_draw_cursor_line |
1033 | mov edx,right_start_draw_cursor_line |
935 | mov cx,[edx] |
1034 | mov cx,[edx] |
936 | call for_all_panel_selection |
1035 | call for_all_panel_selection |
937 | mov eax,[right_folder_block] |
1036 | mov eax,[right_folder_block] |
938 | dec eax |
1037 | dec eax |
939 | imul eax,10 |
1038 | imul eax,10 |
940 | cmp ax,cx |
1039 | cmp ax,cx |
941 | jae @f |
1040 | jae @f |
- | 1041 | ||
942 | mov cx,ax |
1042 | mov cx,ax |
- | 1043 | ;-------------------------------------- |
|
943 | @@: |
1044 | @@: |
944 | mov [edx],cx |
1045 | mov [edx],cx |
945 | mov ebx,[right_panel_x] |
1046 | mov ebx,[right_panel_x] |
946 | add cx,[right_panel_y.start_y] |
1047 | add cx,[right_panel_y.start_y] |
947 | jmp draw_left_panel_selection.1 |
1048 | jmp draw_left_panel_selection.1 |
948 | ;--------------------------------------------------------------------- |
1049 | ;------------------------------------------------------------------------------ |
949 | for_all_panel_selection: |
1050 | for_all_panel_selection: |
950 | ; dec eax |
- | |
951 | imul eax,10 |
1051 | imul eax,10 |
952 | cmp ax,cx |
1052 | cmp ax,cx |
953 | jae @f |
1053 | jae @f |
- | 1054 | ||
954 | mov cx,ax |
1055 | mov cx,ax |
- | 1056 | ;-------------------------------------- |
|
955 | @@: |
1057 | @@: |
956 | mov eax,[max_panel_line] |
1058 | mov eax,[max_panel_line] |
957 | dec eax |
1059 | dec eax |
958 | imul eax,10 |
1060 | imul eax,10 |
959 | cmp ax,cx |
1061 | cmp ax,cx |
960 | jae @f |
1062 | jae @f |
- | 1063 | ||
961 | mov cx,ax |
1064 | mov cx,ax |
- | 1065 | ;-------------------------------------- |
|
962 | @@: |
1066 | @@: |
963 | ret |
1067 | ret |
964 | ;--------------------------------------------------------------------- |
1068 | ;------------------------------------------------------------------------------ |
965 | clear_left_panel: |
1069 | clear_left_panel: |
966 | mov ebx,7 shl 16 |
1070 | mov ebx,7 shl 16 |
967 | add ebx,[window_width] |
1071 | add ebx,[window_width] |
968 | shr bx,1 |
1072 | shr bx,1 |
969 | sub ebx,6+1 |
1073 | sub ebx,6+1 |
970 | mov [left_panel_x],ebx |
1074 | mov [left_panel_x],ebx |
971 | call calculate_panel_1 |
1075 | call calculate_panel_1 |
972 | mov [left_panel_y],ecx |
1076 | mov [left_panel_y],ecx |
973 | ; cmp [left_panel_clear_all],0 |
1077 | xor eax,eax |
- | 1078 | mov ax,cx |
|
- | 1079 | xor edx,edx |
|
974 | ; je @f |
1080 | mov ebx,10 |
- | 1081 | div ebx |
|
975 | ; call calculate_panel_2 |
1082 | ; óìíîæåíèå íà 10 |
- | 1083 | shl eax,1 ; óìíîæåíèå íà 2 |
|
- | 1084 | lea eax,[eax+eax*4] ; óìíîæåíèå íà 5 |
|
976 | ; mov [left_panel_clear_all],0 |
1085 | mov [left_panel_y_correct_size_y],ax |
977 | ;@@: |
- | |
978 | ret |
1086 | ret |
979 | ;--------------------------------------------------------------------- |
1087 | ;------------------------------------------------------------------------------ |
980 | calculate_panel_1: |
1088 | calculate_panel_1: |
981 | mov ecx,[skin_high] |
1089 | mov ecx,[skin_high] |
982 | add ecx,70 |
1090 | add ecx,70 |
983 | shl ecx,16 |
1091 | shl ecx,16 |
984 | add ecx,[window_high] |
1092 | add ecx,[window_high] |
985 | sub ecx,130 |
1093 | sub ecx,129 |
986 | ret |
1094 | ret |
987 | ;--------------------------------------------------------------------- |
1095 | ;------------------------------------------------------------------------------ |
988 | ;calculate_panel_2: |
- | |
989 | ; sub ebx,15 |
- | |
990 | ; mov edx,0xffffff |
- | |
991 | ; mov eax,13 |
- | |
992 | ; int 0x40 |
- | |
993 | ; ret |
- | |
994 | ;--------------------------------------------------------------------- |
- | |
995 | clear_right_panel: |
1096 | clear_right_panel: |
996 | mov ebx,[window_width] |
1097 | mov ebx,[window_width] |
997 | shr ebx,1 |
1098 | shr ebx,1 |
998 | add ebx,3 |
1099 | add ebx,3 |
999 | shl ebx,16 |
1100 | shl ebx,16 |
Line 1001... | Line 1102... | ||
1001 | shr bx,1 |
1102 | shr bx,1 |
1002 | sub bx,2+6 |
1103 | sub bx,2+6 |
1003 | mov [right_panel_x],ebx |
1104 | mov [right_panel_x],ebx |
1004 | call calculate_panel_1 |
1105 | call calculate_panel_1 |
1005 | mov [right_panel_y],ecx |
1106 | mov [right_panel_y],ecx |
1006 | ; cmp [right_panel_clear_all],0 |
1107 | xor eax,eax |
- | 1108 | mov ax,cx |
|
- | 1109 | xor edx,edx |
|
1007 | ; je @f |
1110 | mov ebx,10 |
- | 1111 | div ebx |
|
1008 | ; call calculate_panel_2 |
1112 | ; óìíîæåíèå íà 10 |
- | 1113 | shl eax,1 ; óìíîæåíèå íà 2 |
|
- | 1114 | lea eax,[eax+eax*4] ; óìíîæåíèå íà 5 |
|
1009 | ; mov [right_panel_clear_all],0 |
1115 | mov [right_panel_y_correct_size_y],ax |
1010 | ;@@: |
- | |
1011 | ret |
1116 | ret |
1012 | ;--------------------------------------------------------------------- |
1117 | ;------------------------------------------------------------------------------ |
1013 | erase_fbutton: |
1118 | erase_fbutton: |
1014 | mov edx,0x80000065 |
1119 | mov edx,0x80000065 |
1015 | mov eax,8 |
1120 | mov eax,8 |
1016 | mov ebp,12 |
1121 | mov ebp,12 |
- | 1122 | ;-------------------------------------- |
|
1017 | .start: |
1123 | .start: |
1018 | int 0x40 |
1124 | mcall |
1019 | dec ebp |
1125 | dec ebp |
1020 | jnz .start |
1126 | jnz .start |
- | 1127 | ||
1021 | ret |
1128 | ret |
1022 | ;--------------------------------------------------------------------- |
1129 | ;------------------------------------------------------------------------------ |
1023 | draw_fbutton: |
1130 | draw_fbutton: |
1024 | test [window_status],100b ; window is rolled up |
1131 | test [window_status],100b ; window is rolled up |
1025 | jnz .exit |
1132 | jnz .exit |
Line 1026... | Line 1133... | ||
1026 | 1133 | ||
Line 1030... | Line 1137... | ||
1030 | mov ecx,[window_high] |
1137 | mov ecx,[window_high] |
1031 | sub ecx,20 |
1138 | sub ecx,20 |
1032 | shl ecx,16 |
1139 | shl ecx,16 |
1033 | add ecx,15 |
1140 | add ecx,15 |
1034 | mov eax,[window_width] |
1141 | mov eax,[window_width] |
1035 | ; sub eax,8 |
- | |
1036 | mov ebx,12 |
1142 | mov ebx,12 |
1037 | xor edx,edx |
1143 | xor edx,edx |
1038 | div ebx |
1144 | div ebx |
1039 | mov [fbutton_width],eax |
1145 | mov [fbutton_width],eax |
1040 | mov ebx,5 shl 16 |
1146 | mov ebx,5 shl 16 |
Line 1042... | Line 1148... | ||
1042 | sub ebx,2 |
1148 | sub ebx,2 |
1043 | mov esi,0xaa00 |
1149 | mov esi,0xaa00 |
1044 | mov edx,101 |
1150 | mov edx,101 |
1045 | mov eax,8 |
1151 | mov eax,8 |
1046 | mov ebp,12 |
1152 | mov ebp,12 |
- | 1153 | ;-------------------------------------- |
|
1047 | .start: |
1154 | .start: |
1048 | cmp ebp,1 |
1155 | cmp ebp,1 |
1049 | jne @f |
1156 | jne @f |
- | 1157 | ||
1050 | mov eax,ebx |
1158 | mov eax,ebx |
1051 | shr eax,16 |
1159 | shr eax,16 |
1052 | mov bx,ax |
1160 | mov bx,ax |
1053 | mov eax,[window_width] |
1161 | mov eax,[window_width] |
1054 | sub ax,bx |
1162 | sub ax,bx |
1055 | sub ax,5 |
1163 | sub ax,5 |
1056 | mov bx,ax |
1164 | mov bx,ax |
1057 | mov eax,8 |
1165 | mov eax,8 |
- | 1166 | ;-------------------------------------- |
|
1058 | @@: |
1167 | @@: |
1059 | mcall |
1168 | mcall |
1060 | push eax ebx edx |
1169 | push eax ebx edx |
1061 | mov edx,0x6060ff |
1170 | mov edx,0x6060ff |
1062 | mov bx,10 |
1171 | mov bx,10 |
1063 | cmp ebp,4 |
1172 | cmp ebp,4 |
1064 | jae @f |
1173 | jae @f |
- | 1174 | ||
1065 | mov bx,18 |
1175 | mov bx,18 |
- | 1176 | ;-------------------------------------- |
|
1066 | @@: |
1177 | @@: |
1067 | mcall 13 |
1178 | mcall 13 |
1068 | cmp ebp,1 |
1179 | cmp ebp,1 |
1069 | je @f |
1180 | je @f |
- | 1181 | ||
1070 | ror ebx,16 |
1182 | ror ebx,16 |
1071 | add ebx,[fbutton_width] |
1183 | add ebx,[fbutton_width] |
1072 | dec ebx |
1184 | dec ebx |
1073 | rol ebx,16 |
1185 | rol ebx,16 |
1074 | mov bx,1 |
1186 | mov bx,1 |
1075 | mov edx,0xcccccc |
- | |
1076 | inc ecx |
1187 | inc ecx |
1077 | mcall |
1188 | mcall ,,,0xcccccc |
1078 | dec ecx |
1189 | dec ecx |
- | 1190 | ;-------------------------------------- |
|
1079 | @@: |
1191 | @@: |
1080 | pop edx ebx eax |
1192 | pop edx ebx eax |
1081 | call .rol_ror |
1193 | call .rol_ror |
1082 | inc edx |
1194 | inc edx |
1083 | dec ebp |
1195 | dec ebp |
1084 | jnz .start |
1196 | jnz .start |
- | 1197 | ||
1085 | call draw_fbutton_name |
1198 | call draw_fbutton_name |
1086 | ret |
1199 | ret |
- | 1200 | ;-------------------------------------- |
|
1087 | .rol_ror: |
1201 | .rol_ror: |
1088 | rol ebx,16 |
1202 | rol ebx,16 |
1089 | add ebx,[fbutton_width] |
1203 | add ebx,[fbutton_width] |
1090 | ror ebx,16 |
1204 | ror ebx,16 |
- | 1205 | ;-------------------------------------- |
|
1091 | .exit: |
1206 | .exit: |
1092 | ret |
1207 | ret |
1093 | ;--------------------------------------------------------------------- |
1208 | ;------------------------------------------------------------------------------ |
1094 | draw_fbutton_name: |
1209 | draw_fbutton_name: |
1095 | mov ebx, 7 shl 16 |
1210 | mov ebx, 7 shl 16 |
1096 | add ebx,[window_high] |
1211 | add ebx,[window_high] |
1097 | sub ebx,15 |
1212 | sub ebx,15 |
1098 | mov eax,4 |
1213 | mov eax,4 |
Line 1100... | Line 1215... | ||
1100 | push ebx |
1215 | push ebx |
1101 | call .type_1 |
1216 | call .type_1 |
1102 | pop ebx |
1217 | pop ebx |
1103 | mov ecx,0x90ffffff |
1218 | mov ecx,0x90ffffff |
1104 | sub ebx,1 shl 16 + 1 |
1219 | sub ebx,1 shl 16 + 1 |
- | 1220 | ;-------------------------------------- |
|
1105 | .type_1: |
1221 | .type_1: |
1106 | cmp [shift_flag],1 |
1222 | cmp [shift_flag],1 |
1107 | je .type_shift |
1223 | je .type_shift |
- | 1224 | ||
1108 | cmp [ctrl_flag],1 |
1225 | cmp [ctrl_flag],1 |
1109 | je .type_ctrl |
1226 | je .type_ctrl |
- | 1227 | ||
1110 | cmp [alt_flag],1 |
1228 | cmp [alt_flag],1 |
1111 | je .type_alt |
1229 | je .type_alt |
- | 1230 | ;-------------------------------------- |
|
1112 | .type: |
1231 | .type: |
1113 | mov edx,fbutton_name.f1 |
1232 | mov edx,fbutton_name.f1 |
1114 | call .type_all |
1233 | call .type_all |
1115 | mov edx,fbutton_name.f2 |
1234 | mov edx,fbutton_name.f2 |
1116 | call .type_all |
1235 | call .type_all |
Line 1131... | Line 1250... | ||
1131 | mov edx,fbutton_name.f10 |
1250 | mov edx,fbutton_name.f10 |
1132 | call .type_all |
1251 | call .type_all |
1133 | mov edx,fbutton_name.f11 |
1252 | mov edx,fbutton_name.f11 |
1134 | call .type_all |
1253 | call .type_all |
1135 | mov edx,fbutton_name.f12 |
1254 | mov edx,fbutton_name.f12 |
1136 | int 0x40 |
1255 | mcall |
1137 | ret |
1256 | ret |
- | 1257 | ;-------------------------------------- |
|
1138 | .type_shift: |
1258 | .type_shift: |
1139 | mov edx,fbutton_name_shift.f1 |
1259 | mov edx,fbutton_name_shift.f1 |
1140 | call .type_all |
1260 | call .type_all |
1141 | mov edx,fbutton_name_shift.f2 |
1261 | mov edx,fbutton_name_shift.f2 |
1142 | call .type_all |
1262 | call .type_all |
Line 1157... | Line 1277... | ||
1157 | mov edx,fbutton_name_shift.f10 |
1277 | mov edx,fbutton_name_shift.f10 |
1158 | call .type_all |
1278 | call .type_all |
1159 | mov edx,fbutton_name_shift.f11 |
1279 | mov edx,fbutton_name_shift.f11 |
1160 | call .type_all |
1280 | call .type_all |
1161 | mov edx,fbutton_name_shift.f12 |
1281 | mov edx,fbutton_name_shift.f12 |
1162 | int 0x40 |
1282 | mcall |
1163 | ret |
1283 | ret |
- | 1284 | ;-------------------------------------- |
|
1164 | .type_ctrl: |
1285 | .type_ctrl: |
1165 | mov edx,fbutton_name_ctrl.f1 |
1286 | mov edx,fbutton_name_ctrl.f1 |
1166 | call .type_all |
1287 | call .type_all |
1167 | mov edx,fbutton_name_ctrl.f2 |
1288 | mov edx,fbutton_name_ctrl.f2 |
1168 | call .type_all |
1289 | call .type_all |
Line 1183... | Line 1304... | ||
1183 | mov edx,fbutton_name_ctrl.f10 |
1304 | mov edx,fbutton_name_ctrl.f10 |
1184 | call .type_all |
1305 | call .type_all |
1185 | mov edx,fbutton_name_ctrl.f11 |
1306 | mov edx,fbutton_name_ctrl.f11 |
1186 | call .type_all |
1307 | call .type_all |
1187 | mov edx,fbutton_name_ctrl.f12 |
1308 | mov edx,fbutton_name_ctrl.f12 |
1188 | int 0x40 |
1309 | mcall |
1189 | ret |
1310 | ret |
- | 1311 | ;-------------------------------------- |
|
1190 | .type_alt: |
1312 | .type_alt: |
1191 | mov edx,fbutton_name_alt.f1 |
1313 | mov edx,fbutton_name_alt.f1 |
1192 | call .type_all |
1314 | call .type_all |
1193 | mov edx,fbutton_name_alt.f2 |
1315 | mov edx,fbutton_name_alt.f2 |
1194 | call .type_all |
1316 | call .type_all |
Line 1209... | Line 1331... | ||
1209 | mov edx,fbutton_name_alt.f10 |
1331 | mov edx,fbutton_name_alt.f10 |
1210 | call .type_all |
1332 | call .type_all |
1211 | mov edx,fbutton_name_alt.f11 |
1333 | mov edx,fbutton_name_alt.f11 |
1212 | call .type_all |
1334 | call .type_all |
1213 | mov edx,fbutton_name_alt.f12 |
1335 | mov edx,fbutton_name_alt.f12 |
- | 1336 | ;-------------------------------------- |
|
1214 | .type_all: |
1337 | .type_all: |
1215 | int 0x40 |
1338 | mcall |
1216 | call draw_fbutton.rol_ror |
1339 | call draw_fbutton.rol_ror |
1217 | ret |
1340 | ret |
- | 1341 | ;------------------------------------------------------------------------------ |