El repositorio trae el listado ya generado, pero lo que de verdad importa es que se puede rehacer entero desde el cartucho y que el resultado vuelve a ser la ROM byte a byte. Eso es lo que hace que las notas se puedan creer.
No viaja con el repositorio. Hay que ponerlo en la raíz como roadfighter.rom, 16.384 bytes exactos:
6d36c9e9b6a6b93f642722dcd314834d01e519ab3a98d7e4ca257468bcaf29e1
La otra compilación, que hace falta sólo para make coteja, va como roadfighter_dificil.rom:
070fc231f979a04bb4652f7c5e585f6445758af32ffcbf60757deb1f7b5856e7
make comprueba verifica los dos.
makemake traza, genera el listado, verifica y pasa los tests
make trace sigue el flujo desde los puntos de entrada
make listado escribe src/roadfighter.asm
make verify LA PRUEBA: reensambla y compara con la ROM
make sanity lo que el reensamblado no puede cazar
make densidad cuánto está comentado, rutina por rutina
make test los tests
make web genera esta web
make verify es el que decide si el desensamblado es fiable. Mientras no esté en verde, cualquier cosa que se diga del cartucho se dice a ciegas.
Los tests no necesitan la ROM. tests/test_listado.py reconstruye los bytes de datos leyendo las filas defb y defw del propio listado, que llevan su dirección en el comentario. Así el descompresor, el intérprete de rótulos, el pegador de retales y el generador de carretera se pueden ejecutar en un clon pelado, sin cartucho y sin make.
src/roadfighter.asm el listado, generado
src/roadfighter.notes LO ENTENDIDO: de aquí salen los comentarios
src/roadfighter.entries los puntos de entrada que no se deducen solos
src/roadfighter.nocode lo que no es código aunque lo parezca
tools/ las herramientas
tests/ lo que vigila que esto no se degrade
El .asm se regenera: no se edita. Lo que se edita es el .notes, y por eso los comentarios sobreviven a un retrazado.