Z80 をいじったついでで AY-3-8910 の PSG もいじってみようと思います。AY-3-8910 は40ピンの IC ですが、ほかにも YM2149F がコンパチで使えます。また 40ピンの足のうち I/O ポートなどを省略してピン数を減らした AY-3-8912,AY-3-8913 などもありますが、今回作った基板には合いませんので使用できません。
回路は、AY-3-8910 PSG のデーター・制御の線と、3.579545MHz のクロック。MIDI インタフェースと音声出力のジャックで構成されています。ターゲットの Arduino は 基板の大きさと I/O ポート取り出し位置の都合で MEGA2560 を使用しています。AY-3-8910 は 3声までしか出ませんので、ちょっと物足りない感じです。なので、J4 のジャンパ切り替えで4枚まで積んで 12声同時発生できるようにしました。
1つ目は、オシレーターなど部品を全部つけないといけませんが、2つ目以降は、 AY-3-8910 とジャンパがついていればOKです。
プログラムのソースなどは GitHub – ngc6589/arduinoMidiSynthPSG に置いています。
まだ、Github の資料更新中ですが、AY-3-8910 と基板、MIDIコネクタ、フォトカプラ以外は全部秋月でそろいます。頒布するかは未定です。
Free MIDI ファイルをダウンロードして、DOMINOに読み込ませて、リズムパートだけ再生しないようにするだけでこんだけ鳴ります。存外遊べそうなものが出来てうれしい限りです。