Herramientas de usuario

Herramientas del sitio


tutorial_de_ensamblador_sonido

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
tutorial_de_ensamblador_sonido [10/10/2010 11:13]
93.156.171.149
tutorial_de_ensamblador_sonido [08/02/2017 21:21] (actual)
Línea 30: Línea 30:
 Vamos a ver a continuación los registros del sistema de sonido y sus funciones: Vamos a ver a continuación los registros del sistema de sonido y sus funciones:
  
-== Canal 1 - Tono y portamento ==+==== Canal 1 - Tono y portamento ​====
  
 ===$FF10 - NR10 - Registro de portamento del canal 1(R/W)=== ===$FF10 - NR10 - Registro de portamento del canal 1(R/W)===
Línea 96: Línea 96:
  
  
-== Canal 2 - Tono ==+==== Canal 2 - Tono ====
  
 Este canal funciona exactamente igual que el 1, pero no tiene un registro de portamento. Este canal funciona exactamente igual que el 1, pero no tiene un registro de portamento.
Línea 133: Línea 133:
   Bit 7   - Disparador (1=Reinicia el sonido) (W)   Bit 7   - Disparador (1=Reinicia el sonido) (W)
   Bit 6   - Activa o desactiva la longitud (R/W)   Bit 6   - Activa o desactiva la longitud (R/W)
-            (1=Detiene el sonido cuando alcanza la longitud en NR11)+            (1=Detiene el sonido cuando alcanza la longitud en NR21)
   Bit 2-0 - 3 bits altos de la frecuencia (x) (W)   Bit 2-0 - 3 bits altos de la frecuencia (x) (W)
  
 Frecuencia = 131072/​(2048-x) Hz Frecuencia = 131072/​(2048-x) Hz
  
-== Canal 3 - Onda programable ==+==== Canal 3 - Onda programable ​====
  
 Este canal se puede usar para reproducir sonido digital, pero la longitud del buffer de samples (RAM de onda) Está limitada a 32 valores de 4 Bits. Se podria usar este canal para sacar notas normales si inicicalizamos la memoria de onda con los valores de una onda cuadrada. No dispone de control de envolvente. Este canal se puede usar para reproducir sonido digital, pero la longitud del buffer de samples (RAM de onda) Está limitada a 32 valores de 4 Bits. Se podria usar este canal para sacar notas normales si inicicalizamos la memoria de onda con los valores de una onda cuadrada. No dispone de control de envolvente.
Línea 183: Línea 183:
 Esta memoria se organiza en 32 valores de 4 bit que se reproducen con los 4 bits altos en primer lugar. Esta memoria se organiza en 32 valores de 4 bit que se reproducen con los 4 bits altos en primer lugar.
  
-== Canal 4 - Ruido ==+==== Canal 4 - Ruido ====
  
-Este canal se usa para reproducir ruido blanco. ​This is done by randomly switching the amplitude between high and low at a given frequencyDepending on the frequency the noise will appear '​harder'​ or '​softer'​.+Este canal se usa para reproducir ruido blanco. ​Esto se logra variando la amplitud aleatoriamente dada una frecuenciaDependiendo de la frecuencia, el ruido parecerá más "​duro"​ o "​blando"​.
  
-It is also possible to influence the function of the random generatorso the that the output becomes more regular, resulting in a limited ability to output Tone instead of Noise.+También se puede influenciar la salida del generador de números aleatoriospermitiendo menos variación y asi una salida de tono casi normal.
  
-===FF20 - NR41 - Channel ​Sound Length ​(R/W)===+===$FF20 - NR41 - Canal - Longitud ​(R/W)===
  
-  Bit 5-0 - Sound length data (t1: 0-63)+  Bit 5-0 - Longitud (R) (t1: 0-63)
  
-Sound Length ​= (64-t1)*(1/​256) ​seconds +Longitud ​= (64-t1)*(1/​256) ​segundos 
-The Length value is used only if Bit 6 in NR44 is set.+La longitud solo se utiliza si el Bit 6 en NR44 está a uno.
  
-===FF21 - NR42 - Channel ​Volume Envelope ​(R/W)===+===$FF21 - NR42 - Canal - Envolvente ​(R/W)===
  
-  Bit 7-4 - Initial Volume of envelope ​(0-0Fh) (0=No Sound+  Bit 7-4 - Volumen inicial de la envolvente ​(0-0Fh) (0=Sin sonido
-  Bit 3   ​- ​Envelope Direction ​(0=Decrease, 1=Increase+  Bit 3   ​- ​Dirección de la envolvente ​(0=Decrece, 1=Crece
-  Bit 2-0 - Number of envelope sweep (n: 0-7) +  Bit 2-0 - Periodo ​(n: 0-7) 
-            (If zerostop envelope operation.)+            (si es cerola envolvente no actua.)
  
-Length of 1 step = n*(1/​64) ​seconds+Longitud de un paso = n*(1/​64) ​segundos
  
-===FF22 - NR43 - Channel ​Polynomial Counter ​(R/W)=== +===$FF22 - NR43 - Canal - Contador polinómico ​(R/W)=== 
-The amplitude is randomly switched between high and low at the given frequencyA higher frequency will make the noise to appear '​softer'​+La amplitud se cambia aleatoriamente entre alto y bajo a la frecuencia dadaUna frecuencia alta hará el ruido más "​suave"​
-When Bit is setthe output will become more regular, ​and some frequencies will sound more like Tone than Noise.+Cuando el bit está a unola salida es más regular, ​y algunas frecuencias suenan más como tono que como ruido.
  
-  Bit 7-4 - Shift Clock Frequency ​(s) +  Bit 7-4 - Frecuencia del reloj de desplazamiento ​(s) 
-  Bit 3   ​- ​Counter Step/​Width ​(0=15 bits, 1=7 bits) +  Bit 3   ​- ​Longitud del contador ​(0=15 bits, 1=7 bits) 
-  Bit 2-0 - Dividing Ratio of Frequencies ​(r)+  Bit 2-0 - Radio de división de las frecuencias ​(r)
  
-Frequency ​= 524288 Hz / r / 2^(s+1) ;For r=0 assume ​r=0.5 instead +Frecuencia ​= 524288 Hz / r / 2^(s+1) ; Para r=0, se comporta como si r=0.5
- +
-===FF23 - NR44 - Channel 4 Counter/​consecutive;​ Inital (R/W)=== +
- +
-  Bit 7   - Initial (1=Restart Sound) ​    ​(Write Only) +
-  Bit 6   - Counter/​consecutive selection (Read/​Write) +
-            (1=Stop output when length in NR41 expires)+
  
 +===$FF23 - NR44 - Channel 4 - Contador; Disparador (R/W)===
  
 +  Bit 7   - Disparador (1=Reinicia el sonido) (W)
 +  Bit 6   - Activa o desactiva la longitud (R/W)
 +            (1=Detiene el sonido cuando alcanza la longitud en NR21)
  
-== Sound Control Registers ​==+==== Registros de control generales del sonido ====
  
-===FF24 - NR50 - Channel control ​ON-OFF / Volume ​(R/W)=== +===$FF24 - NR50 - Control de volumen ​5º Canal (R/W)=== 
-The volume ​bits specify the "​Master Volume"​ for Left/Right sound output.+Los bits de volumen controlan el Volumen principal de las salidas izquierda y derecha.
  
-  Bit 7   ​- ​Output ​Vin to SO2 terminal ​(1=Enable+  Bit 7   - Vin sale por SO2 (1=activado
-  Bit 6-4 - SO2 output level (volume)  ​(0-7) +  Bit 6-4 - Volumen de SO2 (0-7) 
-  Bit 3   ​- ​Output ​Vin to SO1 terminal ​(1=Enable+  Bit 3   - Vin sale por SO1 (1=Activado
-  Bit 2-0 - SO1 output level (volume)  ​(0-7)+  Bit 2-0 - Volumen de SO1 (0-7)
  
-The Vin signal is received from the game cartridge ​bus, allowing external hardware in the cartridge to supply ​fifth sound channeladditionally to the gameboys internal four channels. As far as I know this feature isn't used by any existing games.+La señal ​Vin viene del bus del cartuchopermitiendo ​hardware externo en esteañadir un quinto canal a los cuatro internos de la GameBoy.
  
-===FF25 - NR51 - Selection of Sound output terminal ​(R/W)===+===$FF25 - NR51 - Selección de salida de cada canal (R/W)===
  
-  Bit 7 - Output sound 4 to SO2 terminal +Nos permite enviar cada canal a la salida izquierda o derecha (o a ambas o ninguna).
-  Bit 6 - Output sound 3 to SO2 terminal +
-  Bit 5 - Output sound 2 to SO2 terminal +
-  Bit 4 - Output sound 1 to SO2 terminal +
-  Bit 3 - Output sound 4 to SO1 terminal +
-  Bit 2 - Output sound 3 to SO1 terminal +
-  Bit 1 - Output sound 2 to SO1 terminal +
-  Bit 0 - Output sound 1 to SO1 terminal+
  
 +  Bit 7 - Canal 4 a la salida SO2
 +  Bit 6 - Canal 3 a la salida SO2
 +  Bit 5 - Canal 2 a la salida SO2 
 +  Bit 4 - Canal 1 a la salida SO2
 +  Bit 3 - Canal 4 a la salida SO1
 +  Bit 2 - Canal 3 a la salida SO1
 +  Bit 1 - Canal 2 a la salida SO1
 +  Bit 0 - Canal 1 a la salida SO1
  
 ===$FF26 - NR52 - Sonido Encendido/​Apagado=== ===$FF26 - NR52 - Sonido Encendido/​Apagado===
Línea 257: Línea 256:
  
 Los Bits 0-3 de este registro, son sólamente bits de estátus, escribir en ellos no activa o desactiva el sonido de esos canales. Estos flags se ponen a uno cuando se activa el flag "​Disparador"​ del canal (Bit 7 en NR14-NR44), el flag permanece a uno mientras dure la longitud del sonido (si está activa). Una envolvente que ha hecho bajar la amplitud a cero, no desactivaria este flag. Los Bits 0-3 de este registro, son sólamente bits de estátus, escribir en ellos no activa o desactiva el sonido de esos canales. Estos flags se ponen a uno cuando se activa el flag "​Disparador"​ del canal (Bit 7 en NR14-NR44), el flag permanece a uno mientras dure la longitud del sonido (si está activa). Una envolvente que ha hecho bajar la amplitud a cero, no desactivaria este flag.
 +
 +
tutorial_de_ensamblador_sonido.txt · Última modificación: 08/02/2017 21:21 (editor externo)