AY-3-8910
![](http://upload.wikimedia.org/wikipedia/commons/thumb/4/40/AY-3-8910.jpg/220px-AY-3-8910.jpg)
AY-3-8910는 제너럴 인스트루먼트에서 개발한 3채널 프로그래머블 사운드 제네레이터(Programmable Sound Generator)으로 간단히 AY8910으로도 부른다. 초기에는 자신들의 16비트 CP1610 컴퓨터와 8비트 컴퓨터 PIC1650 시리즈에 사용했으며 그 후 8910 시리즈는 많은 아케이드 게임에 사용되어 유명한 칩이 되었다. 그중에서도 인텔리비전, 벡트렉스 같은 가정용 게임기와 MSX, 아타리 ST, 암스트라드 CPC, 오릭스 1, 컬러 지니, Elektor TV 게임 컴퓨터, 싱클레어 ZX 스펙트럼128/+2/+3 같은 가정용 컴퓨터, 애플 II 머킹보드 사운드카드 등에 널리 사용되었다. 야마하에서 라이센스로 YM2149 같이 클럭 디바이더 선택 핀과 2배 해상도, 2배 볼륨 엔벨로프 테이블 등의 작은 개선이 되어있는 제품을 생산하였다.
8910은 비슷한 시기에 출시된 텍사스 인스트루먼츠 SN76489과 매우 비슷했다.
1987년 제너럴 인스트루먼트에서 분사한 마이크로칩 테크놀로지는 8910을 몇 년동안 마이크로칩 테크놀로지 상표로 판매하였다.
8910은 더 이상 제조되지 않고 재고품도 바닥났지만 중고 빈티지 기기에서 입수할 수 있으며 VHDL 언어로 FPGA를 사용하여 동일하게 재창조 할 수 있다. VHDL 소스는 인터넷에서 입수할 수 있으며 컴파일시 자일링스 XC2S300의 약 10%정도를 차지한다.
상세 동작
8910은 기본적으로 스테이트 머신으로 8비트 레지스터 16개를 설정하는 것으로 작동한다. 칩과 연결된 8비트 버스는 어드레싱과 레지스터에 데이터를 토글(1에서 0 또는 0에서 1로 변경하는 작업)하는데 사용된다. 예를 들어 표준 설정 사이클은 버스에 어드레스 모드를 넣어 레지스터를 선택한 후 데이터 모드로 전환해 레지스터에 데이터를 넣는다.
레지스터 6개는 음높이(pitch)를 제어하여 3개의 주 채널을 생성한다. 각 채널당 2개의 8비트레지스터를 사용하는데 데이터 값이 12비트로 제한되어 4096가지의 음높이를 발생시킬 수 있다. 다른 레지스터는 스도(pseudo) 랜덤 노이즈 제네레이터의 주기를 제어한다. 또 다른 레지스터는 주 채널과 노이즈 채널의 믹싱을 제어한다.
3개의 레지스터를 사용해 각 채널의 음량(volume)을 제어하며 마지막 3개의 레지스터로 ADSR 엔벨로프(envelope) 컨트롤러를 제어한다. 대부분의 시스템과 다르게 8910은 서스테인(sustain)과 릴리즈(release), 반복적인 어택(attack), 디케이(decay) 패턴에 고정된 시간값을 사용한다. 예를 들어 8910은 사운드를 AD 사이클로 반복하거나 또는 반전시켜서 반복하거나 큰 소리로 시작해 어택 상태없이 서스테인 레벨을 감소시키는 것 등을 할 수 있다.
8910 시리즈
8910 칩은 3가지 패키지로 판매되었다.
- AY-3-8910 : 40핀 DIP 패키지, 범용 8비트 병렬 I/O 포트 2개(A와 B) 지원
- AY-3-8912 : 28핀 DIP 패키지, 범용 8비트 병렬 I/O 포트(B), 작은 패키지로 생산 비용과 보드 크기를 둘일 수 있다. 8912는 가장 널리 사용된 버전이다. 핀 수가 8912에 비해 별로 줄지 않아서 주목을 받지 못했다.
- AY-3-8913 : 24핀 DIP 패키지, 병렬 I/O 포트는 없음, 핀 수가 8912에 비해 별로 줄지 않아서 큰 주목을 받지는 못했다.
호환 제품
- 야마하 YM2149는 SSG라 불리며 AY-3-8910과 핀 아웃이 동일하다. 차이점은 1/2 주파수 디바이더를 내장해 26번 핀이 LOW 상태일 경우 마스터 주파수는 절반이 되어 음량을 2배인 32단계로 제어할 수 있다. HIGH 상태에서는 AY-3-8910 동일하게 작동한다.
- AY-3-8914는 40핀 DIP 패키지로 AY-3-8910과 핀 아웃이 같으며 차이점은 레지스터가 8910과 다르게 배치되어 있다. 이 칩은 마텔 인텔리비전에 사용되었다.
- AY-3-8930은 AY8930으로 알려졌으며 AY-3-8910의 개선된 버전으로 하위 호환성은 있다. BC2 핀은 사용하지 않게 변경된 것 외에는 8910과 핀 아웃이 같다. 이 칩은 많은 부분이 대폭 강화되었는데 이전의 8910이 하나의 엔벨로프를 공유하던 것에서 3채널 모두 독립된 엔벨로프를 지원하며 고정되어 있던 듀티 사이클(duty cycle)도 변경할 수 있다. 음색 주파수, 음량, 엔벨로프 주파수가 더 많은 비트를 사용해 높은 정밀도를 가지며 노이즈 제네레이터도 더 많은 설정을 할 수 있게 되었다. 8930은 IBM-PC 사운드카드인 코복스 사운드 마스터 +에 사용되었다. 이 칩은 마이크로 테크놀로지에서만 생산하였다.