Subversion Repositories Kolibri OS

Rev

Rev 2584 | Rev 5684 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

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