「BGM演奏ルーチン(通常版)」が完成しましたので、早速、過去作品の「MuSICA」と入れ替えてみます。
そういえば「BGM.BIN」、深く考えずに開始アドレスを&HCA00にしたけど、過去作品の「.BIN」のアドレスとダブらないかな…?
過去作品の「.BIN」ファイルはソースが既にないのでアドレス変更は無理です。
まぁ、その時は「BGM演奏ルーチン(通常版)」の「BGM.BIN」のアドレス変えるしかないか…、そんな手間でもないし。
では、作業開始。
「MuSICA」ディスクに入っているMMLデータを「MMLコンパイラ(通常版)」に登録します。
元々大きくないデータなので、すぐに登録出来ました。
因みにファミコン版と同じ「トロイカ」です。(曲の著作権は切れているので問題ないはず…。)
登録が終わったらコンパイル。
コンパイルに時間が掛かりそうなので、裏技。
「BlueMSX」の「オプション」-「エミュレーション」と開きます。
真ん中にある「スピード」のつまみを、一番右側に持っていきます。
これで、「BlueMSX」の内部速度が10倍になります。
あっという間に、コンパイルが終わりました。
内部速度を元に戻します。
(因みに、わざわざ設定変更せずとも「左SHIFT」+「F9」を押している間、最速化します。)
次に、過去作品のメインプログラムを開いて、「MuSICA」関連の場所を修正します。
10行の「CLEAR」文の&HCE00が、「MuSICA」領域だけの確保なので全マシン語領域分(&HC000)に広げておきます。
70行の「DEFUSR」文の1、2、3が「MuSICA」のそれぞれ「初期設定」、「演奏開始」、「演奏終了」なので、これを「BGM演奏ルーチン(通常版)」のものに変更。
100行のPSG初期化部分は全クリアとSOUND7の設定のみとする。
最後、50000行が、「MuSICA」初期化と、演奏開始、50100行が演奏終了なので、こちらも「BGM演奏ルーチン(通常版)」のものに変更。
以上。
意外と変更箇所少ない。
変更後がこちら。
3チャンネル分のBGMデータ格納アドレスをワークにセットする必要があります。
変更簡単でした。
では、テストプレイ。
おー、FM音源「トロイカ」からPSG「トロイカ」に変わったが、問題なく演奏されました。
あれ? ブロックが落下した時の効果音が付いてる?
今更ながら「MuSICA」で演奏中に、PSGで効果音を上手く鳴らせていなかったようです…。
逆に、効果音鳴っていなかったので、効果音ないのかと思い3重奏でBGM作ってしまいました。
折角3重奏にしたので、今回効果音は無しとして、そのまま行きます。(効果音あっても落下した時の「ターン」と言う音のみなのであまり意味なし。)
因みにBGM演奏、「MuSICA」ではFM音源5重奏でした。(そこから3音抜き出しました。)
次回公開します。