Todo lo que suena aquí sale de ejecutar el motor de sonido del cartucho (suena_el_cuadro, 0x49C0, y pide_pieza, 0x490C, que le reparte las voces; lo llama la interrupción) 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.
pide_pieza recibe el número en A. Los números bajos son efectos y del 0x9D en adelante hay música. Cada voz ocupa catorce bytes desde 0xE010 y 0xE03A guarda la copia del mezclador del PSG, que el arranque deja en 0xB8. En el último cuadro de cada tramo largo el cotejo difiere porque el juego vuelve a pedir la pieza. Las pistas «de la tabla» están en la tabla de pistas pero ninguna rutina las pide con un ld a; se omiten otras, de minutos de duración.
La pieza del 0x4193 (0xB7)
Lo pide L_4193 y L_5DED; dura 6,3 s.
Los rótulos del final (0xB4)
Lo pide escena_final_rotulos; dura 12,5 s.
La pieza del 0x41FF (0xBA)
Lo pide L_41FF; dura 5,0 s.
La pieza del 0x69A4 (0xB1)
Lo pide L_69A4; dura 1,7 s.
La pieza del 0x67ED (0xA5)
Lo pide L_67ED; dura 1,7 s.
La muerte del muñeco (0xAE)
Lo pide mata_al_muneco; dura 1,1 s.
La pausa (0xA8)
Lo pide mira_la_pausa y L_5730; dura 0,5 s.
Pista 0x9D de la tabla (0x9D)
Lo pide ninguna llamada directa: está en la tabla de pistas; dura 6,4 s y vuelve a empezar en el segundo 0,0.
Pista 0x9E de la tabla (0x9E)
Lo pide ninguna llamada directa: está en la tabla de pistas; dura 44,8 s y vuelve a empezar en el segundo 0,0.
Pista 0x9F de la tabla (0x9F)
Lo pide ninguna llamada directa: está en la tabla de pistas; dura 8,9 s y vuelve a empezar en el segundo 8,4.
Pista 0xA0 de la tabla (0xA0)
Lo pide ninguna llamada directa: está en la tabla de pistas; dura 34,4 s y vuelve a empezar en el segundo 0,8.
Pista 0xA3 de la tabla (0xA3)
Lo pide ninguna llamada directa: está en la tabla de pistas; dura 14,2 s y vuelve a empezar en el segundo 0,2.
Pista 0xA4 de la tabla (0xA4)
Lo pide ninguna llamada directa: está en la tabla de pistas; dura 2,7 s y vuelve a empezar en el segundo 1,7.
Pista 0xB2 de la tabla (0xB2)
Lo pide ninguna llamada directa: está en la tabla de pistas; dura 12,5 s.
Pista 0xB3 de la tabla (0xB3)
Lo pide ninguna llamada directa: está en la tabla de pistas; dura 12,5 s.
Pista 0xB5 de la tabla (0xB5)
Lo pide ninguna llamada directa: está en la tabla de pistas; dura 12,5 s.
Pista 0xB6 de la tabla (0xB6)
Lo pide ninguna llamada directa: está en la tabla de pistas; dura 12,5 s.
Pista 0xB8 de la tabla (0xB8)
Lo pide ninguna llamada directa: está en la tabla de pistas; dura 6,3 s.
Pista 0xB9 de la tabla (0xB9)
Lo pide ninguna llamada directa: está en la tabla de pistas; dura 6,3 s.
Pista 0xBB de la tabla (0xBB)
Lo pide ninguna llamada directa: está en la tabla de pistas; dura 5,0 s.
Pista 0xBC de la tabla (0xBC)
Lo pide ninguna llamada directa: está en la tabla de pistas; dura 5,0 s.