Boy is a Gamboy (dmg not 0) emulator written in Java.
- Writing a good understandable emulator without any magic
- Understanding how the hardware works to make a clear implementation
- Having the best performance
- Pass all tests for dmg (not 0)
- Implement sound
- Make implementation of MBC1 clearer
- Implement all other MBC's
Test | Boy |
---|---|
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 instrs | 👍 |
09-op r,r | 👍 |
10-bit ops | 👍 |
11-op a,(hl) | 👍 |
Test | Boy |
---|---|
instr_timing | 👍 |
Test | Boy |
---|---|
01-read_timing | 👍 |
02-write_timing | 👍 |
03-modify_timing | 👍 |
Test | Boy |
---|---|
add sp e timing | 👍 |
boot div dmgABCmgb | ❌ |
boot hwio dmgABCmgb | 👍 |
boot regs dmgABC | 👍 |
call timing | 👍 |
call timing2 | 👍 |
call cc_timing | 👍 |
call cc_timing2 | 👍 |
di timing GS | 👍 |
div timing | 👍 |
ei sequence | 👍 |
ei timing | 👍 |
halt ime0 ei | 👍 |
halt ime0 nointr_timing | 👍 |
halt ime1 timing | 👍 |
halt ime1 timing2 GS | 👍 |
if ie registers | 👍 |
intr timing | 👍 |
jp timing | 👍 |
jp cc timing | 👍 |
ld hl sp e timing | 👍 |
oam dma_restart | 👍 |
oam dma start | 👍 |
oam dma timing | 👍 |
pop timing | 👍 |
push timing | 👍 |
rapid di ei | 👍 |
ret timing | 👍 |
ret cc timing | 👍 |
reti timing | 👍 |
reti intr timing | 👍 |
rst timing | 👍 |
Test | Boy |
---|---|
mem oam | 👍 |
reg f | 👍 |
unused_hwio GS | 👍 |
Test | Boy |
---|---|
daa | 👍 |
Test | Boy |
---|---|
ie push | 👍 |
Test | Boy |
---|---|
basic | 👍 |
reg_read | 👍 |
sources dmgABCmgbS | ❌ |
Test | Boy |
---|---|
hblank ly scx timing GS | ❌ |
intr 1 2 timing GS | 👍 |
intr 2 0 timing | 👍 |
intr 2 mode0 timing | 👍 |
intr 2 mode3 timing | 👍 |
intr 2 oam ok timing | 👍 |
intr 2 mode0 timing sprites | ❌ |
lcdon timing dmgABCmgbS | 👍 |
lcdon write timing GS | 👍 |
stat irq blocking | ❌ |
stat lyc onoff | ❌ |
vblank stat intr GS | 👍 |
Test | Boy |
---|---|
boot sclk align dmgABCmgb | ❌ |
Test | Boy |
---|---|
div write | 👍 |
rapid toggle | 👍 |
tim00 div trigger | 👍 |
tim00 | 👍 |
tim01 div trigger | 👍 |
tim01 | 👍 |
tim10 div trigger | 👍 |
tim10 | 👍 |
tim11 div trigger | 👍 |
tim11 | 👍 |
tima reload | 👍 |
tima write reloading | ❌ |
tma write reloading | ❌ |
Test | Boy |
---|---|
bits ram en | 👍 |
rom 512Kb | 👍 |
rom 1Mb | 👍 |
rom 2Mb | 👍 |
rom 4Mb | 👍 |
rom 8Mb | 👍 |
rom 16Mb | 👍 |
ram 64Kb | 👍 |
ram 256Kb | 👍 |
multicart rom 8Mb | ❌ |
Test | Boy |
---|---|
sprite priority | 👍 |