Awesome
Common
- Place
tetris.gb
in thetools/
directory, andweb/
directory - Former is used for scripts, and
tools/cmp.sh
, and the latter for web visualisations
Building
- Install RGBDS v0.6.1
- Run
make
within thedisasm
directory - Run
tools/cmp.sh
to compare built ROM against original ROM
Web
- Start a web server within the
web/
directory, egpython3 -m http.server
- Navigate to the root page to see a list of game screens and sprites
Project Structure
disasm
code
- dissected and commented asm that runs the gamedata
- large blocks of data, layouts are in.bin
filesgfx
- pngs of 1bpp and 2bpp datainclude
- constants, hardware definitions, ram, macros and structsincludes.s
- imported definitions, excluding those that need building, eg ram
tools
- misc tools to help with disassemblyweb
- the html+js in 1 file to visualisedocs
- reference images, and flow .drawio
Note on improvements
The project serves to describe everything that makes the game function as it does. Some things are not completely clear from the outset. If you need a full guide on a particular concept, eg sound engine, or some part of the disassembly needs further clarification, please feel free to raise an issue