Subversion Repositories Kolibri OS

Rev

Rev 2290 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.  
  2. ;
  3. ;   Compile with flat assembler
  4. ;   Программка позволяющая проигрывать плейлист
  5. ;   Разработал:   ДедОк  :)
  6.  
  7. use32
  8.  
  9.     org    0x0
  10.  
  11.             db     'MENUET01'       ; 8 byte id
  12.             dd     0x01             ; header version
  13.             dd     START            ; start of code
  14.             dd     I_END            ; size of image
  15.             dd     0x25000           ; memory for app
  16.             dd     0x20000           ; esp
  17.             dd     playlist,  0x0
  18.  
  19. include '../../../macros.inc'
  20.  
  21. START:                     ; start of execution
  22. cmp  [playlist],0x00000000
  23. jne  dprod
  24. mcall  -1
  25. dprod:
  26. or   [trig_sys],40h
  27. call scandr
  28. jmp  mmm.seach
  29. still:
  30.     not   [trig_sys]
  31.     or   [trig_sys],400h
  32.     not   [trig_sys]
  33.     or   [trig_sys],200h
  34.     call enproc
  35.     call delproc
  36.     mov  eax,23                  ; wait here for event
  37.     mov  ebx,20
  38.     mcall
  39.     cmp  eax,1                  ; redraw request ?
  40.     je   red
  41.     cmp  eax,3                  ; button in buffer ?
  42.     je  button
  43.     test [trig_sys],200h
  44.     jz   next_song
  45.     jmp  still
  46. next_song:
  47.     add  [poz_butt],1
  48.     movzx eax,[poz_song]
  49.     add  eax,1
  50.     mov  [poz_song],al
  51.     mov  dx,255
  52.     mul  dx
  53.     mov  [song_poz], eax
  54.     movzx eax,[poz_song]
  55.     sub  eax,1
  56.     cmp  [song_count],eax
  57.     ja   .dgo
  58.     mov  [poz_song],1
  59.     mov  [song_poz],255
  60.     mov  [poz_butt],6
  61. .dgo:
  62.     call  load_song
  63.     call procskan
  64.     call start
  65.     or   [trig_sys],200h
  66.     call draw_window
  67.     jmp  still
  68. red:
  69.     call draw_window
  70.     jmp  still
  71. button:                       ; button
  72.     mov   eax,17
  73.     mcall
  74.     cmp ah,1
  75.     je  close
  76.     cmp ah,2
  77.     je  mmm
  78.     cmp ah,3
  79.     je  mma
  80.     cmp ah,4
  81.     je  mmd
  82.     cmp ah,5
  83.     je  mmf
  84.     cmp ah,38
  85.     jb  mma
  86.     ret
  87. close:
  88.     mov  eax,-1
  89.     mcall
  90. mma:
  91.     mov [poz_butt],ah
  92.     mov [poz_song],ah
  93.     sub [poz_song],5
  94.     movzx eax,[poz_song]
  95.     add  eax,[sme]
  96.     mov  [poz_song],al
  97.     mov  dx,255
  98.     mul  dx
  99.     mov  [song_poz], eax
  100.     call  load_song
  101.     call procskan
  102.     call start
  103.     or   [trig_sys],200h
  104.     call draw_window
  105.     jmp still
  106. mmw:
  107.     mov  ebx,file_info2
  108.     mov  ecx,[razm_str]
  109.     add  dword [ebx+4],ecx
  110.     or   [trig_sys],40h
  111.     jmp  mmm.seach
  112.     ret
  113. mmm:
  114. .seach:
  115.     call getstring
  116.     call get_drive
  117.     call put_db
  118.     call draw_window
  119.     test [trig_sys],04h
  120.     jz   mmw
  121.     jmp  still
  122. mmd:
  123.     cmp  [poz_db3],510
  124.     jb   .emd
  125.     sub  [poz_db3],255
  126.     add  [poz_butt],1
  127.     sub  [sme],1
  128. .emd:
  129.     call draw_window
  130.     jmp  still
  131. mmf:
  132.     add  [poz_db3],255
  133.     sub  [poz_butt],1
  134.     add  [sme],1
  135.     call draw_window
  136.     jmp  still
  137. procskan:
  138.     mov  [num_proc],255
  139. qqqqq:
  140.     mov  eax,9
  141.     mov  ebx,pib
  142.     mov  ecx, [num_proc]
  143.     mcall
  144.     cld
  145.     lea si,[pib.process_name]
  146.     lea di,[minus]
  147.     mov cx,7
  148.     rep cmps byte [si],[di]
  149.     jcxz mat
  150.     sub  [num_proc],1
  151.     cmp  [num_proc],1
  152.     jne  qqqqq
  153.     ret
  154. mat:
  155.     mov eax,18
  156.     mov ebx,2
  157.     mov ecx,[num_proc]
  158.     mcall
  159.     jmp  procskan
  160. scandr:
  161.     mov  eax,18
  162.     mov  ebx,11
  163.     mov  ecx,1
  164.     mov  edx,scan_rez
  165.     mcall
  166.     ret
  167. mountpl:
  168.     mov  cx,255
  169.     cld
  170.     lea  di,[fl]
  171.     mov  al,00h
  172.     repne stos byte [di]
  173.     cld
  174.     mov  cx,6
  175.     lea  si,[play_list]
  176.     lea  di,[fl]
  177.     rep movs byte [di],[si]
  178.     mov  cx,0
  179.     ret
  180. get_drive:
  181.     mov  al,byte[scan_rez+1]
  182.     mov  [my_draw],al
  183.     mov  [ns],48
  184.     cmp  [my_draw],0
  185.     jne  .c0
  186.     or   [trig_sys],01h
  187. .c0:
  188.     cmp  [my_draw],0x80
  189.     jb   .h0
  190.     sub  [my_draw],0x80
  191.     mov  [n_razd],1
  192.     mov  [nd],49
  193.     mov  al,[cd_0]
  194.     mov  [td],al
  195.     call  folscan
  196. .h0:
  197.     cmp  [trig_scan],1
  198.     je   ex1
  199.     cmp  [my_draw],0x40
  200.     jb   .c1
  201.     sub  [my_draw],0x40
  202.     mov  al,byte[scan_rez+2]
  203.     mov  [n_razd],al
  204.     add  al,48
  205.     mov  [nd],al
  206.     mov  al,[hd_0]
  207.     mov  [td],al
  208.     call  folscan
  209. .c1:
  210.     cmp  [trig_scan],1
  211.     je   ex1
  212.     cmp  [my_draw],0x20
  213.     jb   .h1
  214.     sub  [my_draw],0x20
  215.     mov  [n_razd],1
  216.     mov  [nd],49
  217.     mov  al,[cd_0]
  218.     mov  [ns],19
  219.     call  folscan
  220. .h1:
  221.     cmp  [trig_scan],1
  222.     je   ex1
  223.     cmp  [my_draw],0x10
  224.     jb   .c2
  225.     sub  [my_draw],0x10
  226.     mov  al,byte[scan_rez+3]
  227.     mov  [n_razd],al
  228.     add  al,48
  229.     mov  [nd],al
  230.     mov  al,[hd_0]
  231.     mov  [td],al
  232.     mov  [ns],49
  233.     call  folscan
  234. .c2:
  235.     cmp  [trig_scan],1
  236.     je   ex1
  237.     cmp  [my_draw],0x08
  238.     jb   .h2
  239.     sub  [my_draw],0x08
  240.     mov  [n_razd],1
  241.     mov  [nd],49
  242.     mov  al,[cd_0]
  243.     mov  [td],al
  244.     mov  [ns],50
  245.     call  folscan
  246. .h2:
  247.     cmp  [trig_scan],1
  248.     je   ex1
  249.     cmp  [my_draw],0x04
  250.     jb   .c3
  251.     sub  [my_draw],0x04
  252.     mov  al,byte[scan_rez+4]
  253.     mov  [n_razd],al
  254.     add  al,48
  255.     mov  [nd],al
  256.     mov  al,[hd_0]
  257.     mov  [td],al
  258.     mov  [ns],50
  259.     call folscan
  260. .c3:
  261.     cmp  [trig_scan],1
  262.      je  ex1
  263.     cmp  [my_draw],0x02
  264.     jb   .h3
  265.     sub  [my_draw],0x02
  266.     mov  [n_razd],1
  267.     mov  [nd],49
  268.     mov  al,[cd_0]
  269.     mov  [td],al
  270.     mov  [ns],51
  271.     call folscan
  272. .h3:
  273.     cmp  [trig_scan],1
  274.     je   ex1
  275.     cmp  [my_draw],0x01
  276.     jb   ex1
  277.     sub  [my_draw],0x01
  278.     mov  al,byte[scan_rez+5]
  279.     mov  [n_razd],al
  280.     add  al,48
  281.     mov  [nd],al
  282.     mov  al,[hd_0]
  283.     mov  [td],al
  284.     mov  [ns],51
  285.     call folscan
  286. ex1:
  287.     cmp  [fold],05h
  288.     jne  ext2
  289.     or   [trig_sys],04h
  290. ext2:
  291.     cmp  [fold],0Ah
  292.     jne  ext3
  293.     or   [trig_sys],08h
  294.     jmp  eext
  295. ext3:
  296.     mov  [trig_scan],0
  297.     not  [trig_sys]
  298.     or   [trig_sys],0Eh
  299.     not  [trig_sys]
  300. eext:
  301.     ret
  302. folscan:
  303.     cmp  [trig_scan],1
  304.     je   .out2
  305.     mov  eax,70
  306.     mov  ebx,file_info
  307.     mcall
  308.     mov  [fold],eax
  309.     cmp  [fold],0
  310.     jne  .out
  311.     mov  al,1
  312.     mov  [trig_scan],al
  313.     jmp  .out2
  314. .out:
  315.      mov  al,1
  316.     sub  [n_razd],al
  317.     mov  al,1
  318.     sub  [nd],al
  319.     cmp  [n_razd],0
  320.     jne  folscan
  321. .out2:
  322.     ret
  323. get_play:
  324.     mov  cx,255
  325.     lea  si,[floc]
  326.     lea  di,[playlist]
  327.     rep movs byte [di],[si]
  328.     mov  cx,0
  329. ret
  330. getstring:
  331.     mov  eax,70
  332.     mov  ebx,file_info2
  333.     mov  dword [ebx+12], 255
  334.     mov  dword [ebx+16],string1
  335.     mov  dword [ebx+21],playlist
  336.     mcall
  337.     cmp eax,6
  338.     jne .pro
  339.     or   [trig_sys],04h
  340.     call draw_window
  341.     jmp  still
  342. .pro:
  343.  
  344.     cmp  ebx,0xFFFFFFFF
  345.     je  .exit
  346.     call rus_m
  347.     cld
  348.     lea  di,[string1]
  349.     mov  cx,255
  350.     mov  al,0ah
  351.     repne  scas byte  [es:di]
  352.     je   .calc
  353.     mov [razm_str],0
  354.     mov  ebx,file_info2
  355.     add  dword [ebx+4], 255
  356.     or   [trig_sys],40h
  357.     jmp mmm.seach
  358. .calc:
  359.      mov  [razm_str],255
  360.      sub  [razm_str],ecx
  361. .kon:
  362.     mov  [razm_path],0
  363.     cld
  364.     lea  di,[string1]
  365.     mov  ecx,0
  366. .ppr:
  367.     cmp byte [es:di],70h
  368.     je  .s1
  369.     cmp byte [es:di],50h
  370.     je  .s1
  371.     add  ecx,1
  372.     add  di,1
  373.     cmp  ecx,[razm_str]
  374.     jb  .ppr
  375.     jmp .next
  376. .s1:
  377.     add  di,1
  378.     cmp  byte [es:di],33h
  379.     je   .s2
  380.     sub  di,1
  381.     jmp .next
  382.     ret
  383. .s2:
  384.  
  385.     or   [trig_sys],80h
  386.     mov  [razm_path],ecx
  387.     add  [razm_path],2
  388.  
  389. ;    mov  [ss2],0
  390.     cld
  391.     lea  di,[string1]
  392.     mov  cx,0
  393.     mov  [zzz],cx
  394. .ppre:
  395.     cmp byte [es:di],3Ah
  396.     je  .se1
  397.     add  cx,1
  398.     add  di,1
  399.     cmp  ecx,[razm_path]
  400.     jne  .ppre
  401.     jmp  .mount
  402. .se1:
  403.     add  di,1
  404.     cmp  byte [es:di],5Ch
  405.     je   .se2
  406.     sub  di,1
  407.     jmp  .mount
  408. .se2:
  409.     cmp  ecx,250
  410.     jb   .se3
  411.     mov  ecx,0
  412. .se3:
  413.     add  cx,2
  414. ;    mov  [ss2],cx
  415.     mov  [zzz],cx
  416. .mount:
  417.     movzx  ecx,[zzz]
  418.     cmp  ecx, [razm_path]
  419.     jb  .mount1
  420.     or   [trig_sys],04h
  421.     jmp  still
  422. .mount1:
  423.     mov  ecx,255
  424.     cld
  425.     lea  di,[fl]
  426.     mov  al,00h
  427.     repne stos byte [di]
  428.     cld
  429.     mov  ecx,[razm_path]
  430.     sub  cx,[zzz]
  431.     lea  si,[string1]
  432.     add  si,[zzz]
  433.     lea  di,[fl]
  434.     rep movs byte [di],[si]
  435.     mov  ecx,0
  436. .sl_m:
  437.     mov  ecx,0
  438.     lea  di,[fl]
  439. .cikl_mx:
  440.     mov  al,byte[di]
  441.     mov  [char_con],al
  442.     cmp  al,5Ch
  443.     je   .con_sl
  444.     jmp  .ext6
  445. .con_sl:
  446.     mov al,2Fh
  447. .ext6:
  448.     stos byte [di]
  449.     add  ecx,1
  450.     cmp  ecx,[razm_path]
  451.     jb  .cikl_mx
  452.  
  453. .exit:
  454.     ret
  455. .next:
  456.     not  [trig_sys]
  457.     or   [trig_sys],80h
  458.     not  [trig_sys]
  459.     mov  ebx,file_info2
  460.     mov  ecx,[razm_str]
  461.     add  dword [ebx+4],ecx
  462.     or   [trig_sys],40h
  463.     jmp mmm.seach
  464. rus_m:
  465.     test  [trig_sys],40h
  466.     jnz   ddff
  467.     ret
  468. ddff:
  469.     mov  ecx,0
  470.     lea  di,[string1]
  471. cicl_m:
  472.     mov  al,byte[di]
  473.     mov  [char_con],al
  474.     shr  al,4
  475.     cmp  al,0Eh
  476.     je   min_sor
  477.     cmp  al,0Ch
  478.     je   min_sor
  479.     cmp  al,0Dh
  480.     je   min_sor
  481.     cmp  al,0Fh
  482.     je   min_des
  483.     shl  al,4
  484.     mov  al,0
  485.     jmp  ext5
  486. min_sor:
  487.     sub  [char_con],40h
  488.     jmp  ext5
  489. min_des:
  490.      sub  [char_con],10h
  491.     jmp  ext5
  492. ext5:
  493.     mov  al,[char_con]
  494.     stos byte [di]
  495.     add  ecx,1
  496.     cmp  ecx,255
  497.     jb  cicl_m
  498.     not  [trig_sys]
  499.     or   [trig_sys],40h
  500.     not  [trig_sys]
  501.     ret
  502.  
  503. put_db:
  504.     test [trig_sys],80h
  505.     jz  .exit
  506.     add  [song_count],1
  507.     add  [poz_db],255
  508.     mov  ecx,255
  509.     cld
  510.     mov  ebx,[poz_db]
  511.     lea  di,[memlist+ebx]
  512.     mov  al,00h
  513.     repne stos byte [di]
  514.     cld
  515.     mov  ecx,255
  516.     lea  si,[floc]
  517.     mov  ebx,[poz_db]
  518.     lea  di,[memlist+ebx]
  519.     rep movs byte [di],[si]
  520.     mov  ecx,0
  521. .exit:
  522.     ret
  523. load_song:
  524.     cld
  525.     mov  ecx,255
  526.     lea  di,[song_path]
  527.     mov  ebx,[song_poz]
  528.     lea  si,[memlist+ebx]
  529.     rep movs byte [di],[si]
  530.     mov  ecx,0
  531.     ret
  532. start:
  533.     mov  eax,70
  534.     mov  ebx,folder_inf
  535.     mcall
  536.     ret
  537. delproc:
  538.     test [trig_sys],400h
  539.     jnz   .sdf
  540.     ret
  541. .sdf:
  542.        mov  [num_proc],255
  543. .fgf:
  544.     mov  eax,9
  545.     mov  ebx,pib
  546.     mov  ecx, [num_proc]
  547.     mcall
  548.     cld
  549.     lea si,[pib.process_name]
  550.     lea di,[minus]
  551.     mov cx,7
  552.     rep cmps byte [si],[di]
  553.     jcxz .qwer
  554.     sub  [num_proc],1
  555.     cmp  [num_proc],1
  556.     jne  .fgf
  557.      test [trig_sys],200h
  558.     ret
  559. .qwer:
  560.     mov  eax,[pib+process_information.cpu_usage]
  561.     mov  [q_takt],eax
  562.     cmp  [q_takt],200000
  563.     jb   .asdf
  564.     ret
  565. .asdf:
  566.     add   [count_err],1
  567.     cmp   [count_err],6
  568.     ja    .djbn
  569.     ret
  570. .djbn:
  571.     mov   [count_err],0
  572.     not   [trig_sys]
  573.     or   [trig_sys],200h
  574.     not   [trig_sys]
  575.     ret
  576. enproc:
  577.     mov  [num_proc],255
  578. .fgf:
  579.     mov  eax,9
  580.     mov  ebx,pib
  581.     mov  ecx, [num_proc]
  582.     mcall
  583.     cld
  584.     lea si,[pib.process_name]
  585.     lea di,[minus]
  586.     mov cx,7
  587.     rep cmps byte [si],[di]
  588.     jcxz .qwer
  589.     sub  [num_proc],1
  590.     cmp  [num_proc],1
  591.     jne  .fgf
  592.     ret
  593. .qwer:
  594.     or   [trig_sys],400h
  595.     ret
  596.  
  597. ;   *********************************************
  598. ;   *******  WINDOW DEFINITIONS AND DRAW ********
  599. ;   *********************************************
  600.  
  601. draw_window:
  602.     mov  eax,48
  603.     mov  ebx,3
  604.     mov  ecx,sc
  605.     mov  edx,sizeof.system_colors
  606.     mcall
  607.     mov  eax,12                    ; function 12:tell os about windowdraw
  608.     mov  ebx,1                     ; 1, start of draw
  609.     mcall
  610.                                    ; DRAW WINDOW
  611.     xor  eax,eax            ; function 0 : define and draw window
  612.     mov  ebx,100*65536+550         ; [x start] *65536 + [x size]
  613.     mov  ecx,100*65536+420          ; [y start] *65536 + [y size]
  614.     mov  edx,[sc.work]             ; color of work area RRGGBB,8->color gl
  615.     or   edx,0x33000000
  616.     mov  edi,title
  617.     mcall
  618.     mov  eax,4
  619.     mov  ebx,5*65536+5
  620.     mov  ecx,0xC0000000
  621.     mov  edx,label1
  622.     mov  edi,[sc.work]
  623.     mcall
  624.     mov  eax,4
  625.     mov  ebx,300*65536+5
  626.     mov  ecx,0xC0000000
  627.     mov  edx,label5
  628.     mov  edi,[sc.work]
  629.     mcall
  630.     mov  eax,4
  631.     mov  ebx,300*65536+15
  632.     mov  ecx,0xC0000000
  633.     mov  edx,label6
  634.     mov  edi,[sc.work]
  635.     mcall
  636.     mov  eax,4
  637.     mov  ebx,25*65536+35
  638.     mov  ecx,0xC00000dd
  639.     mov  edx,song_path
  640.     mov  edi,[sc.work]
  641.     mcall
  642.     mov  eax,4
  643.     mov  ebx,100*65536+5
  644.     mov  ecx,0xC0000000
  645.     mov  edx,playlist
  646.     mov  edi,[sc.work]
  647.     mcall
  648.     test [trig_sys],4h
  649.     jnz   .zam1
  650.     mov  eax,4
  651.     mov  ebx,5*65536+15
  652.     mov  ecx,0xC0000000
  653.     mov  edx,label3
  654.     mov  edi,[sc.work]
  655.     mcall
  656.     jmp  .zam2
  657. .zam1:
  658.     mov  eax,4
  659.     mov  ebx,5*65536+15
  660.     mov  ecx,0xC0000000
  661.     mov  edx,label2
  662.     mov  edi,[sc.work]
  663.     mcall
  664.     mov  eax,4
  665.     mov  ebx,5*65536+25
  666.     mov  ecx,0xC0000000
  667.     mov  edx,label4
  668.     mov  edi,[sc.work]
  669.     mcall
  670. .zam2:
  671.  
  672. ;    mov  eax,47
  673. ;    mov  esi,0x50000000
  674. ;    mov  ecx, [trig_sys]
  675. ;    mov  edi,[sc.work]
  676. ;    mov  ebx,0x00080100
  677. ;    mov  edx,385*65536+25
  678. ;    mcall
  679.     mov  eax,47
  680.     mov  esi,0x50000000
  681.     mov  ecx, [song_count]
  682.     mov  edi,[sc.work]
  683.     mov  ebx,0x00030000
  684.     mov  edx,500*65536+5
  685.     mcall
  686.     mov  eax,47
  687.     mov  esi,0x50000000
  688.     movzx  ecx, [poz_song]
  689.     mov  edi,[sc.work]
  690.     mov  ebx,0x00030000
  691.     mov  edx,500*65536+15
  692.     mcall
  693.     mov  [bbut],32
  694.     mov  [poz_but],48*65536+10
  695.     mov  edx,6
  696. butt1:
  697.     mov  ebx,0*65536+20
  698.     mov  ecx,[poz_but]
  699.     mov  esi,[color1]
  700.     movzx  eax,[poz_butt]
  701.     cmp  edx,eax
  702.     jne  .uuu
  703.     mov  esi,[color2]
  704. .uuu:
  705.     mov  eax,8
  706.     mcall
  707.     add  edx,1
  708.     add  [poz_but],10*65536
  709.     sub  [bbut],1
  710.     cmp  [bbut],0
  711.     jne   butt1
  712.     mov  eax,8
  713.     mov  ebx,525*65536+15
  714.     mov  ecx,45*65536+15
  715.     mov  esi,0x00aaaadd
  716.     mov  edx,4
  717.     mcall
  718.     mov  eax,8
  719.     mov  ebx,525*65536+15
  720.     mov  ecx,365*65536+15
  721.     mov  esi,0x00aaaadd
  722.     mov  edx,5
  723.     mcall
  724.     mov  [ai],32
  725.     mov  [list_poz],25*65536+50
  726.     mov  ebx,[poz_db3]
  727.     mov  [poz_db2],ebx
  728. list:
  729.     mov  eax,4
  730.     mov  ecx,0xC0000000
  731.     mov  ebx,[poz_db2]
  732.     lea  edx,[memlist+ebx]
  733.     mov  ebx, [list_poz]
  734.     mov  edi,[sc.work]
  735.     mcall
  736.     add  [list_poz],10
  737.     add  [poz_db2],255
  738.     sub  [ai],1
  739.     cmp  [ai],0
  740.     ja  list
  741.     mov  eax,12                    ; function 12:tell os about windowdraw
  742.     mov  ebx,2                     ; 2, end of draw
  743.     mcall
  744.     ret
  745.  
  746.  
  747.  
  748. ; DATA AREA
  749.  
  750.  
  751. title:        db   'Проигрываем плейлист v 0.20',0
  752. play_list:     db   '1.kpl',0
  753. cd_0:          db   'c',0
  754. hd_0:          db   'h',0
  755. label1:        db   'Файл плейлиста:',0
  756. label2:        db   'сканирование закончено... :)            ',0
  757. label3:        db   'Подождите, пожалуйста, идёт сканирование',0
  758. label4:        db   'Воспроизводимый файл:',0
  759. label5:        db   'Всего файлов в плейлисте найдено:',0
  760. label6:        db   'Номер воспроизводимого файла:',0
  761. minus:         db   'ac97snd',0
  762. player:        db   '/rd/1/ac97snd' ,0
  763. my_draw        db   0
  764. n_razd         db   0
  765. trig_scan      db   0
  766. char_con       db   0
  767. poz_butt       db   0
  768. poz_song       db   0
  769. count_err      dd   0
  770. num_proc       dd   0
  771. q_takt         dd   0
  772. razm_str       dd   0
  773. fold           dd   0
  774. razm_path      dd   0
  775. trig_sys       dd   0
  776. poz_db         dd   0
  777. poz_db2        dd   0
  778. poz_db3        dd   255
  779. song_poz       dd   0
  780. list_poz       dd   5*65536+50
  781. song_count     dd   0
  782. ai             dd   0
  783. st_r           dd   0
  784. bbut           dd   0
  785. poz_but        dd   0
  786. sme            dd   0
  787. color1         dd   0x006666dd
  788. color2         dd   0x00dddddd
  789. ss2            dd   0
  790. zzz            dw   22
  791. scan_rez:
  792.                db   0
  793.                db   0
  794.                db   0
  795.                db   0
  796.                db   0
  797.                db   0
  798.                db   0
  799.                db   0
  800.                db   0
  801.                db   0
  802. floc:
  803. pc:            db   '/'
  804. td:            db   'h'
  805. dr:            db   'd'
  806. ns             db   48
  807. vc:            db   '/'
  808. nd             db   48
  809. ks:            db   '/'
  810. fl:
  811.                rb   255
  812. playlist       rb   255
  813. song_path      rb   255
  814. folder_inf:
  815.                dd   7
  816.                dd   0
  817.                dd   song_path
  818.                dd   0
  819.                dd   0
  820.                db   0
  821.                dd   player
  822. file_info:
  823.                dd   0
  824.                dd   0
  825.                dd   0
  826.                dd   0
  827.                dd   0
  828.                db   0
  829.                dd   floc
  830. file_info2:
  831.                dd   0
  832.                dd   0
  833.                dd   0
  834.                dd   0
  835.                dd   0
  836.                db   0
  837.                dd   0
  838. string1        rb   255
  839.  
  840. I_END:
  841.  
  842.  
  843.  
  844. temp dd ?
  845. sc system_colors
  846. pib process_information
  847. memlist        rb   65536
  848.  
  849.