Empezar

Este repositorio contiene el desensamblado comentado de The Goonies de Konami para MSX (RC-734, 1986). No contiene el cartucho: la imagen de la ROM no se distribuye.

Lo que hace falta

Son 32.768 bytes exactos y su huella es:

sha256  2ba602b1a17e4797da1588afe6e65640331c15746bf5959f4778b404be929dde

Para comprobarla:

make comprueba

Reproducirlo entero

make

Eso encadena las cuatro cosas que importan:

ordenqué hacequé demuestra
make listadogenera src/goonies.asm desde el trazado y las notasque el listado no está escrito a mano
make verifyreensambla y compara el sha256que el listado es el cartucho
make sanitycomprueba el reparto de bytesque no queda ni un byte sin explicar
make test40 comprobacionesque lo que se publica se sostiene sobre los bytes

La prueba que decide es make verify. Si el sha256 del reensamblado no es el de arriba, el listado miente en alguna parte.

Las cifras

make densidad

0 rutinas por debajo del 10 %, de 1176
en total: 8774 instrucciones, 3236 comentarios, 36,9 %

Las imágenes

make imagenes

Dibuja en work/gfx/ la pantalla del título, los veinticinco mapas de nivel con sus bichos y sus peligros, los cinco minimapas de ronda, las figuras del jugador en color, la hoja de casillas y los veintitrés iconos del inventario. Ninguna es una captura: se montan ejecutando en Python los mismos pasos que ejecuta el Z80.

El cotejo contra el emulador

make vram

Arranca openMSX con el cartucho, lo deja correr en frío y vuelca la VRAM en cinco instantes; luego resta esa VRAM de la que monta tools/vram.py. No hace falta jugar ni cargar nada: la presentación, el título y la demostración salen solos y son deterministas, porque la demostración es una partida grabada.

Última medida, con la última compilación:

pantalla         color        spr patr     patrones     nombres
titulo           0/6144       0/2048       0/6144       0/768
los nueve        0/6144       0/2048       0/6144
nivel 1 sala 1   0/6144       0/2048       0/6144
nivel 1 sala 2   0/6144       0/2048       0/6144
nivel 1 sala 3   0/6144       0/2048       0/6144

Cómo se comenta

Las tandas de comentarios se escriben en work/coment/tanda-NN-loquesea.notes, con líneas C 0xADDR texto, L 0xADDR nombre y B 0xADDR CABECERA, y luego:

python3 tools/aplica_comentarios.py src/goonies.asm src/goonies.notes \
        work/coment --escribe && make listado && make verify

Van cuarenta y dos tandas.