Subversion Repositories Kolibri OS

Rev

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

Rev 111 Rev 131
Line 40... Line 40...
40
  dd     RAM_END      ; stack
40
  dd	 RAM_END      ; stack
41
  dd     param_area ,0x0   ; param,icon
41
  dd	 param_area ,0x0   ; param,icon
42
;  dd 0,0
42
;  dd 0,0
Line 43... Line 43...
43
 
43
 
44
;******************************************************************************
-
 
45
include 'lang.inc'
44
;******************************************************************************
46
include 'macros.inc'
45
include 'macros.inc'
47
include 'ascl.inc'
46
include 'ascl.inc'
-
 
47
include 'ascgl.inc'
48
include 'ascgl.inc'
48
 
Line 49... Line 49...
49
    gif_hash_offset = gif_hash
49
    gif_hash_offset = gif_hash
50
 
50
 
51
START:                          ; start of execution
51
START:		    ; start of execution
52
; //// Willow
52
; //// Willow
53
    mov eax,58
53
;    mov eax,58
54
    mov ebx,MRUfile
54
;    mov ebx,MRUfile
-
 
55
;    int 0x40
-
 
56
; //// Willow
-
 
57
    mcall 18,11,1,table_area
-
 
58
    mov edi,hdimg+62*2
-
 
59
    cmp [table_area+2],byte 0
-
 
60
    je	  no_hdpartition_on_hd0
-
 
61
    mov esi,hdimg1
-
 
62
    mov ecx,62
-
 
63
    rep movsb
-
 
64
 no_hdpartition_on_hd0:
-
 
65
    cmp [table_area+3],byte 0
-
 
66
    je	  no_hdpartition_on_hd1
-
 
67
    mov esi,hdimg2
-
 
68
    mov ecx,62
-
 
69
    rep movsb
-
 
70
 no_hdpartition_on_hd1:
-
 
71
    cmp [table_area+4],byte 0
-
 
72
    je	  no_hdpartition_on_hd2
-
 
73
    mov esi,hdimg3
-
 
74
    mov ecx,62
-
 
75
    rep movsb
-
 
76
 no_hdpartition_on_hd2:
-
 
77
    cmp [table_area+5],byte 0
-
 
78
    je	  no_hdpartition_on_hd3
-
 
79
    mov esi,hdimg4
-
 
80
    mov ecx,62
Line 55... Line 81...
55
    int 0x40
81
    rep movsb
56
; //// Willow
82
 no_hdpartition_on_hd3:
57
 
83
 
Line 662... Line 688...
662
    cmp eax,'.WAV'
688
    cmp eax,'.WAV'
663
    jne nojv12
689
    jne nojv12
664
    mov ebx,ac97wav
690
    mov ebx,ac97wav
665
    jmp run
691
    jmp run
666
nojv12:
692
nojv12:
-
 
693
    cmp eax,'.MID'
-
 
694
    jne nojv13
-
 
695
    mov ebx,midamp
-
 
696
    jmp run
-
 
697
nojv13:
667
    cmp eax,'.BMP'
698
    cmp eax,'.BMP'
668
    jne nobv
699
    jne nobv
669
    mov ebx,bmpview
700
    mov ebx,bmpview
670
    jmp run
701
    jmp run
671
nobv:
702
nobv:
Line 674... Line 705...
674
    jne nopngv
705
    jne nopngv
675
    mov ebx,pngview
706
    mov ebx,pngview
676
    jmp run
707
    jmp run
677
nopngv:
708
nopngv:
678
; //// Willow
709
; //// Willow
-
 
710
    cmp eax,'.RTF'
-
 
711
    jne nortf
-
 
712
    mov ebx,rtfread
-
 
713
    jmp run
-
 
714
nortf:
679
    cmp eax,'.ASM'
715
    cmp eax,'.ASM'
680
    je edit
716
    je edit
681
    cmp eax,'.TXT'
717
    cmp eax,'.TXT'
682
    je edit
718
    je edit
683
    cmp eax,'.INC'
719
    cmp eax,'.INC'
684
    je edit
720
    je edit
685
    cmp eax,'.DAT'
-
 
686
    je edit
-
 
687
    jmp still
721
    jmp still
688
edit:
722
edit:
689
    mov ebx,editor
723
    mov ebx,editor
690
    jmp run
724
    jmp run
Line 1171... Line 1205...
1171
 
1205
 
Line 1172... Line 1206...
1172
    jmp still
1206
    jmp still
1173
 
1207
 
1174
exit:
1208
exit:
1175
; //// Willow
1209
; //// Willow
1176
    mov eax,58
1210
;    mov eax,58
1177
    mov ebx,MRUfile
1211
;    mov ebx,MRUfile
1178
    mov dword[ebx+8],255
1212
;    mov dword[ebx+8],255
1179
    inc dword[ebx]
1213
;    inc dword[ebx]
1180
    int 0x40
1214
;    int 0x40
1181
; //// Willow
1215
; //// Willow
Line 1182... Line 1216...
1182
    mov eax,-1
1216
    mov eax,-1
Line 1363... Line 1397...
1363
    cmp  [browser],dword 1 ;it's browser
1397
    cmp  [browser],dword 1 ;it's browser
1364
    jne  nob2
1398
    jne  nob2
Line 1365... Line 1399...
1365
 
1399
 
1366
    mov  eax,[sc.grab_text]        ; color of text RRGGBB
1400
    mov  eax,[sc.grab_text]	 ; color of text RRGGBB
1367
    or   eax,0x10000000
1401
    or	     eax,0x10000000
Line 1368... Line 1402...
1368
    label 8,8,'SYSTEM X-TREE FILE BROWSER',eax
1402
    glabel 8,8,'SYSTEM X-TREE FILE BROWSER',eax
1369
 
1403
 
1370
;Draw buttons headers
1404
;Draw buttons headers
1371
    mov  eax,8
1405
    mov  eax,8
Line 1398... Line 1432...
1398
    int  0x40
1432
    int  0x40
1399
    dec  edi
1433
    dec  edi
1400
    jnz  nextpbut
1434
    jnz  nextpbut
Line 1401... Line 1435...
1401
 
1435
 
1402
;DRAW PARTITON TEXT
1436
;DRAW PARTITON TEXT
Line 1403... Line 1437...
1403
    label 341,25,'1234',cl_White;Black
1437
    glabel 341,25,'1234',cl_White;Black
1404
 
1438
 
Line 1405... Line 1439...
1405
;File STRING
1439
;File STRING
1406
    label 8,25,'  FILE    VIEW    INFO  ',  ;cl_White ;Black
1440
    glabel 8,25,'  FILE    VIEW    INFO  ',  ;cl_White ;Black
1407
 
1441
 
1408
;BlackLine
1442
;BlackLine
Line 1420... Line 1454...
1420
;    sub eax,69+4
1454
;    sub eax,69+4
1421
;    drawfbox 115, 69, 1, eax, cl_Black
1455
;    drawfbox 115, 69, 1, eax, cl_Black
Line 1422... Line 1456...
1422
 
1456
 
1423
;Set logo img
1457
;Set logo img
1424
    setimg 34,88,logoinfimg
1458
    setimg 34,88,logoinfimg
1425
    label 20,165,'SYSTEM X-TREE',cl_Black
1459
    glabel 20,165,'SYSTEM X-TREE',cl_Black
1426
    add  ebx,10
1460
    add  ebx,10
Line 1427... Line 1461...
1427
    label ,,'FOR  MENUETOS',
1461
    glabel ,,'FOR  MENUETOS',
1428
 
1462
 
1429
    add  ebx,9*65536+20
1463
    add  ebx,9*65536+20
1430
    label ,,'welcome to',cl_Green
1464
    glabel ,,'welcome to',cl_Green
Line 1431... Line 1465...
1431
    add  ebx,-15*65536+10
1465
    add  ebx,-15*65536+10
1432
    label ,,'www.menuetos.org',cl_Green
1466
    glabel ,,'www.menuetos.org',cl_Green
1433
 
1467
 
1434
;    label ,,'Create by',cl_Green
1468
;    glabel ,,'Create by',cl_Green
1435
;    add  ebx,10
1469
;    add  ebx,10
Line 1436... Line 1470...
1436
;    label ,,'   Pavlushin',
1470
;    glabel ,,'   Pavlushin',
1437
;    add  ebx,10
1471
;    add  ebx,10
1438
;    label ,,'       Evgeni',
1472
;    glabel ,,'       Evgeni',
Line 1520... Line 1554...
1520
    mov eax,[procinfo.x_size]
1554
    mov eax,[procinfo.x_size]
1521
    sub eax,48+10
1555
    sub eax,48+10
1522
    mov [urlxsize],eax
1556
    mov [urlxsize],eax
1523
    mov [urlysize],12
1557
    mov [urlysize],12
Line 1524... Line 1558...
1524
 
1558
 
Line 1525... Line 1559...
1525
    label 20,57,"URL:",cl_Black
1559
    glabel 20,57,"URL:",cl_Black
1526
 
1560
 
1527
;Out view mode info
1561
;Out view mode info
1528
    mov eax,[viewmode]
1562
    mov eax,[viewmode]
Line 1871... Line 1905...
1871
    je  itx
1905
    je	    itx
1872
    cmp  eax,dword '.INC'
1906
    cmp  eax,dword '.INC'
1873
    je  itx
1907
    je	    itx
1874
    cmp  eax,dword '.ASM'
1908
    cmp  eax,dword '.ASM'
1875
    je  itx
1909
    je	    itx
-
 
1910
    cmp  eax,dword '.RTF'
-
 
1911
    je	    itx
1876
    jmp nt
1912
    jmp nt
1877
itx:
1913
itx:
1878
    mov  ecx,0x00446666
1914
    mov  ecx,0x00446666
1879
    jmp cset
1915
    jmp cset
1880
nt:
1916
nt:
Line 1890... Line 1926...
1890
    cmp  eax,dword '.PNG'
1926
    cmp  eax,dword '.PNG'
1891
    je  ipic
1927
    je	ipic
1892
; //// Willow
1928
; //// Willow
1893
    cmp  eax,dword '.WAV'
1929
    cmp  eax,dword '.WAV'
1894
    je  ipic
1930
    je	    ipic
-
 
1931
    cmp  eax,dword '.MID'
-
 
1932
    je	    ipic
1895
    jmp np
1933
    jmp np
1896
ipic:
1934
ipic:
1897
    mov  ecx,0x00226688
1935
    mov  ecx,0x00226688
1898
    jmp cset
1936
    jmp cset
1899
np:
1937
np:
Line 1927... Line 1965...
1927
    cmp  [edx+9],dword 'RAMD'
1965
    cmp  [edx+9],dword 'RAMD'
1928
    jne  no_rdico
1966
    jne  no_rdico
1929
    push rdico+8
1967
    push rdico+8
1930
    jmp out_ico
1968
    jmp out_ico
1931
no_rdico:
1969
no_rdico:
-
 
1970
    cmp  [edx+9],dword 'FLOP'
-
 
1971
    jne  no_fdico
-
 
1972
    push rdico+8
-
 
1973
    jmp out_ico
-
 
1974
no_fdico:
1932
    push folico+8
1975
    push folico+8
1933
    jmp out_ico
1976
    jmp out_ico
1934
no_folico:
1977
no_folico:
1935
    cmp  [edx+8],dword '.BMP'
1978
    cmp  [edx+8],dword '.BMP'
1936
    je   is_imgico
1979
    je	     is_imgico
Line 1944... Line 1987...
1944
    cmp  [edx+8],dword '.PNG'
1987
    cmp  [edx+8],dword '.PNG'
1945
    je   is_imgico
1988
    je	 is_imgico
1946
; //// Willow
1989
; //// Willow
1947
    cmp  [edx+8],dword '.WAV'
1990
    cmp  [edx+8],dword '.WAV'
1948
    je   is_imgico
1991
    je	     is_imgico
-
 
1992
    cmp  [edx+8],dword '.MID'
-
 
1993
    je	     is_imgico
1949
    jmp  no_imgico
1994
    jmp  no_imgico
1950
is_imgico:
1995
is_imgico:
1951
    push imgico+8
1996
    push imgico+8
1952
    jmp out_ico
1997
    jmp out_ico
1953
no_imgico:
1998
no_imgico:
Line 1958... Line 2003...
1958
    jmp  no_asmincico
2003
    jmp  no_asmincico
1959
is_asmincico:
2004
is_asmincico:
1960
    push asmincico+8
2005
    push asmincico+8
1961
    jmp out_ico
2006
    jmp out_ico
1962
no_asmincico:
2007
no_asmincico:
-
 
2008
    cmp  [edx+8],dword '.RTF'
-
 
2009
    je	 @f
1963
    cmp  [edx+8],dword '.TXT'
2010
    cmp  [edx+8],dword '.TXT'
1964
    jne  no_txtico
2011
    jne  no_txtico
-
 
2012
 @@:
1965
    push txtico+8
2013
    push txtico+8
1966
    jmp out_ico
2014
    jmp out_ico
1967
no_txtico:
2015
no_txtico:
1968
    cmp  [edx+8],dword '.   '
2016
    cmp  [edx+8],dword '.   '
1969
    jne  no_execico
2017
    jne  no_execico
Line 2203... Line 2251...
2203
    rep  stosb
2251
    rep  stosb
Line 2204... Line 2252...
2204
 
2252
 
2205
;STEP 2 TEST ON HD OR PARTITION
2253
;STEP 2 TEST ON HD OR PARTITION
2206
    cmp [path],byte '/'
2254
    cmp [path],byte '/'
2207
    je nstep
2255
    je nstep
2208
    mov ecx,61+62
2256
    mov ecx,61+62*5
2209
loxhd:
2257
loxhd:
2210
    mov al,[hdimg+ecx]
2258
    mov al,[hdimg+ecx]
2211
    mov [convinfo+ecx],al
2259
    mov [convinfo+ecx],al
2212
    dec ecx
2260
    dec ecx
2213
    jns loxhd
2261
    jns loxhd
2214
    mov [listsize],0
2262
    mov [listsize],0
2215
    ret
2263
    ret
2216
nstep:
2264
nstep:
2217
    cmp [path+3],byte '/'
2265
    cmp [path+3],byte '/'
-
 
2266
    je nstep2
-
 
2267
    cmp [path+4],byte '/'
-
 
2268
    je nstep2
-
 
2269
    cmp [path+1],word 'RD'
-
 
2270
    jne nostep_RD
-
 
2271
    mov ecx,61
-
 
2272
    jmp loxpt
-
 
2273
nostep_RD:
-
 
2274
    cmp [path+1],word 'FD'
2218
    je nstep2
2275
    jne nostep_FD
-
 
2276
    mov ecx,61+62
-
 
2277
    jmp loxpt
-
 
2278
nostep_FD:
-
 
2279
    cmp [path+1],dword 'HD0'
-
 
2280
    jne nostep_HD0
-
 
2281
    mov cl,[table_area+2]
-
 
2282
    movzx ecx,cl
-
 
2283
    imul ecx,62
-
 
2284
    dec  ecx
-
 
2285
    jmp loxpt
-
 
2286
nostep_HD0:
-
 
2287
    cmp [path+1],dword 'HD1'
-
 
2288
    jne nostep_HD1
-
 
2289
    mov cl,[table_area+3]
-
 
2290
    movzx ecx,cl
-
 
2291
    imul ecx,62
-
 
2292
    dec  ecx
-
 
2293
    jmp loxpt
-
 
2294
nostep_HD1:
-
 
2295
    cmp [path+1],dword 'HD2'
-
 
2296
    jne nostep_HD2
-
 
2297
    mov cl,[table_area+4]
-
 
2298
    movzx ecx,cl
-
 
2299
    imul ecx,62
-
 
2300
    dec  ecx
-
 
2301
    jmp loxpt
-
 
2302
nostep_HD2:
-
 
2303
    cmp [path+1],dword 'HD3'
-
 
2304
    jne nostep_HD3
-
 
2305
    mov cl,[table_area+5]
-
 
2306
    movzx ecx,cl
-
 
2307
    imul ecx,62
-
 
2308
    dec  ecx
-
 
2309
    jmp loxpt
-
 
2310
nostep_HD3:
-
 
2311
 
-
 
2312
    mov ecx,61+62   ;+496
2219
    mov ecx,61+62
2313
 
2220
loxpt:
2314
loxpt:
2221
    mov al,[ptimg+ecx]
2315
    mov al,[ptimg+ecx]
2222
    mov [convinfo+ecx],al
2316
    mov [convinfo+ecx],al
2223
    dec ecx
2317
    dec ecx
Line 2260... Line 2354...
2260
 
2354
 
Line 2261... Line 2355...
2261
;  It's erorr's test is poor code
2355
;  It's erorr's test is poor code
2262
 
2356
 
2263
    cmp eax,1
2357
    cmp eax,1
2264
    jne no_inv_part
2358
    jne no_inv_part
2265
    label 10,10,'Invalid partition or hd base',cl_Red+font_Big
2359
    glabel 10,10,'Invalid partition or hd base',cl_Red+font_Big
2266
    jmp end_of_dir
2360
    jmp end_of_dir
2267
no_inv_part:
2361
no_inv_part:
2268
    cmp eax,3
2362
    cmp eax,3
2269
    jne no_unk_fs
2363
    jne no_unk_fs
2270
    label 10,10,'Unknow file system',cl_Red+font_Big
2364
    glabel 10,10,'Unknow file system',cl_Red+font_Big
Line 2271... Line 2365...
2271
    jmp end_of_dir
2365
    jmp end_of_dir
2272
no_unk_fs:
2366
no_unk_fs:
Line 2623... Line 2717...
2623
listsize   dd 0  ;num of files in directory
2717
listsize   dd 0  ;num of files in directory
2624
temp       dd 0
2718
temp	   dd 0
2625
readblock  dd 1
2719
readblock  dd 1
2626
dlg_type   db 0 ;S-save O-open
2720
dlg_type   db 0 ;S-save O-open
Line -... Line 2721...
-
 
2721
 
-
 
2722
hdimg1 db 'HD0      HARDDISK         FOL                                 '
-
 
2723
hdimg2 db 'HD1      HARDDISK         FOL                                 '
-
 
2724
hdimg3 db 'HD2      HARDDISK         FOL                                 '
-
 
2725
hdimg4 db 'HD3      HARDDISK         FOL                                 '
2627
 
2726
 
2628
          ;01234567890123456789012345678901234567890123456789012345678912
2727
      ;01234567890123456789012345678901234567890123456789012345678912
2629
hdimg  db 'HD       HARDDISK         FOL                                 '
2728
hdimg  db 'RD       RAMDISK          FOL                                 '
-
 
2729
       db 'FD       FLOPPYDISK       FOL                                 '
-
 
2730
       db '                                                              '
-
 
2731
       db '                                                              '
-
 
2732
       db '                                                              '
Line 2630... Line 2733...
2630
       db 'RD       RAMDISK          FOL                                 '
2733
       db '                                                              '
2631
 
2734
 
-
 
2735
ptimg  db '1        FIRST  PARTITION FOL                                 '
-
 
2736
       db '2        SECOND PARTITION FOL                                 '
-
 
2737
       db '3        NEXT   PARTITION FOL                                 '
-
 
2738
       db '4        NEXT   PARTITION FOL                                 '
-
 
2739
       db '5        NEXT   PARTITION FOL                                 '
-
 
2740
       db '6        NEXT   PARTITION FOL                                 '
-
 
2741
       db '7        NEXT   PARTITION FOL                                 '
-
 
2742
       db '8        NEXT   PARTITION FOL                                 '
-
 
2743
       db '9        NEXT   PARTITION FOL                                 '
-
 
2744
       db '10       NEXT   PARTITION FOL                                 '
-
 
2745
       db '11       NEXT   PARTITION FOL                                 '
-
 
2746
       db '12       NEXT   PARTITION FOL                                 '
-
 
2747
       db '13       NEXT   PARTITION FOL                                 '
-
 
2748
       db '14       NEXT   PARTITION FOL                                 '
-
 
2749
       db '15       NEXT   PARTITION FOL                                 '
-
 
2750
       db '16       NEXT   PARTITION FOL                                 '
-
 
2751
       db '17       NEXT   PARTITION FOL                                 '
-
 
2752
       db '18       NEXT   PARTITION FOL                                 '
Line 2632... Line 2753...
2632
ptimg  db '1        FIRST  PARTITION FOL                                 '
2753
       db '19       NEXT   PARTITION FOL                                 '
2633
       db '2        SECOND PARTITION FOL                                 '
2754
       db '20       NEXT   PARTITION FOL                                 '
2634
 
2755
 
2635
modetext:
2756
modetext:
Line 2645... Line 2766...
2645
 
2766
 
2646
dirlen    dd   0x1
2767
dirlen	      dd     0x1
Line 2647... Line 2768...
2647
b_color   dd   0x6677cc
2768
b_color   dd   0x6677cc
2648
 
2769
 
2649
; //// Willow
2770
; //// Willow
2650
MRUfile:
2771
;MRUfile:
2651
   dd 0x0
2772
;   dd 0x0
2652
   dd 0x0
2773
;   dd 0x0
2653
   dd 0x1
2774
;   dd 0x1
2654
   dd path
2775
;   dd path
2655
   dd tempzone
2776
;   dd tempzone
Line 2656... Line 2777...
2656
   db '/RD/1/MRU.LST',0
2777
;   db '/RD/1/MRU.LST',0
2657
; //// Willow
2778
; //// Willow
2658
 
2779
 
2659
;Name of programs
2780
;Name of programs
2660
editor    db 'TINYPAD    '
2781
editor	      db 'TINYPAD    '
2661
bmpview   db 'MV         '
2782
bmpview   db 'MV         '
2662
jpgview   db 'JPEGVIEW   '
2783
jpgview   db 'JPEGVIEW   '
-
 
2784
gifview   db 'GIFVIEW    '
2663
gifview   db 'GIFVIEW    '
2785
ac97wav   db 'AC97WAV    '
2664
ac97wav   db 'AC97WAV    '
2786
copyrfile db 'COPYR      '
2665
copyrfile db 'COPYR      '
2787
rtfread   db 'RTFREAD    '
-
 
2788
; //// Willow
Line 2666... Line 2789...
2666
; //// Willow
2789
pngview   db '@RCHER     '
2667
pngview   db '@RCHER     '
2790
; //// Willow
2668
; //// Willow
2791
midamp	  db 'MIDAMP     '
2669
 
2792
 
Line 2683... Line 2806...
2683
farea:
2806
farea:
2684
   dd outinfo   ; ret offset
2807
   dd outinfo	  ; ret offset
2685
   dd tempzone    ; work size of sytemram
2808
   dd tempzone	      ; work size of sytemram
2686
path:
2809
path:
2687
times 256 db 0  ;path
2810
times 256 db 0	    ;path
-
 
2811
 
-
 
2812
table_area:
-
 
2813
rb 10
-
 
2814
 
2688
;rb 256
2815
;rb 256
2689
but_file:
2816
but_file:
2690
file 'systr12.GIF'
2817
file 'systr12.GIF'
2691
butimg:
2818
butimg:
2692
rb 400*16*3+8   ;buttons (left pice of picture)
2819
rb 400*16*3+8	  ;buttons (left pice of picture)