A Game Boy emulator written in Java. Supports loading ROMs, executing CPU instructions, handling memory management, GPU scanline rendering, sprite rendering (broken at the moment), and (partially) interactive debugging.
Partial 8-bit Z80 CPU emulation (Z80.java)
Instruction decoding (CBOpcodeInfo.java, OpcodeInfo.java)
ROM loading and memory mapping (ROMLoader.java, MMU.java)
GPU with scanline and sprite rendering (sprite rendering currently broken) (GPU.java, Sprite.java)
Joypad input handling (Broken) (Joypad.java)
Debugger with UI (DebuggerUI.java, DebuggerController.java)
- Java 8 or newer
- A valid Game Boy ROM file (
.gb) - NOTE Only supports MBC1
-
Load games without use of BIOS -
Input Handling -
Implement all opcodes -
Sprite Rendering (Broken) - Interrupt Handling (Broken)
- Memory Viewer/Debugger (Crude)
- Functional UI
- Audio emulation
- Save states
- BIOS support
- Link cable emulation