Remove ads
chip de sonido para SNES De Wikipedia, la enciclopedia libre
El SONY SPC700 o Nintendo S-SMP es el chip de sonido de 8 bits diseñado por Ken Kutaragi y usado en la videoconsola Super Nintendo Entertainment System (SNES) junto con un procesador digital de señal (DSP). El SPC700 y su DSP acompañante de 16 bits fueron desarrollados y fabricados por Sony, que más tarde entraría en el mercado de los videojuegos con su PlayStation. El S-DSP era muy avanzado para su época (1989) y en cierto modo puede decirse que rivalizaba con las tarjetas de sonido de síntesis mediante tabla de ondas.
Dentro de la SNES el SPC700 está situado sobre el DSP, en el lado izquierdo del módulo de sonido. El chip contiene 64KB de RAM interna y funciona a 2,048 MHz. Tiene seis registros internos y puede ejecutar 256 opcodes. Los samples de sonido se almacenan en RAM formato comprimido (basado en 4-bit ADPCM, llamado Bit Rate Reduction, BRR, formato propietario). El conjunto de instrucciones del SPC700 es muy parecido al de la familia de procesadores 6502, pero incluye instrucciones adicionales, como XCN, que intercambian las porciones de 4 bits inferiores y superiores del acumulador de 8 bits, y una instrucción para multiplicar 8 por 8 bits en un resultado de 16.
El SPC700 funciona de una manera bastante poco convencional para un procesador de sonido. La CPU principal de la SNES transfiere bloques de datos que contienen comandos y muestras de sonido a la memoria interna del SPC700. Estos comandos son programas en código máquina desarrollados para el SPC700 de forma similar a como se escriben los programas para los ordenadores convencionales. Como ello, el SPC700 puede considerarse un coprocesador dedicado al sonido en la SNES. El nombre del formato de sonido relacionado con la emulación .SPC procede del nombre de este procesador.
El DSP acompañante del SPC700 funciona de forma parecida a las tarjetas de sonido modernas de síntesis mediante tabla de ondas, como por ejemplo la Sound Blaster Audigy. Es capaz de generar 8 voces simultáneas en cualquier tono y volumen. Soporta el panning de voces, el control del envolvente acústico, el eco con filtro (mediante un FIR programable de 8 términos) y el uso de ruido como fuente sonora (útil para ciertos efectos sonoros tales como el viento). Genera una salida de audio estéreo de 16 bits a una frecuencia de muestreo de 32 kHz. La comunicación entre el SPC700 y el DSP se realizan mediante E/S mapeada en memoria (MMIO). Debido al tipo de interpolación (Gaussian), la claridad del sonido se nota de menor calidad, muchos emuladores implementaron diferentes interpolaciones para mejorar considerablemente la calidad sonora.
La memoria RAM es accedida a 3.072 MHz mediante tres accesos, multiplexado entre el S-SMP y el S-DSP, un acceso y dos accesos, respectivamente. Esta ram es usada para almacenar el código del S-SMP y de la pila o stack, así como muestras de sonido y una tabla de punteros a éstos, y el buffer de eco para el S-DSP. Su tamaño es de 64KB.
Algunos desarrolladores enviaban bloques BRR a la RAM en medio de una reproducción, esto servía para "sobrepasar" el límite de 64KB de RAM, un ejemplo notable son las vocales de "Yume wa Owaranai" de Tales of Phantasia.
Además de las capacidades estéreo, el S-DSP soporta volúmenes en fase invertida (al igual que el filtro FIR), el cual sirve para enviar señal en un decodificador compatible con sonido envolvente (surround sound).[2]
La modulación de tono (pitch modulation) consiste en una forma muy primitiva de obtener síntesis de frecuencia modulada. Esta característica se puede usar en los siguientes canales: [3]
Modulación de tono Canales 7 6 5 4 3 2 1 0 +-----+-----+-----+-----+-----+-----+-----+-----+ |VOIC6|VOIC5|VOIC4|VOIC3|VOIC2|VOIC1|VOIC0| - | +-----+-----+-----+-----+-----+-----+-----+-----+
Como se puede observar, donde VOICn representa un canal, y n es el número del otro canal. Tome en cuenta que el canal 0 no se puede hacer este effecto. Su funcionamiento consiste en multiplicar el tono actual de un canal n por OUTX más uno del canal previo. Esto se traduce matemáticamente de la siguiente manera:
Pm = p[n] * (1 + OUTX[n-1])
Donde Pm es modulación de tono, p es tono y n es el número del canal
Su uso consiste en usar dos canales:[4]
Esto puede generar sonidos muy similares a los que pudieron los chips de FM aquella época (1989).[5]
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.