Subversion Repositories Kolibri OS

Rev

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
;---------------------------------------------------------------------