Awesome
Gameboy Binary Ninja plugin
Description
A Binary Ninja plugin to load Game Boy ROMs and disassemble Game Boy architecture bytecode (Sharp LR35902).
Based on bnGB by Hugo Porcher (icecr4ck). Extended by Carl Svensson (ZetaTwo)
For a list of changes, read the changelog.
Improvements
- Added proper IO register symbols
- Added ISR symbols
- Fixed some incorrect branching
- Fixed some incorrect addressing modes
- Implemented LLIL lifting
Todo
- Fix sub_d (stop disas from 0)
- Handle HALT/RESET/EI/DI opcodes in LLIL
- Handle BCD (DAA opcode and test the half carry flag)
- Thorough testing
Installation
Either install the plugin from the plugin manager or manually clone the repository to your plugin directory.
Minimum version
This plugin has been tested on the following versions of Binary Ninja:
- release - 3.5.4526
References
- Gameboy Project
- Gameboy Pan Docs
- Gameboy opcodes
- Gekkio's Game Boy Complete Technical Reference
- Game Boy CPU Manual
Testing
License
This plugin is released under a MIT license.