This is a GameBoy emulator written in Java. It is my first attempt at writing an emulator. It was meant to be a development exercise to see what I was capable of. It took me over 6 Months to create this emulator. I learned about emulation and Java by building this.
| Feature | Support |
|---|---|
| Emulates the GameBoy hardware | ✔ |
| Supports for save Files | ✔ |
| Customizable keybindings | ✔ |
| Save states | ❌ |
| Audio output | ❌ |
| Cycle-exact Emulation | ❌ |
| Serial connection (locally or over the internet) | ❌ |
| Zipped ROMs support | ✔ |
- Clone or download the repository to your local machine.
- Make sure you have Java installed on your system.
- Compile the Java source files.
- Run the emulator.
- Open the emulator application.
- Load a GameBoy ROM file.
- Use the keyboard or configured gamepad controls to play the game.
- Save and load game states using the provided functionality.
- Enjoy playing your favorite GameBoy games!
passed the Blargg's CPU instruction test (See more at COMPABILITY.MD. Most of the major games should work. Supported Memory Bank Controllers are MBC1, MBC2 and MBC3. However, some games may not work perfectly due to emulation limitations. There is not yet any Gameboy Color support.
- Contributions are welcome! Feel free to submit bug fixes, improvements, or new features via pull requests.
- This project is licensed under the MIT License - see the LICENSE file for details.
- Special thanks to the EmuDev Reddit and their Discord


