¡Esta es una revisión vieja del documento!
Anexo (I)
Tabla de notas para rutina BEEPER
La rutina de la ROM BEEPER
(en $03b5), nos permite reproducir sonido pasándole los siguientes parámetros:
BEEPER
($03b5) -Reproduce una nota de sonido de longitud DE (f*t) y pitch HL.- DE = duración_en_segundos * frecuencia
- HL = (437500 / frecuencia) - 30.125
Para poder reproducir melodías en el Spectrum (alojadas por ejemplo en una tabla DEFB
), necesitaremos conocer las frecuencias y el pitch de cada nota de la escala musical, de modo que podamos hacer:
ld de, frecuencia_deseada*duracion_en_segundos ld hl, pitch_para_esa_nota call $03b5
Las notas son las siguientes:
Note | Frequency (DE = f*duración_en_seg) | Pitch (HL) |
---|---|---|
C 0 | 16.35 | $6868 |
C#0 | 17.32 | $628d |
D 0 | 18.35 | $5d03 |
D#0 | 19.44 | $57cb |
E 0 | 20.60 | $52d7 |
F 0 | 21.83 | $4e2b |
F#0 | 23.12 | $49cc |
G 0 | 24.50 | $45a3 |
G#0 | 25.96 | $41b6 |
A 0 | 27.50 | $3e06 |
A#0 | 29.14 | $3a87 |
B 0 | 30.87 | $373e |
C 1 | 32.70 | $3425 |
C#1 | 34.64 | $3137 |
D 1 | 36.70 | $2e72 |
D#1 | 38.88 | $2bd6 |
E 1 | 41.20 | $295c |
F 1 | 43.66 | $2706 |
F#1 | 46.24 | $24d7 |
G 1 | 49.00 | $22c2 |
G#1 | 51.92 | $20cc |
Note | Frequency (DE = f*duración_en_seg) | Pitch (HL) |
---|---|---|
A 1 | 55.00 | $1ef4 |
A#1 | 58.28 | $1d34 |
B 1 | 61.74 | $1b90 |
C 2 | 65.40 | $1a03 |
C#2 | 69.20 | $188c |
D 2 | 73.40 | $172a |
D#2 | 77.76 | $15dc |
E 2 | 82.40 | $149f |
F 2 | 87.32 | $1374 |
F#2 | 92.48 | $125c |
G 2 | 98.00 | $1152 |
G#2 | 103.84 | $1057 |
A 2 | 110.00 | $f6b |
A#2 | 116.56 | $e8b |
B 2 | 123.48 | $db8 |
C 3 | 130.80 | $cf2 |
C#3 | 138.56 | $0c37 |
D 3 | 146.80 | $b86 |
D#3 | 155.52 | $adf |
E 3 | 164.80 | $a40 |
F 3 | 174.64 | $9ab |
^ Frequency (DE = f*duración_en_seg) ^Pitch (HL) ^
F#3 | 184.96 | $91f |
G 3 | 196.00 | $89a |
G#3 | 207.68 | $81c |
A 3 | 220.00 | $7a6 |
A#3 | 233.12 | $736 |
B 3 | 246.96 | $6cd |
C 4 | 261.60 | $66a |
C#4 | 277.12 | $60c |
D 4 | 293.60 | $5b3 |
D#4 | 311.04 | $560 |
E 4 | 329.60 | $511 |
F 4 | 349.28 | $4c6 |
F#4 | 369.92 | $480 |
C 4 | 392.00 | $43d |
G#4 | 415.36 | $3ff |
A 4 | 440.00 | $3c4 |
A#4 | 466.24 | $38c |
B 4 | 493.92 | $357 |
C 5 | 523.20 | $326 |
C#5 | 554.24 | $2f7 |
D 5 | 587.20 | $2ca |
D#5 | 622.08 | $2a1 |
E 5 | 659.20 | $279 |
F 5 | 698.56 | $254 |
F#5 | 739.84 | $231 |
G 5 | 784.00 | $20f |
G#5 | 830.72 | $1f0 |
Note | Frequency (DE = f*duración_en_seg) | Pitch (HL) |
---|---|---|
A 5 | 880.00 | $1d3 |
A#5 | 932.48 | $1b7 |
B 5 | 987.84 | $19c |
C 6 | 1046.40 | $183 |
C#6 | 1108.48 | $16c |
D 6 | 1174.40 | $156 |
D#6 | 1244.16 | $141 |
E 6 | 1318.40 | $12d |
F 6 | 1397.12 | $11b |
F#6 | 1479.68 | $109 |
G 6 | 1568.00 | $f8 |
G#6 | 1661.44 | $e9 |
A 6 | 1760.00 | $da |
A#6 | 1864.96 | $cc |
B 6 | 1975.68 | $bf |
C 7 | 2092.80 | $b2 |
C#7 | 2216.96 | $a7 |
D 7 | 2348.80 | $9c |
D#7 | 2488.32 | $91 |
E 7 | 2636.80 | $87 |
F 7 | 2794.24 | $7e |
F#7 | 2959.36 | $75 |
G 7 | 3136.00 | $6d |
G#7 | 3322.88 | $65 |
A 7 | 3520.00 | $5e |
A#7 | 3729.92 | $57 |
B 7 | 3951.36 | $50 |
Por ejemplo, para reproducir una nota G#4
durante medio segundo:
- DE = 415.36 (de la tabla) * 0.5 segundos = 207 = $cf
- HL = $19f (de la tabla)
call $03b5