「簡易MMLコンパイラ Ver.2.0」でコンパイルしたBGMデータ3つを、簡易BGM演奏ルーチンを3つ使い、スクウェアの「アルファ」のオープニングの冒頭部分を3重和音で演奏してみました。(フルコーラス作りましたが、著作権的に問題ありそうなので公開はやめます。
)
画像出典: 『sinking into dithered』 ALPHA NEC PC-8801
https://pixelriots.tumblr.com/post/104261570162/alpha-square-nec-pc-8801-1986-in-this-gameMSX1の絵と思えない…。因みに画像は「BMP to MSX」なるソフトでコンバートしました!
制作者のHRAさん、素晴らしいソフトをありがとうございます!
(古い方のホームページにしか置いていないようです。
こちら)
【
ダウンロード】
う〜ん、やっぱり「アルファのオープニングはカッコいい!!」(曲名知りません。)
「アルファ」(1986年発売)は高校2年生当時、X1持ってた友人に高校の文化祭のデモ陳列用に「X1貸して!」(パソコン同好会員に非ず。)と無理言って持って来てもらって、その時デモで流してたゲームでした。
聞いた時の最初の印象は、最初に書いた感想通り「カッコいい!」。
当然の如く、MSXでは発売されていなかったので、カセットテープに録音してもらい、それを耳コピでPLAY文データに起こしました。
伴奏がなかなか聴き取り難く、大ボリュームでやっていたため、耳が痛かった覚えがあります。
最後の方は力尽きてる感満載ですね…、なんかグダグダでデータ合ってるのかどうかが不明…。(注:公開分は問題なし)
因みに、こんなでっかいBGMデータ(フルコーラスで7kバイト強(BASIC部も含めると15kバイト)、MSXのメモリは32kバイト
)、普通に全データDATA文にして打ち込んでコンパイルすると、当然飛びます。(リセット若しくは暴走。)
では、どうやってコンパイルしたかと言うと…。
まず、事前準備として、PLAY文の中のT(テンポ)、V(ボリューム)、S、M(エンベロープ)など、簡易コンパイラで使えないコマンドを削除・調整します。
併せて、スペースなどの無駄なデータも削除します。
次に簡易MMLコンパイラにPLAY文のAパートのみDATA文にして打ち込み、コンパイル。
次に簡易MMLコンパイラをコピーし、そちらでBパートのみDATA文にして打ち込み、コンパイル。
同じく簡易MMLコンパイラをコピーし、最後CパートのみDATA文にして打ち込み、コンパイル。
コンパイル時に、CLEAR文を使って領域確保し、飛ばないように調整します。
要するに、パート毎にMMLコンパイラも3つ用意した訳です。
それぞれ違うアドレスにBGMデータを置いて、サブルーチンを3つ重ねていざ演奏!
思った以上に上手くいきました!
…ていうか、簡易MMLコンパイラ、我ながら凄いな!
元のPLAY文を、ほぼなんの改修もせずにそのままコンパイルできました。
ゲーム以外の活用方法でしたー。