Rev 3840 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3840 | Rev 7640 | ||
---|---|---|---|
1 | ;--------------------------------------------------------------------- |
1 | ;--------------------------------------------------------------------- |
2 | key_menu: |
2 | key_menu: |
3 | mcall 2 |
3 | mcall 2 |
4 | cmp [extended_key],1 |
4 | cmp [extended_key],1 |
5 | je .extended_key |
5 | je .extended_key |
6 | test al, al |
6 | test al, al |
7 | jnz .end_1 |
7 | jnz .end_1 |
8 | cmp ah, 0xE0 |
8 | cmp ah, 0xE0 |
9 | jne @f |
9 | jne @f |
10 | mov [extended_key],1 |
10 | mov [extended_key],1 |
11 | .end_1: |
11 | .end_1: |
12 | ret |
12 | ret |
13 | @@: |
13 | @@: |
14 | cmp ah,72 |
14 | cmp ah,72 |
15 | je menu_key_72.1 |
15 | je menu_key_72.1 |
16 | cmp ah,80 |
16 | cmp ah,80 |
17 | je menu_key_80.1 |
17 | je menu_key_80.1 |
18 | cmp ah,28 |
18 | cmp ah,28 |
19 | je menu_key_28.1 |
19 | je menu_key_28.1 |
20 | .end: |
20 | .end: |
21 | cmp ah,208 |
21 | cmp ah,208 |
22 | je .end_1 |
22 | je .end_1 |
23 | cmp ah,200 |
23 | cmp ah,200 |
24 | je .end_1 |
24 | je .end_1 |
25 | cmp ah,156 |
25 | cmp ah,156 |
26 | je .end_1 |
26 | je .end_1 |
27 | cmp ah,184 |
27 | cmp ah,184 |
28 | je .end_5 |
28 | je .end_5 |
29 | cmp ah,187 |
29 | cmp ah,187 |
30 | je .end_1 |
30 | je .end_1 |
31 | cmp ah,188 |
31 | cmp ah,188 |
32 | je .end_1 |
32 | je .end_1 |
33 | cmp ah,199 |
33 | cmp ah,199 |
34 | je .end_1 |
34 | je .end_1 |
35 | cmp ah,207 |
35 | cmp ah,207 |
36 | je .end_1 |
36 | je .end_1 |
37 | cmp ah,201 |
37 | cmp ah,201 |
38 | je .end_1 |
38 | je .end_1 |
39 | cmp ah,209 |
39 | cmp ah,209 |
40 | je .end_1 |
40 | je .end_1 |
41 | cmp ah,42 ; NumLock ON |
41 | cmp ah,42 ; NumLock ON |
42 | je .end_1 |
42 | je .end_1 |
43 | cmp ah,170 ; NumLock ON |
43 | cmp ah,170 ; NumLock ON |
44 | je .end_1 |
44 | je .end_1 |
45 | cmp ah,210 |
45 | cmp ah,210 |
46 | je .end_1 |
46 | je .end_1 |
47 | cmp ah,211 |
47 | cmp ah,211 |
48 | je .end_1 |
48 | je .end_1 |
49 | cmp ah,56 |
49 | cmp ah,56 |
50 | je .end_4 |
50 | je .end_4 |
51 | cmp ah,59 |
51 | cmp ah,59 |
52 | je .end_2 |
52 | je .end_2 |
53 | cmp ah,60 |
53 | cmp ah,60 |
54 | je .end_3 |
54 | je .end_3 |
55 | .for_all: |
55 | .for_all: |
56 | mov [close_menu],1 |
56 | mov [close_menu],1 |
57 | ret |
57 | ret |
58 | 58 | ||
59 | .end_2: |
59 | .end_2: |
60 | cmp [alt_flag],0 |
60 | cmp [alt_flag],0 |
61 | je .for_all |
61 | je .for_all |
62 | cmp [select_panel_counter],0 |
62 | cmp [select_panel_counter],0 |
63 | je .end_1 |
63 | je .end_1 |
64 | mov [close_menu],2 |
64 | mov [close_menu],2 |
65 | ret |
65 | ret |
66 | .end_3: |
66 | .end_3: |
67 | cmp [alt_flag],0 |
67 | cmp [alt_flag],0 |
68 | je .for_all |
68 | je .for_all |
69 | cmp [select_panel_counter],0 |
69 | cmp [select_panel_counter],0 |
70 | jne .end_1 |
70 | jne .end_1 |
71 | mov [close_menu],2 |
71 | mov [close_menu],2 |
72 | ret |
72 | ret |
73 | .end_4: |
73 | .end_4: |
74 | cmp [alt_flag],1 |
74 | cmp [alt_flag],1 |
75 | je .end_1 |
75 | je .end_1 |
76 | mov [alt_flag],1 |
76 | mov [alt_flag],1 |
77 | jmp @f |
77 | jmp @f |
78 | .end_5: |
78 | .end_5: |
79 | cmp [alt_flag],0 |
79 | cmp [alt_flag],0 |
80 | je .end_1 |
80 | je .end_1 |
81 | mov [alt_flag],0 |
81 | mov [alt_flag],0 |
82 | @@: |
82 | @@: |
83 | call erase_fbutton |
83 | call erase_fbutton |
84 | call draw_fbutton |
84 | call draw_fbutton |
85 | ret |
85 | ret |
86 | ;--------------------------------------------------------------------- |
86 | ;--------------------------------------------------------------------- |
87 | .extended_key: |
87 | .extended_key: |
88 | mov [extended_key],0 |
88 | mov [extended_key],0 |
89 | menu_key_80: |
89 | menu_key_80: |
90 | cmp ah,80 ; arrow down |
90 | cmp ah,80 ; arrow down |
91 | jne menu_key_72 |
91 | jne menu_key_72 |
92 | .1: |
92 | .1: |
93 | mov eax,[retrieved_devices_table_counter] |
93 | mov eax,[retrieved_devices_table_counter] |
94 | dec eax |
94 | dec eax |
95 | cmp eax,[start_draw_menu_cursor_line] |
95 | cmp eax,[start_draw_menu_cursor_line] |
96 | je @f |
96 | je @f |
97 | inc [start_draw_menu_cursor_line] |
97 | inc [start_draw_menu_cursor_line] |
98 | @@: |
98 | @@: |
99 | ret |
99 | ret |
100 | ;--------------------------------------------------------------------- |
100 | ;--------------------------------------------------------------------- |
101 | menu_key_72: |
101 | menu_key_72: |
102 | cmp ah,72 ;arrow up |
102 | cmp ah,72 ;arrow up |
103 | jne menu_key_71 |
103 | jne menu_key_71 |
104 | .1: |
104 | .1: |
105 | cmp [start_draw_menu_cursor_line],0 |
105 | cmp [start_draw_menu_cursor_line],0 |
106 | je @f |
106 | je @f |
107 | dec [start_draw_menu_cursor_line] |
107 | dec [start_draw_menu_cursor_line] |
108 | @@: |
108 | @@: |
109 | ret |
109 | ret |
110 | ;--------------------------------------------------------------------- |
110 | ;--------------------------------------------------------------------- |
111 | menu_key_71: |
111 | menu_key_71: |
112 | cmp ah,71 ;Home |
112 | cmp ah,71 ;Home |
113 | je @f |
113 | je @f |
114 | cmp ah,73 ;PageUp |
114 | cmp ah,73 ;PageUp |
115 | jne menu_key_79 |
115 | jne menu_key_79 |
116 | @@: |
116 | @@: |
117 | mov [start_draw_menu_cursor_line],0 |
117 | mov [start_draw_menu_cursor_line],0 |
118 | ret |
118 | ret |
119 | ;--------------------------------------------------------------------- |
119 | ;--------------------------------------------------------------------- |
120 | menu_key_79: |
120 | menu_key_79: |
121 | cmp ah,79 ; End |
121 | cmp ah,79 ; End |
122 | je @f |
122 | je @f |
123 | cmp ah,81 ; PageDown |
123 | cmp ah,81 ; PageDown |
124 | jne menu_key_82 |
124 | jne menu_key_82 |
125 | @@: |
125 | @@: |
126 | mov eax,[retrieved_devices_table_counter] |
126 | mov eax,[retrieved_devices_table_counter] |
127 | dec eax |
127 | dec eax |
128 | mov [start_draw_menu_cursor_line],eax |
128 | mov [start_draw_menu_cursor_line],eax |
129 | ret |
129 | ret |
130 | ;--------------------------------------------------------------------- |
130 | ;--------------------------------------------------------------------- |
131 | menu_key_82: |
131 | menu_key_82: |
132 | cmp ah,82 ; Insert |
132 | cmp ah,82 ; Insert |
133 | jne menu_key_83 |
133 | jne menu_key_83 |
134 | mov esi,[start_draw_menu_cursor_line] |
134 | mov esi,[start_draw_menu_cursor_line] |
135 | imul esi,10 |
135 | imul esi,10 |
136 | add esi,retrieved_devices_table |
136 | add esi,retrieved_devices_table |
137 | inc esi |
137 | inc esi |
138 | cmp [esi],word 'cd' |
138 | cmp [esi],word 'cd' |
139 | jne @f |
139 | jne @f |
140 | xor ecx,ecx |
140 | xor ecx,ecx |
141 | mov cl,[esi+2] |
141 | mov cl,[esi+2] |
142 | sub ecx,0x30 |
142 | sub ecx,0x30 |
143 | mcall 24,5 |
143 | mcall 24,5 |
144 | @@: |
144 | @@: |
145 | ret |
145 | ret |
146 | ;--------------------------------------------------------------------- |
146 | ;--------------------------------------------------------------------- |
147 | menu_key_83: |
147 | menu_key_83: |
148 | cmp ah,83 ; Delete |
148 | cmp ah,83 ; Delete |
149 | jne menu_key_28 |
149 | jne menu_key_28 |
150 | mov esi,[start_draw_menu_cursor_line] |
150 | mov esi,[start_draw_menu_cursor_line] |
151 | imul esi,10 |
151 | imul esi,10 |
152 | add esi,retrieved_devices_table |
152 | add esi,retrieved_devices_table |
153 | inc esi |
153 | inc esi |
154 | cmp [esi],word 'cd' |
154 | cmp [esi],word 'cd' |
155 | jne @f |
155 | jne @f |
156 | xor ecx,ecx |
156 | xor ecx,ecx |
157 | mov cl,[esi+2] |
157 | mov cl,[esi+2] |
158 | sub ecx,0x30 |
158 | sub ecx,0x30 |
159 | mcall 24,4 |
159 | mcall 24,4 |
160 | @@: |
160 | @@: |
161 | ret |
161 | ret |
162 | ;--------------------------------------------------------------------- |
162 | ;--------------------------------------------------------------------- |
163 | menu_key_28: |
163 | menu_key_28: |
164 | cmp ah,28 ; Enter |
164 | cmp ah,28 ; Enter |
165 | jne menu_key_end |
165 | jne menu_key_end |
166 | .1: |
166 | .1: |
167 | mov [press_enter_menu],1 |
167 | mov [press_enter_menu],1 |
168 | ret |
168 | ret |
169 | menu_key_end: |
169 | menu_key_end: |
170 | jmp key_menu.end |
170 | jmp key_menu.end |
171 | ;--------------------------------------------------------------------- |
171 | ;--------------------------------------------------------------------- |
172 | key_menu_left: |
172 | key_menu_left: |
173 | mov [close_menu],0 |
173 | mov [close_menu],0 |
174 | mov [press_enter_menu],0 |
174 | mov [press_enter_menu],0 |
175 | call key_menu |
175 | call key_menu |
176 | cmp [press_enter_menu],1 |
176 | cmp [press_enter_menu],1 |
177 | je .press_enter_menu |
177 | je .press_enter_menu |
178 | cmp [close_menu],0 |
178 | cmp [close_menu],0 |
179 | je draw_left_select_disk_menu.red |
179 | je draw_left_select_disk_menu.red |
180 | .1: |
180 | .1: |
181 | ; mov [left_panel_clear_all],1 |
181 | ; mov [left_panel_clear_all],1 |
182 | call draw_left_panel |
182 | call draw_left_panel |
183 | ; mov [right_panel_clear_all],1 |
183 | ; mov [right_panel_clear_all],1 |
184 | call draw_right_panel |
184 | call draw_right_panel |
185 | cmp [alt_flag],0 |
185 | cmp [alt_flag],0 |
186 | je still |
186 | je still |
187 | cmp [close_menu],2 |
187 | cmp [close_menu],2 |
188 | je draw_right_select_disk_menu |
188 | je draw_right_select_disk_menu |
189 | jmp still |
189 | jmp still |
190 | .press_enter_menu: |
190 | .press_enter_menu: |
191 | mov esi,[start_draw_menu_cursor_line] |
191 | mov esi,[start_draw_menu_cursor_line] |
192 | imul esi,10 |
192 | imul esi,10 |
193 | add esi,retrieved_devices_table |
193 | add esi,retrieved_devices_table |
194 | inc esi |
194 | inc esi |
195 | call copy_folder_name |
195 | call copy_folder_name |
196 | mov [left_start_draw_cursor_line],0 |
196 | mov [left_start_draw_cursor_line],0 |
197 | call proc_read_folder |
197 | call proc_read_folder |
198 | jmp still |
198 | jmp still |
199 | ;--------------------------------------------------------------------- |
199 | ;--------------------------------------------------------------------- |
200 | key_menu_right: |
200 | key_menu_right: |
201 | mov [close_menu],0 |
201 | mov [close_menu],0 |
202 | mov [press_enter_menu],0 |
202 | mov [press_enter_menu],0 |
203 | call key_menu |
203 | call key_menu |
204 | cmp [press_enter_menu],1 |
204 | cmp [press_enter_menu],1 |
205 | je .press_enter_menu |
205 | je .press_enter_menu |
206 | cmp [close_menu],0 |
206 | cmp [close_menu],0 |
207 | je draw_right_select_disk_menu.red |
207 | je draw_right_select_disk_menu.red |
208 | .1: |
208 | .1: |
209 | ; mov [left_panel_clear_all],1 |
209 | ; mov [left_panel_clear_all],1 |
210 | call draw_left_panel |
210 | call draw_left_panel |
211 | ; mov [right_panel_clear_all],1 |
211 | ; mov [right_panel_clear_all],1 |
212 | call draw_right_panel |
212 | call draw_right_panel |
213 | cmp [alt_flag],0 |
213 | cmp [alt_flag],0 |
214 | je still |
214 | je still |
215 | cmp [close_menu],2 |
215 | cmp [close_menu],2 |
216 | je draw_left_select_disk_menu |
216 | je draw_left_select_disk_menu |
217 | jmp still |
217 | jmp still |
218 | .press_enter_menu: |
218 | .press_enter_menu: |
219 | mov esi,[start_draw_menu_cursor_line] |
219 | mov esi,[start_draw_menu_cursor_line] |
220 | imul esi,10 |
220 | imul esi,10 |
221 | add esi,retrieved_devices_table |
221 | add esi,retrieved_devices_table |
222 | inc esi |
222 | inc esi |
223 | call copy_folder_name_1 |
223 | call copy_folder_name_1 |
224 | mov [right_start_draw_cursor_line],0 |
224 | mov [right_start_draw_cursor_line],0 |
225 | call proc_read_folder_1 |
225 | call proc_read_folder_1 |
226 | jmp still |
226 | jmp still |
227 | ;--------------------------------------------------------------------- |
227 | ;--------------------------------------------------------------------- |
228 | draw_left_select_disk_menu: |
228 | draw_left_select_disk_menu: |
229 | call device_detect_f70 |
229 | call device_detect_f70 |
230 | mov [select_panel_counter],0 |
230 | mov [select_panel_counter],0 |
231 | call draw_left_panel |
231 | call draw_left_panel |
232 | call draw_right_panel |
232 | call draw_right_panel |
233 | mov [start_draw_menu_cursor_line],0 |
233 | mov [start_draw_menu_cursor_line],0 |
234 | .red: |
234 | .red: |
235 | call draw_left_menu |
235 | call draw_left_menu |
236 | .still: |
236 | .still: |
237 | mcall 10 |
237 | mcall 10 |
238 | cmp eax,1 |
238 | cmp eax,1 |
239 | je red |
239 | je red |
240 | cmp eax,2 |
240 | cmp eax,2 |
241 | je key_menu_left |
241 | je key_menu_left |
242 | cmp eax,3 |
242 | cmp eax,3 |
243 | je @f |
243 | je @f |
244 | cmp eax,6 |
244 | cmp eax,6 |
245 | je mouse_menu_left |
245 | je mouse_menu_left |
246 | jmp .still |
246 | jmp .still |
247 | @@: |
247 | @@: |
248 | call draw_left_panel |
248 | call draw_left_panel |
249 | jmp button |
249 | jmp button |
250 | ;--------------------------------------------------------------------- |
250 | ;--------------------------------------------------------------------- |
251 | draw_right_select_disk_menu: |
251 | draw_right_select_disk_menu: |
252 | call device_detect_f70 |
252 | call device_detect_f70 |
253 | mov [select_panel_counter],1 |
253 | mov [select_panel_counter],1 |
254 | call draw_left_panel |
254 | call draw_left_panel |
255 | call draw_right_panel |
255 | call draw_right_panel |
256 | mov [start_draw_menu_cursor_line],0 |
256 | mov [start_draw_menu_cursor_line],0 |
257 | .red: |
257 | .red: |
258 | call draw_right_menu |
258 | call draw_right_menu |
259 | .still: |
259 | .still: |
260 | mcall 10 |
260 | mcall 10 |
261 | cmp eax,1 |
261 | cmp eax,1 |
262 | je red |
262 | je red |
263 | cmp eax,2 |
263 | cmp eax,2 |
264 | je key_menu_right |
264 | je key_menu_right |
265 | cmp eax,3 |
265 | cmp eax,3 |
266 | je @f |
266 | je @f |
267 | cmp eax,6 |
267 | cmp eax,6 |
268 | je mouse_menu_right |
268 | je mouse_menu_right |
269 | jmp .still |
269 | jmp .still |
270 | @@: |
270 | @@: |
271 | call draw_right_panel |
271 | call draw_right_panel |
272 | jmp button |
272 | jmp button |
273 | ;--------------------------------------------------------------------- |
273 | ;--------------------------------------------------------------------- |
274 | draw_left_menu: |
274 | draw_left_menu: |
275 | mov ebx,[left_panel_x] |
275 | mov ebx,[left_panel_x] |
276 | mov bx,60 |
276 | mov bx,60 |
277 | mov ecx,[left_panel_y] |
277 | mov ecx,[left_panel_y] |
278 | mov eax,[retrieved_devices_table_counter] |
278 | mov eax,[retrieved_devices_table_counter] |
279 | mov cx,ax |
279 | mov cx,ax |
280 | imul cx,10 |
280 | imul cx,10 |
281 | mov edx,0xffffcc |
281 | mov edx,0xffffcc |
- | 282 | dec ebx |
|
282 | mov eax,13 |
283 | mov eax,13 |
283 | mcall |
284 | mcall |
284 | call draw_menu_Selection |
285 | call draw_menu_Selection |
285 | call draw_menu_data |
286 | call draw_menu_data |
286 | ret |
287 | ret |
287 | ;--------------------------------------------------------------------- |
288 | ;--------------------------------------------------------------------- |
288 | draw_right_menu: |
289 | draw_right_menu: |
289 | mov ebx,[right_panel_x] |
290 | mov ebx,[right_panel_x] |
290 | mov bx,60 |
291 | mov bx,60 |
291 | mov ecx,[right_panel_y] |
292 | mov ecx,[right_panel_y] |
292 | mov eax,[retrieved_devices_table_counter] |
293 | mov eax,[retrieved_devices_table_counter] |
293 | mov cx,ax |
294 | mov cx,ax |
294 | imul cx,10 |
295 | imul cx,10 |
295 | mov edx,0xffffcc |
296 | mov edx,0xffffcc |
296 | mov eax,13 |
297 | mov eax,13 |
297 | mcall |
298 | mcall |
298 | call draw_menu_Selection |
299 | call draw_menu_Selection |
299 | call draw_menu_data |
300 | call draw_menu_data |
300 | ret |
301 | ret |
301 | ;--------------------------------------------------------------------- |
302 | ;--------------------------------------------------------------------- |
302 | draw_menu_data: |
303 | draw_menu_data: |
303 | mov edx,retrieved_devices_table |
304 | mov edx,retrieved_devices_table |
304 | shr ecx,16 |
305 | shr ecx,16 |
305 | mov bx,cx |
306 | mov bx,cx |
306 | mov ebp,0 |
307 | mov ebp,0 |
307 | .start: |
308 | .start: |
308 | mcall 4, ,0x80000000 |
309 | mcall 4, ,0x80000000 |
309 | add ebx,10 |
310 | add ebx,10 |
310 | add edx,10 |
311 | add edx,10 |
311 | inc ebp |
312 | inc ebp |
312 | cmp ebp,[retrieved_devices_table_counter] |
313 | cmp ebp,[retrieved_devices_table_counter] |
313 | jne .start |
314 | jne .start |
314 | ret |
315 | ret |
315 | ;--------------------------------------------------------------------- |
316 | ;--------------------------------------------------------------------- |
316 | draw_menu_Selection: |
317 | draw_menu_Selection: |
317 | push ebx ecx |
318 | push ebx ecx |
318 | mov eax,[start_draw_menu_cursor_line] |
319 | mov eax,[start_draw_menu_cursor_line] |
319 | imul eax,10 |
320 | imul eax,10 |
320 | shl eax,16 |
321 | shl eax,16 |
321 | add ecx,eax |
322 | add ecx,eax |
322 | mov cx,10 |
323 | mov cx,10 |
323 | mov edx,0xbbffbb |
324 | mov edx,0xbbffbb |
324 | mov eax,13 |
325 | mov eax,13 |
325 | mcall |
326 | mcall |
326 | pop ecx ebx |
327 | pop ecx ebx |
327 | ret |
328 | ret |
328 | ;--------------------------------------------------------------------- |
329 | ;--------------------------------------------------------------------- |
329 | mouse_menu_left: |
330 | mouse_menu_left: |
330 | mcall 37,2 |
331 | mcall 37,2 |
331 | mov [mouse_keys],eax |
332 | mov [mouse_keys],eax |
332 | mcall 37,1 |
333 | mcall 37,1 |
333 | mov [mouse_position],eax |
334 | mov [mouse_position],eax |
334 | test eax,0x80000000 |
335 | test eax,0x80000000 |
335 | jnz draw_left_select_disk_menu.still |
336 | jnz draw_left_select_disk_menu.still |
336 | test eax,0x8000 |
337 | test eax,0x8000 |
337 | jnz draw_left_select_disk_menu.still |
338 | jnz draw_left_select_disk_menu.still |
338 | mov ebx,eax |
339 | mov ebx,eax |
339 | shr ebx,16 |
340 | shr ebx,16 |
340 | shl eax,16 |
341 | shl eax,16 |
341 | shr eax,16 |
342 | shr eax,16 |
342 | cmp ebx,[window_width] |
343 | cmp ebx,[window_width] |
343 | ja draw_left_select_disk_menu.still |
344 | ja draw_left_select_disk_menu.still |
344 | cmp eax,[window_high] |
345 | cmp eax,[window_high] |
345 | ja draw_left_select_disk_menu.still |
346 | ja draw_left_select_disk_menu.still |
346 | xor ecx,ecx |
347 | xor ecx,ecx |
347 | mov cx,[left_panel_y.start_y] |
348 | mov cx,[left_panel_y.start_y] |
348 | cmp ax,cx |
349 | cmp ax,cx |
349 | jbe .close |
350 | jbe .close |
350 | mov edx,[retrieved_devices_table_counter] |
351 | mov edx,[retrieved_devices_table_counter] |
351 | imul edx,10 |
352 | imul edx,10 |
352 | add cx,dx |
353 | add cx,dx |
353 | cmp ax,cx |
354 | cmp ax,cx |
354 | jae .close |
355 | jae .close |
355 | mov cx,[left_panel_x.start_x] |
356 | mov cx,[left_panel_x.start_x] |
356 | cmp bx,cx |
357 | cmp bx,cx |
357 | jbe .close |
358 | jbe .close |
358 | add cx,60 |
359 | add cx,60 |
359 | cmp bx,cx |
360 | cmp bx,cx |
360 | jae .close |
361 | jae .close |
361 | sub ax,[left_panel_y.start_y] |
362 | sub ax,[left_panel_y.start_y] |
362 | mov ebx,10 |
363 | mov ebx,10 |
363 | xor edx,edx |
364 | xor edx,edx |
364 | div ebx |
365 | div ebx |
365 | mov [start_draw_menu_cursor_line],eax |
366 | mov [start_draw_menu_cursor_line],eax |
366 | cmp [mouse_keys],0 |
367 | cmp [mouse_keys],0 |
367 | je draw_left_select_disk_menu.red |
368 | je draw_left_select_disk_menu.red |
368 | jmp key_menu_left.press_enter_menu |
369 | jmp key_menu_left.press_enter_menu |
369 | .close: |
370 | .close: |
370 | cmp [mouse_keys],0 |
371 | cmp [mouse_keys],0 |
371 | je draw_left_select_disk_menu.still |
372 | je draw_left_select_disk_menu.still |
372 | ; mov [left_panel_clear_all],1 |
373 | ; mov [left_panel_clear_all],1 |
373 | call draw_left_panel |
374 | call draw_left_panel |
374 | jmp still |
375 | jmp still |
375 | ;--------------------------------------------------------------------- |
376 | ;--------------------------------------------------------------------- |
376 | mouse_menu_right: |
377 | mouse_menu_right: |
377 | mcall 37,2 |
378 | mcall 37,2 |
378 | mov [mouse_keys],eax |
379 | mov [mouse_keys],eax |
379 | mcall 37,1 |
380 | mcall 37,1 |
380 | mov [mouse_position],eax |
381 | mov [mouse_position],eax |
381 | test eax,0x80000000 |
382 | test eax,0x80000000 |
382 | jnz draw_right_select_disk_menu.still |
383 | jnz draw_right_select_disk_menu.still |
383 | test eax,0x8000 |
384 | test eax,0x8000 |
384 | jnz draw_right_select_disk_menu.still |
385 | jnz draw_right_select_disk_menu.still |
385 | mov ebx,eax |
386 | mov ebx,eax |
386 | shr ebx,16 |
387 | shr ebx,16 |
387 | shl eax,16 |
388 | shl eax,16 |
388 | shr eax,16 |
389 | shr eax,16 |
389 | cmp ebx,[window_width] |
390 | cmp ebx,[window_width] |
390 | ja draw_right_select_disk_menu.still |
391 | ja draw_right_select_disk_menu.still |
391 | cmp eax,[window_high] |
392 | cmp eax,[window_high] |
392 | ja draw_right_select_disk_menu.still |
393 | ja draw_right_select_disk_menu.still |
393 | xor ecx,ecx |
394 | xor ecx,ecx |
394 | mov cx,[right_panel_y.start_y] |
395 | mov cx,[right_panel_y.start_y] |
395 | cmp ax,cx |
396 | cmp ax,cx |
396 | jbe .close |
397 | jbe .close |
397 | mov edx,[retrieved_devices_table_counter] |
398 | mov edx,[retrieved_devices_table_counter] |
398 | imul edx,10 |
399 | imul edx,10 |
399 | add cx,dx |
400 | add cx,dx |
400 | cmp ax,cx |
401 | cmp ax,cx |
401 | jae .close |
402 | jae .close |
402 | mov cx,[right_panel_x.start_x] |
403 | mov cx,[right_panel_x.start_x] |
403 | cmp bx,cx |
404 | cmp bx,cx |
404 | jbe .close |
405 | jbe .close |
405 | add cx,60 |
406 | add cx,60 |
406 | cmp bx,cx |
407 | cmp bx,cx |
407 | jae .close |
408 | jae .close |
408 | sub ax,[right_panel_y.start_y] |
409 | sub ax,[right_panel_y.start_y] |
409 | mov ebx,10 |
410 | mov ebx,10 |
410 | xor edx,edx |
411 | xor edx,edx |
411 | div ebx |
412 | div ebx |
412 | mov [start_draw_menu_cursor_line],eax |
413 | mov [start_draw_menu_cursor_line],eax |
413 | cmp [mouse_keys],0 |
414 | cmp [mouse_keys],0 |
414 | je draw_right_select_disk_menu.red |
415 | je draw_right_select_disk_menu.red |
415 | jmp key_menu_right.press_enter_menu |
416 | jmp key_menu_right.press_enter_menu |
416 | .close: |
417 | .close: |
417 | cmp [mouse_keys],0 |
418 | cmp [mouse_keys],0 |
418 | je draw_right_select_disk_menu.still |
419 | je draw_right_select_disk_menu.still |
419 | ; mov [right_panel_clear_all],1 |
420 | ; mov [right_panel_clear_all],1 |
420 | call draw_right_panel |
421 | call draw_right_panel |
421 | jmp still |
422 | jmp still |
422 | ;--------------------------------------------------------------------- |
423 | ;--------------------------------------------------------------------- |