All Projects → mmuszkow → Gb Disasm

mmuszkow / Gb Disasm

GameBoy ROMs disassembler

Programming Languages

assembly
5116 projects

gb-disasm

GameBoy ROMs disassembler.

Usage: ./gb-disasm <ROM> -s <HEX> -b <BANK> -a -nc -nj
<ROM> -> obligatory, ROM file to be disassembled
  -s  -> optional, start address (PC), default is 0x100
  -e  -> optional, end adress (PC), default is 0x8000
  -b  -> optional, memory bank number, default is 1
  -a  -> optional, print assembly, default is print binary dump
  -nc -> optional, don't follow call instructions, default is to follow
  -nj -> optional, don't follow jump instructions, default is to follow

It is not finished and can disassemble only parts of the ROMs binaries. I didn't test it extensively on ROMs with MBC (Memory Bank Controller).

Most of the code is autogenerated by script (generator.py) that uses opcodes table (opcodes.html) to generate parsing code in C.

To compile it on linux, in src directory execute gcc main.c -O2 -o gb-disasm.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].