|
Ver0.22からDumpListEditorで作成したPCG音楽プレイヤが外から曲を鳴らせるようになりました。→こんな感じです。(前半が通常PLAY、後半がBASICからの呼び出し)
変換には、t88tool.exeが必要です。同梱されているt88tool.exeをDumpListEditor.exeと同じフォルダに置いて下さい。→DumpListEditorのダウンロードはこちらから
【BASICからの曲再生】
1.まずはMMLを使って、曲を作って下さい。→こちら
2.複数の曲をまとめる方法は→こちら
3.BASICプログラムとぶつからないように、「設定」「mml変換設定」のアドレスを8040からC000などに変更してから、cmtファイルを作成して下さい
4.作成したcmtファイルをDumpListEditorにDropすると、2つのマシン語が出てきます。(プレイヤーと音楽データ)
5.BASIC入力モードに切り替えてBASICプログラムを入力します。
6.ユーザー関数などで、下記の番地をコールすることで、音楽プレイヤーの機能が使えます。
(例)音楽プレイヤーのアドレスをC000に設定した場合
��C010番地:1曲再生(引数は曲番号) ESCキーで曲を終了します。
��C013番地:BGM再生用初期化(引数は曲番号)
��C016番地:BGM再生1Tick再生(引数は再生Tick回数)
��C019番地:PCG8100初期化(音止めにも使用可能)
��C01B番地:曲数取得(関数戻り値に曲数)
��C01F番地:設定するチャンネル数(デフォルト=3) 部分的な曲変更に
��C020番地:曲停止制御用アドレス(キャリーフラグのセットで曲終了)
(使い方例)
DEFUSR=&HC010:A=USR(2) ←曲番号2(3曲目)を再生
7.[ファイル整理画面にPaste]ボタンで、ファイル整理画面に、BASIC.BASファイルを並べて下さい
8.マシン語ロード数を2に設定して、「設定」「cmtファイル設定」で、[自動生成]ボタンを押すと、MON+Lでのオートスタートが可能になります
9.[cmt書出し]ボタンで、cmtファイルを作成して下さい。
引数には、変数も使えますが、整数型(N%とか)を使って下さい
BGM再生時のテンポは、1Tick再生をコールする頻度で変わります。1秒間に50〜100回程度コールする必要がありますが、BASICだと厳しいと思います。その場合は、引数に繰り返し回数を指定して下さい。引数に10を指定すれば10倍速いテンポになります。
【サンプル1】
単純に曲を再生するサンプルです。→BASICプログラム、詰め合わせ
曲を終了させたい時には、ESCキーを押してから何かのキーを押して下さい。
【サンプル2】
0〜7のキーボードを押すことでプレイできます。→BASICプログラム、詰め合わせ、動画
1Tick分の処理をするごとに、曲停止制御用アドレス(上の例では、C020)がコールされます。デフォルトでは(C9,00,00)=RETERN,NOP,NOPになっていますので、ここから任意のアドレスに飛ばして、キーチェックが可能です。キャリーフラグをセットしてからリターンすることで、ESC以外のキーでも再生を停止することが可能になります。サンプル2の詰め合わせに入っているkey_check.asmを参考にして下さい。
|