/JAGE

Just Another Gameboy Emulator

Primary LanguageJavaBSD 2-Clause "Simplified" LicenseBSD-2-Clause

JAGE

Just Another Gameboy Emulator


Desription

JAGE is a work-in-progress project to create a functioning Gameboy emulator in java. The structure of the modified z80 processor, used in the Gameboy, is represented in a very verbose way. The goal of the project is NOT to make the fastest emulator possible, but to layout the internals in an easily understandable way, that is compliant with object oriented language paradigms of java. For that reason the opcodes and corresponding instructions are stored in the 'instructions.yml' file. Which are then dynamically loaded and executed. This approach enables the commands to be very general and clear. It also helps with debugging as it makes tracing the executed code straight forward.

In addition to the main window this emulator features debugging tools like a sprite view, a memory view and a disassembler. Although these are still very much work-in-progess.

Progress

So far the emulator is able to run the 1. test from the emulator test set found here: http://gbdev.gg8.se/files/roms/blargg-gb-tests/

In the issue tab of this github project one can find the still missing functions.

Documents & Reading

As the Gameboy is a very well researched device a lot of documentation exists some of it is really excellent: