Subversion Repositories Kolibri OS

Rev

Rev 2584 | Rev 4631 | Go to most recent revision | Show entire file | Ignore 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
6
    mov   ebx,[window_width]
7
	mov	ebx,[window_width]
7
    sub   ebx,9
8
	sub	ebx,9
8
    add   ebx,5 shl 16
9
	add	ebx,5 shl 16
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
140
    sub   ebx,eax
141
	sub	ebx,eax
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
218
    add   ebx,3
223
	add	ebx,3
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:
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
439
	pop   ebx
467
	pop	ebx
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
467
	pop   ebx
499
	pop	ebx
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
;--------------------------------------
-
 
540
@@:
-
 
541
	cld
-
 
542
	lodsb
-
 
543
	test	eax,eax
-
 
544
	jnz	@b
-
 
545
 
-
 
546
	mov	[file_name_length],esi
-
 
547
	sub	[file_name_length],edx
-
 
548
	mov	[temp_counter_1],esi
-
 
549
	test	[edx-40],byte 0x10
-
 
550
	jnz	 .size
-
 
551
 
-
 
552
	dec	esi
-
 
553
	dec	edx
-
 
554
;--------------------------------------
-
 
555
@@:
-
 
556
	std
-
 
557
	lodsb
-
 
558
	cmp	esi,edx
-
 
559
	je	.extension_size_0
-
 
560
 
-
 
561
	cmp	al,'.'
-
 
562
	jnz	@b
-
 
563
 
-
 
564
	add	esi,2
-
 
565
	mov	[extension_start],esi
-
 
566
	mov	ecx,[temp_counter_1]
-
 
567
	sub	ecx,esi
-
 
568
	inc	ecx
-
 
569
	mov	[extension_size],ecx
-
 
570
	sub	[file_name_length],ecx
-
 
571
	cmp	ecx,2
-
 
572
	ja	@f
-
 
573
 
-
 
574
	inc	[file_name_length]
-
 
575
;--------------------------------------
500
@@:
576
@@:
501
    cld
-
 
502
    lodsb
-
 
503
    test  eax,eax
-
 
504
    jnz   @b
-
 
505
    mov   [file_name_length],esi
-
 
506
    sub   [file_name_length],edx
-
 
507
    mov   [temp_counter_1],esi
-
 
508
    test  [edx-40],byte 0x10
-
 
509
    jnz    .size
-
 
510
;@@:
-
 
511
    dec   esi
-
 
512
    dec   edx
-
 
513
@@:
-
 
514
    std
-
 
515
    lodsb
-
 
516
    cmp   esi,edx
-
 
517
    je	  .extension_size_0  ;@f
-
 
518
    cmp   al,'.'
-
 
519
    jnz   @b
-
 
520
    add   esi,2
-
 
521
    mov   [extension_start],esi
-
 
522
    mov   ecx,[temp_counter_1]
-
 
523
    sub   ecx,esi
577
	sub	ecx,2
524
    inc   ecx
-
 
525
    mov   [extension_size],ecx
-
 
526
    sub   [file_name_length],ecx
-
 
527
    cmp   ecx,2
578
	cmp	ecx,4
528
    ja	 @f
579
	jbe	@f
529
    inc   [file_name_length]
-
 
530
@@:
580
 
531
    sub   ecx,2
-
 
532
    cmp   ecx,4
-
 
533
    jbe   @f
-
 
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 '    '
557
    mov   [size_table+4],word '  '
609
	mov	[size_table+4],word '  '
558
    push  ebx
610
	push	ebx
559
    push  edx
611
	push	edx
560
    mov   eax,[edx-40+32]
612
	mov	eax,[edx-40+32]
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
603
    mov   [size_table],byte ' '
-
 
604
@@:
662
 
605
    cmp   [size_table+4],byte ' '
663
	mov	[size_table],byte ' '
606
    jne   @f
-
 
607
    mov   esi,size_table+3
664
;--------------------------------------
608
    mov   edi,esi
-
 
609
    inc   edi
-
 
610
    mov   ecx,5
-
 
611
    std
-
 
612
    rep   movsb
-
 
613
    jmp   @r
-
 
614
@@:
665
@@:
-
 
666
	cmp	[size_table+4],byte ' '
-
 
667
	jne	@f
-
 
668
 
-
 
669
	mov	esi,size_table+3
-
 
670
	mov	edi,esi
-
 
671
	inc	edi
-
 
672
	mov	ecx,5
-
 
673
	std
-
 
674
	rep	movsb
-
 
675
	jmp	@r
-
 
676
;--------------------------------------
-
 
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
622
    call  decimal_string_2
686
	call	decimal_string_2
623
    mov   al,[edx-40+29]
687
	mov	al,[edx-40+29]
624
    mov   ebx,date_table+3
688
	mov	ebx,date_table+3
625
    call  decimal_string_2
689
	call	decimal_string_2
626
    mov   ax,[edx-40+30]
690
	mov	ax,[edx-40+30]
627
    mov   ebx,year_table
691
	mov	ebx,year_table
628
    call  decimal_string_4
692
	call	decimal_string_4
629
    mov   ax,[year_table+2]
693
	mov	ax,[year_table+2]
630
    mov   [date_table+6],ax
694
	mov	[date_table+6],ax
631
    pop   ebx
695
	pop	ebx
632
    ror   ebx,16
696
	ror	ebx,16
633
    add   bx,[left_panel_x.size_x]
697
	add	bx,[left_panel_x.size_x]
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
734
    xor   eax,eax
813
	xor	eax,eax
735
    mov   ax,[left_panel_x.size_x]
814
	mov	ax,[left_panel_x.size_x]
736
    push  ebx edx
815
	push	ebx edx
737
    mov   ebx,6
816
	mov	ebx,6
738
    xor   edx,edx
817
	xor	edx,edx
739
    div   ebx
818
	div	ebx
740
    pop   edx ebx
819
	pop	edx ebx
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
784
    rol  ecx,16
866
	rol	ecx,16
785
    mov  cx,ax
867
	mov	cx,ax
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
791
    mov  bx,[left_panel_x.size_x]
-
 
792
    sub  ebx,12 shl 16
-
 
793
    mov  edx,0xffffff
-
 
794
    mcall 13
-
 
795
@@:
-
 
Line -... Line 873...
-
 
873
 
-
 
874
	mov	bx,[left_panel_x.size_x]
-
 
875
	sub	ebx,12 shl 16
-
 
876
	mcall	13,,,0xffffff
-
 
877
;--------------------------------------
796
 
878
@@:
797
.end:
879
.end:
798
    cmp   [drawing_panel_folder],1
880
	cmp	[drawing_panel_folder],1
-
 
881
	jne	@f
799
    jne   @f
882
 
800
    call  draw_scroll_bar_left
883
	call	draw_scroll_bar_left
-
 
884
	ret
801
    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
-
 
892
	jne	.end_1
808
    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
-
 
899
	jne	.right
814
    jne  .right
900
 
815
    cmp  [select_panel_counter],0
901
	cmp	[select_panel_counter],0
-
 
902
	jne	.continue
816
    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
-
 
907
	je	.end
820
    je	 .end
908
 
-
 
909
	jmp	.continue
821
    jmp  .continue
910
;--------------------------------------
822
.right:
911
.right:
823
    cmp  [select_panel_counter],0
912
	cmp	[select_panel_counter],0
-
 
913
	je	.continue
824
    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
-
 
918
	je	.end
828
    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
-
 
928
	je	@f
837
    je	 @f
929
 
-
 
930
	dec	ebx
838
    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
-
 
843
    int  0x40
935
;--------------------------------------
844
.end:
936
.end:
-
 
937
	popa
845
    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
-
 
962
	jne	.end
869
    jne   .end
963
 
-
 
964
	mov	edx,read_folder_name	   ;read_folder.name
870
    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
-
 
971
	mcall	4,,0x80000000  ; ,read_folder.name
876
    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
-
 
978
	jne	draw_left_panel_patch.end
882
    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
-
 
896
    mov   eax,13
-
 
897
    int   0x40
992
	mcall	13,,,0xffffcc
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
-
 
998
	jne	.end
903
    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
-
 
1009
	jae	 @f
913
    jae    @f
1010
 
-
 
1011
	mov	cx,ax
914
    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]
-
 
1016
	add	cx,[left_panel_y.start_y]
918
    add   cx,[left_panel_y.start_y]
1017
;--------------------------------------
919
.1:
1018
.1:
920
    shl   ecx,16
1019
	shl	ecx,16
921
    mov   cx,10
-
 
922
    mov   edx,0xbbddff
1020
	mov	cx,10
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
-
 
1029
	jne	draw_left_panel_selection.end
931
    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
-
 
1040
	jae	 @f
941
    jae    @f
1041
 
-
 
1042
	mov	cx,ax
942
    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:
-
 
950
;    dec   eax
1050
for_all_panel_selection:
951
    imul  eax,10
1051
	imul	eax,10
952
    cmp   ax,cx
1052
	cmp	ax,cx
-
 
1053
	jae	@f
953
    jae   @f
1054
 
-
 
1055
	mov	cx,ax
954
    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
-
 
1062
	jae	@f
960
    jae   @f
1063
 
-
 
1064
	mov	cx,ax
961
    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
-
 
1077
	xor	eax,eax
-
 
1078
	mov	ax,cx
973
;    cmp   [left_panel_clear_all],0
1079
	xor	edx,edx
-
 
1080
	mov	ebx,10
974
;    je	 @f
1081
	div	ebx
-
 
1082
; óìíîæåíèå íà 10
-
 
1083
	shl	eax,1      ; óìíîæåíèå íà 2
975
;    call  calculate_panel_2
1084
	lea	eax,[eax+eax*4] ; óìíîæåíèå íà 5
976
;    mov   [left_panel_clear_all],0
-
 
977
;@@:
1085
	mov	[left_panel_y_correct_size_y],ax
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
-
 
987
;---------------------------------------------------------------------
-
 
988
;calculate_panel_2:
-
 
989
;    sub   ebx,15
-
 
990
;    mov   edx,0xffffff
-
 
991
;    mov   eax,13
-
 
992
;    int   0x40
-
 
993
;    ret
1094
	ret
994
;---------------------------------------------------------------------
1095
;------------------------------------------------------------------------------
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
1000
    add   ebx,[window_width]
1101
	add	ebx,[window_width]
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
-
 
1107
	xor	eax,eax
-
 
1108
	mov	ax,cx
1006
;    cmp   [right_panel_clear_all],0
1109
	xor	edx,edx
-
 
1110
	mov	ebx,10
1007
;    je	 @f
1111
	div	ebx
-
 
1112
; óìíîæåíèå íà 10
-
 
1113
	shl	eax,1      ; óìíîæåíèå íà 2
1008
;    call  calculate_panel_2
1114
	lea	eax,[eax+eax*4] ; óìíîæåíèå íà 5
1009
;    mov   [right_panel_clear_all],0
-
 
1010
;@@:
1115
	mov	[right_panel_y_correct_size_y],ax
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
-
 
1121
	mov	ebp,12
1016
    mov   ebp,12
1122
;--------------------------------------
1017
.start:
1123
.start:
1018
    int   0x40
1124
	mcall
1019
    dec   ebp
1125
	dec	ebp
-
 
1126
	jnz	.start
1020
    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
Line 1025... Line 1132...
1025
	jnz	.exit
1132
	jnz	.exit
1026
 
1133
 
Line 1027... Line 1134...
1027
	test	[window_status],10b	; window is minimized to panel
1134
	test	[window_status],10b	; window is minimized to panel
1028
	jnz	.exit
1135
	jnz	.exit
1029
 
1136
 
1030
    mov   ecx,[window_high]
1137
	mov	ecx,[window_high]
1031
    sub   ecx,20
1138
	sub	ecx,20
1032
    shl   ecx,16
-
 
1033
    add   ecx,15
1139
	shl	ecx,16
1034
    mov   eax,[window_width]
1140
	add	ecx,15
1035
;    sub   eax,8
1141
	mov	eax,[window_width]
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
1041
    add   ebx,eax
1147
	add	ebx,eax
1042
    sub   ebx,2
1148
	sub	ebx,2
1043
    mov   esi,0xaa00
1149
	mov	esi,0xaa00
-
 
1150
	mov	edx,101
1044
    mov   edx,101
1151
	mov	eax,8
1045
    mov   eax,8
1152
	mov	ebp,12
1046
    mov   ebp,12
1153
;--------------------------------------
-
 
1154
.start:
1047
.start:
1155
	cmp	ebp,1
1048
    cmp   ebp,1
1156
	jne	@f
1049
    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
-
 
1163
	sub	ax,5
1055
    sub   ax,5
1164
	mov	bx,ax
1056
    mov   bx,ax
1165
	mov	eax,8
1057
    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
-
 
1171
	mov	bx,10
1062
    mov   bx,10
1172
	cmp	ebp,4
-
 
1173
	jae	@f
1063
    cmp   ebp,4
1174
 
1064
    jae	  @f
1175
	mov	bx,18
1065
    mov   bx,18
1176
;--------------------------------------
1066
@@:
1177
@@:
-
 
1178
	mcall	13
1067
    mcall 13
1179
	cmp	ebp,1
1068
    cmp   ebp,1
1180
	je	@f
1069
    je   @f    
1181
 
1070
    ror   ebx,16
1182
	ror	ebx,16
1071
    add   ebx,[fbutton_width]
1183
	add	ebx,[fbutton_width]
1072
    dec   ebx
-
 
1073
    rol   ebx,16
1184
	dec	ebx
1074
    mov   bx,1
1185
	rol	ebx,16
1075
    mov   edx,0xcccccc
1186
	mov	bx,1
-
 
1187
	inc	ecx
1076
    inc   ecx
1188
	mcall	,,,0xcccccc
1077
    mcall
1189
	dec	ecx
1078
    dec   ecx
1190
;--------------------------------------
1079
@@:
1191
@@:
1080
    pop   edx ebx eax
1192
	pop	edx ebx eax
1081
    call  .rol_ror
1193
	call	.rol_ror
-
 
1194
	inc	edx
1082
    inc   edx
1195
	dec	ebp
1083
    dec   ebp
1196
	jnz	.start
-
 
1197
 
1084
    jnz   .start
1198
	call	draw_fbutton_name
1085
    call  draw_fbutton_name
1199
	ret
1086
    ret
1200
;--------------------------------------
1087
.rol_ror:
1201
.rol_ror:
-
 
1202
	rol	ebx,16
1088
    rol   ebx,16
1203
	add	ebx,[fbutton_width]
1089
    add   ebx,[fbutton_width]
1204
	ror	ebx,16
1090
    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
1099
    mov   ecx,0x90000000
1214
	mov	ecx,0x90000000
1100
    push  ebx
1215
	push	ebx
1101
    call  .type_1
1216
	call	.type_1
-
 
1217
	pop	ebx
1102
    pop   ebx
1218
	mov	ecx,0x90ffffff
1103
    mov   ecx,0x90ffffff
1219
	sub	ebx,1 shl 16 + 1
1104
    sub   ebx,1 shl 16 + 1
1220
;--------------------------------------
-
 
1221
.type_1:
1105
.type_1:
1222
	cmp	[shift_flag],1
1106
    cmp   [shift_flag],1
1223
	je	.type_shift
-
 
1224
 
1107
    je	  .type_shift
1225
	cmp	[ctrl_flag],1
1108
    cmp   [ctrl_flag],1
1226
	je	.type_ctrl
-
 
1227
 
1109
    je	  .type_ctrl
1228
	cmp	[alt_flag],1
1110
    cmp   [alt_flag],1
1229
	je	.type_alt
1111
    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
1117
    mov   edx,fbutton_name.f3
1236
	mov	edx,fbutton_name.f3
1118
    call  .type_all
1237
	call	.type_all
1119
    mov   edx,fbutton_name.f4
1238
	mov	edx,fbutton_name.f4
1120
    call  .type_all
1239
	call	.type_all
1121
    mov   edx,fbutton_name.f5
1240
	mov	edx,fbutton_name.f5
1122
    call  .type_all
1241
	call	.type_all
1123
    mov   edx,fbutton_name.f6
1242
	mov	edx,fbutton_name.f6
1124
    call  .type_all
1243
	call	.type_all
1125
    mov   edx,fbutton_name.f7
1244
	mov	edx,fbutton_name.f7
1126
    call  .type_all
1245
	call	.type_all
1127
    mov   edx,fbutton_name.f8
1246
	mov	edx,fbutton_name.f8
1128
    call  .type_all
1247
	call	.type_all
1129
    mov   edx,fbutton_name.f9
1248
	mov	edx,fbutton_name.f9
1130
    call  .type_all
1249
	call	.type_all
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
-
 
1254
	mov	edx,fbutton_name.f12
1135
    mov   edx,fbutton_name.f12
1255
	mcall
1136
    int   0x40
1256
	ret
1137
    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
1143
    mov   edx,fbutton_name_shift.f3
1263
	mov	edx,fbutton_name_shift.f3
1144
    call  .type_all
1264
	call	.type_all
1145
    mov   edx,fbutton_name_shift.f4
1265
	mov	edx,fbutton_name_shift.f4
1146
    call  .type_all
1266
	call	.type_all
1147
    mov   edx,fbutton_name_shift.f5
1267
	mov	edx,fbutton_name_shift.f5
1148
    call  .type_all
1268
	call	.type_all
1149
    mov   edx,fbutton_name_shift.f6
1269
	mov	edx,fbutton_name_shift.f6
1150
    call  .type_all
1270
	call	.type_all
1151
    mov   edx,fbutton_name_shift.f7
1271
	mov	edx,fbutton_name_shift.f7
1152
    call  .type_all
1272
	call	.type_all
1153
    mov   edx,fbutton_name_shift.f8
1273
	mov	edx,fbutton_name_shift.f8
1154
    call  .type_all
1274
	call	.type_all
1155
    mov   edx,fbutton_name_shift.f9
1275
	mov	edx,fbutton_name_shift.f9
1156
    call  .type_all
1276
	call	.type_all
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
-
 
1281
	mov	edx,fbutton_name_shift.f12
1161
    mov   edx,fbutton_name_shift.f12
1282
	mcall
1162
    int   0x40
1283
	ret
1163
    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
1169
    mov   edx,fbutton_name_ctrl.f3
1290
	mov	edx,fbutton_name_ctrl.f3
1170
    call  .type_all
1291
	call	.type_all
1171
    mov   edx,fbutton_name_ctrl.f4
1292
	mov	edx,fbutton_name_ctrl.f4
1172
    call  .type_all
1293
	call	.type_all
1173
    mov   edx,fbutton_name_ctrl.f5
1294
	mov	edx,fbutton_name_ctrl.f5
1174
    call  .type_all
1295
	call	.type_all
1175
    mov   edx,fbutton_name_ctrl.f6
1296
	mov	edx,fbutton_name_ctrl.f6
1176
    call  .type_all
1297
	call	.type_all
1177
    mov   edx,fbutton_name_ctrl.f7
1298
	mov	edx,fbutton_name_ctrl.f7
1178
    call  .type_all
1299
	call	.type_all
1179
    mov   edx,fbutton_name_ctrl.f8
1300
	mov	edx,fbutton_name_ctrl.f8
1180
    call  .type_all
1301
	call	.type_all
1181
    mov   edx,fbutton_name_ctrl.f9
1302
	mov	edx,fbutton_name_ctrl.f9
1182
    call  .type_all
1303
	call	.type_all
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
-
 
1308
	mov	edx,fbutton_name_ctrl.f12
1187
    mov   edx,fbutton_name_ctrl.f12
1309
	mcall
1188
    int   0x40
1310
	ret
1189
    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
1195
    mov   edx,fbutton_name_alt.f3
1317
	mov	edx,fbutton_name_alt.f3
1196
    call  .type_all
1318
	call	.type_all
1197
    mov   edx,fbutton_name_alt.f4
1319
	mov	edx,fbutton_name_alt.f4
1198
    call  .type_all
1320
	call	.type_all
1199
    mov   edx,fbutton_name_alt.f5
1321
	mov	edx,fbutton_name_alt.f5
1200
    call  .type_all
1322
	call	.type_all
1201
    mov   edx,fbutton_name_alt.f6
1323
	mov	edx,fbutton_name_alt.f6
1202
    call  .type_all
1324
	call	.type_all
1203
    mov   edx,fbutton_name_alt.f7
1325
	mov	edx,fbutton_name_alt.f7
1204
    call  .type_all
1326
	call	.type_all
1205
    mov   edx,fbutton_name_alt.f8
1327
	mov	edx,fbutton_name_alt.f8
1206
    call  .type_all
1328
	call	.type_all
1207
    mov   edx,fbutton_name_alt.f9
1329
	mov	edx,fbutton_name_alt.f9
1208
    call  .type_all
1330
	call	.type_all
1209
    mov   edx,fbutton_name_alt.f10
1331
	mov	edx,fbutton_name_alt.f10
1210
    call  .type_all
1332
	call	.type_all
-
 
1333
	mov	edx,fbutton_name_alt.f11
1211
    mov   edx,fbutton_name_alt.f11
1334
	call	.type_all
1212
    call  .type_all
1335
	mov	edx,fbutton_name_alt.f12
1213
    mov   edx,fbutton_name_alt.f12
1336
;--------------------------------------
1214
.type_all:
1337
.type_all:
-
 
1338
	mcall