Subversion Repositories Kolibri OS

Rev

Rev 552 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 552 Rev 993
Line 43... Line 43...
43
  dd	 RAM_END      ; stack
43
  dd	 RAM_END      ; stack
44
  dd	 param_area ,0x0   ; param,icon
44
  dd	 param_area ,0x0   ; param,icon
45
;  dd 0,0
45
;  dd 0,0
Line 46... Line 46...
46
 
46
 
47
;******************************************************************************
47
;******************************************************************************
48
include '..\..\..\macros.inc'
48
include 'macros.inc'
49
include 'ascl.inc'
49
include 'ascl.inc'
Line 50... Line 50...
50
include 'ascgl.inc'
50
include 'ascgl.inc'
51
 
51
 
Line 70... Line 70...
70
 no_hdpartition_on_hd2:
70
 no_hdpartition_on_hd2:
71
    cmp [edx+5],byte 0
71
    cmp [edx+5],byte 0
72
    je	  no_hdpartition_on_hd3
72
    je	  no_hdpartition_on_hd3
73
    mov [hdimg4], aHD3
73
    mov [hdimg4], aHD3
74
 no_hdpartition_on_hd3:
74
 no_hdpartition_on_hd3:
75
        test    byte [edx+1], 80h
75
	test	byte [edx+1], 80h
76
        jz      @f
76
	jz	@f
77
        mov     [hdimg1], aCD0
77
	mov	[hdimg1], aCD0
78
        mov     [hdimg1+4], 'CD-R'
78
	mov	[hdimg1+4], 'CD-R'
79
        mov     [hdimg1+8], 'OM  '
79
	mov	[hdimg1+8], 'OM  '
80
@@:
80
@@:
81
        test    byte [edx+1], 20h
81
	test	byte [edx+1], 20h
82
        jz      @f
82
	jz	@f
83
        mov     [hdimg2], aCD1
83
	mov	[hdimg2], aCD1
84
        mov     [hdimg2+4], 'CD-R'
84
	mov	[hdimg2+4], 'CD-R'
85
        mov     [hdimg2+8], 'OM  '
85
	mov	[hdimg2+8], 'OM  '
86
@@:
86
@@:
87
        test    byte [edx+1], 8
87
	test	byte [edx+1], 8
88
        jz      @f
88
	jz	@f
89
        mov     [hdimg3], aCD2
89
	mov	[hdimg3], aCD2
90
        mov     [hdimg3+4], 'CD-R'
90
	mov	[hdimg3+4], 'CD-R'
91
        mov     [hdimg3+8], 'OM  '
91
	mov	[hdimg3+8], 'OM  '
92
@@:
92
@@:
93
        test    byte [edx+1], 2
93
	test	byte [edx+1], 2
94
        jz      @f
94
	jz	@f
95
        mov     [hdimg4], aCD3
95
	mov	[hdimg4], aCD3
96
        mov     [hdimg4+4], 'CD-R'
96
	mov	[hdimg4+4], 'CD-R'
97
        mov     [hdimg4+8], 'OM  '
97
	mov	[hdimg4+8], 'OM  '
98
@@:
98
@@:
Line 99... Line 99...
99
 
99
 
100
    mov eax,40
100
    mov eax,40
101
    mov ebx,0100111b
101
    mov ebx,0100111b
Line 221... Line 221...
221
 
221
 
222
scrl:
222
scrl:
223
    mov eax,37
223
    mov eax,37
224
    mov ebx,1
224
    mov ebx,1
225
    mcall
225
    mcall
226
        movzx   ebx, ax         ; y
226
	movzx	ebx, ax 	; y
227
        shr     eax, 16         ; x
227
	shr	eax, 16 	; x
228
    mov ebp,eax
228
    mov ebp,eax
229
    sub ebp,[listx] ;[procinfo.box.width]
229
    sub ebp,[listx] ;[procinfo.box.width]
230
    sub ebp,[listxsize]
230
    sub ebp,[listxsize]
231
    add ebp,[scrollsize]
231
    add ebp,[scrollsize]
232
    cmp ebp,dword [scrollsize] ;8
232
    cmp ebp,dword [scrollsize] ;8
Line 233... Line 233...
233
    jae menu_test ; still
233
    jae menu_test ; still
234
 
234
 
235
        lea     ebp, [ebx-scrollbutsize]
235
	lea	ebp, [ebx-scrollbutsize]
236
        sub     ebp, [listy]    ; up scroll
236
	sub	ebp, [listy]	; up scroll
237
        jl      menu_test
237
	jl	menu_test
238
        mov     ecx, [listysize]
238
	mov	ecx, [listysize]
239
        sub     ecx, 2*scrollbutsize
239
	sub	ecx, 2*scrollbutsize
240
        mov     eax, [scroll_height]
240
	mov	eax, [scroll_height]
241
        cmp     ebp, ecx
241
	cmp	ebp, ecx
242
        jge     menu_test
242
	jge	menu_test
243
        sub     ecx, eax
243
	sub	ecx, eax
244
        shr     eax, 1
244
	shr	eax, 1
245
        sub     ebp, eax
245
	sub	ebp, eax
246
        jge     @f
246
	jge	@f
247
        xor     ebp, ebp
247
	xor	ebp, ebp
248
@@:
248
@@:
249
        cmp     ebp, ecx
249
	cmp	ebp, ecx
250
        jl      @f
250
	jl	@f
251
        mov     ebp, ecx
251
	mov	ebp, ecx
252
@@:
252
@@:
253
        xor     edx, edx
253
	xor	edx, edx
254
        mov     eax, [listysize]
254
	mov	eax, [listysize]
255
        sub     eax, 2
255
	sub	eax, 2
256
        mov     ebx, 10
256
	mov	ebx, 10
257
        div     ebx
257
	div	ebx
258
        mov     ebx, eax
258
	mov	ebx, eax
259
        cmp     ebx, [listsize]
259
	cmp	ebx, [listsize]
260
        jae     notusescrl
260
	jae	notusescrl
261
        mov     eax, [listsize]
261
	mov	eax, [listsize]
262
        sub     eax, ebx
262
	sub	eax, ebx
263
        mul     ebp
263
	mul	ebp
264
        div     ecx
264
	div	ecx
265
        cmp     eax, [filecursor]
265
	cmp	eax, [filecursor]
266
        jz      still
266
	jz	still
267
        mov     [filecursor], eax
267
	mov	[filecursor], eax
268
        jmp     usescrl
268
	jmp	usescrl
269
notusescrl:
269
notusescrl:
270
        cmp     [filecursor], 0
270
	cmp	[filecursor], 0
271
        jz      still
271
	jz	still
Line 272... Line 272...
272
    mov [filecursor],0 ;ebp
272
    mov [filecursor],0 ;ebp
273
usescrl:
273
usescrl:
Line 311... Line 311...
311
    jne  no_pgdown
311
    jne  no_pgdown
312
    mov  ebx,10
312
    mov  ebx,10
313
    jmp  down
313
    jmp  down
314
no_pgdown:
314
no_pgdown:
315
    cmp  ah,key_Enter
315
    cmp  ah,key_Enter
316
    je   kfad
316
    je	 kfad
317
    cmp  ah,key_Bspace
317
    cmp  ah,key_Bspace
318
    je	     back
318
    je	     back
319
    cmp  ah,key_F2
319
    cmp  ah,key_F2
320
    je	     viewset
320
    je	     viewset
321
    cmp  ah,key_F3
321
    cmp  ah,key_F3
Line 338... Line 338...
338
    jmp  savetest
338
    jmp  savetest
339
;    jmp  update
339
;    jmp  update
340
no_con_ent:
340
no_con_ent:
341
    cmp  ah,key_Left
341
    cmp  ah,key_Left
342
    jne  no_con_left
342
    jne  no_con_left
343
        cmp     [cursor], 0
343
	cmp	[cursor], 0
344
        jz      still
344
	jz	still
345
    dec  [cursor]
345
    dec  [cursor]
346
    mov  [flick],2
346
    mov  [flick],2
347
    jmp  anti_flick ;red
347
    jmp  anti_flick ;red
348
no_con_left:
348
no_con_left:
349
    cmp  ah,key_Right
349
    cmp  ah,key_Right
350
    jne  no_con_right
350
    jne  no_con_right
351
        mov     eax, [cursor]
351
	mov	eax, [cursor]
352
        cmp     byte [path+eax], 0
352
	cmp	byte [path+eax], 0
353
        jz      still
353
	jz	still
354
    inc  [cursor]
354
    inc  [cursor]
355
    mov  [flick],2
355
    mov  [flick],2
356
    jmp  anti_flick ;red
356
    jmp  anti_flick ;red
357
no_con_right:
357
no_con_right:
358
    cmp  ah,key_Bspace
358
    cmp  ah,key_Bspace
359
    jne  no_con_bspace
359
    jne  no_con_bspace
Line 360... Line 360...
360
 
360
 
361
        mov     ebp, [cursor]
361
	mov	ebp, [cursor]
362
        test    ebp, ebp
362
	test	ebp, ebp
363
        jz      still
363
	jz	still
364
lobsp:
364
lobsp:
365
    mov  bl,byte [path+ebp]
365
    mov  bl,byte [path+ebp]
366
    mov  byte [path+ebp-1],bl
366
    mov  byte [path+ebp-1],bl
367
    inc  ebp
367
    inc  ebp
Line 372... Line 372...
372
    jmp  anti_flick ;red
372
    jmp  anti_flick ;red
373
no_con_bspace:
373
no_con_bspace:
Line 374... Line 374...
374
 
374
 
375
    mov  ecx,[cursor]
375
    mov  ecx,[cursor]
376
    mov  ebp,1022
376
    mov  ebp,1022
377
        cmp     byte [path+ebp], 0
377
	cmp	byte [path+ebp], 0
378
        jnz     still
378
	jnz	still
379
losx:
379
losx:
380
        cmp     ebp, ecx
380
	cmp	ebp, ecx
381
        jbe     @f
381
	jbe	@f
382
    mov  bl,byte [path+ebp]
382
    mov  bl,byte [path+ebp]
383
    mov  byte [path+ebp+1],bl
383
    mov  byte [path+ebp+1],bl
384
    dec  ebp
384
    dec  ebp
385
    jmp  losx
385
    jmp  losx
Line 441... Line 441...
441
    mov ebx,27
441
    mov ebx,27
442
    mul ebx
442
    mul ebx
443
    lea ebp,[convinfo+eax]
443
    lea ebp,[convinfo+eax]
444
    mov esi,[ebp]
444
    mov esi,[ebp]
445
    cmp esi,-1
445
    cmp esi,-1
446
    jz  still
446
    jz	still
Line 447... Line 447...
447
 
447
 
448
    mov edi,paramtest ;clear param string
448
    mov edi,paramtest ;clear param string
449
    mov ecx,1024/4
449
    mov ecx,1024/4
450
    xor eax,eax
450
    xor eax,eax
Line 451... Line 451...
451
    rep stosd
451
    rep stosd
452
 
452
 
453
        mov     edi, path
453
	mov	edi, path
454
        mov     ecx, 1024
454
	mov	ecx, 1024
455
        repnz   scasb
455
	repnz	scasb
456
        dec     edi
456
	dec	edi
457
        cmp     [ebp+15], dword 'FOL '
457
	cmp	[ebp+15], dword 'FOL '
458
        jnz     openf
458
	jnz	openf
459
; open directory - append its name to path
459
; open directory - append its name to path
460
        cmp     ecx, 2
460
	cmp	ecx, 2
461
        jb      still
461
	jb	still
462
        push    edi
462
	push	edi
463
        mov     al, '/'
463
	mov	al, '/'
464
        stosb
464
	stosb
465
        dec     ecx
465
	dec	ecx
466
@@:
466
@@:
467
        lodsb
467
	lodsb
468
        stosb
468
	stosb
469
        test    al, al
469
	test	al, al
470
        jz      @f
470
	jz	@f
471
        dec     ecx
471
	dec	ecx
472
        jnz     @b
472
	jnz	@b
473
; name is too long - do not do anything
473
; name is too long - do not do anything
474
        pop     edi
474
	pop	edi
475
        xor     eax, eax
475
	xor	eax, eax
476
        mov     ecx, path+1024
476
	mov	ecx, path+1024
477
        sub     ecx, edi
477
	sub	ecx, edi
478
        rep     stosb
478
	rep	stosb
479
        jmp     still
479
	jmp	still
480
@@:
480
@@:
481
        sub     edi, path+1
481
	sub	edi, path+1
482
        mov     [cursor], edi
482
	mov	[cursor], edi
483
        pop     edi
483
	pop	edi
Line 484... Line 484...
484
; name appended, now read new directory
484
; name appended, now read new directory
485
    mov [filecursor],0
485
    mov [filecursor],0
Line 493... Line 493...
493
savetest:
493
savetest:
494
    cmp byte [dlg_type],'S'
494
    cmp byte [dlg_type],'S'
495
    jne still
495
    jne still
496
; always force open file - this is better
496
; always force open file - this is better
497
; because there exists files without extension and folders with extension
497
; because there exists files without extension and folders with extension
498
        jmp     openf
498
	jmp	openf
499
;    mov ecx,100
499
;    mov ecx,100
500
;savetestloop:
500
;savetestloop:
501
;    cmp [path+ecx],byte 0
501
;    cmp [path+ecx],byte 0
502
;    je	    next_byte
502
;    je     next_byte
503
;    cmp [path+ecx],byte 32
503
;    cmp [path+ecx],byte 32
504
;    je	    next_byte
504
;    je     next_byte
505
;    cmp [path+ecx],byte '.'
505
;    cmp [path+ecx],byte '.'
506
;    je	    openf  ;it's file
506
;    je     openf  ;it's file
507
;;    cmp [path+ecx],byte '/'
507
;;    cmp [path+ecx],byte '/'
508
;;    je  no_save  ;it's dir
508
;;    je  no_save  ;it's dir
509
;next_byte:
509
;next_byte:
510
;    dec ecx
510
;    dec ecx
511
;    jnz savetestloop
511
;    jnz savetestloop
512
;    jmp still
512
;    jmp still
Line 513... Line 513...
513
 
513
 
Line 514... Line 514...
514
;Open/Run file
514
;Open/Run file
515
 
515
 
516
openf:
516
openf:
517
        push    esi edi
517
	push	esi edi
518
        mov     esi, path
518
	mov	esi, path
519
        mov     edi, paramtest
519
	mov	edi, paramtest
520
        mov     ecx, 1024/4
520
	mov	ecx, 1024/4
521
        rep     movsd
521
	rep	movsd
Line 522... Line 522...
522
        pop     edi esi
522
	pop	edi esi
523
        add     edi, paramtest-path
523
	add	edi, paramtest-path
Line 524... Line 524...
524
 
524
 
525
    cmp dword [focus],0 ;if prompt line with focus no add file name from frame
525
    cmp dword [focus],0 ;if prompt line with focus no add file name from frame
526
    jne file_set
526
    jne file_set
527
 
527
 
528
        cmp     edi, paramtest+1022
528
	cmp	edi, paramtest+1022
529
        jae     still
529
	jae	still
530
        mov     al, '/'
530
	mov	al, '/'
531
        stosb
531
	stosb
532
@@:
532
@@:
533
        lodsb
533
	lodsb
534
        stosb
534
	stosb
535
        test    al, al
535
	test	al, al
Line 536... Line 536...
536
        jz      file_set
536
	jz	file_set
Line 537... Line 537...
537
        cmp     edi, paramtest+1024
537
	cmp	edi, paramtest+1024
538
        jb      @b
538
	jb	@b
Line 571... Line 571...
571
 
571
 
572
;    cmp [convinfo+edi+26],dword 'Fvol'
572
;    cmp [convinfo+edi+26],dword 'Fvol'
Line 573... Line 573...
573
;    je  edit
573
;    je  edit
574
 
574
 
575
; find extension
575
; find extension
576
        mov     eax, paramtest+1023
576
	mov	eax, paramtest+1023
577
@@:
577
@@:
578
        dec     eax
578
	dec	eax
579
        cmp     byte [eax+1], 0
579
	cmp	byte [eax+1], 0
580
        jz      @b
580
	jz	@b
581
@@:
581
@@:
582
        cmp     byte [eax], '/'
582
	cmp	byte [eax], '/'
583
        jz      .noext
583
	jz	.noext
584
        cmp     byte [eax], '.'
584
	cmp	byte [eax], '.'
585
        jz      .ext
585
	jz	.ext
586
        dec     eax
586
	dec	eax
587
        cmp     eax, paramtest
587
	cmp	eax, paramtest
588
        jae     @b
588
	jae	@b
589
.noext:
589
.noext:
590
; file has no extension
590
; file has no extension
591
;        xor     ebx, ebx
591
;        xor     ebx, ebx
592
        jmp     execute
592
	jmp	execute
593
.ext:
593
.ext:
594
        inc     eax
594
	inc	eax
595
; eax points to extension
595
; eax points to extension
596
        cmp     byte [eax], 0
596
	cmp	byte [eax], 0
597
        jz      .noext
597
	jz	.noext
598
        mov     ecx, dword [eax]
598
	mov	ecx, dword [eax]
599
        and     ecx, not 0x20202020
599
	and	ecx, not 0x20202020
600
        mov     ebx, jpgview
600
	mov	ebx, jpgview
601
        cmp     ecx, 'JPG'
601
	cmp	ecx, 'JPG'
602
        jz      run
602
	jz	run
603
        cmp     ecx, 'JPEG'     ; note that it will select also *.JPEG*
603
	cmp	ecx, 'JPEG'	; note that it will select also *.JPEG*
604
        jz      run
604
	jz	run
605
        mov     ebx, gifview
605
	mov	ebx, bmpview
606
        cmp     ecx, 'GIF'
606
	cmp	ecx, 'GIF'
607
        jz      run
607
	jz	run
608
        mov     ebx, ac97
608
	mov	ebx, ac97
609
        cmp     ecx, 'WAV'
609
	cmp	ecx, 'WAV'
-
 
610
	jz	run
-
 
611
	cmp	ecx, 'MP3'
610
        jz      run
612
	jz	run
611
        cmp     ecx, 'MP3'
613
	cmp	ecx, 'XM'
612
        jz      run
614
	jz	run
-
 
615
	mov	ebx, midamp
-
 
616
	cmp	ecx, 'MID'
-
 
617
	jz	run
613
        mov     ebx, midamp
618
	mov	ebx, htmlv
614
        cmp     ecx, 'MID'
619
	cmp	ecx, 'HTM'
615
        jz      run
620
	jz	run
616
        mov     ebx, bmpview
621
	mov	ebx, bmpview
617
        cmp     ecx, 'BMP'
622
	cmp	ecx, 'BMP'
618
        jz      run
623
	jz	run
619
; //// Willow
624
; //// Willow
620
        mov     ebx, pngview
625
	mov	ebx, pngview
621
        cmp     ecx, 'PNG'
626
	cmp	ecx, 'PNG'
622
        jz      run
627
	jz	run
623
; //// Willow
628
; //// Willow
624
        mov     ebx, rtfread
629
	mov	ebx, rtfread
625
        cmp     ecx, 'RTF'
630
	cmp	ecx, 'RTF'
626
        jz      run
631
	jz	run
627
        mov     ebx, editor
632
	mov	ebx, editor
628
        cmp     ecx, 'ASM'
633
	cmp	ecx, 'ASM'
629
        jz      run
634
	jz	run
630
        cmp     ecx, 'TXT'
635
	cmp	ecx, 'TXT'
-
 
636
	jz	run
-
 
637
	cmp	ecx, 'INC'
-
 
638
	jz	run
-
 
639
	cmp	ecx, 'INI'
-
 
640
	jz	run
631
        jz      run
641
	cmp	ecx, 'LOG'
-
 
642
	jz	run
632
        cmp     ecx, 'INC'
643
	cmp	ecx, 'CONF'
633
        jz      run
644
	jz	run
634
        mov     ebx, life2
645
	mov	ebx, life2
635
        cmp     ecx, 'LIF'
646
	cmp	ecx, 'LIF'
636
        jz      run
647
	jz	run
637
        mov     ebx, view3ds
648
	mov	ebx, view3ds
638
        cmp     ecx, '3DS' and not 0x20202020
649
	cmp	ecx, '3DS' and not 0x20202020
Line 639... Line 650...
639
        jz      run
650
	jz	run
640
        jmp     still
651
	jmp	still
641
 
652
 
642
execute:
653
execute:
643
        mov     ebx, fileinfo_start
654
	mov	ebx, fileinfo_start
644
        and     dword [ebx+8], 0                ; no parameters
655
	and	dword [ebx+8], 0		; no parameters
645
        mov     dword [ebx+21], paramtest       ; program name
656
	mov	dword [ebx+21], paramtest	; program name
646
.do:
657
.do:
Line 647... Line 658...
647
        mov     eax, 70
658
	mov	eax, 70
648
        mcall
659
	mcall
649
        jmp     still
660
	jmp	still
650
 
661
 
651
run:
662
run:
Line 652... Line 663...
652
        mov     [fileinfo_name], ebx            ; program name
663
	mov	[fileinfo_name], ebx		; program name
Line 653... Line 664...
653
        mov     ebx, fileinfo_start
664
	mov	ebx, fileinfo_start
654
        mov     dword [ebx+8], paramtest        ; parameters
665
	mov	dword [ebx+8], paramtest	; parameters
Line 681... Line 692...
681
no_update:
692
no_update:
Line 682... Line 693...
682
 
693
 
683
    cmp ah,9
694
    cmp ah,9
684
    jne no_textopen
695
    jne no_textopen
685
textopen:
696
textopen:
686
        mov     eax, 27
697
	mov	eax, 27
687
        mul     [filecursor]
698
	mul	[filecursor]
688
        cmp     dword [eax+convinfo+15], 'FOL '
699
	cmp	dword [eax+convinfo+15], 'FOL '
689
        jz      still
700
	jz	still
690
        push    eax
701
	push	eax
691
        mov     esi, path
702
	mov	esi, path
692
        mov     edi, paramtest
703
	mov	edi, paramtest
693
@@:
704
@@:
694
        lodsb
705
	lodsb
695
        test    al, al
706
	test	al, al
696
        jz      @f
707
	jz	@f
697
        stosb
708
	stosb
698
        jmp     @b
709
	jmp	@b
699
@@:
710
@@:
700
        mov     al, '/'
711
	mov	al, '/'
701
        stosb
712
	stosb
702
        pop     eax
713
	pop	eax
703
        mov     esi, [eax+convinfo]
714
	mov	esi, [eax+convinfo]
704
        cmp     esi, -1
715
	cmp	esi, -1
705
        jz      still
716
	jz	still
706
@@:
717
@@:
707
        lodsb
718
	lodsb
708
        stosb
719
	stosb
709
        test    al, al
720
	test	al, al
710
        jz      @f
721
	jz	@f
711
        cmp     edi, paramtest+1024
722
	cmp	edi, paramtest+1024
712
        jb      @b
723
	jb	@b
713
        jmp     still
724
	jmp	still
714
@@:
725
@@:
715
        mov     ebx, editor
726
	mov	ebx, editor
Line 716... Line 727...
716
        jmp     run
727
	jmp	run
Line 717... Line 728...
717
 
728
 
718
no_textopen:
729
no_textopen:
719
 
730
 
720
    cmp  ah,11
731
    cmp  ah,11
721
    jne  no_view
732
    jne  no_view
722
viewset:
733
viewset:
723
        inc     [viewmode]
734
	inc	[viewmode]
724
        cmp     [viewmode], 4
735
	cmp	[viewmode], 4
725
        jb      @f
736
	jb	@f
726
        mov     [viewmode], 0
737
	mov	[viewmode], 0
727
@@:
738
@@:
728
    call read_directory
739
    call read_directory
Line 733... Line 744...
733
no_view:
744
no_view:
Line 734... Line 745...
734
 
745
 
735
    cmp  ah,12	      ;move back
746
    cmp  ah,12	      ;move back
736
    jne  no_back
747
    jne  no_back
737
back:
748
back:
738
        mov     edi, path+1024
749
	mov	edi, path+1024
739
        mov     ecx, edi
750
	mov	ecx, edi
740
@@:
751
@@:
741
        dec     edi
752
	dec	edi
742
        cmp     byte [edi], '/'
753
	cmp	byte [edi], '/'
743
        jz      @f
754
	jz	@f
744
        cmp     edi, path
755
	cmp	edi, path
745
        ja      @b
756
	ja	@b
746
        jmp     still
757
	jmp	still
747
@@:
758
@@:
748
        sub     ecx, edi
759
	sub	ecx, edi
749
        lea     eax, [edi-path]
760
	lea	eax, [edi-path]
750
        mov     [cursor], eax
761
	mov	[cursor], eax
751
        xor     eax, eax
762
	xor	eax, eax
752
        rep     stosb
763
	rep	stosb
753
    mov [filecursor],0
764
    mov [filecursor],0
754
    call read_directory
765
    call read_directory
755
;    call convertation
766
;    call convertation
756
    call draw_window
767
    call draw_window
Line 780... Line 791...
780
no_dn:
791
no_dn:
Line 781... Line 792...
781
 
792
 
782
    cmp  ah,15
793
    cmp  ah,15
783
    jne  no_copyclip	;copy to clipboard
794
    jne  no_copyclip	;copy to clipboard
784
copy_to_clip:
795
copy_to_clip:
785
        mov     eax, 27
796
	mov	eax, 27
786
        mul     [filecursor]
797
	mul	[filecursor]
787
        cmp     dword [convinfo+eax+15], 'FOL '
798
	cmp	dword [convinfo+eax+15], 'FOL '
788
        jz      still
799
	jz	still
789
        push    eax
800
	push	eax
790
        mov     esi, path
801
	mov	esi, path
791
        mov     edi, paramtest
802
	mov	edi, paramtest
792
@@:
803
@@:
793
        lodsb
804
	lodsb
794
        test    al, al
805
	test	al, al
795
        jz      @f
806
	jz	@f
796
        stosb
807
	stosb
797
        jmp     @b
808
	jmp	@b
798
@@:
809
@@:
799
        pop     eax
810
	pop	eax
800
        mov     esi, [convinfo+eax]
811
	mov	esi, [convinfo+eax]
801
        cmp     esi, -1
812
	cmp	esi, -1
802
        jz      still
813
	jz	still
803
        mov     al, '/'
814
	mov	al, '/'
804
        stosb
815
	stosb
805
@@:
816
@@:
806
        lodsb
817
	lodsb
807
        stosb
818
	stosb
808
        test    al, al
819
	test	al, al
809
        jz      @f
820
	jz	@f
810
        cmp     edi, paramtest+1024
821
	cmp	edi, paramtest+1024
811
        jb      @b
822
	jb	@b
812
        jmp     still
823
	jmp	still
813
@@:
824
@@:
814
        sub     edi, paramtest+1
825
	sub	edi, paramtest+1
815
        mov     ebx, clipfile_info
826
	mov	ebx, clipfile_info
816
        mov     byte [ebx], 2
827
	mov	byte [ebx], 2
817
        mov     [ebx+12], edi
828
	mov	[ebx+12], edi
818
        mov     eax, 70
829
	mov	eax, 70
819
        mcall
830
	mcall
820
        jmp     still
831
	jmp	still
Line 821... Line 832...
821
no_copyclip:
832
no_copyclip:
822
 
833
 
823
    cmp ah,16
834
    cmp ah,16
824
    jne no_clippaste
835
    jne no_clippaste
825
paste_from_clip:
836
paste_from_clip:
826
        mov     ebx, clipfile_info
837
	mov	ebx, clipfile_info
827
        mov     byte [ebx], 0
838
	mov	byte [ebx], 0
828
        mov     dword [ebx+12], 1023
839
	mov	dword [ebx+12], 1023
829
        mov     eax, 70
840
	mov	eax, 70
830
        mcall
841
	mcall
831
        cmp     ebx, 0
842
	cmp	ebx, 0
832
        jle     still
843
	jle	still
833
        mov     byte [paramtest+ebx], 0
844
	mov	byte [paramtest+ebx], 0
834
; OS allows only 256 symbols in command line
845
; OS allows only 256 symbols in command line
835
        cmp     ebx, 250
846
	cmp	ebx, 250
836
        jae     still
847
	jae	still
837
; we use Pascal-style strings for /RD/1/COPYR
848
; we use Pascal-style strings for /RD/1/COPYR
838
; source file
849
; source file
839
        mov     edi, copyr_param
850
	mov	edi, copyr_param
840
        mov     al, bl
851
	mov	al, bl
841
        stosb
852
	stosb
842
        mov     ecx, ebx
853
	mov	ecx, ebx
843
        mov     esi, paramtest
854
	mov	esi, paramtest
844
        rep     movsb
855
	rep	movsb
845
; destination path
856
; destination path
846
        inc     edi
857
	inc	edi
847
        mov     ebp, edi
858
	mov	ebp, edi
848
        mov     esi, path
859
	mov	esi, path
849
@@:
860
@@:
850
        cmp     edi, copyr_param+255
861
	cmp	edi, copyr_param+255
851
        jae     still
862
	jae	still
852
        lodsb
863
	lodsb
853
        test    al, al
864
	test	al, al
854
        jz      @f
865
	jz	@f
855
        stosb
866
	stosb
856
        jmp     @b
867
	jmp	@b
857
; destination file name
868
; destination file name
858
@@:
869
@@:
859
        dec     ebx
870
	dec	ebx
860
        jz      still
871
	jz	still
861
        cmp     byte [paramtest+ebx], '/'
872
	cmp	byte [paramtest+ebx], '/'
862
        jnz     @b
873
	jnz	@b
863
        lea     esi, [paramtest+ebx]
874
	lea	esi, [paramtest+ebx]
864
@@:
875
@@:
865
        lodsb
876
	lodsb
866
        test    al, al
877
	test	al, al
867
        jz      @f
878
	jz	@f
868
        stosb
879
	stosb
869
        cmp     edi, copyr_param+255
880
	cmp	edi, copyr_param+255
870
        jae     still
881
	jae	still
871
        jmp     @b
882
	jmp	@b
872
@@:
883
@@:
873
        mov     byte [edi], 0
884
	mov	byte [edi], 0
874
        sub     edi, ebp
885
	sub	edi, ebp
875
        mov     eax, edi
886
	mov	eax, edi
876
        mov     [ebp-1], al
887
	mov	[ebp-1], al
877
; display
888
; display
878
    cmp [browser], 1
889
    cmp [browser], 1
879
    jne no_outpath
890
    jne no_outpath
880
    mov  eax,4		   ; function 4 : write text to window
891
    mov  eax,4		   ; function 4 : write text to window
881
    mov  ebx,10*65536+67     ; [x start] *65536 + [y start]
892
    mov  ebx,10*65536+67     ; [x start] *65536 + [y start]
882
    mov  ecx,0x00000000 ;[sc.grab_text] ; color of text RRGGBB
893
    mov  ecx,0x00000000 ;[sc.grab_text] ; color of text RRGGBB
883
        mov     edx, copyr_param+1
894
	mov	edx, copyr_param+1
884
        movzx   esi, byte [edx-1]
895
	movzx	esi, byte [edx-1]
885
    mcall
896
    mcall
886
    mov  ebx,250*65536+67	; [x start] *65536 + [y start]
897
    mov  ebx,250*65536+67	; [x start] *65536 + [y start]
887
    mov  ecx,0x00000000 ;[sc.grab_text] ; color of text RRGGBB
898
    mov  ecx,0x00000000 ;[sc.grab_text] ; color of text RRGGBB
888
        mov     edx, ebp
899
	mov	edx, ebp
889
        mov     esi, edi
900
	mov	esi, edi
Line 890... Line 901...
890
    mcall
901
    mcall
891
no_outpath:
902
no_outpath:
892
 
903
 
893
; run COPYR
904
; run COPYR
894
        mov     eax, 70
905
	mov	eax, 70
895
        mov     ebx, copyr_run
906
	mov	ebx, copyr_run
896
        mcall
907
	mcall
Line 897... Line 908...
897
    delay 50   ;wait recoed file
908
    delay 50   ;wait recoed file
898
    jmp update ;still
909
    jmp update ;still
899
no_clippaste:
910
no_clippaste:
900
 
911
 
901
    cmp ah,19		;Delete from floppy
912
    cmp ah,19		;Delete from floppy
902
    jne no_delt
913
    jne no_delt
Line 903... Line 914...
903
delete_file:
914
delete_file:
904
; OS now do not support file delete
915
; OS now do not support file delete
Line 955... Line 966...
955
    je	    exit
966
    je	    exit
Line 956... Line 967...
956
 
967
 
957
;VIEW MENU
968
;VIEW MENU
958
    cmp ah,40		;Sort by name
969
    cmp ah,40		;Sort by name
959
    jne no_sn
970
    jne no_sn
960
        mov     [viewmode], 0
971
	mov	[viewmode], 0
961
    jmp update
972
    jmp update
Line 962... Line 973...
962
no_sn:
973
no_sn:
963
 
974
 
964
    cmp ah,41		;Sort by extension
975
    cmp ah,41		;Sort by extension
965
    jne no_se
976
    jne no_se
966
        mov     [viewmode], 1
977
	mov	[viewmode], 1
Line 967... Line 978...
967
    jmp update
978
    jmp update
968
no_se:
979
no_se:
969
 
980
 
970
    cmp ah,42		;Sort by size
981
    cmp ah,42		;Sort by size
971
    jne no_ss
982
    jne no_ss
Line 972... Line 983...
972
        mov     [viewmode], 2
983
	mov	[viewmode], 2
973
    jmp update
984
    jmp update
974
no_ss:
985
no_ss:
975
 
986
 
976
    cmp ah,43		;Sort by date
987
    cmp ah,43		;Sort by date
Line 977... Line 988...
977
    jne no_sd
988
    jne no_sd
978
        mov     [viewmode], 3
989
	mov	[viewmode], 3
Line 1089... Line 1100...
1089
    pop edi
1100
    pop edi
1090
    add edi,8
1101
    add edi,8
Line 1091... Line 1102...
1091
 
1102
 
1092
    cld
1103
    cld
1093
cyc:
1104
cyc:
1094
        push    esi
1105
	push	esi
1095
        lea     ecx, [ebp+ebp*2]
1106
	lea	ecx, [ebp+ebp*2]
1096
        rep     movsb
1107
	rep	movsb
1097
        pop     esi
1108
	pop	esi
1098
    add esi,edx
1109
    add esi,edx
1099
    dec ebx
1110
    dec ebx
Line 1100... Line 1111...
1100
    jne cyc
1111
    jne cyc
Line 1190... Line 1201...
1190
    jg	 @f
1201
    jg	 @f
1191
.ret:
1202
.ret:
1192
    ret
1203
    ret
1193
 @@:
1204
 @@:
1194
    cmp  [procinfo.box.height], 0x70
1205
    cmp  [procinfo.box.height], 0x70
1195
    jl  .ret
1206
    jl	.ret
Line 1196... Line 1207...
1196
 
1207
 
1197
    cmp  [browser], 1 ;it's browser
1208
    cmp  [browser], 1 ;it's browser
1198
    jne  nob9
1209
    jne  nob9
1199
    mov  [listx],120
1210
    mov  [listx],120
1200
;    mov  eax,[procinfo.box.width]
1211
;    mov  eax,[procinfo.box.width]
1201
    sub  eax,127;[listx]+7
1212
    sub  eax,127;[listx]+7
1202
    cmp  eax,10
1213
    cmp  eax,10
1203
    jl   .ret
1214
    jl	 .ret
1204
    mov  [listxsize],eax
1215
    mov  [listxsize],eax
1205
    mov  [listy],73
1216
    mov  [listy],73
1206
    mov  eax,[procinfo.box.height]
1217
    mov  eax,[procinfo.box.height]
1207
    sub  eax,73+7;[listy]+7
1218
    sub  eax,73+7;[listy]+7
Line 1364... Line 1375...
1364
    mov [urlysize],12
1375
    mov [urlysize],12
Line 1365... Line 1376...
1365
 
1376
 
Line 1366... Line 1377...
1366
    glabel 20,57,"URL:",cl_Black
1377
    glabel 20,57,"URL:",cl_Black
1367
 
1378
 
1368
;Out view mode info
1379
;Out view mode info
1369
        movzx   edx, [viewmode]
1380
	movzx	edx, [viewmode]
1370
        shl     edx, 4
1381
	shl	edx, 4
1371
    mov eax,4
1382
    mov eax,4
1372
    mov ebx,180*65536+25
1383
    mov ebx,180*65536+25
1373
    mov ecx,cl_Black
1384
    mov ecx,cl_Black
Line 1559... Line 1570...
1559
    mov ebx,eax
1570
    mov ebx,eax
1560
    cmp ebx,[listsize]	    ;filelistsize in ebx
1571
    cmp ebx,[listsize]	    ;filelistsize in ebx
1561
    jae    notusescroll
1572
    jae    notusescroll
1562
;usescroll
1573
;usescroll
1563
; calculate scroll size
1574
; calculate scroll size
1564
        mov     eax, [listysize]
1575
	mov	eax, [listysize]
1565
        sub     eax, 2*scrollbutsize
1576
	sub	eax, 2*scrollbutsize
1566
        push    eax
1577
	push	eax
1567
        mul     ebx
1578
	mul	ebx
1568
        div     [listsize]
1579
	div	[listsize]
1569
        cmp     eax, 5
1580
	cmp	eax, 5
1570
        jae     @f
1581
	jae	@f
1571
        mov     al, 5
1582
	mov	al, 5
1572
@@:
1583
@@:
1573
        mov     [scroll_height], eax
1584
	mov	[scroll_height], eax
1574
; calculate scroll pos
1585
; calculate scroll pos
1575
        sub     [esp], eax
1586
	sub	[esp], eax
1576
        mov     eax, [listsize]
1587
	mov	eax, [listsize]
1577
        sub     eax, ebx
1588
	sub	eax, ebx
1578
        mov     ecx, eax
1589
	mov	ecx, eax
1579
        cmp     eax, [filecursor]
1590
	cmp	eax, [filecursor]
1580
        jb      @f
1591
	jb	@f
1581
        mov     eax, [filecursor]
1592
	mov	eax, [filecursor]
1582
@@:
1593
@@:
1583
        mul     dword [esp]
1594
	mul	dword [esp]
1584
        div     ecx
1595
	div	ecx
1585
        mov     [scroll_pos], eax
1596
	mov	[scroll_pos], eax
1586
        pop     ecx
1597
	pop	ecx
1587
; draw
1598
; draw
1588
        lea     ecx, [eax+scrollbutsize]
1599
	lea	ecx, [eax+scrollbutsize]
1589
        add     ecx, [listy]
1600
	add	ecx, [listy]
1590
        shl     ecx, 16
1601
	shl	ecx, 16
1591
        mov     cx, word [scroll_height]
1602
	mov	cx, word [scroll_height]
1592
        mov     eax, 13
1603
	mov	eax, 13
1593
        mov     ebx, [listx]
1604
	mov	ebx, [listx]
1594
        add     ebx, [listxsize]
1605
	add	ebx, [listxsize]
1595
        sub     ebx, [scrollsize]
1606
	sub	ebx, [scrollsize]
1596
        shl     ebx, 16
1607
	shl	ebx, 16
1597
        mov     bx, word [scrollsize]
1608
	mov	bx, word [scrollsize]
1598
        mov     edx, [scrollboxcol]
1609
	mov	edx, [scrollboxcol]
1599
        mcall
1610
	mcall
1600
notusescroll:
1611
notusescroll:
Line 1601... Line 1612...
1601
 
1612
 
1602
 
1613
 
Line 1684... Line 1695...
1684
 
1695
 
1685
;    mov  eax,[listxsize]
1696
;    mov  eax,[listxsize]
1686
;    sub  eax,40*6  ;leight of string
1697
;    sub  eax,40*6  ;leight of string
1687
;    shr  eax,1
1698
;    shr  eax,1
1688
;    add  eax,[listx]
1699
;    add  eax,[listx]
1689
        mov     eax, [listx]
1700
	mov	eax, [listx]
1690
        add     eax, 12+4 ; for icons
1701
	add	eax, 12+4 ; for icons
1691
    shl  eax,16
1702
    shl  eax,16
1692
    add  eax,[listy]
1703
    add  eax,[listy]
Line 1693... Line 1704...
1693
    add  eax,2
1704
    add  eax,2
Line 1711... Line 1722...
1711
    sub  ebp,[filecursor]
1722
    sub  ebp,[filecursor]
1712
    mov  edx,convinfo ;fileinfo+11
1723
    mov  edx,convinfo ;fileinfo+11
1713
    add  edx,eax
1724
    add  edx,eax
1714
    mov  ebx,dword [filelistxy]
1725
    mov  ebx,dword [filelistxy]
1715
loo:
1726
loo:
1716
        cmp     dword [edx], -1
1727
	cmp	dword [edx], -1
1717
        jz      noout
1728
	jz	noout
1718
    mov  ecx,0x00888888        ;for another file's color white
1729
    mov  ecx,0x00888888        ;for another file's color white
1719
    cmp  [edx+15],dword 'FOL ' ;folder yellow
1730
    cmp  [edx+15],dword 'FOL ' ;folder yellow
1720
    jne  nb
1731
    jne  nb
1721
    mov  ecx,0x00006666
1732
    mov  ecx,0x00006666
1722
    jmp cset1
1733
    jmp cset1
1723
nb:
1734
nb:
1724
        mov     eax, [edx]
1735
	mov	eax, [edx]
1725
        xor     edi, edi
1736
	xor	edi, edi
1726
; find extension and set color
1737
; find extension and set color
1727
@@:
1738
@@:
1728
        inc     eax
1739
	inc	eax
1729
        cmp     byte [eax-1], 0
1740
	cmp	byte [eax-1], 0
1730
        jz      @f
1741
	jz	@f
1731
        cmp     byte [eax-1], '.'
1742
	cmp	byte [eax-1], '.'
1732
        jnz     @b
1743
	jnz	@b
1733
        mov     edi, eax
1744
	mov	edi, eax
1734
        jmp     @b
1745
	jmp	@b
1735
@@:
1746
@@:
1736
        test    edi, edi
1747
	test	edi, edi
1737
        jz      @f
1748
	jz	@f
1738
        mov     edi, [edi]
1749
	mov	edi, [edi]
1739
        and     edi, not 0x20202020     ; toupper
1750
	and	edi, not 0x20202020	; toupper
1740
@@:
1751
@@:
1741
;Color set
1752
;Color set
1742
; text's blue
1753
; text's blue
1743
        mov     ecx, 0x00446666
1754
	mov	ecx, 0x00446666
1744
        cmp     edi, 'TXT'
1755
	cmp	edi, 'TXT'
1745
        jz      cset
1756
	jz	cset
1746
        cmp     edi, 'INC'
1757
	cmp	edi, 'INC'
1747
        jz      cset
1758
	jz	cset
1748
        cmp     edi, 'ASM'
1759
	cmp	edi, 'ASM'
1749
        jz      cset
1760
	jz	cset
1750
        cmp     edi, 'RTF'
1761
	cmp	edi, 'RTF'
1751
        jz      cset
1762
	jz	cset
1752
; picture's pure
1763
; picture's pure
1753
        mov     ecx, 0x00226688
1764
	mov	ecx, 0x00226688
1754
        cmp     edi, 'BMP'
1765
	cmp	edi, 'BMP'
1755
        jz      cset
1766
	jz	cset
1756
        cmp     edi, 'JPG'
1767
	cmp	edi, 'JPG'
1757
        jz      cset
1768
	jz	cset
1758
        cmp     edi, 'JPEG'
1769
	cmp	edi, 'JPEG'
1759
        jz      cset
1770
	jz	cset
1760
        cmp     edi, 'GIF'
1771
	cmp	edi, 'GIF'
1761
        jz      cset
1772
	jz	cset
1762
        cmp     edi, 'PNG'
1773
	cmp	edi, 'PNG'
1763
        jz      cset
1774
	jz	cset
1764
        cmp     edi, 'WAV'
1775
	cmp	edi, 'WAV'
1765
        jz      cset
1776
	jz	cset
1766
        cmp     edi, 'MID'
1777
	cmp	edi, 'MID'
1767
        jz      cset
1778
	jz	cset
1768
; execute's green
1779
; execute's green
1769
        mov     ecx, 0x00008866
1780
	mov	ecx, 0x00008866
1770
        test    edi, edi
1781
	test	edi, edi
1771
        jz      cset
1782
	jz	cset
1772
; for another file's color white
1783
; for another file's color white
1773
        mov     ecx, 0x00888888
1784
	mov	ecx, 0x00888888
1774
cset:
1785
cset:
Line 1775... Line 1786...
1775
 
1786
 
1776
cset1:
1787
cset1:
1777
    push edx
1788
    push edx
1778
    mov  edx,[edx]
1789
    mov  edx,[edx]
1779
        push    ebx edx
1790
	push	ebx edx
1780
        mov     eax, [listxsize]
1791
	mov	eax, [listxsize]
1781
        sub     eax, [scrollsize]
1792
	sub	eax, [scrollsize]
1782
        sub     eax, 12+4
1793
	sub	eax, 12+4
1783
        xor     edx, edx
1794
	xor	edx, edx
1784
        mov     ebx, 6
1795
	mov	ebx, 6
1785
        div     ebx
1796
	div	ebx
1786
        pop     edx ebx
1797
	pop	edx ebx
1787
        sub     eax, 25
1798
	sub	eax, 25
1788
        xor     esi, esi
1799
	xor	esi, esi
1789
@@:
1800
@@:
1790
        cmp     byte [edx+esi], 0
1801
	cmp	byte [edx+esi], 0
1791
        jz      @f
1802
	jz	@f
1792
        inc     esi
1803
	inc	esi
1793
        cmp     esi, eax
1804
	cmp	esi, eax
1794
        jbe     @b
1805
	jbe	@b
1795
        dec     esi
1806
	dec	esi
1796
@@:
1807
@@:
1797
        push    eax
1808
	push	eax
1798
    mov  eax,4
1809
    mov  eax,4
1799
    mcall
1810
    mcall
1800
        cmp     byte [edx+esi], 0
1811
	cmp	byte [edx+esi], 0
1801
        jz      @f
1812
	jz	@f
1802
        pushad
1813
	pushad
1803
        mov     edx, more_char
1814
	mov	edx, more_char
1804
        mov     eax, esi
1815
	mov	eax, esi
1805
        imul    eax, 6*65536
1816
	imul	eax, 6*65536
1806
        add     ebx, eax
1817
	add	ebx, eax
1807
        mov     esi, 1
1818
	mov	esi, 1
1808
        mov     eax, 4
1819
	mov	eax, 4
1809
        mcall
1820
	mcall
1810
        popad
1821
	popad
1811
@@:
1822
@@:
1812
        pop     eax
1823
	pop	eax
1813
    pop  edx
1824
    pop  edx
1814
    push ebx edx
1825
    push ebx edx
1815
        inc     eax
1826
	inc	eax
1816
        imul    eax, 6*65536
1827
	imul	eax, 6*65536
1817
        add     ebx, eax
1828
	add	ebx, eax
1818
    add  edx,4
1829
    add  edx,4
1819
    mov  esi,23
1830
    mov  esi,23
1820
    mov  eax,4
1831
    mov  eax,4
1821
    mcall
1832
    mcall
Line 1866... Line 1877...
1866
; //// Willow
1877
; //// Willow
1867
    cmp  edi,dword 'WAV'
1878
    cmp  edi,dword 'WAV'
1868
    je	     is_imgico
1879
    je	     is_imgico
1869
    cmp  edi,dword 'MID'
1880
    cmp  edi,dword 'MID'
1870
    je	     is_imgico
1881
    je	     is_imgico
-
 
1882
    cmp  edi,dword 'MP3'
-
 
1883
    je	     is_imgico
-
 
1884
    cmp  edi,dword 'XM'
-
 
1885
    je	     is_imgico
1871
    jmp  no_imgico
1886
    jmp  no_imgico
1872
is_imgico:
1887
is_imgico:
1873
    push imgico+8
1888
    push imgico+8
1874
    jmp out_ico
1889
    jmp out_ico
1875
no_imgico:
1890
no_imgico:
1876
    cmp  edi,dword 'ASM'
1891
    cmp  edi,dword 'ASM'
1877
    je	     is_asmincico
1892
    je	     is_asmincico
1878
    cmp  edi,dword 'INC'
1893
    cmp  edi,dword 'INC'
1879
    je	     is_asmincico
1894
    je	     is_asmincico
-
 
1895
    cmp  edi,dword 'INI'
-
 
1896
    je	     is_asmincico
-
 
1897
    cmp  edi,dword 'CONF'
-
 
1898
    je	     is_asmincico
1880
    jmp  no_asmincico
1899
    jmp  no_asmincico
1881
is_asmincico:
1900
is_asmincico:
1882
    push asmincico+8
1901
    push asmincico+8
1883
    jmp out_ico
1902
    jmp out_ico
1884
no_asmincico:
1903
no_asmincico:
1885
    cmp  edi,dword 'RTF'
1904
    cmp  edi,dword 'RTF'
1886
    je	 @f
1905
    je	 @f
1887
    cmp  edi,dword 'TXT'
1906
    cmp  edi,dword 'TXT'
1888
    jne  no_txtico
1907
    jne  no_txtico
-
 
1908
    cmp  edi,dword 'LOG'
-
 
1909
    jne  no_txtico
1889
 @@:
1910
 @@:
1890
    push txtico+8
1911
    push txtico+8
1891
    jmp out_ico
1912
    jmp out_ico
1892
no_txtico:
1913
no_txtico:
1893
    test edi,edi
1914
    test edi,edi
Line 2079... Line 2100...
2079
 
2100
 
2080
;STEP 2 TEST ON HD OR PARTITION
2101
;STEP 2 TEST ON HD OR PARTITION
2081
    cmp [path],byte '/'
2102
    cmp [path],byte '/'
2082
    je nstep
2103
    je nstep
2083
; copy info on RD and FD
2104
; copy info on RD and FD
2084
        mov     esi, hdimg
2105
	mov	esi, hdimg
2085
        mov     ecx, 2*27
2106
	mov	ecx, 2*27
2086
        rep     movsb
2107
	rep	movsb
2087
; hard disks
2108
; hard disks
2088
        mov     eax, 4
2109
	mov	eax, 4
2089
.1:
2110
.1:
2090
        mov     ecx, 27
2111
	mov	ecx, 27
2091
        cmp     dword [esi], 0
2112
	cmp	dword [esi], 0
2092
        jz      .2
2113
	jz	.2
2093
        rep     movsb
2114
	rep	movsb
2094
        jmp     .3
2115
	jmp	.3
2095
.2:
2116
.2:
2096
        add     esi, ecx
2117
	add	esi, ecx
2097
.3:
2118
.3:
2098
        dec     eax
2119
	dec	eax
2099
        jnz     .1
2120
	jnz	.1
2100
        mov     [listsize], 0
2121
	mov	[listsize], 0
2101
        ret
2122
	ret
2102
nstep:
2123
nstep:
2103
    cmp [path+3],byte '/'
2124
    cmp [path+3],byte '/'
2104
    je nstep2
2125
    je nstep2
2105
    cmp [path+4],byte '/'
2126
    cmp [path+4],byte '/'
2106
    je nstep2
2127
    je nstep2
2107
    mov ecx,1
2128
    mov ecx,1
2108
    cmp [path+1],word 'RD'
2129
    cmp [path+1],word 'RD'
2109
    jz  loxpt
2130
    jz	loxpt
2110
    cmp [path+1],word 'CD'
2131
    cmp [path+1],word 'CD'
2111
    jz  loxpt
2132
    jz	loxpt
2112
    mov ecx,2
2133
    mov ecx,2
2113
    cmp [path+1],word 'FD'
2134
    cmp [path+1],word 'FD'
2114
    jz  loxpt
2135
    jz	loxpt
2115
    cmp [path+1],dword 'HD0'
2136
    cmp [path+1],dword 'HD0'
2116
    jne nostep_HD0
2137
    jne nostep_HD0
2117
    movzx ecx,byte [table_area+2]
2138
    movzx ecx,byte [table_area+2]
2118
    jmp loxpt
2139
    jmp loxpt
Line 2134... Line 2155...
2134
nostep_HD3:
2155
nostep_HD3:
Line 2135... Line 2156...
2135
 
2156
 
Line 2136... Line 2157...
2136
    mov ecx,2
2157
    mov ecx,2
2137
 
2158
 
2138
loxpt:
2159
loxpt:
2139
        cmp     ecx, 20
2160
	cmp	ecx, 20
2140
        jbe     @f
2161
	jbe	@f
2141
        mov     ecx, 20
2162
	mov	ecx, 20
2142
@@:
2163
@@:
2143
        mov     eax, a1
2164
	mov	eax, a1
2144
        mov     esi, ptimg
2165
	mov	esi, ptimg
2145
@@:
2166
@@:
2146
        stosd
2167
	stosd
2147
        add     eax, 3
2168
	add	eax, 3
2148
        push    ecx esi
2169
	push	ecx esi
2149
        mov     ecx, 23
2170
	mov	ecx, 23
2150
        rep     movsb
2171
	rep	movsb
2151
        pop     esi ecx
2172
	pop	esi ecx
2152
        loop    @b
2173
	loop	@b
2153
    mov [listsize],0
2174
    mov [listsize],0
Line 2154... Line 2175...
2154
    ret
2175
    ret
Line 2179... Line 2200...
2179
    jmp end_of_dir
2200
    jmp end_of_dir
2180
no_unk_fs:
2201
no_unk_fs:
Line 2181... Line 2202...
2181
 
2202
 
2182
end_of_dir:
2203
end_of_dir:
2183
; -1 -> 0
2204
; -1 -> 0
2184
        cmp     ebx, -1
2205
	cmp	ebx, -1
2185
        sbb     ebx, -1
2206
	sbb	ebx, -1
Line 2186... Line 2207...
2186
    mov  [dirlen],ebx
2207
    mov  [dirlen],ebx
Line 2187... Line 2208...
2187
 
2208
 
2188
    ; command successful
2209
    ; command successful
2189
 
2210
 
2190
        mov     esi, outinfo+32
2211
	mov	esi, outinfo+32
Line 2191... Line 2212...
2191
        and     [listsize], 0
2212
	and	[listsize], 0
2192
        test    ebx, ebx
2213
	test	ebx, ebx
Line 2193... Line 2214...
2193
        jz      nofiles
2214
	jz	nofiles
2194
 
2215
 
2195
  newlineb:
2216
  newlineb:
2196
        push    ebx
2217
	push	ebx
2197
 
2218
 
2198
        mov     edi, fileinfo
2219
	mov	edi, fileinfo
2199
        push    edi
2220
	push	edi
2200
        mov     al, ' '
2221
	mov	al, ' '
2201
        mov     ecx, 27
2222
	mov	ecx, 27
2202
        rep     stosb
2223
	rep	stosb
2203
        pop     edi
2224
	pop	edi
2204
        push    esi
2225
	push	esi
2205
        add     esi, 40
2226
	add	esi, 40
2206
        mov     [edi], esi
2227
	mov	[edi], esi
2207
        pop     esi
2228
	pop	esi
2208
 
2229
 
2209
        mov     eax, 'DAT '     ; data or ... ?
2230
	mov	eax, 'DAT '	; data or ... ?
2210
        mov     cl, [esi]
2231
	mov	cl, [esi]
2211
        test    cl, 0x10
2232
	test	cl, 0x10
2212
        jz      @f
2233
	jz	@f
2213
        mov     eax, 'FOL '
2234
	mov	eax, 'FOL '
2214
        mov     [edi+15], eax
2235
	mov	[edi+15], eax
2215
        jmp     nosize
2236
	jmp	nosize
2216
@@:
2237
@@:
2217
        test    cl, 8
2238
	test	cl, 8
2218
        jz      novol
2239
	jz	novol
Line 2219... Line 2240...
2219
        mov     eax, 'Fvol'
2240
	mov	eax, 'Fvol'
2220
        mov     [edi+15], eax
2241
	mov	[edi+15], eax
2221
        jmp     nosize
2242
	jmp	nosize
2222
novol:
2243
novol:
2223
        mov     [edi+15], eax
2244
	mov	[edi+15], eax
2224
 
2245
 
2225
; size
2246
; size
2226
        mov     eax, [esi+32]
2247
	mov	eax, [esi+32]
2227
        push    esi
2248
	push	esi
2228
        lea     esi, [edi+26]
2249
	lea	esi, [edi+26]
2229
        mov     ebx, 10
2250
	mov	ebx, 10
2230
        mov     ecx, 8
2251
	mov	ecx, 8
2231
newnum:
2252
newnum:
2232
        xor     edx, edx
2253
	xor	edx, edx
2233
        div     ebx
2254
	div	ebx
2234
        add     dl, '0'
2255
	add	dl, '0'
2235
        mov     [esi], dl
2256
	mov	[esi], dl
2236
        test    eax, eax
2257
	test	eax, eax
Line 2237... Line 2258...
2237
        jz      zernum
2258
	jz	zernum
2238
        dec     esi
2259
	dec	esi
2239
        loop    newnum
2260
	loop	newnum
2240
zernum:
2261
zernum:
2241
        pop     esi
2262
	pop	esi
2242
nosize:
2263
nosize:
2243
 
2264
 
2244
; date
2265
; date
2245
        mov     dword [edi+6], '.  .'
2266
	mov	dword [edi+6], '.  .'
2246
; year
2267
; year
2247
        movzx   eax, word [esi+28+2]
2268
	movzx	eax, word [esi+28+2]
2248
        mov     ecx, 4
2269
	mov	ecx, 4
2249
newdel1:
2270
newdel1:
2250
        xor     edx, edx
2271
	xor	edx, edx
2251
        mov     ebx, 10
2272
	mov	ebx, 10
2252
        div     ebx
2273
	div	ebx
2253
        add     edx, '0'
2274
	add	edx, '0'
2254
        mov     [edi+ecx+9], dl
2275
	mov	[edi+ecx+9], dl
2255
        loop    newdel1
2276
	loop	newdel1
2256
; month
2277
; month
2257
        movzx   eax, byte [esi+28+1]
2278
	movzx	eax, byte [esi+28+1]
2258
        xor     edx, edx
2279
	xor	edx, edx
2259
        div     ebx
2280
	div	ebx
2260
        add     al, '0'
2281
	add	al, '0'
2261
        add     dl, '0'
2282
	add	dl, '0'
2262
        mov     [edi+7], al
2283
	mov	[edi+7], al
2263
        mov     [edi+8], dl
2284
	mov	[edi+8], dl
2264
; day
2285
; day
Line 2265... Line 2286...
2265
        movzx   eax, byte [esi+28]
2286
	movzx	eax, byte [esi+28]
2266
        xor     edx, edx
2287
	xor	edx, edx
2267
        div     ebx
2288
	div	ebx
2268
        add     al, '0'
2289
	add	al, '0'
2269
        add     dl, '0'
2290
	add	dl, '0'
2270
        mov     [edi+4], al
2291
	mov	[edi+4], al
2271
        mov     [edi+5], dl
2292
	mov	[edi+5], dl
2272
 
2293
 
Line 2273... Line 2294...
2273
;STEP 5 Test on WRITE OR NOTWRITE
2294
;STEP 5 Test on WRITE OR NOTWRITE
Line 2274... Line 2295...
2274
        cmp     word [esi+40], '.'
2295
	cmp	word [esi+40], '.'
2275
        jz      nextfl
2296
	jz	nextfl
Line 2276... Line 2297...
2276
        cmp     word [esi+40], '..'
2297
	cmp	word [esi+40], '..'
Line 2277... Line 2298...
2277
        jnz     @f
2298
	jnz	@f
2278
        cmp     byte [esi+42], 0
2299
	cmp	byte [esi+42], 0
2279
        jz      nextfl
2300
	jz	nextfl
2280
@@:
2301
@@:
2281
 
2302
 
2282
; STEP 6 SORT ALGORYTHM
2303
; STEP 6 SORT ALGORYTHM
2283
 
2304
 
2284
        push    esi
2305
	push	esi
Line 2304... Line 2325...
2304
;    je  add_element
2325
;    je  add_element
2305
;    jmp add_element
2326
;    jmp add_element
Line 2306... Line 2327...
2306
 
2327
 
2307
add_element:
2328
add_element:
2308
; compare items
2329
; compare items
2309
        movzx   eax, [viewmode]
2330
	movzx	eax, [viewmode]
2310
        call    [compare+eax*4]
2331
	call	[compare+eax*4]
2311
        jb      writenow
2332
	jb	writenow
2312
skipfile:
2333
skipfile:
2313
    add esi,27
2334
    add esi,27
Line 2314... Line 2335...
2314
    jmp ftestname
2335
    jmp ftestname
Line 2327... Line 2348...
2327
wfloop:
2348
wfloop:
2328
    mov al,[fileinfo+ecx]
2349
    mov al,[fileinfo+ecx]
2329
    mov [convinfo+ecx+esi],al
2350
    mov [convinfo+ecx+esi],al
2330
    dec ecx
2351
    dec ecx
2331
    jns wfloop
2352
    jns wfloop
2332
        inc     [listsize]
2353
	inc	[listsize]
2333
        pop     esi
2354
	pop	esi
Line 2334... Line 2355...
2334
 
2355
 
2335
nextfl:
2356
nextfl:
2336
        add     esi, 304
2357
	add	esi, 304
2337
        pop     ebx
2358
	pop	ebx
2338
        dec     ebx
2359
	dec	ebx
Line 2339... Line 2360...
2339
        jnz     newlineb
2360
	jnz	newlineb
2340
 
2361
 
Line 2341... Line 2362...
2341
nofiles:
2362
nofiles:
2342
        ret
2363
	ret
2343
 
2364
 
2344
toupper:
2365
toupper:
2345
        cmp     al, 'a'
2366
	cmp	al, 'a'
2346
        jb      .ret
2367
	jb	.ret
2347
        cmp     al, 'z'
2368
	cmp	al, 'z'
2348
        ja      @f
2369
	ja	@f
2349
.sub20:
2370
.sub20:
2350
        sub     al, 0x20
2371
	sub	al, 0x20
2351
.ret:
2372
.ret:
2352
        ret
2373
	ret
2353
@@:
2374
@@:
2354
        cmp     al, 0xA0
2375
	cmp	al, 0xA0
2355
        jb      .ret
2376
	jb	.ret
2356
        cmp     al, 0xB0
2377
	cmp	al, 0xB0
2357
        jb      .sub20
2378
	jb	.sub20
2358
        cmp     al, 0xE0
2379
	cmp	al, 0xE0
2359
        jb      .ret
2380
	jb	.ret
2360
        cmp     al, 0xF0
2381
	cmp	al, 0xF0
2361
        jae     @f
2382
	jae	@f
2362
        sub     al, 0xE0-0x90
2383
	sub	al, 0xE0-0x90
2363
        ret
2384
	ret
2364
@@:
2385
@@:
2365
        cmp     al, 0xF1
2386
	cmp	al, 0xF1
Line 2366... Line 2387...
2366
        jnz     .ret
2387
	jnz	.ret
2367
        dec     eax
2388
	dec	eax
2368
        ret
2389
	ret
2369
 
2390
 
2370
compare_date:
2391
compare_date:
2371
        pushad
2392
	pushad
2372
        mov     al, [fileinfo+10]
2393
	mov	al, [fileinfo+10]
2373
        cmp     al, [convinfo+esi+10]
2394
	cmp	al, [convinfo+esi+10]
2374
        jnz     .ret
2395
	jnz	.ret
2375
        mov     al, [fileinfo+11]
2396
	mov	al, [fileinfo+11]
2376
        cmp     al, [convinfo+esi+11]
2397
	cmp	al, [convinfo+esi+11]
2377
        jnz     .ret
2398
	jnz	.ret
2378
        mov     al, [fileinfo+12]
2399
	mov	al, [fileinfo+12]
2379
        cmp     al, [convinfo+esi+12]
2400
	cmp	al, [convinfo+esi+12]
2380
        jnz     .ret
2401
	jnz	.ret
2381
        mov     al, [fileinfo+13]
2402
	mov	al, [fileinfo+13]
2382
        cmp     al, [convinfo+esi+13]
2403
	cmp	al, [convinfo+esi+13]
2383
        jnz     .ret
2404
	jnz	.ret
2384
        mov     al, [fileinfo+7]
2405
	mov	al, [fileinfo+7]
2385
        cmp     al, [convinfo+esi+7]
2406
	cmp	al, [convinfo+esi+7]
2386
        jnz     .ret
2407
	jnz	.ret
2387
        mov     al, [fileinfo+8]
2408
	mov	al, [fileinfo+8]
2388
        cmp     al, [convinfo+esi+8]
2409
	cmp	al, [convinfo+esi+8]
2389
        jnz     .ret
2410
	jnz	.ret
2390
        mov     al, [fileinfo+4]
2411
	mov	al, [fileinfo+4]
2391
        cmp     al, [convinfo+esi+4]
2412
	cmp	al, [convinfo+esi+4]
2392
        jnz     .ret
2413
	jnz	.ret
2393
        mov     al, [fileinfo+5]
2414
	mov	al, [fileinfo+5]
2394
        cmp     al, [convinfo+esi+5]
2415
	cmp	al, [convinfo+esi+5]
2395
        jz      compare_name.1
2416
	jz	compare_name.1
2396
.ret:
2417
.ret:
2397
        popad
2418
	popad
2398
        ret
2419
	ret
2399
compare_name:
2420
compare_name:
2400
        pushad
2421
	pushad
2401
.1:
2422
.1:
2402
        mov     edi, dword [convinfo+esi]
2423
	mov	edi, dword [convinfo+esi]
2403
        mov     esi, dword [fileinfo]
2424
	mov	esi, dword [fileinfo]
2404
        call    strcmpi
2425
	call	strcmpi
2405
        popad
2426
	popad
2406
        ret
2427
	ret
2407
compare_ext:
2428
compare_ext:
2408
        pushad
2429
	pushad
2409
        mov     esi, dword [convinfo+esi]
2430
	mov	esi, dword [convinfo+esi]
2410
        mov     edi, dword [fileinfo]
2431
	mov	edi, dword [fileinfo]
2411
        call    find_ext
2432
	call	find_ext
2412
        xchg    esi, edi
2433
	xchg	esi, edi
2413
        call    find_ext
2434
	call	find_ext
2414
        call    strcmpi
2435
	call	strcmpi
2415
        popad
2436
	popad
2416
        jz      compare_name
2437
	jz	compare_name
2417
        ret
2438
	ret
2418
compare_size:
2439
compare_size:
2419
        pushad
2440
	pushad
2420
        lea     edi, [convinfo+esi+19]
2441
	lea	edi, [convinfo+esi+19]
2421
        lea     esi, [fileinfo+19]
2442
	lea	esi, [fileinfo+19]
2422
        mov     ecx, 8
2443
	mov	ecx, 8
Line 2423... Line 2444...
2423
        repz    cmpsb
2444
	repz	cmpsb
2424
        popad
2445
	popad
2425
        jz      compare_name
2446
	jz	compare_name
2426
        ret
2447
	ret
2427
 
2448
 
2428
strcmpi:
2449
strcmpi:
2429
        lodsb
2450
	lodsb
2430
        call    toupper
2451
	call	toupper
2431
        push    eax
2452
	push	eax
2432
        mov     al, [edi]
2453
	mov	al, [edi]
2433
        inc     edi
2454
	inc	edi
2434
        call    toupper
2455
	call	toupper
2435
        cmp     [esp], al
2456
	cmp	[esp], al
2436
        pop     eax
2457
	pop	eax
Line 2437... Line 2458...
2437
        jnz     @f
2458
	jnz	@f
2438
        test    al, al
2459
	test	al, al
2439
        jnz     strcmpi
2460
	jnz	strcmpi
2440
@@:
2461
@@:
2441
        ret
2462
	ret
2442
 
2463
 
2443
find_ext:
2464
find_ext:
2444
        lodsb
2465
	lodsb
2445
        test    al, al
2466
	test	al, al
2446
        jz      .noext
2467
	jz	.noext
Line 2447... Line 2468...
2447
        cmp     al, '.'
2468
	cmp	al, '.'
Line 2448... Line 2469...
2448
        jnz     find_ext
2469
	jnz	find_ext
2449
        ret
2470
	ret
Line 2471... Line 2492...
2471
readblock  dd 1
2492
readblock  dd 1
2472
dlg_type   db 0 ;S-save O-open
2493
dlg_type   db 0 ;S-save O-open
2473
browser    db 0  ;0-dialog, 1-browser
2494
browser    db 0  ;0-dialog, 1-browser
2474
viewmode   db 0  ;folder sort
2495
viewmode   db 0  ;folder sort
Line 2475... Line 2496...
2475
 
2496
 
2476
compare dd      compare_name
2497
compare dd	compare_name
2477
        dd      compare_ext
2498
	dd	compare_ext
2478
        dd      compare_size
2499
	dd	compare_size
2479
        dd      compare_date
2500
	dd	compare_date
2480
 
2501
 
2481
aRD     db      'RD',0
2502
aRD	db	'RD',0
2482
aFD     db      'FD',0
2503
aFD	db	'FD',0
2483
aHD0    db      'HD0',0
2504
aHD0	db	'HD0',0
2484
aHD1    db      'HD1',0
2505
aHD1	db	'HD1',0
2485
aHD2    db      'HD2',0
2506
aHD2	db	'HD2',0
2486
aHD3    db      'HD3',0
2507
aHD3	db	'HD3',0
2487
aCD0    db      'CD0',0
2508
aCD0	db	'CD0',0
2488
aCD1    db      'CD1',0
2509
aCD1	db	'CD1',0
2489
aCD2    db      'CD2',0
2510
aCD2	db	'CD2',0
2490
aCD3    db      'CD3',0
2511
aCD3	db	'CD3',0
2491
a1      db      '1',0,0
2512
a1	db	'1',0,0
2492
a2      db      '2',0,0
2513
a2	db	'2',0,0
2493
a3      db      '3',0,0
2514
a3	db	'3',0,0
2494
a4      db      '4',0,0
2515
a4	db	'4',0,0
2495
a5      db      '5',0,0
2516
a5	db	'5',0,0
2496
a6      db      '6',0,0
2517
a6	db	'6',0,0
2497
a7      db      '7',0,0
2518
a7	db	'7',0,0
2498
a8      db      '8',0,0
2519
a8	db	'8',0,0
2499
a9      db      '9',0,0
2520
a9	db	'9',0,0
2500
a10     db      '10',0
2521
a10	db	'10',0
2501
a11     db      '11',0
2522
a11	db	'11',0
2502
a12     db      '12',0
2523
a12	db	'12',0
2503
a13     db      '13',0
2524
a13	db	'13',0
2504
a14     db      '14',0
2525
a14	db	'14',0
2505
a15     db      '15',0
2526
a15	db	'15',0
2506
a16     db      '16',0
2527
a16	db	'16',0
2507
a17     db      '17',0
2528
a17	db	'17',0
2508
a18     db      '18',0
2529
a18	db	'18',0
2509
a19     db      '19',0
2530
a19	db	'19',0
Line 2510... Line 2531...
2510
a20     db      '20',0
2531
a20	db	'20',0
2511
 
2532
 
2512
hdimg:
2533
hdimg:
2513
        dd      aRD
2534
	dd	aRD
2514
        db      'RAMDISK    FOL         '
2535
	db	'RAMDISK    FOL         '
2515
        dd      aFD
2536
	dd	aFD
2516
        db      'FLOPPYDISK FOL         '
2537
	db	'FLOPPYDISK FOL         '
2517
hdimg1  dd      0
2538
hdimg1	dd	0
2518
        db      'HARDDISK   FOL         '
2539
	db	'HARDDISK   FOL         '
2519
hdimg2  dd      0
2540
hdimg2	dd	0
2520
        db      'HARDDISK   FOL         '
2541
	db	'HARDDISK   FOL         '
2521
hdimg3  dd      0
2542
hdimg3	dd	0
2522
        db      'HARDDISK   FOL         '
2543
	db	'HARDDISK   FOL         '
2523
hdimg4  dd      0
2544
hdimg4	dd	0
Line 2524... Line 2545...
2524
        db      'HARDDISK   FOL         '
2545
	db	'HARDDISK   FOL         '
2525
ptimg   db      'PARTITION  FOL         '
2546
ptimg	db	'PARTITION  FOL         '
2526
 
2547
 
2527
modetext:
2548
modetext:
Line 2551... Line 2572...
2551
;Name of programs
2572
;Name of programs
2552
editor	      db '/sys/TINYPAD',0
2573
editor	      db '/sys/TINYPAD',0
2553
bmpview   db '/sys/MV',0
2574
bmpview   db '/sys/MV',0
2554
jpgview   db '/sys/JPEGVIEW',0
2575
jpgview   db '/sys/JPEGVIEW',0
2555
gifview   db '/sys/GIFVIEW',0
2576
gifview   db '/sys/GIFVIEW',0
2556
ac97      db '/sys/AC97SND',0
2577
ac97	  db '/sys/AC97SND',0
-
 
2578
htmlv	  db '/sys/NETWORK/HTMLV',0
2557
rtfread   db '/sys/RTFREAD',0
2579
rtfread   db '/sys/RTFREAD',0
2558
; //// Willow
2580
; //// Willow
2559
pngview   db '/sys/@RCHER',0
2581
pngview   db '/sys/@RCHER',0
2560
; //// Willow
2582
; //// Willow
2561
midamp	  db '/sys/MIDAMP',0
2583
midamp	  db '/sys/MIDAMP',0
2562
view3ds   db '/sys/3D/VIEW3DS',0
2584
view3ds   db '/sys/3D/VIEW3DS',0
2563
life2     db '/sys/DEMOS/LIFE2',0
2585
life2	  db '/sys/DEMOS/LIFE2',0
Line 2564... Line 2586...
2564
 
2586
 
Line 2565... Line 2587...
2565
more_char db 10h
2587
more_char db 10h
Line 2566... Line 2588...
2566
 
2588
 
2567
IncludeIGlobals
2589
IncludeIGlobals
2568
 
2590
 
2569
fileinfo_start:
2591
fileinfo_start:
2570
        dd      7
2592
	dd	7
2571
        dd      0
2593
	dd	0
2572
fileinfo_params:
2594
fileinfo_params:
2573
        dd      0
2595
	dd	0
2574
        dd      0
2596
	dd	0
2575
        dd      0
2597
	dd	0
Line 2576... Line 2598...
2576
        db      0
2598
	db	0
2577
fileinfo_name:
2599
fileinfo_name:
2578
        dd      0
2600
	dd	0
2579
 
2601
 
2580
clipfile_info:
2602
clipfile_info:
2581
        dd      ?
2603
	dd	?
2582
        dd      0
2604
	dd	0
2583
        dd      0
2605
	dd	0
2584
        dd      ?
2606
	dd	?
2585
        dd      paramtest
2607
	dd	paramtest
2586
        db      '/SYS/CLIPFILE.TXT',0
2608
	db	'/SYS/CLIPFILE.TXT',0
2587
copyr_run:
2609
copyr_run:
2588
        dd      7
2610
	dd	7
2589
        dd      0
2611
	dd	0
Line 2590... Line 2612...
2590
        dd      copyr_param
2612
	dd	copyr_param
2591
        dd      0
2613
	dd	0
2592
        dd      0
2614
	dd	0
2593
        db      '/SYS/COPYR',0
2615
	db	'/SYS/COPYR',0
2594
 
2616
 
2595
fileinfoblock:
2617
fileinfoblock:
2596
   dd 0x1    ; read folder
2618
   dd 0x1    ; read folder
2597
   dd 0x0    ; first block
2619
   dd 0x0    ; first block
Line 2598... Line 2620...
2598
   dd 0x0    ; flags (ANSI names)
2620
   dd 0x0    ; flags (ANSI names)
2599
   dd 4095   ; number of blocks to read
2621
   dd 4095   ; number of blocks to read
Line 2600... Line 2622...
2600
   dd outinfo	  ; ret offset
2622
   dd outinfo	  ; ret offset
Line 2666... Line 2688...
2666
sc system_colors
2688
sc system_colors
Line 2667... Line 2689...
2667
 
2689
 
2668
fileinfo:
2690
fileinfo:
Line 2669... Line 2691...
2669
rb 200 ;4096*62+1024
2691
rb 200 ;4096*62+1024
Line 2670... Line 2692...
2670
 
2692
 
2671
copyr_param     rb      256
2693
copyr_param	rb	256
Line 2672... Line 2694...
2672
 
2694
 
2673
outinfo:
2695
outinfo:
2674
rb 32+4096*304
2696
rb 32+4096*304
2675
 
2697
 
2676
convinfo:
2698
convinfo:
2677
rb 4096*27
2699
rb 4096*27