misc. > アタリ仕様ジョイスティック研究 > 概要 > PSG音源の利用

PSG音源の利用

概要

General Instrument(GI)社のサウンドコントローラAY-3-8910はPSG音源1の一種であり、AppleIIのMockingBoard2を初めとして、世界各国の様々なパソコンに採用された。AY-3-8910は8ビットのI/Oポートを2つ(Port A / Port B)持っており3、しばしばこのI/Oポートを使ってコントローラ端子が実装された。

特に日本ではAY-3-8910のみならず、完全上位互換のFM音源コントローラであるYM2203やYM26084が多くのメーカーで広く採用されたこともあり、AY-3-8910のI/Oポートをジョイスティック端子として使用したパソコンは多い。

1

Programmable Sound Generator。矩形波、三角波、ノコギリ波を組み合わせて音色を作る音源のこと。同様の原理で動作するサウンドコントローラとしてはテキサスインスツルメンツのSN76489やフィリップスのSAA1099がある。

2

Sweet Micro Systemsによって1981に販売開始された音源ボード。サードパーティー製品だがAppleII用音源としてはデファクトスタンダード

3

下位互換製品としてAY-8910-12及びAY-8910-13がある。AY-8910-12はI/OポートをPort A1つに減らしたものであり、AY-8910-13はI/Oポートを完全に省略したモデルである

4

機能的には完全上位互換だがピンコンパチブルではない。YM2203はAY-3-8910と同じ40ピンのチップだがピン配置はGND(ピン1)以外完全に異なっており、YM2608は64ピンのチップである。

制御方法

AY-3-8910は内部にレジスタを16持っており5、パソコン側ではレジスタ番号を指定して命令を送る。AY-3-8910はデータバスと(レジスタを指定するための)アドレスバスが共通であり、バスディレクション(BDIR、ピン27)、バスコントール1(BC1、ピン29)、同2(BC2、ピン28)を併用して、レジスタ指定、レジスタ読込、レジスタへの出力を行う。BDIR、BC1、BC2と機能との対応は以下の通り。

5

YM2203では146、YM2608では156。

BDIR

BC2

BC1

Function

L

L

L

Inactive (All Data/Address bus pins are High Inpedance)

L

H

L

H

L

H

L

L

H

Latch Address (Designate Register)

H

L

L

H

H

H

L

H

H

Read from Register

H

H

L

Write to Register

なお、YM2203、YM2608ではピンの名称が以下のように変わっている。

AY-3-8910 Pin Name(pin#)

Yamaha Pin Name

YM2203 Pin#

YM2608 Pin#

BDIR(27)

/RD

36

59

BC1(29)

/WR

35

58

BC2(28)

A0

37

60

一部のパソコンでは、レジスタ番号の指定と、レジスタに送る/レジスタから読み取るデータ用としてI/Oアドレスを別個に割り当てており、一方のアドレスでレジスタを指定し、データを読み取る時は他方のアドレスを読み、データを送信する時は他方のアドレスに書き込むようになっている6。つまり、読み書きするI/Oアドレスに応じてBDIR、BC1、BC2の出力内容も自動的に設定される。

6

この方式となっているのはX1MZ-2500PC-9801PC-6001MSXPC-8801mkIISRSV-318/328はレジスタの読み出しと書き込みに使うI/Oアドレスが異なる(つまり音源の制御の為に用意されているI/Oアドレスは3つ)。FM-7CPCはデータバスの入出力とBDIR/BC1/BC2を独立して行う(データバスとコントロール出力を別々のI/Oアドレスで行う)。

AY-3-8910のI/Oポートにアクセスする際に使うレジスタは$07、$0E、$0Fの3つ。それぞれの機能は以下の通り7

Register#

Bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

$07(W)

Set I/O Direction for port B (0=in, 1=out)

Set I/O Direction for port A (0=in, 1=out)

NOISE/TONE Enable (not used for controllers)

$0E(R/W)

PA7

PA6

PA5

PA4

PA3

PA2

PA1

PA0

$0F(R/W)

PB7

PB6

PB5

PB4

PB3

PB2

PB1

PB0

7

テクハンWiki MSX2テクニカルハンドブック 第5部第1章 PSGと音声出力

8

上記テクハンWiki及び、アスキー「PC‐9800シリーズテクニカルデータブック」より


コメント(0)

コメントを投稿する際はここをクリック

Note

本サイトのハイパーリンクの一部は、オリジナルのサイトが閉鎖してしまったため"Internet archive Wayback Machine"へのリンクとなっています。そのようなリンクにはアイコン[archive]を付与しています。

本サイトはCookieを使用しています。本サイトにおけるCookieは以下の三種類のみであり、Cookieの内容に基づいてサイトの表示を変更する以外の用途には用いておりません。