AY-3-8910

La versión actual de la página aún no ha sido revisada por colaboradores experimentados y puede diferir significativamente de la versión revisada el 16 de marzo de 2021; las comprobaciones requieren 6 ediciones .

AY-3-8910  es un microcircuito que es un generador de sonido de tres canales ( PSG , Programmable Sound Generator en la terminología del fabricante ). Desarrollado por General Instrument (actual Microchip ), originalmente destinado a ser utilizado con el procesador CP1610 de 16 bits (una versión simplificada del CP1600 ) de la misma empresa y con microcontroladores de 8 bits de la serie PIC1650. AY-3-8910 y sus variantes se han utilizado ampliamente en muchas máquinas recreativas , consolas de juegos y computadoras domésticas.. Además de General Instrument, este microcircuito fue fabricado bajo una licencia de desarrollador por Microchip (en ese momento, un fabricante externo de cristales), Micrel (bajo el nombre original) y otros (bajo varios nombres), así como por Yamaha (bajo el nombre - SSG,YM2149F Generador de sonido controlado por software según la terminología del fabricante ).

Uno de los primeros usos del AY-3-8910 data de 1980, en la máquina tragamonedas Carnival de Sega , y más tarde en la plataforma MSX . Los chips compatibles con AY-3-8910 todavía se usan en la actualidad. Su producción ha cesado, sin embargo, se ha conservado un stock de microcircuitos producidos anteriormente y continúan vendiéndose, por ejemplo, para la reparación de sistemas informáticos antiguos. Hay una implementación VHDL del chip para usar en réplicas FPGA de máquinas tragamonedas y otros sistemas informáticos retro. El código fuente VHDL está disponible gratuitamente en Internet, en forma compilada ocupa alrededor del 10 por ciento del volumen del FPGA Xilinx XC2S300.

Se cree que el AY-3-8910 tiene capacidades de generación de sonido similares al chip Texas Instruments SN76489 (construido y vendido en el mismo período de tiempo). Sin embargo, aunque sus características generales son similares, estos chips tienen capacidades bastante diferentes. El uso creativo del AY-3-8910 le permite obtener un sonido mucho más complejo que el SN76489, gracias a la presencia en el AY-3-8910 de la llamada envolvente , que se puede programar a un no estándar ( frecuencia de audio.

Fama en Rusia

En Rusia, el chip AY-3-8910 ganó fama debido a su uso en la computadora ZX Spectrum 128 y, en consecuencia, en sus numerosos clones . Durante la popularidad del ZX Spectrum en Rusia, hubo más de mil personas que escribieron música para el AY-3-8910. En total, se escribieron más de 25.000 canciones para el chip. [1] Este microcircuito creó su propia subcultura entre los músicos informáticos rusos de principios de la década de 1990, similar a la creada por el microcircuito SID informático Commodore 64 en otros países. Actualmente, hay algunos entusiastas que continúan escribiendo música para AY-3-8910. Como parte de varios festivales de arte por computadora, como Chaos Constructions , DiHalt , ASCiI , ArtField y otros, también hay competencias para escribir música para este chip.

Los radioaficionados conectaron AY-3-8910 a muchas computadoras domésticas, en particular, a Vector-06Ts , Orion -128 , BK-0011 e IBM PC , así como a teléfonos con identificador de llamadas Rus "Sonata".

Descripción

AY-3-8910 tiene las siguientes características:

AY-3-8910 es una máquina de estado cuyo estado se establece mediante dieciséis registros de 8 bits. Se programan a través de un bus externo de 8 bits, que se utiliza tanto para la transferencia de datos como para configurar la dirección del registro; el modo se cambia cambiando el nivel en un pin especial del microcircuito. Ciclo típico de transferencia de valores: el bus cambia al modo de dirección, la dirección se transfiere, el bus cambia al modo de transferencia de datos, los datos se transfieren. Este bus se implementó originalmente en los propios procesadores de GI, pero tuvo que ser recreado con lógica o un adaptador de interfaz adicional como la tecnología MOS 6522, sin embargo, el chip se usó con la tecnología mucho más común MOS 6502 o Zilog Z80.

Los seis registros R0..R5 controlan la frecuencia de sonido generada por los tres canales principales configurando el valor del divisor de reloj de entrada. El divisor se almacena en dos registros de 8 bits para cada uno de los canales, pero la capacidad real del contador divisor es de 12 bits, lo que da 4095 valores de frecuencia de sonido (0 y 1 son equivalentes).

El registro R6 establece el valor del período de 5 bits para el generador de ruido pseudoaleatorio.

El registro R7 es un mezclador lógico que contiene dos bits para cada canal, dependiendo de cuál sea la señal del generador de ruido o del generador de envolvente que se mezcle en los canales. También en el registro R7 hay dos bits de control de puerto de E/S de propósito general.

Tres registros R8..R10 controlan el volumen de los tres canales principales (16 niveles), y también tienen un bit para habilitar el uso de la envolvente.

Los tres registros R11..R13 controlan la frecuencia (dos registros, valor de 16 bits) y la forma de onda (un registro, 16 opciones) de la señal del generador de envolvente tipo ADSR . A diferencia de la mayoría de los sistemas, el 8910 utiliza tiempos fijos para las fases de meseta y caída , y una secuencia repetitiva de fases de ataque y caída . Por ejemplo, el generador puede repetir constantemente el ciclo ataque-caída, o viceversa, partiendo del nivel máximo, reduciéndolo gradualmente, sin fase de ataque.

Los registros R14 y R15 controlan el estado de las líneas de entrada/salida de los puertos de E/S de propósito general.

Versiones

El cristal 8910 original tenía tres versiones.

AY-3-8910 tenía dos puertos de E/S paralelos de propósito general de ocho bits: A y B. Hecho en un paquete de 40 pines (DIP40).

AY-3-8912 se fabrica en un paquete de 28 pines (DIP28). Las señales del puerto B no se enrutan a pines externos. Este diseño redujo el costo del microcircuito y sus dimensiones, lo que hizo que este diseño fuera el más popular.

AY-3-8913 se fabrica en un paquete de 24 pines (DIP24). Las señales de los puertos A y B no se muestran. En comparación con 8912, las dimensiones han disminuido de manera insignificante y la funcionalidad ha disminuido, por lo que esta versión ha recibido la menor distribución.

La asignación de pines del YM2149F es la misma que la del AY-3-8910, con la excepción del pin 26, que enciende el divisor de frecuencia de entrada interno a la mitad cuando se conduce a nivel bajo. Si este pin no está conectado en ninguna parte, el microcircuito funciona de la misma manera que AY-3-8910. Además del divisor de frecuencia de entrada incorporado, el YM2149 tiene una diferencia en la profundidad de bits del DAC envolvente : 5 bits en lugar de 4 (con una escala logarítmica). Además, solo los inferiores se utilizan para el tono. (silencioso) 4 bits. Esto crea una diferencia en el timbre del sonido de la envolvente, haciéndolo más brillante pero permitiendo una mayor flexibilidad en los graves.

YMZ284-D está hecho en un paquete de 16 pines (DIP16). YMZ284-M se fabrica en un paquete de 16 pines (SOIC16). Funcionalmente y el software es totalmente compatible con AY-3-8910, AY-3-8912 y AY-3-8913. Una característica distintiva es una pequeña cantidad de pines, una interfaz simplificada, una salida de audio mono.

Microchip AY38910A se fabrica en un paquete de 40 pines (DIP40). Totalmente compatible con YAMAHA YM2149f .

Microchip AY8930 . Compatible con Microchip AY38910A . Se puede cambiar al modo extendido: no un período de tono de 4 a 8 bits, no un período de ruido de 5 a 8 bits, el ruido no es generado por el mecanismo LFSR duro, sino con máscaras AND y OR programables adicionales.

Winbond WF19054 , China JFC95101 , WB5300 y Jile KC89C72 IC también son clones de AY-3-8910.

Uso creativo

Aunque el microcircuito no tiene capacidades especiales para reproducir sonidos digitalizados, puede implementarse en software utilizando un DAC de 4 bits de uno o más canales con generación de tono y ruido prohibida por el mezclador lógico. Este enfoque requiere más tiempo de CPU que el uso de chips diseñados específicamente para la reproducción de audio digital (como el chip Paula en la computadora Commodore Amiga ). Sin embargo, fue ampliamente utilizado en plataformas como la computadora Atari ST para reproducir música digital y en el Amstrad CPC para reproducir efectos de sonido cortos en algunos juegos.

Usando la misma técnica, pero sin desactivar la generación de tonos, es posible ampliar las posibilidades de generar varios timbres . En este caso, cambiar el nivel de salida DAC del canal se utiliza para modular el tono con una frecuencia diferente. De esta forma, puedes conseguir, por ejemplo, tres envolventes de amplitud independientes de cualquier forma, o timbres que se asemejan al sonido de un chip SID . Para implementar este método de manera efectiva, el sistema debe poder interrumpir el procesador a una frecuencia suficientemente alta; por ejemplo, en la computadora Atari ST, donde esta técnica se usó más activamente, se usó una interrupción al comienzo de la línea de trama. En los sistemas que no tienen tales capacidades de hardware, se requerirá casi todo el tiempo del procesador para implementar dicho efecto. Hay una demostración de Digisid que ejecuta el efecto en una computadora ZX Spectrum que no tiene capacidades de hardware similares a Atari ST.

En 2006, dos desarrolladores de software para MSX crearon un codificador avanzado que convierte los archivos de onda en los datos más adecuados para los canales AY utilizando el algoritmo de búsqueda de Viterbi . Esto hizo posible reproducir un archivo de onda de 44.100 hercios en una computadora MSX de 23 años , con una relación señal-ruido superior a la de un DAC de 8 bits. El algoritmo de Viterbi requiere muchos recursos, no se podía usar en los años 80, ya que en ese momento no había computadoras lo suficientemente poderosas para realizar tal transformación.

Algunas personas, especialmente los usuarios de la computadora ZX Spectrum, usan el chip AY para crear música, incluso para conciertos. .

Lista de sistemas

Lista parcial de sistemas que han utilizado el 8910 o variantes. No incluye varias máquinas tragamonedas, cuyo número supera las mil.

Consolas de juegos:

Ordenadores domésticos. Muchos de ellos tienen muchos modelos de diferentes fabricantes:

Editores de música

Para las computadoras que usaban el chip AY-3-8910, se crearon una gran cantidad de editores de música usando sus capacidades de generación de sonido. La mayoría de ellos tenían una interfaz de seguimiento . A menudo tenían un gran parecido con los primeros rastreadores que aparecieron en la computadora Amiga  , por ejemplo, The Ultimate Soundtracker (1987), NoiseTracker (1989), ProTracker (1991). Además, se utilizaron nombres similares o completamente idénticos como nombres de dichos programas. Por esta razón, los nombres de diferentes programas de diferentes autores en diferentes plataformas, e incluso dentro de la misma plataforma, también solían coincidir.

La siguiente es una lista parcial de editores de música para el AY-3-8910. No incluye editores orientados a muestras (los llamados editores de música digital). Algunos de los editores se lanzaron solo en versiones de demostración. La lista incluye solo aquellas versiones de demostración que tenían la funcionalidad básica, es decir, te permitían editar música.

Además de los editores de música, existen programas más especializados diseñados para crear efectos de sonido (por ejemplo, para usar en juegos).

Mayor desarrollo

Yamaha usó el núcleo YM2149F en toda una familia de chips musicales que se usaban en teléfonos móviles, videojuegos, etc. Por ejemplo, el chip YM2203 (también conocido como OPN), además de su propio sintetizador de modulación de frecuencia (FM), contiene un análogo completo del YM2149F, totalmente compatible en términos de números y propósito de los registros (sin embargo, el siguiente chip de la serie, YM2612 , contiene solo la parte FM 2203).

Muchas computadoras MSX2 y algunas computadoras MSX1 usan LSI de "chipset" especializados de diferentes compañías. Estos son, por ejemplo, los microcircuitos Yamaha S1985 , S3527 , Toshiba T7775 , T7937 , T9769 . Además de una gran parte del circuito de la computadora, también contienen un análogo completo del YM2149F.

Philips desarrolló el chip SAA1099 (utilizado en la computadora SAM Coupé y en las primeras tarjetas de sonido de Creative Labs para la PC de IBM ). Sus capacidades son similares a las de los dos AY-3-8910 (6 canales, 2 envolventes, 2 generadores de ruido), con algunas adiciones. Sin embargo, falta compatibilidad de software y hardware.

Emulación

Además de implementar la emulación de chips en los emuladores de varios sistemas que la utilizan, existen emuladores de chips separados. Le permiten reproducir música escrita para varios sistemas y guardada en sus formatos especiales en una PC normal. Como es el caso con otros chips generadores de sonido similares, la emulación de software tiene algunas diferencias en el sonido en comparación con el chip real, y quizás incluso una diferencia para mejor (sonido más claro, sin distorsión, lo que hace que el sonido sea algo diferente del original). Si en el caso de otros microcircuitos más complejos, estas diferencias surgen debido a una emulación inexacta de la lógica de los microcircuitos, entonces en el caso de AY-3-8910 y microcircuitos compatibles, todas las sutilezas y diferencias en su trabajo se estudian a fondo. , y el problema del sobremuestreo se convierte en la principal fuente de diferencias ( remuestreo ) de la señal (el chip permite generar sonido con frecuencias de hasta varios cientos de kilohercios).

Notas

  1. Estadísticas de la colección ZX TUNES . Consultado el 22 de mayo de 2009. Archivado desde el original el 23 de agosto de 2021.
  2. [extensión de cromo://oemmndcbldboiebfnladdacbdfmadadm/ http://map.grauw.nl/resources/sound/generalinstrument_ay-3-8910.pdf hoja de datos] .

Enlaces