Instrumento general AY-3-8910 - General Instrument AY-3-8910

AY-3-8910 chip DIP 40
AY-3-8910 muere

El AY-3-8910 es un generador de sonido programable (PSG) de 3 voces diseñado por General Instrument en 1978, inicialmente para su uso con su CP1610 de 16 bits o uno de la serie PIC1650 de microcomputadoras de 8 bits. El AY-3-8910 y sus variantes se usaron en muchos juegos de arcade (el Gyruss de Konami contiene cinco) y máquinas de pinball , además de ser el chip de sonido en las consolas de videojuegos Intellivision y Vectrex , y en Amstrad CPC , Oric-1 , Color Computadoras domésticas Genie , Elektor TV Games , MSX y posteriores ZX Spectrum . También se usó en las tarjetas de sonido Mockingboard y Cricket para Apple II y en el cartucho de voz / sonido para la computadora a color TRS-80 .

Después de la escisión de Microchip Technology de General Instrument en 1987, el chip se vendió durante algunos años bajo la marca Microchip. También fue fabricado bajo licencia por Yamaha (con un pin divisor de reloj seleccionable y una tabla de envolvente de volumen de doble resolución y doble velocidad) como el YM2149F ; el Atari ST usa esta versión. Produce resultados muy similares a los de Texas Instruments SN76489 y estuvo en el mercado por un período similar.

Los chips ya no se fabrican, pero los clones funcionalmente idénticos todavía están en producción activa. Una descripción de VHDL no oficial está disponible gratuitamente para su uso con FPGA .

Descripción

El AY-3-8910 era esencialmente una máquina de estado , y el estado se configuraba en una serie de dieciséis registros de 8 bits . Estos se programaron en un bus de 8 bits que se utilizó tanto para direccionamiento como para datos alternando uno de los pines externos. Por ejemplo, un ciclo de configuración típico pondría el bus en "modo de dirección" para seleccionar un registro, y luego cambiaría al "modo de datos" para configurar el contenido de ese registro. Este bus se implementó de forma nativa en las propias CPU de GI, pero tuvo que ser recreado en lógica de pegamento o con la ayuda de un adaptador de interfaz adicional como el MOS Technology 6522 cuando el chip se usó con la mucho más común MOS Technology 6502 o Zilog Z80. CPU.

Seis registros controlaban los tonos producidos en los tres canales primarios. La longitud de onda a generar se mantuvo en dos registros de ocho bits dedicados a cada canal, pero el valor se limitó a 12 bits por otras razones, para un total de 4095 (el valor del registro se usa como divisor de frecuencia y 0 se trata como 1) diferentes lanzamientos. Otro registro controlaba el período de un generador de ruido pseudoaleatorio (un total de 31 tiempos de ciclo diferentes), mientras que otro controlaba la mezcla de este ruido en los tres canales primarios.

Tres registros adicionales controlaban el volumen de los canales, además de activar o desactivar los controles de envolvente opcionales en ellos. Finalmente, los últimos tres registros controlaron los tiempos del controlador de envolvente , estableciendo el tipo de envolvente y el tiempo de ciclo de envolvente. Un total de ocho tipos de envolvente incluyen forma de diente de sierra o forma de triángulo, comenzando con el máximo o el mínimo. La forma también se puede configurar para que se repita para un efecto de ciclo. Se pueden configurar un total de 65535 tiempos de ciclo diferentes. Como solo había una envolvente compartida entre los tres canales, muchos programadores la ignoraron y programaron sus propios controladores de envolvente en el software (controlando el volumen directamente). Un truco bien conocido consistía en ejecutar la envolvente del hardware en tiempos de ciclo superiores a 20 Hz para producir sonidos graves de diente de sierra o de onda de pulso.

Aunque solo hay 16 registros, los cuatro bits MSB del bus de 8 bits deben establecerse en el valor predeterminado de fábrica '0000' al seleccionar un registro. La configuración incorrecta de los bits MSB hace que el chip ignore el cambio de registro. General Instruments tomó pedidos de bits MSB personalizados (configurados de fábrica en un valor distinto de '0000'). Los chips fabricados con bits de registro MSB personalizados permiten que el mismo procesador controle más de un chip AY en el mismo bus (por ejemplo, tarjeta de sonido Mockingboard para Apple o TurboSound para ZX Spectrum). Hay muchos chips nuevos y antiguos (NOS) en el mercado secundario con bits MSB configurados de fábrica a un valor que no es '0000 '. El valor distinto de 0000 puede causar problemas de desarrollo importantes para los diseñadores y técnicos de reparación. El software debe estar escrito para identificar el valor correcto de los bits MSB en cualquier chip dado. Además, se debe cambiar el software o agregar hardware para permitir que estos chips MSB configurados de fábrica se utilicen en lugar de los chips '0000' predeterminados.

El AY-3-8910 genera tonos con frecuencias base de hasta 125 kHz (reloj de entrada de 4 MHz o 6 MHz con el YM2149F), mucho más allá de la percepción humana y dentro del rango ultrasónico. La existencia de valores ultrasónicos es consecuencia del diseño del divisor de frecuencia; Para tener una resolución adecuada en frecuencias audibles, es necesario que la frecuencia de reloj general (y por lo tanto la salida en divisores pequeños) sea considerablemente más alta que el rango audible. Solo los divisores por debajo de 5 dan frecuencias de salida completamente ultrasónicas. Las frecuencias equivalentes a la octava superior de un teclado de piano se pueden definir con una precisión razonable en comparación con los valores de nota aceptados para la escala de temperamento uniforme, con una precisión de casi 1 Hz en el rango A440 e incluso más finamente en tonos más bajos. A pesar de la frecuencia máxima alta, la capacidad de dividir esa cifra por 4096 significa que la frecuencia de salida más baja directamente definible es 30,6 Hz, aproximadamente igual a B0, la tercera nota más baja en un piano normal de 88 teclas, y tan buena como subsónica con el altavoz de todos los días. sistemas. En esencia, el chip puede producir una salida musical decente en todos los tonos razonables que se encuentran en la mayoría de las composiciones.

Por el contrario, el SN76489 solo tiene 10 bits de precisión para sus divisores de frecuencia. Al tener la misma frecuencia base de 125 kHz, en teoría debería carecer de las dos octavas más bajas del PSG. Para evitar esto, el SN76489 reproduce sus generadores de tono una octava por debajo de su frecuencia calculada, lo que le da una octava menos en los graves y una octava menos en la parte superior en comparación con el PSG.

Variantes

Chip AY-3-8912, paquete DIP de 28 pines con tornillo de caja de computadora para báscula
Chip YM2149F, paquete DIP de 40 pines

El chip de silicio 8910 se vendió en tres paquetes diferentes.

El AY-3-8910 tiene dos puertos de E / S paralelos de 8 bits de uso general , A y B, y estos están disponibles en el paquete de 40 pines del mismo nombre.

El AY-3-8912 es el mismo chip en un paquete de 28 pines, con el puerto paralelo B simplemente no conectado a ningún pines. Los paquetes más pequeños ahorran costes y espacio en la placa. El 8912 fue la variante más utilizada.

El AY-3-8913 es el mismo chip en un paquete de 24 pines, con ambos puertos paralelos no conectados. Algunos usuarios pensaron que la pequeña reducción en el número de pines en comparación con el 8912 lo hacía menos interesante; sin embargo, los diseñadores rara vez usaban los registros de E / S, por lo que General Instruments creó esta alternativa de 24 pines completamente funcional y la lanzó aproximadamente 6 meses después de los chips 8910 y 8912. El objetivo era reducir la complejidad para el diseñador y reducir la huella en la PCB.

El chip Yamaha YM2149F 'SSG' tiene el mismo pinout que el AY-3-8910, con la pequeña diferencia de que el pin 26 podría reducir a la mitad el reloj maestro si se baja. Si se deja desconectado, como lo sería si se reemplazara un chip AY-3-8910, una resistencia interna tira del pin hacia arriba, por lo que el reloj maestro no se reduce a la mitad.

El Yamaha YM3439 es una versión CMOS del YM2149F. Está disponible en dos paquetes: DIP de 40 pines (YM3439-D) y QFP de 44 pines (YM3439-F).

El Yamaha YMZ294 es una de las variantes más nuevas del YM2149, pero en un paquete de 18 pines. No tiene puertos paralelos y solo una salida de sonido con los tres canales mezclados.

El Yamaha YMZ284 es una variación aún más pequeña del YM2149, en un paquete de 16 pines. Es básicamente YMZ294 sin el pin de selección de 4/6 MHz y el pin / TEST.

El Yamaha YMZ285 tiene un paquete de 28 pines y cuenta con un PCM incorporado. No tiene puertos paralelos y dos salidas de sonido: una con los tres canales SSG mezclados, otra con la salida PCM.

El Toshiba T7766A es un chip compatible que tiene el mismo pinout que el AY-3-8910 y se usó en algunos modelos MSX .

El Winbond WF19054 , JFC 95101 y el archivo KC89C72 tienen el mismo pinout que el AY-3-8910 y también son 100% compatibles con el software. Todavía están en producción y se utilizan en muchas máquinas tragamonedas .

El AY-3-8914 tiene el mismo pinout y está en el mismo paquete de 40 pines que el AY-3-8910 , excepto que los registros de control en el chip se mezclan y la 'entrada esperada' en el pin A9 puede ser diferente. Se utilizó en la consola Intellivision de Mattel y en la computadora Aquarius .

El AY-3-8930 , también conocido como AY8930 , es una versión mejorada pero en su mayoría compatible con versiones anteriores del AY-3-8910 . La función del pin BC2 se cambia (se ignora y se asume que es 0 independientemente del estado del pin); de lo contrario, el pinout es el mismo que el del AY-3-8910 . Esta variante del chip agrega una serie de mejoras importantes, como envolventes separadas para los tres canales (a diferencia de una envolvente compartida), ciclos de trabajo variables, más bits de precisión para la frecuencia de la nota, el volumen y la frecuencia de la envolvente, y una generador de ruido mucho más configurable. Se utilizó en la tarjeta de sonido Covox Sound Master para IBM-PC. Muy pocos juegos lo aprovecharon más allá de las características normales del AY-3-8910 . Es posible que este chip solo haya sido producido por Microchip Technology .

Fichas relacionadas

Yamaha utilizó el núcleo YM2149 para producir toda una familia de chips de música que se utilizaron en teléfonos móviles, ordenadores domésticos, sistemas de videojuegos domésticos y recreativos, etc. Por ejemplo, el YM2203 (también conocido como OPN) es un YM2149 plus FM . Además de sus sucesores mucho más avanzados: el YM2608 (también conocido como OPNA) que retuvo todas las características anteriores y se expandió en gran medida sobre ellos, el YM2612 (también conocido como OPN2) que eliminó muchas características, incluidos los canales de sonido YM2149 y los puertos de E / S. y el YM2610 (OPNB) que agregó otras características y retuvo el sonido YM2149 pero no los puertos de E / S.

Uso

Juegos arcade

Hardware para el hogar

Referencias

enlaces externos