GameBoi is a GameBoy emulator written in Java 8 from scratch.
Build the emulator with mvn clean package
. This will create a jar file in the target
folder, run the jar with java -jar gameboi.jar <ROM file location>
CPU: All CPU instructions implemented
Memory: Support for 32KB ROMs, without mappers
GPU: Background rendering with palette swapping
Integrated Travis-CI for reporting build status, code coverage and documenting the code.
Blargg's test ROMs are used for testing compatibility. These are run on every build. Current status
# | CPU Test | Status |
---|---|---|
01 | special | ✅ |
02 | interrupts | ❌ |
03 | op sp,hl | ✅ |
04 | op r,imm | ✅ |
05 | op rp | ✅ |
06 | ld r,r | ✅ |
07 | jr,jp,call,ret,rst | ✅ |
08 | misc | ✅ |
09 | op r,r | ✅ |
10 | bit ops | ✅ |
11 | op a,(hl) | ✅ |
- Joypad support
- Adding sprite rendering
- Implementing memory banking
- Sound support
GameBoi is released under the MIT License.