TTL で PSG 音源を作る その1

AY-3-8910_ds

今回からしばらく、74 シリーズの TTL 汎用ロジック IC を使って PSG 音源を作ってみようと思います。
動作や仕様はオリジナルの PSG 音源、つまり GI 社 AY-3-8910  と同等に動くことを目標とします。
もちろんデータシートをもとにして、回路は新規に設計することになります。
全体で TTL IC 100 個くらいあれば構成可能と予想しています。

bus_if_1

まずは、バスインタフェース部分から設計します。
AY-3-8910 は 16 個のレジスタを持ち、8bit IO によるパラレルインタフェースを使用してアクセスします。
アドレスは IO にマルチプレクスされており、レジスタライト、リード、アドレスラッチは 3 本の信号線により行います。

bus_if_2

信号線はすこし特殊で、GI の CP1610 マイコンのインタフェースになっています。
すなわち、BDIR、BC2、BC1 の 3 本の信号線の組み合わせにより、上表のようにレジスタライト、リード、アドレスラッチが選択されます。
内部的に必要な WR, RD, ALE 信号は、74LS138  と 74LS10 により取り出すことにします。

AY-3-8910 は 16 個のレジスタを持つので、4bit のアドレスを占有します。
アドレスの上位 bit (ラッチされる 8bit の他に、外部から上位 2bit を与えることができる) に 0 をセットすると、IC へのレジスタアクセスが有効になります。
この仕様は複数個の IC をバスに接続する場合やや不便ですが、データシートによると、アドレス上位 bit は IC の注文時に書き換えることができたようです。

というわけで、バスインタフェースは以下のような回路になります。

bus_if_3 bus_if_4

また、8bit のレジスタは以下のような回路でよいでしょう。
(場合によって 244 は 373 にすべき)
ただし、いまどきの IC でコントロールするならレジスタの Read しないでしょうから、製作では配線を減らすために IO レジスタ以外の Read を省くことにします。

bus_if_5

 

コメントを残す

メールアドレスが公開されることはありません。