Subversion Repositories Kolibri OS

Rev

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

Rev 134 Rev 141
Line 5... Line 5...
5
; Created:      December 7, 2004
5
; Created:      December 7, 2004
6
; Last changed: July 29, 2005
6
; Last changed: July 29, 2005
7
;
7
;
8
; COMPILE WITH FASM
8
; COMPILE WITH FASM
Line 9... Line 9...
9
 
9
 
10
PLAYLIST_PATH equ '/HD/1/MIDI/PLAYLIST.TXT'
10
PLAYLIST_PATH equ '/HD0/1/PLAYLIST.TXT'
11
APP_MEM   equ 150*1024
-
 
Line 12... Line 11...
12
DIR_SIZE  equ 1024
11
APP_MEM   equ 150*1024
13
 
12
 
14
IPC_PLAY  equ 0xa1
13
IPC_PLAY  equ 0xa1
15
IPC_PAUS  equ 0xa2
14
IPC_PAUS  equ 0xa2
Line 57... Line 56...
57
  db	 'MENUET01'
56
  db	 'MENUET01'
58
  dd	 0x01
57
  dd	 0x01
59
  dd	 START
58
  dd	 START
60
  dd	 I_END
59
  dd	 I_END
61
  dd	 APP_MEM
60
  dd	 APP_MEM
62
  dd	 APP_MEM-1024
61
  dd	 APP_MEM ;stack size=1024
63
  dd	 I_PARAM
62
  dd	 I_PARAM
64
listsel    dd 0
63
listsel    dd 0
65
channel dd 0
64
channel dd 0
66
COLOR_ORDER equ MENUETOS
65
COLOR_ORDER equ MENUETOS
67
include 'macros.inc' ; decrease code size (optional)
66
include 'macros.inc' ; decrease code size (optional)
Line 145... Line 144...
145
  .noplay:
144
  .noplay:
146
    xor  eax,eax
145
    xor  eax,eax
147
    mov  [play_area],ax
146
    mov  [play_area],ax
148
    mov  [tick_count],eax
147
    mov  [tick_count],eax
149
    mov  [delta],eax
148
    mov  [delta],eax
150
    inc  eax
-
 
151
    mov  [fsize],eax
-
 
152
    mov  [curnote],0x80
149
    mov  [curnote],0x80
153
    mov  ecx,64
150
    mov  ecx,64
154
    mov  esi,filename
151
    mov  esi,filename
155
    mov  edi,I_PARAM
152
    mov  edi,I_PARAM
156
    rep  movsd
153
    rep  movsd
157
    mov  eax,58
154
    mov  eax,70
158
    mov  ebx,file_info
155
    mov  ebx,file_info
159
    int  0x40
156
    int  0x40
160
    mov  eax,ebx
-
 
161
    shr  eax,9
-
 
162
    inc  eax
-
 
163
    mov  [fsize],eax
-
 
164
    add  ebx,workarea
157
    add  ebx,workarea
165
    mov  [midi_limit],ebx
158
    mov  [midi_limit],ebx
166
    mov  edi,I_PARAM
159
    mov  edi,I_PARAM
167
    call find_slash
160
    call find_slash
168
    mov  [fn_ptr],edi
161
    mov  [fn_ptr],edi
169
    mov  edi,filename
162
    mov  edi,filename
170
    call str_len
163
    call str_len
171
    mov  [fname_len],eax
164
    mov  [fname_len],eax
172
    mov  eax,58
-
 
173
    mov  ebx,file_info
-
 
174
    int  0x40
-
 
175
midi_kill:
165
midi_kill:
176
    call kill
166
    call kill
177
include 'midilite.inc'
167
include 'midilite.inc'
Line 178... Line 168...
178
 
168
 
Line 352... Line 342...
352
play_limit dd playlist
342
play_limit dd playlist
353
pl_ptr	   dd playlist
343
pl_ptr	   dd playlist
354
param	   db 'W'
344
param	   db 'W'
355
curnote    db 0x80
345
curnote    db 0x80
356
tick_count dd 0
346
tick_count dd 0
-
 
347
dir_info:
-
 
348
        dd      1
-
 
349
        dd      0
-
 
350
        dd      0
-
 
351
        dd      1
-
 
352
        dd      dir_table
-
 
353
        db      0
-
 
354
        dd      filename
357
play_area  dw ?
355
play_area  dw ?
358
file_info:
356
file_info:
359
	   dd 0
357
	   dd 0
360
	   dd 0
358
	   dd 0
361
fsize	   dd 1
359
	   dd 0
-
 
360
fsize	   dd APP_MEM-1024-workarea     ; max size
362
	   dd workarea
361
	   dd workarea
363
	   dd hash_table
-
 
364
I_END:	; ª®­¥æ ¯à®£à ¬¬ë
362
I_END:	; ª®­¥æ ¯à®£à ¬¬ë
365
filename:
363
filename:
366
	   rb 1024+16
364
	   rb 1024+16
367
prcinfo    process_information
365
prcinfo    process_information
368
I_PARAM    rb 256
366
I_PARAM    rb 256
Line 384... Line 382...
384
list_count db ?
382
list_count db ?
385
cur_track  db ?
383
cur_track  db ?
386
sel_track  db ?
384
sel_track  db ?
387
ipcmsg	   db ?
385
ipcmsg	   db ?
388
fnbuf:
386
fnbuf:
389
	   rb 256
387
	   rb 1024
390
btn_raw    rb 222*17*3+12
388
btn_raw    rb 222*17*3+12
391
hdr_raw    rb 275*29*3+12
389
hdr_raw    rb 275*29*3+12
392
bottom_raw rb 25*378*3+12
390
bottom_raw rb 25*378*3+12
393
	   rb 4
391
	   rb 4
394
playlist   rb 256*LISTITEMS
392
playlist   rb 256*LISTITEMS
395
hash_table:
393
hash_table:
396
	   rd 4096
394
	   rd 4096
397
dir_table  rb DIR_SIZE
395
dir_table  rb 32+304
398
workarea:
396
workarea: