Empezar

Para reproducir este desensamblado hace falta Python 3, GNU make y Pasmo. La imagen del cartucho no viaja en este repositorio: cada cual pone la suya.

synth.rom    32.768 bytes
sha256       a2eea29f13662acea8d0cbe2b4e95201a29e82e0c3c38dd24e910e9325a90a0d

Con el fichero en la raíz del repositorio:

make            # listado, verificación, coherencia y tests

Qué hace cada paso

ordenqué hace
make compruebacomprueba el sha256 de la ROM
make listadotraza el flujo y genera src/synth.asm desde el binario y las notas
make verifyreensambla el listado y compara el sha256 con el de la ROM
make sanitycomprueba que ningún dato sale como código y que no queda un byte sin asignar
make testlos tests
make densidadcuántas instrucciones llevan comentario, rutina a rutina
make imagenesdibuja las imágenes de la web desde la ROM
make cotejacoteja esas pantallas con los volcados de openMSX
make webgenera las páginas HTML y comprueba los enlaces

make verify es el que decide: tiene que acabar con OK: reproducible byte a byte.

Dónde está cada cosa

ficheroqué es
src/synth.noteslos nombres, los comentarios y los bloques de datos, anclados a dirección
src/synth.entrieslos puntos de entrada que el trazado no puede deducir, cada uno con su porqué
src/synth.nocodelas zonas que no son código aunque el trazado pueda entrar
src/synth.asmel listado comentado, generado
tools/z80trace.py, tools/mkasm.pyel trazador y el generador del listado
tools/flujos.pyel RLE con el que el cartucho escribe la VRAM
tools/motor.pySYN escrito de nuevo: el sintetizador, muestra a muestra
tools/sonido.pyPLAY: los timbres tocados como los toca el cartucho, en WAV
tools/timbres.pyla tabla de los dieciséis timbres de fábrica
tools/pantallas.py, tools/imagenes.pymontan cada pantalla desde las tablas y la pintan
tools/coteja_todo.py, tools/coteja_dac.pyel cotejo con los volcados de openMSX y con lo que llega al DAC
tools/omsx_*.tcl, tools/lanza_*.shlas sondas de openMSX: ver En el emulador

Las páginas: El programa, El cartucho, El código, Hallazgos, En el emulador y Preguntas abiertas.