TRACKERS MOONBLASTER JP 08

From MSX MUSIC WIKI
Jump to: navigation, search

8.独自プログラムでの使用

8.1.BASICでの使用

BASICでMoonBIasterの音楽を使用するには、BASICドライバが最初に読み込まれることが不可欠です。このドライバは、MBDRV.BINという名前でMusicディスク上にあります。これは、コマンドBLOAD MBDRV.BIN,Rで開始されます。ドライバーは&HDA00上のストレージ領域を使用するため、コマンドCLEAR 200 BASICプログラムがこの制限を超えないように、ドライバを起動するには&HD9FFを指定する必要があります。これを実行した後は追加のBASICコマンドを自由に使うことができます。概要は以下の通りです。

CALL MBKLOAD( "サンプルキット名")

このコマンドを実行すると、サンプルキットが読み込まれ、MSX-AUDIO RAMに入れられます。注:このコマンドでは、ソングをバッファーとしたメモリーバンクを使用しているため、内容は消去されます

CALL MBMLOAD( "曲名")

これにより、MoonBIasterソングを読み込むことができます。このソングは、セットメモリバンクのセットアドレスにロードされます。 USERファイルのみが読みこまれ、正しく再生されることに注意してください。

CALL MBCHIP(チップ番号)

音楽を再生するサウンドチップを設定します。0はMSX AUDIO、 1はMSX-MUSIC、2以上はSTEREO(MSX-AUDIOおよびMSX-MUSIC)を意味します。

CALL MBBANK(バンク番号)

再生されるソングを含むメモリマッパー、またはソングが読み込まれるメモリマッパーを含む。音楽が再生されていない場合にのみ動作します。メモリマッパのメモリバンクは16kBです。通常、バンク番号の場合は3となります。最大バンク数は、コンピュータのメモリ容量によって異なります。

CALL MBADDR(アドレス)

ソングが存在するか、またはソングが読み込まれるメモリアドレスを設定します。 &H8000と&HC000の間にソング全体が、音楽が再生されていない場合にのみ動作することを確認してください。

CALL MBPLAY

設定されたサウンドチップに曲を再生します。メモリ内のソングの位置は、上記のコマンドで決定されます。

CALL MBSTOP

曲の演奏を停止します。

CALL MBCONT

一時停止後に曲を再生し続けます。 MBHALTコマンドの後でのみ正しく動作します。

CALL MBHALT

曲を一時停止します。これは、読み込み中などに便利です。読み込む前に_MBHALTを指定すれば、読み込みが完了後に_MBCONTで音楽を続けることができます。

CALL MBVER

BASICドライバの現在のバージョン番号を画面に表示します。さらに、さまざまなメモリアドレスをBASICプログラマが読み取ることもできます。

PEEK(&HDA00)=サウンドチップをMBCHIPコマンドで設定します。 PEEK(&HDA01)=ステータス:0 =再生しない、255 =再生する。 PEEK(&HDA02)=メモリバンクをMBBANKコマンドで設定します。 PEEK(&HDA03)+ 256 * PEEK(&HDA04) = MBADDRコマンドでメモリアドレスを設定するコマンドが正常に動作するように、 "BASIC.BAS"という名前のサンプルプログラムがあります。プログラムでは、すべてのコマンドはMBVERコマンドを除いて使用されます。

8.2マシン語での使用

音楽ディスクには、マシン語プログラマ用のソースコードが2つあります。 MBPLAY.SRCとMBLOADER.SRCです。最初の2つは実際のルーチンで、2番目のプログラムはMoonBlasterのソングとドラムキットを読み込み、コンピュータにどのサウンドチップがあるかを確認し、必要に応じて初期化するプログラムです。ソースはDevPac-80アセンブラ(GEN80)用に書かれていますが、他のアセンブラにロードすることもできます。一部のラベルはすべてのソースで使用されています。ここではもちろん、同じメモリアドレスで、これらをマージするときは削除する必要があります。 マシン語のプログラマーにとって関心のある特徴の概略は次の通りです。

- ソングはメモリに保存されたままです。解読??は再生中に発生します。
-ソングの先頭アドレスとマッパーバンクを設定できます。再生ルーチン自体は、正しいバンク切り替えを保証します。
- PSGドラムが使用されている場合、PSGチャンネルAのみがこれに使用されます。これは、PSGがどこで制御されているかを明確に示しているので、容易に変更できます。
- プレイルーチンはZ80とR800の両方のモードで動作しますが、プロセッサの再生中は切り替えてはいけません! STRMUSルーチンは、その時点でどのプロセッサがアクティブであるかを確認し、必要に応じて再生ルーチンを自動的に調整します。

この他の説明はソースファイル自体に記載されています。