Cada pieza se ha sacado ejecutando el propio motor de sonido del cartucho
(tools/musica.py con tools/motor_musica.py y tools/z80run.py): se pide
con pide_sonido (p00:4D6E, que pone los bancos 4, 5 y 6 y llama a
p04:6472) y cada cuadro se llama a p04:6978, como hace la interrupción.
De ahí salen las escrituras al PSG y al SCC de cada cuadro, que se mezclan
en un MP3. Las que vuelven a empezar se oyen dos veces y se apagan.
El cotejo
Las escrituras se han comparado con las de openMSX, registro a registro
(tools/omsx_psg.tcl y tools/coteja_psg.py):
la del logotipo de Konami (0x4E), 193 cuadros, y la del título (0x2E),
132, en la presentación: el PSG y el SCC iguales en todos;
las de las siete fases, unos 375 cuadros de cada una,
tres veces en cada partida: iguales en todos. Para oír cada una en su
sitio, la sonda usa una copia de la ROM en la que la cabecera de la música
de la fase 1 apunta a la de la pieza (tools/rom_musica.py). Como los
efectos suenan por el canal C del PSG y el primero del SCC, se comparan
los canales de la música;
la de los jefes (0x21) y la del objeto recogido (0x22), tres veces cada
una, y las de los dos finales (0x30 y 0x31), una vez, unos 375 cuadros:
iguales en todos;
la de entre fases (0x2F) y uno de los tramos de la fase 7 (0x19) difieren
solo en el cuadro 0, en el registro 1 del PSG, que conserva lo que dejó la
pieza anterior;
la del despegue (0x28), 72 cuadros: igual.
Las piezas
0x4E El logotipo de Konami (y cae un jefe: la 0x25 suena igual)
Se pide en p10:82D7 (la 0x25, en p02:9CB8 y p11:B575)