上がGIオリジナルのAY-3-8910、SOUNDという文字が入っているのはわかりやすいですね。1979年製。下はその10年後に作られたMicrochip社製のPSGですが、型番の末尾のAは何か改良されたところがあることを示しているのでしょうか。GI社とMicrochip社の関係がわかる写真ですね。
ピン配置を以下に示します。
Vss 1 40 Vcc
NC 2 39 TEST1
ACHB 3 38 ACHC
ACHA 4 37 DA0
NC 5 36 DA1
IOB7 6 35 DA2
IOB6 7 34 DA3
IOB5 8 33 DA4
IOB4 9 32 DA5
IOB3 10 31 DA6
IOB2 11 30 DA7
IOB1 12 29 BC1
IOB0 13 28 BC2
IOA7 14 27 BDIR
IOA6 15 26 TEST2
IOA5 16 25 A8
IOA4 17 24 A9*
IOA3 18 23 RESET*
IOA2 19 22 CLOCK
IOA1 20 21 IOA0
この端子のうち、VccとVssは電源で、+ 5 V単一電源で動作します。
DA0からDA7まではデータとアドレス兼用のマイクロプロセッサとのデータのやりとりを行う信号です。DA0がLSBでDA7がMSBとなっています。あるタイミングでバスに出力されているアドレスをラッチして、次のタイミングでデータの入出力を行う、マルチプレクスバス用の信号となっています。
データ転送を制御する信号が、BDIR, BC1, BC2の3本の信号で、他にA8, A9*が正論理と負論理のチップセレクト入力として用意されています。A8,
A9*はそれぞれ内部的にプルアップとプルダウン抵抗が接続されていて、使用しない場合にはオープンにしておくこともできます。
RESET*信号はおなじみのリセットで、CLOCK信号はクロックを与えますが、こちらはバスインターフェース用というよりは内部の音源制御の基準周波数として使われます。3.58
MHz程度の周波数を与えるシステムが多かったようですね。TEST1とTEST2はテスト用の端子で、オープンのまま残して置きます。
IOA0からIOA7およびIOB0からIOB7はバイト単位で入出力方向を制御できるI/Oポートです。PSGとは大量のデータを高速で転送する必要はあまりないので、システムがマルチプレクスバスになっていなかったりタイミングの都合でバスと直接インターフェースするのが面倒な場合、8255のような単なるパラレルI/Oポートの先にPSGを接続して、ソフトウェアでBDIR,
BC1, BC2などをコントロールしてデータ転送を行うこともよくありました。そのパラレルポートの代わりに使えたかもしれません。ジョイステックなんかを接続した例もありますね。
ACHA, ACHB, ACHCはそれぞれANALOG CHANNEL A, B, Cを私が略して書いたもので、サウンド信号出力です。約1
Vppの信号が得られます。特にステレオ出力などの必要性がなければ、3本を並列に接続してミキシングしてアンプを介してスピーカを鳴らすことができます。
制御信号類はあまり見なれたものではありませんが、もともとはGI社の16
bitマイクロプロセッサCP1610(や8 bitマイクロプロセッサのPIC1650シリーズ)のためのLSIであったためです。当時は他に手ごろなプログラマブルな音源LSIがなかったため、GI社のマイクロプロセッサファミリの中からPSGが選ばれて広く使われたのでしょう。
内部レジスタ構成は次の表のようになっています。
アドレス | 略称 | ブロック | 機能名称 |
00 | R0 | Tone Gen. | Channel A Fine Tune Register |
01 | R1 | Tone Gen. | Channel A Coarse Tune Register |
02 | R2 | Tone Gen. | Channel B Fine Tune Register |
03 | R3 | Tone Gen. | Channel B Coarse Tune Register |
04 | R4 | Tone Gen. | Channel C Fine Tune Register |
05 | R5 | Tone Gen. | Channel C Coarse Tune Register |
06 | R6 | Noise Gen. | Noise Period Register |
07 | R7 | Mixer, I/O | Mixer Control - I/O Enable Register |
08 | R10 | Amp. Control | Channel A Amplitude Control Register |
09 | R11 | Amp. Control | Channel B Amplitude Control Register |
0A | R12 | Amp. Control | Channel C Amplitude Control Register |
0B | R13 | Envelope Gen. | Envelope Fine Tune Register |
0C | R14 | Envelope Gen. | Envelope Coarse Tune Register |
0D | R15 | Envelope Gen. | Envelope Shape/Cycle Control Register |
0E | R16 | I/O | I/O Port A Data Store |
0F | R17 | I/O | I/O Port B Data Store |
GIではレジスタ略称を8進数で表示していますね。
Return to IC Collection