« マルメロ接木 | トップページ | とっても大事に »

2013年3月14日 (木)

PSG始めました

YM-2151が載った基板は手に入れたが、道具がないので取り外していない。いつになったら始められるのか。
FM音源の前に、YM-Z294というPSGで音楽を演奏してみよう。PSGとSSGは同じICだが、X1ユーザはPSGの方がしっくりくる。
YM-Z294についてネットで検索すると、アセンブラで記述されたソースばかりだ。私もアセンブラの方が得意なので、それを見ながらC言語で書き直すことにした。
さすが専用IC。ドレミファソラシドくらいなら、すぐに演奏できる。
せっかくのC言語だから、mmlをリアルタイムに演奏する処理を実装した。こんな感じで演奏できる。

    musicPlay("o4g4a8g8e4<c4>a4g2.");
    musicPlay("g8a8g8a8g4<c4>b1");
    musicPlay("f8g8f4d4b4a4g2.");
    musicPlay("g8a8g8a8g4a4e1");

単音のサウンドドライバならすぐに書けたのだが、YM-Z294は、3音を同時に演奏できる。3音を同時に演奏させるには、この方法では無理がある。
どうやれば演奏できるか。今考えているのは、二つある。
一つは、3音を一緒に記述したMMLを演奏する方法。1小節分のバッファを二組持ち、一方を演奏している間に、他方のバッファに展開すればよさそうだ。
もう一つは、トラックという演奏バッファにいったん格納して、それを演奏する方法。X68000のX-BASICで採用されていた方法だ。

« マルメロ接木 | トップページ | とっても大事に »

お仕事」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/24707/50757683

この記事へのトラックバック一覧です: PSG始めました:

« マルメロ接木 | トップページ | とっても大事に »

最近のトラックバック