Skip to content

Latest commit

Β 

History

History
146 lines (127 loc) Β· 4.81 KB

File metadata and controls

146 lines (127 loc) Β· 4.81 KB

Soup

A gameboy emulator written in rust

How to run

(Builds not available yet)

cargo run --release ./path/to/file.gb

Keys

Move: Arrows
A: x key
B: z key
Select: Space
Start: Enter

Status

  • Audio not supported (yet)
  • Some cartridges are not yet supported. See "Test status"

Tests status:

Blargg

Test Status
cpu_instr πŸ‘
instr_timing πŸ‘
halt_bug πŸ‘
interrupt_time ❌
mem_timing πŸ‘
mem_timing-2 πŸ‘
cgb_sound ❌
dmg_sound ❌
oam_bug ❌

Mooneye Acceptance tests

Test Status
add_sp_e_timing πŸ‘
call_cc_timing πŸ‘
call_cc_timing2 πŸ‘
call_timing πŸ‘
call_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_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 πŸ‘
bits/mem_oam πŸ‘
bits/reg_f πŸ‘
bits/unused_hwio-GS ❌
instr/daa πŸ‘
interrupts/ie_push ❌
oam_dma/basic πŸ‘
oam_dma/reg_read πŸ‘
oam_dma/sources-GS ❌
ppu/hblank_ly_scx_timing-GS ❌
ppu/intr_1_2_timing-GS ❌
ppu/intr_2_0_timing ❌
ppu/intr_2_mode0_timing πŸ‘
ppu/intr_2_mode0_timing_sprites ❌
ppu/intr_2_mode3_timing πŸ‘
ppu/intr_2_oam_ok_timing πŸ‘
ppu/lcdon_timing-GS ❌
ppu/lcdon_write_timing-GS ❌
ppu/stat_irq_blocking ❌
ppu/stat_lyc_onoff ❌
ppu/vblank_stat_intr-GS ❌
serial/boot_sclk_align-dmgABCmgb ❌
timer/div_write πŸ‘
timer/rapid_toggle ❌
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 πŸ‘
timer/tima_write_reloading πŸ‘
timer/tma_write_reloading πŸ‘

Mooneye Emulator Only tests

Test Status
mbc1/bits_bank1 πŸ‘
mbc1/bits_bank2 πŸ‘
mbc1/bits_mode πŸ‘
mbc1/bits_ramg πŸ‘
mbc1/multicart_rom_8Mb ❌
mbc1/ram_64kb πŸ‘
mbc1/ram_256kb πŸ‘
mbc1/rom_1Mb πŸ‘
mbc1/rom_2Mb πŸ‘
mbc1/rom_4Mb πŸ‘
mbc1/rom_8Mb πŸ‘
mbc1/rom_16Mb πŸ‘
mbc1/rom_512kb πŸ‘
Test Status
mbc2/bits_ramg πŸ‘
mbc2/bits_romb πŸ‘
mbc2/bits_unused πŸ‘
mbc2/ram πŸ‘
mbc2/rom_1Mb πŸ‘
mbc2/rom_2Mb πŸ‘
mbc2/rom_512kb πŸ‘
Test Status
mbc3 Supported but not tested

Disclaimer

This gameboy emulator was made for academic purposes only. If you're going to use it, please use uncopyrighted or open source games.