Konami SCC

El Konami SCC ( Sound Custom Chip o Sound Creative Chip ) es un componente electrónico, un chip generador de sonido, desarrollado por Konami junto con Yamaha para su uso en ordenadores de consumo MSX . Una posible razón para su creación fueron las capacidades limitadas del chip General Instrument AY-3-8912 (PSG), que se utiliza como generador de sonido estándar en las computadoras MSX, que no satisfacía las necesidades de Konami .

Descripción

Los juegos que usaban SCC contenían este chip en la placa del cartucho del juego . Además de las funciones reales de generación de sonido, el SCC tenía un circuito de control de memoria ampliado incorporado, que hizo posible prescindir de un microcircuito separado para la gestión de la memoria. Casi todos los juegos MSX posteriores de Konami desde 1987 usan el chip SCC. Entre ellos se encuentran juegos como Gradius 2 y Metal Gear 2 . Además de usarse en computadoras MSX, el chip SCC también se usó en algunas máquinas tragamonedas, por ejemplo: Haunted Castle, City Bomber, Hexion, Nyan Nyan Panic.

En el empaque de cada uno de los juegos que usan SCC, hay una inscripción "... nuevo chip de sonido personalizado LSI polifónico de 8 voces montado". (“... se ha instalado un nuevo BIS polifónico de ocho voces.”). Sin embargo, SCC contiene solo 5 canales de audio. Los tres canales restantes son los canales del chip PSG normal, que está presente en cualquier computadora MSX.

El microcircuito está hecho en un paquete DIP48 . En el cuerpo de cada microcircuito hay una marca KONAMI 051649 2212P003 JAPAN , seguida de un código para la fecha y el lugar de producción, por ejemplo 8750AAA . Los dos primeros dígitos son el año, los dos siguientes son la semana del año. Las letras son la designación del código de la planta de fabricación y el lote.

Se usó una versión ligeramente mejorada, llamada SCC-I o informalmente SCC+ , en el cartucho de expansión Konami Sound Cartridge que venía con los juegos Snatcher y SD Snatcher . Además del chip SCC, este cartucho contiene 64 kilobytes adicionales de RAM .

Especificaciones


Lista de juegos

El chip SCC está presente en la placa del cartucho de los siguientes juegos de MSX (código del cartucho y año de lanzamiento entre paréntesis):

Juegos oficiales compatibles con SCC, publicados en otros medios:

Además de los juegos oficiales, SCC cuenta con el apoyo de una serie de programas creados por aficionados: juegos, revistas electrónicas, discos de música. También había editores de música para el MSX, ambos completamente orientados al uso del chip SCC y apoyándolo junto con otros dispositivos de sonido.

Emulación

La emulación SCC se implementa en muchos emuladores de computadora MSX modernos, así como en el emulador de máquinas tragamonedas multisistema MAME . SCC también es compatible con complementos para reproducir música en formato KSS .

Detalles técnicos

La parte de audio del chip SCC es un sintetizador primitivo de cinco canales basado en la síntesis de ondas . Cada uno de los canales tiene la capacidad de encenderse/apagarse programáticamente, cambiar el volumen y la frecuencia, así como asignar una forma de onda arbitraria, definida por una muestra de 32 bytes . Los canales 4 y 5 comparten un búfer de muestra, por lo que el chip contiene 128 bytes de memoria en el chip.

El sonido es generado por un circuito totalmente digital y se emite como un código paralelo de 6 bits, convertido por un DAC externo de 11 bits (circuito R-2R de cadena simple) en una señal analógica.

La siguiente es una descripción técnica del proceso de programación de chips en computadoras MSX. Dado que la documentación oficial del microcircuito no estaba disponible públicamente, toda esta información se obtuvo mediante ingeniería inversa .

Registros de control

El SCC se controla a través de puertos de E/S mapeados en memoria. Para inicializar el microcircuito, es necesario escribir el número 3Fh (los dos bits superiores no se usan, por lo que también se puede usar el número FFh) en cualquier celda de memoria en el rango de direcciones 9000h ... 97FFh. Después de la inicialización, puede controlar el SCC escribiendo y leyendo datos en el área de direcciones 9800h…9FFFh.

Dirección Escribe Lee Objetivo
9800h - 981Fh escribir y leer Forma de onda del canal 1
9820h - 983Fh escribir y leer Forma de onda del canal 2
9840h - 985Fh escribir y leer Forma de onda del canal 3
9860h - 987Fh escribir y leer Forma de onda de los canales 4 y 5
9880h - 9881h Solo grabar Frecuencia del canal 1
9882h - 9883h Solo grabar Frecuencia del canal 2
9884h - 9885h Solo grabar Frecuencia del canal 3
9886h - 9887h Solo grabar Frecuencia del canal 4
9888h - 9889h Solo grabar Frecuencia del canal 5
988ah Solo grabar Volumen del canal 1
988bh Solo grabar Volumen del canal 2
988 canales Solo grabar Volumen del canal 3
988Dh Solo grabar Volumen del canal 4
988Eh Solo grabar Volumen del canal 5
988Fh Solo grabar Canales habilitar/deshabilitar bits 1..5
9890h - 989Fh Similar a las direcciones 9880h...988Fh
98A0h - 98DFh No utilizado
98E0h - 98FFh escribir y leer Distorsión de registro

La forma de onda del canal está definida por 32 bytes con signo y es una muestra de un período de forma de onda. Determina directamente el timbre del sonido del canal. La reproducción ocurre cíclicamente, desde el byte 0 al byte 31, y nuevamente.

La frecuencia del canal se configura de la misma manera que PSG. Este es el valor de 12 bits del divisor de reloj del chip, cuanto mayor sea el valor del divisor, menor será el tono generado. El primer byte contiene los 8 bits inferiores, el segundo - los bits superiores 4. Los bits 4..7 del segundo byte no se utilizan.

La fórmula para calcular el divisor para obtener la frecuencia requerida también es similar a PSG:

 - frecuencia de reloj de la computadora (siempre igual a 3579545 Hz en MSX ), P - el divisor de 12 bits resultante.

El volumen de los canales también se configura de la misma manera que PSG, pero no hay soporte para la envolvente de amplitud. Los 4 bits inferiores contienen el volumen, 0 es el mínimo (silencio), 15 es el máximo). Los 4 bits superiores no se utilizan.

El registro de activación/desactivación del canal utiliza cinco bits. El bit 0 corresponde al primer canal, el bit 4 al quinto. La configuración del bit enciende el canal, el reinicio lo apaga. Los tres bits restantes no se utilizan.

Registro de distorsión (98E0h)

Este registro no se ha utilizado en ningún juego de Konami . Todas las direcciones en el área de memoria 98E0h…98FFh se refieren al mismo registro. Restablecer el SCC establece su valor en 0.

Los dos bits inferiores del registro controlan el preescalador del reloj y, en consecuencia, afectan las frecuencias producidas por los canales. Si estos dos bits se establecen en 01, todas las frecuencias generadas se multiplican por 256. Si se establecen en 11 o 10, las frecuencias se multiplican por 16.

Si se establece el bit 5, la reproducción de la muestra de forma de onda comienza desde el principio cada vez que se escribe en el registro de frecuencia del canal correspondiente.

Si se establece el bit 6, los datos de forma de onda comienzan a cambiar a la velocidad dada por:

Esto hace que sea imposible escribir en el búfer de forma de onda.

Si los bits 6 y 7 se establecen en 01, los canales 4 y 5 generan ruido. Si se establecen en 11, se genera ruido de envolvente de amplitud.

La lectura de este registro siempre devuelve FFh mientras se establece el bit 6 del registro. Dado que los datos de forma de onda cambiarán después de eso, los valores leídos en las direcciones 9800h..987Fh cambiarán en cada lectura siguiente.

Detalles sobre las direcciones de memoria

El área de memoria 9800h..987Fh contiene RAM mientras se restablece el registro de distorsión. El área de memoria 9880h..98FFh está disponible solo para escritura, si intenta hacer lecturas, siempre devolverá el valor FFh. Se debe tener cuidado al leer el registro de distorsión, ya que establece su bit 6.

El área de memoria 9900h..99FFh tiene exactamente el mismo propósito que las áreas de memoria 9800h..98FFh, 9900h..99FFh y así sucesivamente hasta 9F00h..9FFFh. Esto se debe a una decodificación de direcciones incompleta para el chip SCC, las líneas de dirección A8...A10 no participan en la decodificación de direcciones.

Véase también

Enlaces