Todo lo que suena aquí sale de ejecutar el motor de sonido del cartucho (atiende_el_sonido, 0x7B67, y suena, 0x7AD4, que le reparte los canales; lo llama la interrupción en 0x4047) en un Z80 emulado, cuadro a cuadro y a 60 por segundo, igual que lo llama el juego. Lo que el motor escribe en el PSG pasa a sonido con un AY-3-8910 (tools/musica.py). Cada MP3 es la pieza entera hasta donde vuelve a empezar, más 8 segundos de la vuelta apagándose; las que no se repiten acaban donde acaba el motor.
Las escrituras al PSG se han comparado cuadro a cuadro con las de openMSX (C-BIOS MSX1 japonés). En todos los cuadros el PSG queda igual:
El timbre no está cotejado: es el de un AY-3-8910 de manual, no una grabación del emulador. Las sondas están en tools/omsx_psg.tcl y tools/coteja_psg.py.
suena recibe el número en A. Los números bajos son efectos y del 0x8A en adelante hay música. Cada canal ocupa catorce bytes desde 0xE018 y 0xE042 guarda la copia del mezclador del PSG, que el arranque deja en 0xB8. Las pistas «de la tabla» están en la tabla de pistas pero ninguna rutina las pide con un ld a.
El aviso de zona (0x8F)
Lo pide suena_el_aviso_de_zona; dura 4,7 s.
La entrada (0x8A)
Lo pide tramo_de_entrada; dura 0,9 s y vuelve a empezar en el segundo 0,0.
Game over (0x92)
Lo pide pinta_el_game_over; dura 4,1 s.
La pieza del 0x50FA (0x99)
Lo pide L_50FA; dura 0,0 s.
Pista 0x8B de la tabla (0x8B)
Lo pide ninguna llamada directa: está en la tabla de pistas; dura 4,7 s y vuelve a empezar en el segundo 3,8.
Pista 0x8D de la tabla (0x8D)
Lo pide ninguna llamada directa: está en la tabla de pistas; dura 4,7 s.
Pista 0x8E de la tabla (0x8E)
Lo pide ninguna llamada directa: está en la tabla de pistas; dura 4,7 s.
Pista 0x90 de la tabla (0x90)
Lo pide ninguna llamada directa: está en la tabla de pistas; dura 4,7 s.
Pista 0x91 de la tabla (0x91)
Lo pide ninguna llamada directa: está en la tabla de pistas; dura 4,7 s.
Pista 0x93 de la tabla (0x93)
Lo pide ninguna llamada directa: está en la tabla de pistas; dura 50,3 s.
Pista 0x94 de la tabla (0x94)
Lo pide ninguna llamada directa: está en la tabla de pistas; dura 50,3 s.