El SID tiene 29 registros que controlan la generación de
sonido. Estos registros pueden ser tanto de solo-lectura como de
solo-escritura.
Reg # |
D7 |
D6 |
D5 |
D4 |
D3 |
D2 |
D1 |
D0 |
Nombre |
Tipo |
Voz 1: |
$00 |
F7 |
F6 |
F5 |
F4 |
F3 |
F2 |
F1 |
F0 |
FREQ LO |
Escritura |
$01 |
F15 |
F14 |
F13 |
F12 |
F11 |
F10 |
F9 |
F8 |
FREQ HI |
Escritura |
$02 |
PW7 |
PW6 |
PW5 |
PW4 |
PW3 |
PW2 |
PW1 |
PW0 |
PW LO |
Escritura |
$03 |
- |
- |
- |
- |
PW11 |
PW10 |
PW9 |
PW8 |
PW HI |
Escritura |
$04 |
Noise |
Pulse |
/|/| |
/\/\ |
TEST |
RING |
SYNC |
GATE |
CONTROL |
Escritura |
$05 |
ATK3 |
ATK2 |
ATK1 |
ATK0 |
DCY3 |
DCY2 |
DCY1 |
DCY0 |
ATK/DCY |
Escritura |
$06 |
STN3 |
STN2 |
STN1 |
STN0 |
RLS3 |
RLS2 |
RLS1 |
RLS0 |
STN/RLS |
Escritura |
Voz 2: |
$07 |
F7 |
F6 |
F5 |
F4 |
F3 |
F2 |
F1 |
F0 |
FREQ LO |
Escritura |
$08 |
F15 |
F14 |
F13 |
F12 |
F11 |
F10 |
F9 |
F8 |
FREQ HI |
Escritura |
$09 |
PW7 |
PW6 |
PW5 |
PW4 |
PW3 |
PW2 |
PW1 |
PW0 |
PW LO |
Escritura |
$0A |
- |
- |
- |
- |
PW11 |
PW10 |
PW9 |
PW8 |
PW HI |
Escritura |
$0B |
Noise |
Pulse |
/|/| |
/\/\ |
TEST |
RING |
SYNC |
GATE |
CONTROL |
Escritura |
$0C |
ATK3 |
ATK2 |
ATK1 |
ATK0 |
DCY3 |
DCY2 |
DCY1 |
DCY0 |
ATK/DCY |
Escritura |
$0D |
STN3 |
STN2 |
STN1 |
STN0 |
RLS3 |
RLS2 |
RLS1 |
RLS0 |
STN/RLS |
Escritura |
Voz 3: |
$0E |
F7 |
F6 |
F5 |
F4 |
F3 |
F2 |
F1 |
F0 |
FREQ LO |
Escritura |
$0F |
F15 |
F14 |
F13 |
F12 |
F11 |
F10 |
F9 |
F8 |
FREQ HI |
Escritura |
$10 |
PW7 |
PW6 |
PW5 |
PW4 |
PW3 |
PW2 |
PW1 |
PW0 |
PW LO |
Escritura |
$11 |
- |
- |
- |
- |
PW11 |
PW10 |
PW9 |
PW8 |
PW HI |
Escritura |
$12 |
Noise |
Pulse |
/|/| |
/\/\ |
TEST |
RING |
SYNC |
GATE |
CONTROL |
Escritura |
$13 |
ATK3 |
ATK2 |
ATK1 |
ATK0 |
DCY3 |
DCY2 |
DCY1 |
DCY0 |
ATK/DCY |
Escritura |
$14 |
STN3 |
STN2 |
STN1 |
STN0 |
RLS3 |
RLS2 |
RLS1 |
RLS0 |
STN/RLS |
Escritura |
Filtro: |
$15 |
- |
- |
- |
- |
- |
FC2 |
FC1 |
FC0 |
FC LO |
Escritura |
$16 |
FC10 |
FC9 |
FC8 |
FC7 |
FC6 |
FC5 |
FC4 |
FC3 |
FC HI |
Escritura |
$17 |
RES3 |
RES2 |
RES1 |
RES0 |
FILEX |
FILT3 |
FILT2 |
FILT1 |
RES/FILT |
Escritura |
$18 |
3 OFF |
HP |
BP |
LP |
VOL3 |
VOL2 |
VOL1 |
VOL0 |
MODE/VOL |
Escritura |
Miscelaneos: |
$19 |
PX7 |
PX6 |
PX5 |
PX4 |
PX3 |
PX2 |
PX1 |
PX0 |
POT X |
Lectura |
$1A |
PY7 |
PY6 |
PY5 |
PY4 |
PY3 |
PY2 |
PY1 |
PY0 |
POT Y |
Lectura |
$1B |
O7 |
O6 |
O5 |
O4 |
O3 |
O2 |
O1 |
O0 |
OSC3/RND |
Lectura |
$1C |
E7 |
E6 |
E5 |
E4 |
E3 |
E2 |
E1 |
E0 |
ENV3 |
Lectura |
FREQ LO/FREQ HI (Registros 00,01):
Juntos, estos registros forman un número de 16-bits que
controla linearmente la frecuencia del oscilador 1. La frecuencia
se determina mediante al siguiente ecuación:
Fout = (Fn * Fclk / 16777216) Hz
Donde Fn es el número de 16-bit en los registros de frecuencia
y Fclk es el reloj del sistema aplicado a la entrada ø2 (pin
6). Para un reloj standard de 1.0 MHz, la frecuencia esta dada por:
Fout = (Fn * 0.059604645) Hz
Notese que la resolución de frecuencia del SID es suficiente
para cualquier escala de entonación y permite el glisado
de nota a nota (portamento) sin saltos discernibles en la frecuencia.
PW LO/PW HI (Registros 02,03)
Juntos estos registros forman un número de 12-bit (bits
4-7 de PW HI no se usan) que controla linearmente el ancho del pulso
(ciclo útil) de la forma de onda pulso del oscilador 1. El
ancho del pulso es determinado por la siguiente ecuación:
PWout = (PWn/40.95) %
Donde PWn es el número de 12-bit en los registros de ancho
de pulso.
La resolucón del ancho del pulso permite que se variada suavemente
sin saltos discernibles. La forma de onda pulso debe ser seleccionada
para el oscilador 1 para que el valor de estos registros tenga algún
efecto audible. Valores de 0 o 4095 ($FFF) en estos registros producira
una salida constante de CC, mientras que un valor de 2048 ($800)
producira una onda cuadrada [Un valor de 4095 no producira una salida
constante de CC].
REGISTRO de CONTROL (Registro 04)
Este registro contiene ocho bits de control que seleccionan varias
opciones del oscilador 1.
- GATE
(Bit 0): El bit GATE controla el generador de envolvente para
la voz 1. Cuando se pone este bit a 1, el generador de envolvente
es gatillado y el ciclo de ATAQUE/DECAIMIENTO/SOSTENIMIENTO se
inicia. Cuando el bit se vuelve a0,el ciclo de RELAJAMIENTO comienza.
El generador de envolvente controla la amplitud de salida del
oscilador 1, por lo tanto, el bit GATE debe ser seteado (junto
con parametros de envolvente adecuados) para que la salida seleccionada
del oscilador 1 sea audible.
- SYNC
(Bit 1): El bit SYNC, cuando se lleva a 1, sincroniza la frecuencia
fundamental del oscilador 1 con la frecuencia fundamental del
oscilador 3, produciendo un efecto "Hard Sync". Variando
la frecuencia del oscilador 1 con respecto a la del oscilador
3 produce un amplio rango de complejas estructuras armonicas desde
la voz 1 a la frecuencia del oscilador 3. En orden de que la sincronización
ocurra, el oscilador 3 debe estar seteado a alguna frecuencia
distinta de cero pero preferiblemente más baja que la frecuencia
del oscilador 1. Ningún otro parametro de la voz 3 tiene
efecto en la sincronización.
- RING
MOD (Bit 2): El bit RING MOD, cuando se pone a 1, reemplaza la
salida de la forma de onda triangulo del oscilador 1 con una combinación
"Modulada en Anillo" de los oscilladores 1 y 3. Variando
la frecuencia del oscilador 1 con respecto a la del oscilador
3 produce un amplio rango de estructuras no-armonicas para crear
sonidos de campanas o gons y para efectos especiales. Para que
la modulación en anillo sea audible, la forma de onda triangulo
del oscilador 1 debe ser seleccionada y el oscilador 3 debe ser
seteado a alguna frecuencia distinta de cero. Ningún otro
parametro de la voz 3 tiene efecto en la modulación en
anillo.
- TEST
(Bit 3): El bit TEST, cuando se pone a 1, resetea y and traba
el oscilador 1 a cero hasta que este bit vuelve a 0. La salida
de forma de onda ruido del oscilador 1 también se resetea
y la forma de onda pulso se mantiena a un nivel de CC. Normalmente
este bit se usa para fines de prueba, de todas maneras, se puede
usar para sincronizar el oscilador 1 cono eventos externos, permitiento
la generación de formas de onda altamente complejas bajo
el control de software en tiempo-real.
- /\/\
(Bit 4): Cuando se pone en 1, la salida de forma de onda de triangulo
del oscilador 1 es seleccionada. Esta forma de onda tiene pocos
armonicos y tiene un sonido suave, parecido a una flauta.
- ///
(Bit 5): Cuando se pone en 1, la salida de forma de onda de diente
de sierra del oscilador 1 es seleccionada. Esta forma de onda
es rica en armonicos pares e impares y tiene un sonido brillante
y metalico.
- PULSE
(Bit 6): Cuando se pone en 1, la salida de forma de onda de pulso
del oscilador 1 es seleccionada. El contenido armonico de esta
forma de onda puede ser ajustado por los registros de ancho de
pulso, produciendo tonos que van desde brillantes, a sonidos de
caña. Variando el ancho de pulso en tiempo real produce
un efecto de desfasaje dinamico que le da movimiento al sonido.
Saltando rapidamente entre diferenctes anchos de pulso puede producir
intersantes secuencias armonicas.
- NOISE
(bit 7): Cuando se pone en 1, la salida de forma de onda de ruido
del oscilador 1 es seleccionada. Esta salida es una señal
aleatoria que cambia a la frecuencia del oscilador 1. La calidad
de sonido se puede variar desde un grave retumbar a un sisente
ruido blanco mediante los registros de frecuencia del oscilador.
El ruido es util para crear explosiones, disparos, motores jet,
viento,olas, y otros sonidos, como tambores y cimbalos.
[La
salida de ruido no es "realmente" aleatoria, ya que
esta basada en un registro interno de 23-bits].
Una de las formas de onda debe ser seleccionada para que el oscilador
1 sea audible, de todas formas NO es necesario desactivar las formas
de onda para silenciar a la voz 1. La amplitud de la voz 1 en la
salida es función solo del generador de envolvente. NOTA:
Las formas de onda NO son aditivas. Si más de una forma de
onda es seleccionada simultaneamente, el resultado sera un Y logico
de las formas de onda.
[Nota del Transcriptor: Esto es muy probable que este equivovado.
Algunos afirman que es la función "min" la que
se usa, pero la experiencia es que es más complejo que eso].
Aunque esta tecnica puede ser usada para generar formas de onda
adicionales más alla de las 4 mostradas arriba, debe se usada
con cuidado. Si cualquier otra forma de onda es seleccionada mientras
la de ruido esta puesta, la salida de ruido puede "colgarse".
Si esto ocurre, la salida de ruido permanecera silenciosa hasta
que se resetee con el bit TEST o mandando a 0 RES (pin 5).
ATTACK/DECAY (Registro 05)
Los bits 4-7 de estos registros (ATK0-ATK3) seleccionan 1 de los
16 tiempos de ATTACK (ATAQUE) para el generador de envolvente de
la voz 1. El tiempo de ATAQUE determina que tan rapidamente la salida
de la voz 1 sube de 0 a la amplitud pico cuando se acciona el generador
de envolvente. Los 16 tiempos de ATAQUE se listan debajo.
Los bits 0-3 (DCY0-DCY3) seleccionan 1 de los 16 tiempos de DECAY
(DECAIMIENTO) para el generador de envolvente. El ciclo de DECAIMIENTO
sigue al ciclo de ATAQUE y el tiempo de DECAIMIENTO determina que
tan rapido la salida cae desde la amplitud pico al nivel de SUSTAIN
(SOSTENIMIENTO). Los 16 tiempos de DECAIMIENTO se listan más
abajo.
SUSTAIN/RELEASE (Registro 06)
Los bits 4-7 de este registro (STN0-STN3) seleccionan 1 de los
16 niveles de SUSTAIN (SOSTENIMIENTO) para el generador de envolvente.
El ciclo de SOSTENIMIENTO sigue al de DECAIMIENTO y la salida de
la voz 1 permanecera a la amplitud de SOSTENIMIENTO seleccionada
mientras el bit gate este en 1. Los niveles de SOSTENIMIENTO van
de 0 a la amplitud pico en 16 pasos lineales, con un valor de SOSTENIMIENTO
de 0 seleccionando cero amplitud y un valor de SOSTENIMIENTO de
15 ($F) seleccionando la amplitud pico.
Los bits 0-3 (RLS0-RLS3) selecionan 1 de los 16 tiempos de RELEASE
(RELAJACIÓN) para el generador de envolvente. El ciclo de
RELAJACIÓN sigue al de SOSTENIMIENTO cuando el bit gate se
vuelve a 0. En ese momento, la salida de la voz 1 caerá de
la amplitud de SOSTENIMIENTO a cero amplitud en el tiempo de RELAJACIÓN
seleccionado. Los 16 tiempos de RELAJACIÓN son identicos
a los de DECAIMIENTO.
NOTA: El ciclo del generador de envolvente puede se alterado
en cualquier punto por medio del bit gate. El generador de envolvente
puede ser activado y desactivado sin restricciones. Por ejemplo,
si el bit gate se resetea antes que el ciclo de ATAQUE termine,
el ciclo de RELAJACIÓN empezara immediatamente, empezando
desde al amplitud alcanzada. Se la envolvente es activada nuevamente
(antes de que el ciclo de RELAJACIÓN alcance la amplitud
cero), otro ciclo de ATAQUE comenzara, empezando desde la amplitud
alcanzada. Esta tecnica puede ser usada para generar complejas envolventes
por medio del control por software en tiempo-real.
Tiempos de envolventes:
Valor |
Tiempos ATAQUE |
Tiempos DECAIMIENTO/RELAJACIÓN |
0 |
2 ms |
6 ms |
1 |
8 ms |
24 ms |
2 |
16 ms |
48 ms |
3 |
24 ms |
72 ms |
4 |
38 ms |
114 ms |
5 |
56 ms |
168 ms |
6 |
68 ms |
204 ms |
7 |
80 ms |
240 ms |
8 |
100 ms |
300 ms |
9 |
240 ms |
750 ms |
10 |
500 ms |
1.5 s |
11 |
800 ms |
2.4 s |
12 |
1 s |
3 s |
13 |
3 s |
9 s |
14 |
5 s |
15 s |
15 |
8 s |
24 s |
Envolvente del 6581
NOTA: Los tiempos de envolvete están basados en un
reloj ø2 de 1.0 MHz. Para otras frecuencias de ø2,
multiplique el tiempo dado por 1 MHz/ø2.
Los registros $07-$0D controlan la voz 2 y son funcionalmente identicos
a los registros $00-$06 con estas escepciones:
- Cuando
se selecciona, SYNC sincroniza al oscilador 2 con el oscilador
1.
- Cuando
se selecciona, RING MOD reemplaza la salida de triangulo del oscilador
2 con la combinación modulada en anillo de los osciladores
2 y 1.
Los registros $0E-$14 controlan la voz 3 y son funcionalmente identicos
a los registros $00-$06 con estas escepciones:
- Cuando
se selecciona, SYNC syncroniza el oscilador 3 con el oscilador
2.
- Cuando
se selecciona, RING MOD reemplaza la salida de triangulo del oscilador
3 con la combinación modulada en anillo de los osciladores
3 y 2.
FC LO/FC HI (Registros $15, $16)
Juntos estos registros forman un número de 11-bits (bits
3-7 de FC LO no se usan) que controlan linealmente la frecuencia
de corte (o central) del filtro programable. El rango de la frecuencia
de corte es de aproximadamente de 30 Hz a 12 KHz.
RES/FILT (Registro $17)
Los bits 4-7 de este registro (RES0-RES3) controlan la resonancia
de el filtro. La resonancia es un efecto que emfatiza las frecuencias
cercanas a la de corte, causando un sonido más nitido. Hay
16 valores de resonancia que varian linelmente de sin resonancia
(0) a maxima resonancia (15 or $F).
Los bits 0-3 determinan que señales pasarán por el
filtro:
FILT 1 (Bit 0): Cuando esta en cero, la voz 1 sale directamente
por la salida de audio y el filtro no tiene efecto en ella. Cuando
se pone a uno, la voz 1 es procesada por el filtro y su contenido
armonico sera alterado de acuerdo con los parametros del filtro.
FILT 2 (bit 1): Lo mismo que el bit 0 para la voz 2.
FILT 3 (bit 2): Lo mismo que el bit 0 para la voz 3.
FILTEX (Bit 3): Lo mismo que el bit 0 para la entrada de audio externa
(pin 26).
MODE/VOL (Registro $18)
Los bits 4-7 de este registro seleccionan varios modos del filtro
y opciones de salida:
LP (bit 4): Cuando se pone en 1, el modo pasa-bajos del filtro es
activado. Dada una señal de entrada al filtro, todas las
componentes de frecuencia debajo de la frecuencia de corte pasan
sin alteraciones, mientras que todas las componentes de frecuencia
por encima de esta son atenuadas a razón de 12 dB/Octava.
BP (bit 5): Lo mismo que el bit 4 para el modo pasa-banda. Todas
las componentes de frecuencia por encima y por debajo de la de corte
son atenuadas a razón de 6 dB/Octava.
HP (bit 6): Lo mismo que el bit 4 para el modo pasa-altos. Todas
la componentes de frecuencia por encima de la de corte pasan inalteradas,
mientras que las que estan por debajo de esta son atenuadas a razón
de 12 dB/Octava.
3 OFF (Bit 7): Cuando se pone a 1, la salida de la voz 3 es desconectada
del camino directo del audio. Haciendo ádemas que la voz
3 no pase por el filtro
(FILT 3 = 0) se previene que la voz 3 sea audible. Esto permite
que la voz 3 sea usada para propositos de modulación sin
ninguna salida indeseable.
NOTA: Los modos del filtro SON aditivos y varios modos pueden
seleccionarse a la vez. Por ejemplo, se pueden seleccionar LP y
HP para producir una respuesta del tipo rechaza-banda. Para que
el filtro tenga algún efecto audible, al menos un modo debe
ser seleccionado, y al menos una voz debe pasar por el filtro.
El filtro es, quizas, el más importante elemento del SID
ya que permite la generación de complejos tonos por medio
de la sintesis subtractiva (el filtro se usa para eliminar componentes
de frecuencia especificos de una señal de entrada armonicamente
rica). Los mejores resultados se logran variando la frecuencia de
corte en tiempo-real.
Los bits 0-3 (VOL0-VOL3) seleccionan 1 de los 16 niveles de volumen
para la salida final de audio. Los niveles de volumen varian desde
silencio (0) a maximo volumen (15 or $F) en 16 pasos lineales.
POTX (Registro $19)
Este registro permite al microprocesador leer la posición
del potenciometro conectado a POTX (pin 24), con valores variando
de 0 a minima resistenca, a 255 ($FF) a maxima resistencia. [Este
registro se actualiza supuestamente cada 512 ciclos].
POTY (Register $1A)
Igual que POTX para el potenciometro conectado a POTY (pin 23).
OSC 3/RANDOM (Registro $1B)
Este registro permite al microprocesador leer los 8 bits superiores
de la salida del oscilador 3. El caracter del los números
generados esta directamente relacionados con la forma de onda seleccionada.
Por lo tanto, al seleccionar la forma de onda ruido, este registro
puede ser usado como un generador de números aleatorios en
juegos. Hay numerosas aplicaciones de temporización y secuenciamiento
para el este registro, de todas formas, su función principal
es probablemente la de generador de modulación. Normalmente,
cuando el oscilador 3 se usa para modulación, la salida de
audio de la voz 3 debe ser eliminada (3 Off = 1).
ENV 3 (Registro $1C)
Igual que OSC 3, pero este registro permita al microprocesador
leer la salida del generador de envolvente del oscilador 3. El generador
de envolvente de la voz 3 debe ser activado para producir cualquier
salida en este regitro, mientroas que el registro OSC 3 siempre
refleja la salida cambiante del oscilador.
|