Skip to content

Latest commit

 

History

History
130 lines (119 loc) · 3.92 KB

README.md

File metadata and controls

130 lines (119 loc) · 3.92 KB

JAGBE

JAGBE or Just Another GameBoy Emulator for long, is exactly what it sounds like, the goal of this emulator is to further learn how emulators work (maybe make something that will play more than tetris), and to try not to stick everything in one file.

Currently passes the following of blargg's instruction tests:

# name state
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)

Memory Timing:

# access type state
1 read
2 write
3 modify

dmg_audio:

# name state
01 registers
02 len ctr
03 trigger
04 sweep
05 sweep details
06 overflow on trigger
07 len sweep period sync
08 len ctr during power
09 wave read while on
10 wave trigger while on
11 regs after power
12 wave write while on
name state
instr_timing
halt_bug

MoonEye acceptance tests:

test state comment
add_sp_e_timing
bits/mem_oam
bits/reg_f
bits/unused_hwio-GS
boot_regs-dmgABCX
call_cc_timing
call_cc_timing2
call_timing
call_timing2
di_timing-GS
div_timing
ei_sequence
ei_timing
oam_dma/basic
oam_dma/reg_read
oam_dma/sources-dmgABCXmgbS 'Fail: $FE00'
ppu/hblank_ly_scx_timing-GS 'Test Failed'
ppu/intr_1_2_timing-GS D incorrect.
ppu/intr_2_0_timing D,E Incorrect
ppu/intr_2_mode0_timing E Incorrect.
ppu/intr_2_mode0_timing_sprites Test #00 failed
ppu/intr_2_mode3_timing E Incorrect.
ppu/intr_2_oam_ok_timing E Incorrect.
ppu/lcdon_timing-dmgABCXmgbS Expected $01 got $00.
ppu/lcdon_write_timing-GS Expected $81 got $00.
ppu/stat_irq_blocking
ppu/vblank_stat_intr-GS D Incorrect.
halt_ime0_ei
halt_ime0_nointr_timing D Incorrect.
halt_ime1_timing
halt_ime1_timing2-GS E Incorrect.
if_ie_registers
intr_timing E Incorrect.
interrupts/ie_push
jp_cc_timing
jp_timing
ld_hl_sp_e_timing
oam_dma_restart
oam_dma_start
oam_dma_timing
pop_timing
push_timing
rapid_di_ei
ret_cc_timing
ret_timing
reti_intr_timing
reti_timing
rst_timing
timer/div_write
timer/rapid_toggle C Incorrect.
timer/tim00
timer/tim00_div_trigger
timer/tim01
timer/tim01_div_trigger
timer/tim10
timer/tim10_div_trigger
timer/tim11
timer/tim11_div_trigger
timer/tima_reload B,C Incorrect.
timer/tima_write_reloading
timer/tma_write_reloading

mooneye mbc1 tests:

Name Status
multicart_rom_8Mb
ram_64Kb
ram_256Kb
rom_1Mb
rom_2Mb
rom_4Mb
rom_8Mb
rom_16Mb
rom_512Kb