2020-12-08 22:01:35 +01:00
|
|
|
|
; MIDI PLAYER FOR KOLIBRI v1.0
|
2006-08-24 14:33:31 +02:00
|
|
|
|
; Written in pure assembler by Ivushkin Andrey aka Willow
|
|
|
|
|
;
|
|
|
|
|
;
|
|
|
|
|
; Created: December 7, 2004
|
2020-12-08 22:01:35 +01:00
|
|
|
|
; Last changed: December 8, 2020
|
2006-08-24 14:33:31 +02:00
|
|
|
|
;
|
|
|
|
|
; COMPILE WITH FASM
|
|
|
|
|
|
2014-03-08 12:35:53 +01:00
|
|
|
|
format binary as ""
|
|
|
|
|
|
2006-08-28 16:23:17 +02:00
|
|
|
|
PLAYLIST_PATH equ '/HD0/1/PLAYLIST.TXT'
|
2010-06-12 15:41:42 +02:00
|
|
|
|
;APP_MEM equ 150*1024
|
2006-08-24 14:33:31 +02:00
|
|
|
|
|
|
|
|
|
IPC_PLAY equ 0xa1
|
|
|
|
|
IPC_PAUS equ 0xa2
|
|
|
|
|
IPC_TRIG equ 0xa3
|
|
|
|
|
IPC_UPDT equ 0xb1
|
|
|
|
|
IPC_NEXT equ 0xb2
|
|
|
|
|
|
|
|
|
|
LISTITEMS equ 40
|
|
|
|
|
WND_BACK equ 0x24263c
|
2014-03-08 12:35:53 +01:00
|
|
|
|
PLY equ 63
|
2006-08-24 14:33:31 +02:00
|
|
|
|
WND_HEIGHT equ (PLY+9*LISTITEMS+10)+25
|
|
|
|
|
|
|
|
|
|
BTNS_XY equ 14 shl 16+42
|
|
|
|
|
BTNS_SIZE equ 222 shl 16+17
|
|
|
|
|
|
|
|
|
|
BROWSE_X equ 10 shl 16+8
|
|
|
|
|
BROWSE_Y equ 26 shl 16+8
|
2014-03-08 12:35:53 +01:00
|
|
|
|
FN_XY equ 12 shl 16+15
|
2006-08-24 14:33:31 +02:00
|
|
|
|
BAR_WIDTH equ 251
|
2014-03-08 12:35:53 +01:00
|
|
|
|
BAR_X equ 10 shl 16
|
|
|
|
|
BAR_Y equ 29 shl 16+5
|
2006-08-24 14:33:31 +02:00
|
|
|
|
TOTALTIME_XY equ 124 shl 16+28
|
|
|
|
|
CURTIME_X equ 225 shl 16+40
|
|
|
|
|
CURTIME_Y equ 15 shl 16+11
|
|
|
|
|
CURTIME_XY equ 236 shl 16+15
|
|
|
|
|
|
|
|
|
|
NONCRITICAL_MSG equ 0
|
|
|
|
|
SOUND equ ON;OFF
|
|
|
|
|
OUTDUMP equ 0
|
|
|
|
|
OUTLINE equ 8
|
|
|
|
|
FL_SHUFFLE equ 0x01
|
|
|
|
|
FL_REPEAT equ 0x02
|
|
|
|
|
FL_HIDDEN equ 0x04
|
|
|
|
|
FL_MUTE equ 0x08
|
|
|
|
|
FL_REVERSE equ 0x10
|
2014-03-08 12:35:53 +01:00
|
|
|
|
FL_ADD equ 0x20
|
2006-08-24 14:33:31 +02:00
|
|
|
|
FL_PLAY equ 0x40
|
|
|
|
|
FL_LOCK equ 0x80
|
|
|
|
|
FL_BOTTRED equ 0x100
|
|
|
|
|
FL_MULSEL equ 0x8000
|
|
|
|
|
|
|
|
|
|
use32
|
2020-12-08 22:01:35 +01:00
|
|
|
|
org 0
|
2006-08-24 14:33:31 +02:00
|
|
|
|
|
2014-03-08 12:35:53 +01:00
|
|
|
|
db 'MENUET01'
|
2020-12-08 22:01:35 +01:00
|
|
|
|
dd 1, START, IM_END
|
2014-03-08 12:35:53 +01:00
|
|
|
|
dd I_END ;APP_MEM
|
|
|
|
|
dd stacktop ;APP_MEM - 1024
|
2020-12-08 22:01:35 +01:00
|
|
|
|
dd I_PARAM, cur_dir_path
|
2010-08-24 12:05:54 +02:00
|
|
|
|
|
2006-08-24 14:33:31 +02:00
|
|
|
|
listsel dd 0
|
|
|
|
|
channel dd 0
|
|
|
|
|
COLOR_ORDER equ MENUETOS
|
2014-03-08 12:35:53 +01:00
|
|
|
|
include '../../../config.inc' ;for nightbuild
|
2010-08-24 12:05:54 +02:00
|
|
|
|
include '../../../macros.inc' ; decrease code size (optional)
|
2020-12-08 22:01:35 +01:00
|
|
|
|
include '../../../KOSfuncs.inc'
|
|
|
|
|
include '../../../load_lib.mac'
|
2010-08-24 12:05:54 +02:00
|
|
|
|
|
|
|
|
|
@use_library
|
|
|
|
|
|
2014-09-12 17:15:23 +02:00
|
|
|
|
include 'lang.inc'
|
2006-08-24 14:33:31 +02:00
|
|
|
|
;purge mov
|
2012-11-09 10:19:16 +01:00
|
|
|
|
include '../../../debug.inc'
|
2010-08-24 21:33:09 +02:00
|
|
|
|
;include 'dlg.inc'
|
2006-08-24 14:33:31 +02:00
|
|
|
|
include 'playlist.inc'
|
|
|
|
|
include 'gif_lite.inc'
|
|
|
|
|
bottom:
|
|
|
|
|
file 'bottom.gif'
|
|
|
|
|
hdrimg:
|
|
|
|
|
file 'hdr.gif'
|
|
|
|
|
btns:
|
|
|
|
|
file 'buttons.gif'
|
|
|
|
|
START:
|
2020-12-08 22:01:35 +01:00
|
|
|
|
mcall SF_SYS_MISC, SSF_HEAP_INIT
|
|
|
|
|
|
2010-08-24 12:05:54 +02:00
|
|
|
|
load_libraries l_libs_start,end_l_libs
|
|
|
|
|
|
2010-08-25 21:36:25 +02:00
|
|
|
|
mov esi,I_PARAM
|
|
|
|
|
cmp dword[esi],0
|
|
|
|
|
jz @f
|
|
|
|
|
mov edi,filename
|
|
|
|
|
mov ecx,256/4
|
|
|
|
|
rep movsd
|
|
|
|
|
mov byte [edi-1], 0
|
|
|
|
|
@@:
|
2010-06-12 15:41:42 +02:00
|
|
|
|
;OpenDialog initialisation
|
2020-12-08 22:01:35 +01:00
|
|
|
|
push dword OpenDialog_data
|
|
|
|
|
call [OpenDialog_Init]
|
2010-06-12 15:41:42 +02:00
|
|
|
|
|
2014-03-08 12:35:53 +01:00
|
|
|
|
or [flag],FL_BOTTRED;+FL_MUTE
|
2006-08-24 14:33:31 +02:00
|
|
|
|
mov ecx,ipcarea
|
|
|
|
|
call init_ipc
|
2020-12-08 22:01:35 +01:00
|
|
|
|
mcall SF_SET_EVENTS_MASK,1000111b
|
2006-08-24 14:33:31 +02:00
|
|
|
|
mov esi,btns
|
|
|
|
|
mov edi,btn_raw
|
|
|
|
|
call ReadGIF
|
|
|
|
|
mov esi,hdrimg
|
|
|
|
|
mov edi,hdr_raw
|
|
|
|
|
call ReadGIF
|
|
|
|
|
mov esi,bottom
|
|
|
|
|
mov edi,bottom_raw
|
|
|
|
|
call ReadGIF
|
|
|
|
|
call respawn
|
2020-12-08 22:01:35 +01:00
|
|
|
|
mcall SF_THREAD_INFO,prcinfo,-1
|
2006-08-24 14:33:31 +02:00
|
|
|
|
mov edx,[ebx+30]
|
|
|
|
|
mov [parentPID],edx
|
|
|
|
|
mov esi,I_PARAM
|
|
|
|
|
cmp dword[esi],0
|
|
|
|
|
jnz .yesparam
|
|
|
|
|
call PL_load
|
|
|
|
|
cmp [list_count],0
|
2014-03-08 12:35:53 +01:00
|
|
|
|
je noparam
|
2006-08-24 14:33:31 +02:00
|
|
|
|
mov eax,[pl_ptr]
|
2014-03-08 12:35:53 +01:00
|
|
|
|
or word[eax],FL_MULSEL
|
2006-08-24 14:33:31 +02:00
|
|
|
|
jmp auto_load
|
|
|
|
|
.yesparam:
|
|
|
|
|
mov al,byte[esi]
|
|
|
|
|
cmp al,'/'
|
2014-03-08 12:35:53 +01:00
|
|
|
|
je .defact
|
2006-08-24 14:33:31 +02:00
|
|
|
|
mov [param],al
|
|
|
|
|
inc esi
|
|
|
|
|
.defact:
|
2014-03-08 12:35:53 +01:00
|
|
|
|
mov edi,filename;fnbuf
|
2006-08-24 14:33:31 +02:00
|
|
|
|
mov ecx,64
|
|
|
|
|
rep movsd
|
|
|
|
|
jmp open_file
|
|
|
|
|
clearpath:
|
|
|
|
|
newline
|
|
|
|
|
mov [fname_len],0
|
|
|
|
|
noparam:
|
|
|
|
|
mov [param],'W'
|
2014-03-08 12:35:53 +01:00
|
|
|
|
or [flag],FL_ADD
|
2010-06-12 15:41:42 +02:00
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
;OpenDialog_start:
|
2014-03-08 12:35:53 +01:00
|
|
|
|
; copy_path open_dialog_name,path,library_path,0
|
|
|
|
|
mov [OpenDialog_data.type],0 ; Open
|
|
|
|
|
or [flag],FL_LOCK
|
|
|
|
|
push dword OpenDialog_data
|
|
|
|
|
call [OpenDialog_Start]
|
|
|
|
|
and [flag],not FL_LOCK
|
|
|
|
|
; cmp [OpenDialog_data.status],2 ; OpenDialog does not start
|
|
|
|
|
; je .fopen ; some kind of alternative, instead OpenDialog
|
|
|
|
|
cmp [OpenDialog_data.status],1
|
|
|
|
|
; je open_file
|
|
|
|
|
; jmp still
|
|
|
|
|
jne still
|
2010-06-12 15:41:42 +02:00
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
|
2010-08-24 21:33:09 +02:00
|
|
|
|
;.fopen:
|
|
|
|
|
; call fopen
|
|
|
|
|
; get_path:
|
|
|
|
|
; cmp byte[filename],0
|
2014-03-08 12:35:53 +01:00
|
|
|
|
; jz still
|
2006-08-24 14:33:31 +02:00
|
|
|
|
open_file:
|
|
|
|
|
cmp [param],'W'
|
2014-03-08 12:35:53 +01:00
|
|
|
|
je .noplay
|
2006-08-24 14:33:31 +02:00
|
|
|
|
cmp [param],'H'
|
|
|
|
|
jne .nohidd
|
|
|
|
|
; or [flag],FL_PLAY
|
2014-03-08 12:35:53 +01:00
|
|
|
|
or [flag],FL_HIDDEN
|
2006-08-24 14:33:31 +02:00
|
|
|
|
call draw_window
|
|
|
|
|
and [flag],not FL_HIDDEN
|
|
|
|
|
call Shade
|
|
|
|
|
; jmp .noplay
|
|
|
|
|
|
|
|
|
|
.nohidd:
|
2014-03-08 12:35:53 +01:00
|
|
|
|
or [flag],FL_PLAY
|
2006-08-24 14:33:31 +02:00
|
|
|
|
.noplay:
|
|
|
|
|
xor eax,eax
|
|
|
|
|
mov [play_area],ax
|
|
|
|
|
mov [tick_count],eax
|
|
|
|
|
mov [delta],eax
|
|
|
|
|
mov [curnote],0x80
|
|
|
|
|
mov ecx,64
|
|
|
|
|
mov esi,filename
|
|
|
|
|
mov edi,I_PARAM
|
|
|
|
|
rep movsd
|
2020-12-08 22:01:35 +01:00
|
|
|
|
mcall SF_FILE,file_info
|
2006-08-24 14:33:31 +02:00
|
|
|
|
add ebx,workarea
|
|
|
|
|
mov [midi_limit],ebx
|
|
|
|
|
mov edi,I_PARAM
|
|
|
|
|
call find_slash
|
|
|
|
|
mov [fn_ptr],edi
|
|
|
|
|
mov edi,filename
|
|
|
|
|
call str_len
|
|
|
|
|
mov [fname_len],eax
|
|
|
|
|
midi_kill:
|
|
|
|
|
call kill
|
|
|
|
|
include 'midilite.inc'
|
|
|
|
|
|
|
|
|
|
decode_end:
|
|
|
|
|
; dpd edi
|
|
|
|
|
; dps <13,10,'Notes='>
|
|
|
|
|
; sub edi,[midi_limit]
|
|
|
|
|
; shr edi,1
|
|
|
|
|
; dpd edi
|
|
|
|
|
dps ' Notes: max='
|
|
|
|
|
movzx eax,[max_note]
|
|
|
|
|
dpd eax
|
|
|
|
|
dps 'min='
|
|
|
|
|
movzx eax,[min_note]
|
|
|
|
|
dpd eax
|
|
|
|
|
newline
|
|
|
|
|
; sub esi,workarea
|
|
|
|
|
; jmp _close
|
|
|
|
|
.play:
|
|
|
|
|
call kill
|
|
|
|
|
call respawn
|
|
|
|
|
xor edx,edx
|
|
|
|
|
mov esi,[midi_limit]
|
|
|
|
|
mov [cur_ptr],esi
|
|
|
|
|
mov [cur_tick],edx
|
|
|
|
|
mov [delta],edx
|
|
|
|
|
.count_ticks:
|
|
|
|
|
lodsw
|
|
|
|
|
test eax,eax
|
2014-03-08 12:35:53 +01:00
|
|
|
|
jz .eof
|
2006-08-24 14:33:31 +02:00
|
|
|
|
and eax,0x7f
|
|
|
|
|
add edx,eax
|
|
|
|
|
jmp .count_ticks
|
|
|
|
|
.eof:
|
|
|
|
|
mov [tick_count],edx
|
|
|
|
|
if OUTDUMP eq 1
|
|
|
|
|
mov esi,[midi_limit]
|
|
|
|
|
call out_dump
|
|
|
|
|
end if
|
|
|
|
|
and [flag],not FL_LOCK
|
|
|
|
|
test [flag],FL_PLAY
|
2014-03-08 12:35:53 +01:00
|
|
|
|
jz .noplay
|
2006-08-24 14:33:31 +02:00
|
|
|
|
call draw_window
|
2020-12-08 22:01:35 +01:00
|
|
|
|
mcall SF_SLEEP,100
|
2006-08-24 14:33:31 +02:00
|
|
|
|
mov eax,IPC_PLAY
|
|
|
|
|
call ipc_send
|
|
|
|
|
.noplay:
|
|
|
|
|
test [flag],FL_ADD
|
2014-03-08 12:35:53 +01:00
|
|
|
|
jz red
|
2006-08-24 14:33:31 +02:00
|
|
|
|
mov esi,filename
|
|
|
|
|
mov ecx,[fname_len]
|
|
|
|
|
movzx eax,[list_count]
|
|
|
|
|
mov [play_num],eax
|
|
|
|
|
add_song:
|
|
|
|
|
call PL_add
|
|
|
|
|
and [flag],not FL_ADD
|
|
|
|
|
red:
|
|
|
|
|
call draw_window
|
|
|
|
|
still:
|
|
|
|
|
mov ecx,ipcarea
|
|
|
|
|
call init_ipc
|
2020-12-08 22:01:35 +01:00
|
|
|
|
mcall SF_WAIT_EVENT
|
2006-08-24 14:33:31 +02:00
|
|
|
|
prc_event:
|
|
|
|
|
test eax,eax
|
2014-03-08 12:35:53 +01:00
|
|
|
|
jz still
|
2006-08-24 14:33:31 +02:00
|
|
|
|
.evt:
|
|
|
|
|
cmp eax,1
|
2014-03-08 12:35:53 +01:00
|
|
|
|
je red
|
2006-08-24 14:33:31 +02:00
|
|
|
|
cmp eax,2
|
2014-03-08 12:35:53 +01:00
|
|
|
|
je key
|
2006-08-24 14:33:31 +02:00
|
|
|
|
cmp eax,3
|
2014-03-08 12:35:53 +01:00
|
|
|
|
je button
|
2006-08-24 14:33:31 +02:00
|
|
|
|
cmp eax,7
|
|
|
|
|
jne still
|
|
|
|
|
movzx eax,byte[ipcarea+16]
|
|
|
|
|
cmp eax,IPC_UPDT
|
|
|
|
|
jne .noupdt
|
|
|
|
|
call draw_bar
|
|
|
|
|
jmp still
|
|
|
|
|
.noupdt:
|
|
|
|
|
cmp eax,IPC_NEXT
|
|
|
|
|
jne still
|
|
|
|
|
cmp [param],'H'
|
2014-03-08 12:35:53 +01:00
|
|
|
|
je _close
|
2006-08-24 14:33:31 +02:00
|
|
|
|
xor edx,edx
|
|
|
|
|
test [flag],FL_SHUFFLE
|
2014-03-08 12:35:53 +01:00
|
|
|
|
jz .noshuf
|
2020-12-08 22:01:35 +01:00
|
|
|
|
mcall SF_SYSTEM_GET,SSF_TIME_COUNT
|
2006-08-24 14:33:31 +02:00
|
|
|
|
movzx ebx,byte[list_count]
|
|
|
|
|
div ebx
|
|
|
|
|
mov eax,edx
|
|
|
|
|
jmp play_
|
|
|
|
|
.noshuf:
|
|
|
|
|
test [flag],FL_REPEAT
|
|
|
|
|
jnz decode_end.play
|
|
|
|
|
mov eax,[play_num]
|
|
|
|
|
inc eax
|
|
|
|
|
cmp al,[list_count]
|
2014-03-08 12:35:53 +01:00
|
|
|
|
jb bList.next
|
2006-08-24 14:33:31 +02:00
|
|
|
|
mov eax,IPC_PAUS
|
|
|
|
|
call ipc_send
|
|
|
|
|
jmp red
|
|
|
|
|
|
|
|
|
|
if OUTDUMP eq 1
|
|
|
|
|
out_dump:
|
|
|
|
|
mov ecx,OUTLINE
|
|
|
|
|
.next_byte:
|
|
|
|
|
lodsd
|
|
|
|
|
bswap eax
|
|
|
|
|
dph eax
|
|
|
|
|
dps ' '
|
|
|
|
|
lodsd
|
|
|
|
|
bswap eax
|
|
|
|
|
dph eax
|
|
|
|
|
dps <13,10>
|
|
|
|
|
loop .next_byte
|
|
|
|
|
ret
|
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
str_len:
|
|
|
|
|
; in: edi-str ptr
|
|
|
|
|
; out: eax-str length
|
|
|
|
|
push ecx edi
|
|
|
|
|
xor eax,eax
|
|
|
|
|
mov ecx,256
|
|
|
|
|
repne scasb
|
|
|
|
|
jecxz .nofn
|
|
|
|
|
sub edi,[esp]
|
|
|
|
|
mov eax,edi
|
|
|
|
|
.nofn:
|
|
|
|
|
pop edi ecx
|
|
|
|
|
ret
|
|
|
|
|
|
2010-08-24 21:33:09 +02:00
|
|
|
|
;fopen:
|
2014-03-08 12:35:53 +01:00
|
|
|
|
; or [flag],FL_LOCK
|
2010-08-24 21:33:09 +02:00
|
|
|
|
;; opendialog draw_window, ret_path, ret_path, filename
|
|
|
|
|
;ret_path:
|
|
|
|
|
; and [flag],not FL_LOCK
|
|
|
|
|
; ret
|
2006-08-24 14:33:31 +02:00
|
|
|
|
|
|
|
|
|
include 'event.inc'
|
|
|
|
|
include "thread.inc"
|
|
|
|
|
include "draw.inc"
|
|
|
|
|
; <20><><EFBFBD><EFBFBD><EFBFBD> <20><>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>:
|
|
|
|
|
|
|
|
|
|
dd -2 shl 16+4,251,12 shl 16,29 shl 16+5
|
|
|
|
|
dd 21,16
|
|
|
|
|
main_coo:
|
|
|
|
|
dd 14 shl 16, 42 shl 16,23 shl 16
|
|
|
|
|
dd 228 shl 16+38
|
|
|
|
|
dd 14 shl 16+10
|
|
|
|
|
dd 236 shl 16+15
|
|
|
|
|
btncoords:
|
|
|
|
|
dd 120 shl 16+20, 1 shl 16+15
|
|
|
|
|
dd 149 shl 16+44, 2 shl 16+12
|
|
|
|
|
dd 195 shl 16+26, 2 shl 16+12
|
|
|
|
|
|
|
|
|
|
dd -2 shl 16+4,54,63 shl 16,6 shl 16+4
|
|
|
|
|
dd 6,6
|
|
|
|
|
main_coo2:
|
|
|
|
|
dd 169 shl 16, 4 shl 16,9 shl 16
|
|
|
|
|
dd 121 shl 16+40
|
|
|
|
|
dd 3 shl 16+9
|
|
|
|
|
dd 130 shl 16+4
|
|
|
|
|
btncoords2:
|
|
|
|
|
dd 48 shl 16+6, 6
|
|
|
|
|
dd 2000 shl 16+44, 2 shl 16+12
|
|
|
|
|
dd 2000 shl 16+26, 2 shl 16+12
|
|
|
|
|
ipcarea rb 20
|
|
|
|
|
ipcarea2 rb 20
|
|
|
|
|
|
2014-03-08 12:35:53 +01:00
|
|
|
|
dots db ':-'
|
|
|
|
|
text db 'tone> chnl> <trk'
|
2006-08-24 14:33:31 +02:00
|
|
|
|
text_end:
|
2014-03-08 12:35:53 +01:00
|
|
|
|
coo dd main_coo
|
2006-08-24 14:33:31 +02:00
|
|
|
|
play_limit dd playlist
|
2014-03-08 12:35:53 +01:00
|
|
|
|
pl_ptr dd playlist
|
|
|
|
|
param db 'W'
|
2006-08-24 14:33:31 +02:00
|
|
|
|
curnote db 0x80
|
|
|
|
|
tick_count dd 0
|
2010-06-12 15:41:42 +02:00
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
OpenDialog_data:
|
2014-03-08 12:35:53 +01:00
|
|
|
|
.type dd 0
|
|
|
|
|
.procinfo dd prcinfo ;+4
|
|
|
|
|
.com_area_name dd communication_area_name ;+8
|
|
|
|
|
.com_area dd 0 ;+12
|
|
|
|
|
.opendir_pach dd temp_dir_pach ;+16
|
|
|
|
|
.dir_default_pach dd communication_area_default_pach ;+20
|
|
|
|
|
.start_path dd open_dialog_path ;+24
|
|
|
|
|
.draw_window dd draw_window ;+28
|
|
|
|
|
.status dd 0 ;+32
|
|
|
|
|
.openfile_pach dd filename ;+36
|
|
|
|
|
.filename_area dd 0 ;+40
|
|
|
|
|
.filter_area dd Filter
|
2010-08-24 12:05:54 +02:00
|
|
|
|
.x:
|
2014-03-08 12:35:53 +01:00
|
|
|
|
.x_size dw 420 ;+48 ; Window X size
|
|
|
|
|
.x_start dw 10 ;+50 ; Window X position
|
2010-08-24 12:05:54 +02:00
|
|
|
|
.y:
|
2014-03-08 12:35:53 +01:00
|
|
|
|
.y_size dw 320 ;+52 ; Window y size
|
|
|
|
|
.y_start dw 10 ;+54 ; Window Y position
|
2010-06-12 15:41:42 +02:00
|
|
|
|
|
|
|
|
|
communication_area_name:
|
2014-03-08 12:35:53 +01:00
|
|
|
|
db 'FFFFFFFF_open_dialog',0
|
2010-06-12 15:41:42 +02:00
|
|
|
|
open_dialog_path:
|
2010-11-15 19:47:23 +01:00
|
|
|
|
if __nightbuild eq yes
|
|
|
|
|
db '/sys/MANAGERS/opendial',0
|
|
|
|
|
else
|
|
|
|
|
db '/sys/File Managers/opendial',0
|
|
|
|
|
end if
|
2010-06-12 15:41:42 +02:00
|
|
|
|
communication_area_default_pach:
|
2014-03-08 12:35:53 +01:00
|
|
|
|
db '/rd/1',0
|
2010-06-12 15:41:42 +02:00
|
|
|
|
|
|
|
|
|
Filter:
|
|
|
|
|
dd Filter.end - Filter
|
|
|
|
|
.1:
|
|
|
|
|
db 'MID',0
|
|
|
|
|
.end:
|
|
|
|
|
db 0
|
|
|
|
|
;---------------------------------------------------------------------
|
2014-03-08 12:35:53 +01:00
|
|
|
|
system_dir_ProcLib db '/sys/lib/proc_lib.obj',0
|
2010-08-24 12:05:54 +02:00
|
|
|
|
|
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
ProcLib_import:
|
2014-03-08 12:35:53 +01:00
|
|
|
|
OpenDialog_Init dd aOpenDialog_Init
|
|
|
|
|
OpenDialog_Start dd aOpenDialog_Start
|
|
|
|
|
;OpenDialog__Version dd aOpenDialog_Version
|
2010-08-24 12:05:54 +02:00
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
2014-03-08 12:35:53 +01:00
|
|
|
|
aOpenDialog_Init db 'OpenDialog_init',0
|
|
|
|
|
aOpenDialog_Start db 'OpenDialog_start',0
|
|
|
|
|
;aOpenDialog_Version db 'Version_OpenDialog',0
|
2010-08-24 12:05:54 +02:00
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
l_libs_start:
|
|
|
|
|
|
2020-12-08 22:01:35 +01:00
|
|
|
|
library01 l_libs system_dir_ProcLib+9, temp_dir_pach, system_dir_ProcLib, \
|
|
|
|
|
ProcLib_import
|
2010-08-24 12:05:54 +02:00
|
|
|
|
|
|
|
|
|
end_l_libs:
|
|
|
|
|
;---------------------------------------------------------------------
|
2006-08-28 16:23:17 +02:00
|
|
|
|
dir_info:
|
|
|
|
|
dd 1
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 1
|
|
|
|
|
dd dir_table
|
|
|
|
|
db 0
|
|
|
|
|
dd filename
|
2006-08-24 14:33:31 +02:00
|
|
|
|
play_area dw ?
|
|
|
|
|
file_info:
|
2014-03-08 12:35:53 +01:00
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
fsize dd 120*1024 ;APP_MEM-2048-workarea ; max size
|
|
|
|
|
dd workarea
|
|
|
|
|
IM_END: ; <20><><EFBFBD><EFBFBD><EFBFBD> <20>ணࠬ<E0AEA3><E0A0AC>
|
2006-08-24 14:33:31 +02:00
|
|
|
|
filename:
|
2014-03-08 12:35:53 +01:00
|
|
|
|
rb 4096 ;1024+16
|
2006-08-24 14:33:31 +02:00
|
|
|
|
prcinfo process_information
|
|
|
|
|
I_PARAM rb 256
|
|
|
|
|
childPID dd ?
|
|
|
|
|
parentPID dd ?
|
|
|
|
|
play_num dd ?
|
|
|
|
|
counter dd ?
|
2014-03-08 12:35:53 +01:00
|
|
|
|
flag dd ?
|
2006-08-24 14:33:31 +02:00
|
|
|
|
fname_len dd ?
|
2014-03-08 12:35:53 +01:00
|
|
|
|
fn_ptr dd ?
|
|
|
|
|
delta dd ?
|
2006-08-24 14:33:31 +02:00
|
|
|
|
cur_ptr dd ?
|
|
|
|
|
cur_tick dd ?
|
|
|
|
|
quarter dd ?
|
2014-03-08 12:35:53 +01:00
|
|
|
|
octave db ?
|
|
|
|
|
tempo dd ?
|
2006-08-24 14:33:31 +02:00
|
|
|
|
midi_limit dd ?
|
|
|
|
|
track_len dd ?
|
|
|
|
|
list_count db ?
|
|
|
|
|
cur_track db ?
|
|
|
|
|
sel_track db ?
|
2014-03-08 12:35:53 +01:00
|
|
|
|
ipcmsg db ?
|
2006-08-24 14:33:31 +02:00
|
|
|
|
fnbuf:
|
2014-03-08 12:35:53 +01:00
|
|
|
|
rb 1024
|
2007-06-25 19:20:49 +02:00
|
|
|
|
btn_raw rb 222*17*3+8
|
|
|
|
|
hdr_raw rb 275*29*3+8
|
|
|
|
|
bottom_raw rb 25*378*3+8
|
2014-03-08 12:35:53 +01:00
|
|
|
|
rb 4
|
2006-08-24 14:33:31 +02:00
|
|
|
|
playlist rb 256*LISTITEMS
|
2007-06-25 19:20:49 +02:00
|
|
|
|
IncludeUGlobals
|
2010-06-12 15:41:42 +02:00
|
|
|
|
;----------------------------------------------------------------
|
|
|
|
|
temp_dir_pach:
|
|
|
|
|
rb 4096
|
2010-08-24 12:05:54 +02:00
|
|
|
|
;----------------------------------------------------------------
|
|
|
|
|
cur_dir_path:
|
2014-03-08 12:35:53 +01:00
|
|
|
|
rb 4096
|
2010-06-12 15:41:42 +02:00
|
|
|
|
;----------------------------------------------------------------
|
2014-03-08 12:35:53 +01:00
|
|
|
|
rb 4096
|
2010-06-12 15:41:42 +02:00
|
|
|
|
thread_stack:
|
2014-03-08 12:35:53 +01:00
|
|
|
|
rb 4096
|
2010-06-12 15:41:42 +02:00
|
|
|
|
stacktop:
|
|
|
|
|
;----------------------------------------------------------------
|
2010-08-24 21:33:09 +02:00
|
|
|
|
dir_table:
|
2014-03-08 12:35:53 +01:00
|
|
|
|
rb 32+304
|
2006-08-24 14:33:31 +02:00
|
|
|
|
workarea:
|
2014-03-08 12:35:53 +01:00
|
|
|
|
rb 120*1024
|
2012-11-09 10:19:16 +01:00
|
|
|
|
I_END:
|