An interpreting GameBoy emulator and development tooling written in Java.
Licensed under the MIT License.
Tailspin is currently capable of booting the official GameBoy bootstrap ROM, as well as Dr. Mario (World) and Bubble Ghost (Japan). A small runtime memory patch allows it to also boot Tetris (World), however the patch will be unnecessary once CPU interrupts are fully implemented.
The JavaFX debugger interface is still under development, but the CLI interface supports every operation that the debugger is currently capable of.
Memory bank switching is not yet implemented; this restricts the set of ROMs that can be loaded to the set of ROMs which are <= 32kb in size.
Emulator core for Tailspin (com.echodrop.gameboy.core and com.echodrop.gameboy.graphics). Contains core hardware model and logic.
A collection of user interfaces for various components of TDMG (com.echodrop.gameboy.ui). Command-line interfaces are available in addition to graphical user interfaces to the debugger and emulator.
Emulation/ROM debugging engine (com.echodrop.gameboy.debugger). Supports memory/register dumping, tile/framebuffer dumping, conditional breakpoints, and live memory search/edit. Real-time disassembler has yet to be implemented.
Direct Memory Access transfers
Misc / Stretch goals
Custom color palettes
Documentation used in the development of TDMG