miércoles, 3 de febrero de 2010

Instrucción SOUND

Empecé a experimentar con el PSG desde un programa BASIC, con la instrucción SOUND. Esta permite escribir directamente a los registros. Es una buena manera de aprender su funcionamiento.

Su formato es el siguiente:

SOUND número de registro, expresión
  • número de registro = Enteros de 0 a 13
  • expresión = Constantes, variables o expresiones dentro del margen determinado para cada registro.

En los registros del 8, 9 y 10, hay que tener en cuenta que para ajustar el volumen tendremos que utilizar un valor del 0 al 15 y para activar la envolvente le aplicaremos el valor 16.

En el registro 7, la mejor manera de tocarlo, es utilizando una expresión binaria:

SOUND 7,&B00110110

Su funcionamiento es: 0 es activar y 1 es desactivar. En el ejemplo anterior estaríamos activando el tono del canal A y la mezcla con este del canal de ruido.

En el ejemplo activaríamos el tono de los tres canales (los tres primeros bits) y el ruido se mezclaría con el tercer canal (bit 5).

En el siguiente ejemplo podemos probar de hacer un sonido similar al de un bassdrum, utilizando un tono grave junto a la señal de ruido y aplicándole la envolvente numero 1 (la que empieza en su amplitud máxima y se reduce a cero).
Si utilizamos envolventes infinitas, podemos parar el sonido, aplicando el valor 63 al registro 7 o ejecutando la instrucción beep.
110 ' frecuencia canal A
120 SOUND 0,10
130 SOUND 1,15
140 ' frecuencia ruido
150 SOUND 6,31
160 ' activacion de canales
170 SOUND 7,&B00110110
180 ' amplitud canal A
190 SOUND 8,16
200 ' periodo de la envolvente
210 SOUND 11,0
220 SOUND 12,15
230 ' tipo de envolvente
240 SOUND 13,1

comando sound PSG MSX, tono+ruido
comando sound PSG MSX, tono

3 comentarios:

  1. estaría bien poder oírlo :P

    neuroflip/303bcn

    ResponderEliminar
  2. En el segundo sampler (solo el tono), aunque aparentemente no se note, al principio se ha colado el sonido que hacen las teclas en los MSX, supongo de cuando ejecute el programa.

    ResponderEliminar