ReC98/libs/kaja/mmdfunc.doc

71 lines
2.5 KiB
Plaintext
Raw Normal View History

*==============================================================================
MMDのファンクションコール仕様です。
AHレジスタにコマンド番号を入れ、必要ならば他のレジスタに
与える値をセットし、INT 61Hを実行します。
outputに表示があるレジスタ以外は保存されます。
かなり穴がありますが、これはPMDと番号を一緒にしたためで、
他意はありません。
*==============================================================================
$00 mstart
input nothing
output nothing
音楽の演奏を開始します。
必ず曲データを転送してから実行して下さい。
*==============================================================================
$01 mstop
input nothing
output nothing
演奏中の音楽を停止します。
*==============================================================================
$02 fout
input al fadeout_speed
output nothing
フェードアウトを開始します。
スピードは小さい程遅くなります。(1が最低速)
*==============================================================================
$05 get_syousetu
input dx 1小節の長さ または 0
output ax 小節番号 または Count値(low)
dx 余りCount値 または Count値(High)
現在の小節番号を所得します。
但し、.MMDのデータ中には小節の概念がないので、
現在の曲の1小節は何カウントか、を指定する必要があります。
例えば、4/4拍子 の曲では、192カウントが小節となり、
3/4拍子 の曲では、144カウントが小節となります。
dxに0を入れてcallした場合は、演奏開始してから現在までのカウンタ値が
そのまま dx:ax に返って来ます。
*==============================================================================
$06 get_musdat_adr
input nothing
output ds:dx musdat_adr
曲データを格納する先頭番地を返します。
この番地に従って読み込む、或は転送して下さい。
*==============================================================================
$08 get_fv
input nothing
output al fadeout_volume
フェードアウトが終了しているかどうかを調べます。
alが$ffなら終了しています。$00ならフェードアウトしていません。
*==============================================================================