Getting started

You need Python 3, GNU make, Pasmo and your own image of the cartridge as dunkshot.rom at the root of the repository (32,768 bytes; make comprueba checks the sha256). The ROM is not distributed.

make            # listing, reassembly, checks and tests
make imagenes   # the website pictures, from the ROM
make web        # the bilingual website in docs/
make parche     # the MSX2 patch: work/dunkshot_msx2.rom and parche/dunkshot_msx2.ips

make generates src/dunkshot.asm from the binary and the notes (src/dunkshot.notes), reassembles it with Pasmo and checks that the exact ROM comes out; then it runs the checks that reassembly does not cover: that no data is read as code, that no entry point falls inside a data area and that not a single byte is left unassigned.

The tools

The notes

The listing is not edited by hand: every comment is a directive in the notes file anchored to an address (C 0x5F33 text), every named routine an L, and every data block a D with its measurement. make listado applies them and tools/valida_c.py warns if one lands mid-instruction or is repeated.