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: |