mirror of https://github.com/nmlgc/ReC98.git
144 lines
4.2 KiB
PHP
144 lines
4.2 KiB
PHP
|
BGM_STAT_PLAY equ 1 ;リターンコード
|
||
|
BGM_STAT_MUTE equ 0
|
||
|
BGM_STAT_REPT equ 1
|
||
|
BGM_STAT_1TIM equ 0
|
||
|
BGM_STAT_ON equ 1
|
||
|
BGM_STAT_OFF equ 0
|
||
|
BGM_MES_ON equ 1 ;パラメータ
|
||
|
BGM_MES_OFF equ 0
|
||
|
BGM_MUSIC equ 1
|
||
|
BGM_SOUND_ equ 2
|
||
|
; ↑'BGM_SOUND'より変更
|
||
|
BGM_COMPLETE equ NoError ; エラーナンバー
|
||
|
BGM_FILE_ERR equ FileNotFound
|
||
|
BGM_FORMAT_ERR equ InvalidFormat
|
||
|
BGM_OVERFLOW equ InsufficientMemory
|
||
|
BGM_TOOMANY equ InvalidData
|
||
|
BGM_NO_MUSIC equ InvalidData
|
||
|
BGM_NOT_PLAY equ GeneralFailure
|
||
|
BGM_NOT_STOP equ GeneralFailure
|
||
|
BGM_EXTENT_ERR equ InvalidData
|
||
|
|
||
|
ON equ 1
|
||
|
OFF equ 0
|
||
|
TRUE equ 1
|
||
|
FALSE equ 0
|
||
|
FINISH equ 1
|
||
|
NOTFIN equ 0
|
||
|
SEND equ 0
|
||
|
VEND equ 0
|
||
|
BEEP_SW equ 37h ;ポートアドレス・設定値
|
||
|
BEEP_ON equ 06h
|
||
|
BEEP_OFF equ 07h
|
||
|
BEEP_CNT equ 3fdbh
|
||
|
BEEP_MODE equ 3fdfh
|
||
|
BEEP_CNT_AT equ 42h
|
||
|
BEEP_MODE_AT equ 43h
|
||
|
INTCTRL equ 00h
|
||
|
EOI equ 20h
|
||
|
IMR equ 02h
|
||
|
TIMERMASK equ 01h
|
||
|
TIMER_CNT equ 71h
|
||
|
TIMER_SET equ 77h
|
||
|
CLOCK_CHK equ 42h
|
||
|
PMAX equ 3 ;パート数
|
||
|
ALL_PART equ 7 ;演奏終了チェック用
|
||
|
BUFMAX equ 4096 ;1パートのバッファ長
|
||
|
SBUFMAX equ 256 ;効果音1音のバッファ長
|
||
|
MINNOTE equ 32 ;最小音符
|
||
|
MINLCNT equ 1 ;最小カウントデータ
|
||
|
DEFTEMPO equ 120 ;デフォルトテンポ
|
||
|
TEMPOMAX equ 240 ;最大テンポ
|
||
|
TEMPOMIN equ 30 ;最小テンポ
|
||
|
DEFOCT equ 4 ;デフォルトオクターブ
|
||
|
DEFLEN equ 4 ;デフォルト音長
|
||
|
DEFLCNT equ 8 ;デフォルト音長カウント値
|
||
|
DIVNUM equ 8 ;1オクターブの音数
|
||
|
REST equ 'H' ;休符
|
||
|
UNDF equ 100 ;未定義音符
|
||
|
MMAX equ 16 ;最大曲数
|
||
|
SMAX equ 16 ;最大効果音数
|
||
|
TIMER equ 1 ;タイマ = 1ms
|
||
|
TVAL8ORG equ 1997 ;タイマ設定値 8MHz(1msec)
|
||
|
TVAL10ORG equ 2458 ;タイマ設定値 10MHz(1msec)
|
||
|
TVALATORG_RTC equ 16 ;タイマ設定値 8192Hz*2(AT互換機) (1msec)
|
||
|
TVALATORG equ 1193 ;タイマ設定値 1193.18K(AT互換機) (1msec)
|
||
|
TVAL8ORG2 equ 19968 ;タイマ設定値 8MHz(10msec)
|
||
|
TVAL10ORG2 equ 24576 ;タイマ設定値 10MHz(10msec)
|
||
|
;TVALATORG2 equ 41 ;タイマ設定値 4096Hz(AT互換機) (10msec)
|
||
|
;TVALATORG2 equ 11931 ;タイマ設定値 1193.18K(AT互換機) (10msec)
|
||
|
TCNTMAX equ 20 ;割り込み何回に 1回処理するか
|
||
|
|
||
|
;
|
||
|
;ステータス構造体
|
||
|
;
|
||
|
SBSTAT struc
|
||
|
bmusic dw ? ;演奏処理 ON/OFF
|
||
|
bsound dw ? ;効果音処理 ON/OFF
|
||
|
bplay dw ? ;演奏中か否か
|
||
|
beffect dw ? ;効果音出力中か否か
|
||
|
brepeat dw ? ;リピート演奏か否か
|
||
|
bmnum dw ? ;登録曲数
|
||
|
brnum dw ? ;セレクト中曲番号
|
||
|
btempo dw ? ;現在のテンポ
|
||
|
bsnum dw ? ;登録効果音数
|
||
|
bfnum dw ? ;セレクト中効果音番号
|
||
|
SBSTAT ends
|
||
|
|
||
|
;
|
||
|
;グローバルデータ構造体
|
||
|
;
|
||
|
SGLB struc
|
||
|
simr dw ? ;interrupt mask register
|
||
|
; ↑'imr'より変更
|
||
|
tval dw ? ;タイマ設定値
|
||
|
tp dw ? ;テンポ
|
||
|
rflg dw ? ;BGM ON/OFF
|
||
|
pnum dw ? ;パート数
|
||
|
pcnt dw ? ;パートカウンタ
|
||
|
fin dw ? ;パート終了フラグ
|
||
|
repsw dw ? ;リピート ON/OFF
|
||
|
; ↑'rep'より変更
|
||
|
tcnt dw ? ;処理カウンタ(4回に 1回処理)
|
||
|
bufsiz dw ? ;楽譜バッファのサイズ
|
||
|
buflast dw ? ;楽譜バッファのラスト
|
||
|
mnum dw ? ;登録曲数
|
||
|
mcnt dw ? ;セレクト中曲番号
|
||
|
track dw MMAX dup(?) ;曲のトラックナンバー
|
||
|
pmask dw ? ;パートマスク情報
|
||
|
; ↑'mask'より変更
|
||
|
mtp dw MMAX dup(?) ;曲ごとのテンポ情報
|
||
|
effect dw ? ;効果音 ON/OFF
|
||
|
snum dw ? ;登録効果音数
|
||
|
scnt dw ? ;セレクト中効果音番号
|
||
|
music dw ? ;演奏処理 ON/OFF
|
||
|
sound dw ? ;効果音処理 ON/OFF
|
||
|
init dw ? ;イニシャライズ実行フラグ
|
||
|
clockbase dd ? ;tempo120時のタイマカウント
|
||
|
SGLB ends
|
||
|
|
||
|
;
|
||
|
;パート構造体
|
||
|
;
|
||
|
SPART struc
|
||
|
pptr dd ? ;楽譜バッファポインタ
|
||
|
; ↑'ptr'より変更
|
||
|
mbuf dd ? ;楽譜バッファ
|
||
|
note dw ? ;現在の音符
|
||
|
oct dw ? ;現在のオクターブ
|
||
|
len dw ? ;現在の音長
|
||
|
dflen dw ? ;デフォルトの音長
|
||
|
lcnt dw ? ;音長カウンタ
|
||
|
msk dw ? ;パートマスク ON/OFF
|
||
|
; ↑'mask'より変更
|
||
|
tnt dw ? ;テヌート ON/OFF
|
||
|
SPART ends
|
||
|
|
||
|
;
|
||
|
;効果音構造体
|
||
|
;
|
||
|
SESOUND struc
|
||
|
sptr dd ? ;効果音データポインタ
|
||
|
sbuf dd ? ;効果音データバッファ
|
||
|
SESOUND ends
|