Skip to content

Latest commit

Β 

History

History
913 lines (846 loc) Β· 25.8 KB

TESTING.md

File metadata and controls

913 lines (846 loc) Β· 25.8 KB

Tests

A documentation of all hardware tests tested on mizu.

Acid2 tests

Tests State
dmg_acid2 πŸ‘
cgb_acid2 πŸ‘
cgb_acid_hell ❌
Test State
cpu_instrs πŸ‘
instr_timing πŸ‘
halt_bug πŸ‘
mem_timing πŸ‘
mem_timing-2 πŸ‘
dmg_sound πŸ‘
cgb_sound πŸ‘
oam_bug πŸ‘
interrupt_time πŸ‘
Test State
lycscx πŸ‘
lycscy πŸ‘
palettely πŸ‘
scxly πŸ‘
statcount πŸ‘

Acceptance

Test State
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 πŸ‘

Bits (unusable bits in memory and registers)

Test State
mem_oam πŸ‘
reg_f πŸ‘
unused_hwio-GS πŸ‘

Instructions

Test State
daa πŸ‘

Interrupt handling

Test State
ie_push πŸ‘

OAM DMA

Test State
basic πŸ‘
reg_read πŸ‘
sources-GS πŸ‘/❌*

* sources-GS passes on both CGB and DMG in mizu but it should pass on DMG and fail on CGB.

PPU

Test State
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-GS ❌
lcdon_write_timing-GS ❌
stat_irq_blocking πŸ‘
stat_lyc_onoff πŸ‘
vblank_stat_intr-GS πŸ‘

Serial

Test State
boot_sclk_align-dmgABCmgb πŸ‘

Timer

Test State
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 πŸ‘

emulator-only

MBC1

Test State
bits_bank1 πŸ‘
bits_bank2 πŸ‘
bits_mode πŸ‘
bits_ramg πŸ‘
rom_512kb πŸ‘
rom_1Mb πŸ‘
rom_2Mb πŸ‘
rom_4Mb πŸ‘
rom_8Mb πŸ‘
rom_16Mb πŸ‘
ram_64kb πŸ‘
ram_256kb πŸ‘
multicart_rom_8Mb πŸ‘

MBC2

Test State
bits_ramg πŸ‘
bits_romb πŸ‘
bits_unused πŸ‘
rom_512kb πŸ‘
rom_1Mb πŸ‘
rom_2Mb πŸ‘
ram πŸ‘

MBC5

Test State
rom_512kb πŸ‘
rom_1Mb πŸ‘
rom_2Mb πŸ‘
rom_4Mb πŸ‘
rom_8Mb πŸ‘
rom_16Mb πŸ‘
rom_32Mb πŸ‘
rom_64Mb πŸ‘

manual

Test State
sprite_priority πŸ‘

misc (CGB)

Test State
boot_div-cgbABCDE πŸ‘
boot_hwio-C πŸ‘
boot_regs-cgb πŸ‘

Bits

Test State
unused_hwio-C πŸ‘

PPU

Test State
vblank_stat_intr-C πŸ‘

HDMA

Test State
gbc_dma_cont πŸ‘
gdma_addr_mask πŸ‘
hdma_lcd_off πŸ‘
hdma_mode0 πŸ‘

PPU

Test State
blocking_bgpi_increase πŸ‘

APU

Test State
div_write_trigger_10 πŸ‘
div_write_trigger πŸ‘
div_write_trigger_volume πŸ‘
div_write_trigger_volume_10 πŸ‘
div_trigger_volume_10 πŸ‘

Channel1

Test State
channel_1_align ❌
channel_1_align_cpu ❌
channel_1_delay ❌
channel_1_duty ❌
channel_1_duty_delay ❌
channel_1_extra_length_clocking-cgb0B ❌
channel_1_freq_change ❌
channel_1_freq_change_timing-A ❌
channel_1_freq_change_timing-cgb0BC ❌
channel_1_freq_change_timing-cgbDE ❌
channel_1_nrx2_glitch ❌
channel_1_nrx2_speed_change ❌
channel_1_restart ❌
channel_1_restart_nrx2_glitch ❌
channel_1_stop_div ❌
channel_1_stop_restart ❌
channel_1_sweep ❌
channel_1_sweep_restart ❌
channel_1_sweep_restart_2 ❌
channel_1_volume ❌
channel_1_volume_div ❌

Channel2

Test State
channel_2_align ❌
channel_2_align_cpu ❌
channel_2_delay ❌
channel_2_duty ❌
channel_2_duty_delay ❌
channel_2_extra_length_clocking-cgb0B ❌
channel_2_freq_change ❌
channel_2_nrx2_glitch ❌
channel_2_nrx2_speed_change ❌
channel_2_restart ❌
channel_2_restart_nrx2_glitch ❌
channel_2_stop_div ❌
channel_2_stop_restart ❌
channel_2_volume ❌
channel_2_volume_div ❌

Channel3

Test State
channel_3_and_glitch ❌
channel_3_delay ❌
channel_3_extra_length_clocking-cgb0 ❌
channel_3_extra_length_clocking-cgbB ❌
channel_3_first_sample ❌
channel_3_freq_change_delay ❌
channel_3_restart_delay ❌
channel_3_restart_during_delay ❌
channel_3_restart_stop_delay ❌
channel_3_shift_delay ❌
channel_3_shift_skip_delay ❌
channel_3_stop_delay πŸ‘
channel_3_stop_div ❌
channel_3_wave_ram_locked_write πŸ‘
channel_3_wave_ram_sync ❌

Channel4

Test State
channel_4_align ❌
channel_4_delay ❌
channel_4_equivalent_frequencies ❌
channel_4_extra_length_clocking-cgb0B ❌
channel_4_freq_change ❌
channel_4_frequency_alignment ❌
channel_4_lfsr ❌
channel_4_lfsr15 ❌
channel_4_lfsr_15_7 ❌
channel_4_lfsr_7_15 ❌
channel_4_lfsr_restart ❌
channel_4_lfsr_restart_fast ❌
channel_4_volume_div ❌
Test State
audio_testbench ❌
803-ppu-latch-bgdisplay ❌
cpu_bus_1 ❌
div_inc_timing_a πŸ‘
div_inc_timing_b πŸ‘
dma_0x1000 πŸ‘
dma_0x9000 πŸ‘
dma_0xA000 πŸ‘
dma_0xC000 πŸ‘
dma_0xE000 πŸ‘
dma_basic ❌
dma_timing_a πŸ‘
400-dma ❌
flood_vram ❌
halt_bug ❌
halt_op_dupe_delay ❌
halt_op_dupe πŸ‘
hblank_int_di_timing_a ❌
hblank_int_di_timing_b πŸ‘
hblank_int_if_a ❌
hblank_int_if_b πŸ‘
hblank_int_l0 ❌
hblank_int_l1 ❌
hblank_int_l2 ❌
hblank_int_scx0_if_a πŸ‘
hblank_int_scx0_if_b πŸ‘
hblank_int_scx0_if_c πŸ‘
hblank_int_scx0_if_d πŸ‘
hblank_int_scx0 ❌
hblank_int_scx1_if_a πŸ‘
hblank_int_scx1_if_b πŸ‘
hblank_int_scx1_if_c πŸ‘
hblank_int_scx1_if_d πŸ‘
hblank_int_scx1_nops_a πŸ‘
hblank_int_scx1_nops_b πŸ‘
hblank_int_scx1 ❌
hblank_int_scx2_if_a πŸ‘
hblank_int_scx2_if_b ❌
hblank_int_scx2_if_c ❌
hblank_int_scx2_if_d ❌
hblank_int_scx2_nops_a ❌
hblank_int_scx2_nops_b ❌
hblank_int_scx2 ❌
hblank_int_scx3_if_a πŸ‘
hblank_int_scx3_if_b πŸ‘
hblank_int_scx3_if_c πŸ‘
hblank_int_scx3_if_d πŸ‘
hblank_int_scx3_nops_a πŸ‘
hblank_int_scx3_nops_b πŸ‘
hblank_int_scx3 πŸ‘
hblank_int_scx4_if_a πŸ‘
hblank_int_scx4_if_b πŸ‘
hblank_int_scx4_if_c πŸ‘
hblank_int_scx4_if_d πŸ‘
hblank_int_scx4_nops_a πŸ‘
hblank_int_scx4_nops_b πŸ‘
hblank_int_scx4 ❌
hblank_int_scx5_if_a πŸ‘
hblank_int_scx5_if_b πŸ‘
hblank_int_scx5_if_c πŸ‘
hblank_int_scx5_if_d πŸ‘
hblank_int_scx5_nops_a πŸ‘
hblank_int_scx5_nops_b πŸ‘
hblank_int_scx5 ❌
hblank_int_scx6_if_a πŸ‘
hblank_int_scx6_if_b ❌
hblank_int_scx6_if_c ❌
hblank_int_scx6_if_d ❌
hblank_int_scx6_nops_a ❌
hblank_int_scx6_nops_b ❌
hblank_int_scx6 ❌
hblank_int_scx7_if_a πŸ‘
hblank_int_scx7_if_b πŸ‘
hblank_int_scx7_if_c πŸ‘
hblank_int_scx7_if_d πŸ‘
hblank_int_scx7_nops_a πŸ‘
hblank_int_scx7_nops_b πŸ‘
hblank_int_scx7 ❌
hblank_scx2_if_a ❌
hblank_scx3_if_a πŸ‘
hblank_scx3_if_b ❌
hblank_scx3_if_c ❌
hblank_scx3_if_d ❌
hblank_scx3_int_a πŸ‘
hblank_scx3_int_b ❌
int_hblank_halt_bug_a πŸ‘
int_hblank_halt_bug_b πŸ‘
int_hblank_halt_scx0 ❌
int_hblank_halt_scx1 ❌
int_hblank_halt_scx2 ❌
int_hblank_halt_scx3 ❌
int_hblank_halt_scx4 ❌
int_hblank_halt_scx5 ❌
int_hblank_halt_scx6 ❌
int_hblank_halt_scx7 ❌
int_hblank_incs_scx0 ❌
int_hblank_incs_scx1 ❌
int_hblank_incs_scx2 ❌
int_hblank_incs_scx3 ❌
int_hblank_incs_scx4 ❌
int_hblank_incs_scx5 ❌
int_hblank_incs_scx6 ❌
int_hblank_incs_scx7 ❌
int_hblank_nops_scx0 ❌
int_hblank_nops_scx1 ❌
int_hblank_nops_scx2 ❌
int_hblank_nops_scx3 ❌
int_hblank_nops_scx4 ❌
int_hblank_nops_scx5 ❌
int_hblank_nops_scx6 ❌
int_hblank_nops_scx7 ❌
int_lyc_halt ❌
int_lyc_incs πŸ‘
int_lyc_nops ❌
int_oam_halt ❌
int_oam_incs ❌
int_oam_nops ❌
int_timer_halt_div_a πŸ‘
int_timer_halt_div_b ❌
int_timer_halt ❌
int_timer_incs πŸ‘
int_timer_nops_div_a πŸ‘
int_timer_nops_div_b πŸ‘
int_timer_nops πŸ‘
int_vblank1_halt ❌
int_vblank1_incs ❌
int_vblank1_nops ❌
int_vblank2_halt ❌
int_vblank2_incs ❌
int_vblank2_nops ❌
is_if_set_during_ime0 πŸ‘
007-lcd_on_stat ❌
lcdon_halt_to_vblank_int_a ❌
lcdon_halt_to_vblank_int_b πŸ‘
lcdon_nops_to_vblank_int_a ❌
lcdon_nops_to_vblank_int_b πŸ‘
lcdon_to_if_oam_a πŸ‘
lcdon_to_if_oam_b ❌
lcdon_to_ly1_a πŸ‘
lcdon_to_ly1_b πŸ‘
lcdon_to_ly2_a πŸ‘
lcdon_to_ly2_b πŸ‘
lcdon_to_ly3_a πŸ‘
lcdon_to_ly3_b πŸ‘
lcdon_to_lyc1_int πŸ‘
lcdon_to_lyc2_int πŸ‘
lcdon_to_lyc3_int πŸ‘
lcdon_to_oam_int_l0 ❌
lcdon_to_oam_int_l1 ❌
lcdon_to_oam_int_l2 ❌
lcdon_to_oam_unlock_a πŸ‘
lcdon_to_oam_unlock_b πŸ‘
lcdon_to_oam_unlock_c πŸ‘
lcdon_to_oam_unlock_d ❌
lcdon_to_stat0_a πŸ‘
lcdon_to_stat0_b πŸ‘
lcdon_to_stat0_c πŸ‘
lcdon_to_stat0_d πŸ‘
lcdon_to_stat1_a πŸ‘
lcdon_to_stat1_b ❌
lcdon_to_stat1_c πŸ‘
lcdon_to_stat1_d ❌
lcdon_to_stat1_e πŸ‘
lcdon_to_stat2_a ❌
lcdon_to_stat2_b πŸ‘
lcdon_to_stat2_c πŸ‘
lcdon_to_stat2_d πŸ‘
lcdon_to_stat3_a πŸ‘
lcdon_to_stat3_b πŸ‘
lcdon_to_stat3_c πŸ‘
lcdon_to_stat3_d πŸ‘
lcdon_write_timing ❌
line_144_oam_int_a πŸ‘
line_144_oam_int_b ❌
line_144_oam_int_c ❌
line_144_oam_int_d ❌
line_153_ly_a πŸ‘
line_153_ly_b πŸ‘
line_153_ly_c ❌
line_153_ly_d πŸ‘
line_153_ly_e ❌
line_153_ly_f πŸ‘
line_153_lyc_a πŸ‘
line_153_lyc_b πŸ‘
line_153_lyc_c ❌
line_153_lyc_int_a πŸ‘
line_153_lyc_int_b πŸ‘
line_153_lyc0_int_inc_sled πŸ‘
line_153_lyc0_stat_timing_a πŸ‘
line_153_lyc0_stat_timing_b πŸ‘
line_153_lyc0_stat_timing_c πŸ‘
line_153_lyc0_stat_timing_d πŸ‘
line_153_lyc0_stat_timing_e πŸ‘
line_153_lyc0_stat_timing_f ❌
line_153_lyc0_stat_timing_g πŸ‘
line_153_lyc0_stat_timing_h ❌
line_153_lyc0_stat_timing_i πŸ‘
line_153_lyc0_stat_timing_j ❌
line_153_lyc0_stat_timing_k πŸ‘
line_153_lyc0_stat_timing_l πŸ‘
line_153_lyc0_stat_timing_m ❌
line_153_lyc0_stat_timing_n πŸ‘
line_153_lyc153_stat_timing_a πŸ‘
line_153_lyc153_stat_timing_b πŸ‘
line_153_lyc153_stat_timing_c ❌
line_153_lyc153_stat_timing_d πŸ‘
line_153_lyc153_stat_timing_e ❌
line_153_lyc153_stat_timing_f πŸ‘
line_65_ly ❌
ly_while_lcd_off ❌
lyc_int_halt_a ❌
lyc_int_halt_b πŸ‘
lyc1_int_halt_a ❌
lyc1_int_halt_b πŸ‘
lyc1_int_if_edge_a πŸ‘
lyc1_int_if_edge_b πŸ‘
lyc1_int_if_edge_c πŸ‘
lyc1_int_if_edge_d πŸ‘
lyc1_int_nops_a πŸ‘
lyc1_int_nops_b πŸ‘
lyc1_write_timing_a πŸ‘
lyc1_write_timing_b πŸ‘
lyc1_write_timing_c πŸ‘
lyc1_write_timing_d πŸ‘
lyc2_int_halt_a ❌
lyc2_int_halt_b πŸ‘
mbc1_ram_banks πŸ‘
mbc1_rom_banks ❌
minimal ❌
mode2_stat_int_to_oam_unlock ❌
oam_int_halt_a ❌
oam_int_halt_b πŸ‘
oam_int_if_edge_a πŸ‘
oam_int_if_edge_b ❌
oam_int_if_edge_c πŸ‘
oam_int_if_edge_d ❌
oam_int_if_level_c πŸ‘
oam_int_if_level_d ❌
oam_int_inc_sled ❌
oam_int_nops_a ❌
oam_int_nops_b πŸ‘
000-oam_lock ❌
oam_read_l0_a πŸ‘
oam_read_l0_b πŸ‘
oam_read_l0_c πŸ‘
oam_read_l0_d ❌
oam_read_l1_a πŸ‘
oam_read_l1_b πŸ‘
oam_read_l1_c πŸ‘
oam_read_l1_d ❌
oam_read_l1_e πŸ‘
oam_read_l1_f πŸ‘
oam_sprite_trashing ❌
oam_write_l0_a πŸ‘
oam_write_l0_b πŸ‘
oam_write_l0_c πŸ‘
oam_write_l0_d ❌
oam_write_l0_e ❌
oam_write_l1_a πŸ‘
oam_write_l1_b πŸ‘
oam_write_l1_c ❌
oam_write_l1_d πŸ‘
oam_write_l1_e πŸ‘
oam_write_l1_f ❌
poweron_bgp_000 πŸ‘
poweron_div_000 ❌
poweron_div_004 ❌
poweron_div_005 ❌
poweron_dma_000 ❌
poweron_if_000 πŸ‘
poweron_joy_000 πŸ‘
poweron_lcdc_000 πŸ‘
poweron_ly_000 πŸ‘
poweron_ly_119 ❌
poweron_ly_120 πŸ‘
poweron_ly_233 ❌
poweron_ly_234 πŸ‘
poweron_lyc_000 πŸ‘
poweron_oam_000 πŸ‘
poweron_oam_005 πŸ‘
poweron_oam_006 πŸ‘
poweron_oam_069 πŸ‘
poweron_oam_070 πŸ‘
poweron_oam_119 ❌
poweron_oam_120 πŸ‘
poweron_oam_121 πŸ‘
poweron_oam_183 πŸ‘
poweron_oam_184 πŸ‘
poweron_oam_233 ❌
poweron_oam_234 πŸ‘
poweron_oam_235 πŸ‘
poweron_obp0_000 πŸ‘
poweron_obp1_000 πŸ‘
poweron_sb_000 πŸ‘
poweron_sc_000 πŸ‘
poweron_scx_000 πŸ‘
poweron_scy_000 πŸ‘
poweron_stat_000 πŸ‘
poweron_stat_005 πŸ‘
poweron_stat_006 ❌
poweron_stat_007 πŸ‘
poweron_stat_026 ❌
poweron_stat_027 πŸ‘
poweron_stat_069 ❌
poweron_stat_070 πŸ‘
poweron_stat_119 πŸ‘
poweron_stat_120 ❌
poweron_stat_121 πŸ‘
poweron_stat_140 ❌
poweron_stat_141 πŸ‘
poweron_stat_183 ❌
poweron_stat_184 πŸ‘
poweron_stat_234 ❌
poweron_stat_235 πŸ‘
poweron_tac_000 πŸ‘
poweron_tima_000 πŸ‘
poweron_tma_000 πŸ‘
poweron_vram_000 πŸ‘
poweron_vram_025 πŸ‘
poweron_vram_026 ❌
poweron_vram_069 ❌
poweron_vram_070 πŸ‘
poweron_vram_139 πŸ‘
poweron_vram_140 ❌
poweron_vram_183 ❌
poweron_vram_184 πŸ‘
poweron_wx_000 πŸ‘
poweron_wy_000 πŸ‘
poweron ❌
ppu_scx_vs_bgp ❌
ppu_sprite_testbench ❌
ppu_sprite0_scx0_a πŸ‘
ppu_sprite0_scx0_b πŸ‘
ppu_sprite0_scx1_a πŸ‘
ppu_sprite0_scx1_b πŸ‘
ppu_sprite0_scx2_a πŸ‘
ppu_sprite0_scx2_b ❌
ppu_sprite0_scx3_a πŸ‘
ppu_sprite0_scx3_b ❌
ppu_sprite0_scx4_a πŸ‘
ppu_sprite0_scx4_b πŸ‘
ppu_sprite0_scx5_a πŸ‘
ppu_sprite0_scx5_b πŸ‘
ppu_sprite0_scx6_a πŸ‘
ppu_sprite0_scx6_b ❌
ppu_sprite0_scx7_a πŸ‘
ppu_sprite0_scx7_b ❌
ppu_spritex_vs_scx ❌
ppu_win_vs_wx ❌
ppu_wx_early ❌
800-ppu-latch-scx ❌
801-ppu-latch-scy ❌
sprite_0_a ❌
sprite_0_b πŸ‘
sprite_1_a ❌
sprite_1_b πŸ‘
sprite4_0_a ❌
sprite4_0_b πŸ‘
sprite4_1_a ❌
sprite4_1_b πŸ‘
sprite4_2_a ❌
sprite4_2_b πŸ‘
sprite4_3_a ❌
sprite4_3_b πŸ‘
sprite4_4_a ❌
sprite4_4_b πŸ‘
sprite4_5_a ❌
sprite4_5_b πŸ‘
sprite4_6_a ❌
sprite4_6_b πŸ‘
sprite4_7_a ❌
sprite4_7_b πŸ‘
stat_write_glitch_l0_a ❌
stat_write_glitch_l0_b ❌
stat_write_glitch_l0_c πŸ‘
stat_write_glitch_l1_a πŸ‘
stat_write_glitch_l1_b ❌
stat_write_glitch_l1_c ❌
stat_write_glitch_l1_d πŸ‘
stat_write_glitch_l143_a πŸ‘
stat_write_glitch_l143_b ❌
stat_write_glitch_l143_c ❌
stat_write_glitch_l143_d ❌
stat_write_glitch_l154_a ❌
stat_write_glitch_l154_b ❌
stat_write_glitch_l154_c πŸ‘
stat_write_glitch_l154_d ❌
temp πŸ‘
802-ppu-latch-tileselect ❌
004-tima_boot_phase ❌
004-tima_cycle_timer ❌
timer_div_phase_c πŸ‘
timer_div_phase_d πŸ‘
timer_tima_inc_256k_a πŸ‘
timer_tima_inc_256k_b πŸ‘
timer_tima_inc_256k_c πŸ‘
timer_tima_inc_256k_d πŸ‘
timer_tima_inc_256k_e πŸ‘
timer_tima_inc_256k_f πŸ‘
timer_tima_inc_256k_g πŸ‘
timer_tima_inc_256k_h πŸ‘
timer_tima_inc_256k_i πŸ‘
timer_tima_inc_256k_j πŸ‘
timer_tima_inc_256k_k πŸ‘
timer_tima_inc_64k_a πŸ‘
timer_tima_inc_64k_b πŸ‘
timer_tima_inc_64k_c πŸ‘
timer_tima_inc_64k_d πŸ‘
timer_tima_phase_a ❌
timer_tima_phase_b ❌
timer_tima_phase_c ❌
timer_tima_phase_d ❌
timer_tima_phase_e ❌
timer_tima_phase_f ❌
timer_tima_phase_g ❌
timer_tima_phase_h ❌
timer_tima_phase_i ❌
timer_tima_phase_j ❌
timer_tima_reload_256k_a πŸ‘
timer_tima_reload_256k_b πŸ‘
timer_tima_reload_256k_c πŸ‘
timer_tima_reload_256k_d πŸ‘
timer_tima_reload_256k_e πŸ‘
timer_tima_reload_256k_f πŸ‘
timer_tima_reload_256k_g πŸ‘
timer_tima_reload_256k_h πŸ‘
timer_tima_reload_256k_i πŸ‘
timer_tima_reload_256k_j πŸ‘
timer_tima_reload_256k_k πŸ‘
timer_tima_write_a πŸ‘
timer_tima_write_b πŸ‘
timer_tima_write_c πŸ‘
timer_tima_write_d πŸ‘
timer_tima_write_e πŸ‘
timer_tima_write_f πŸ‘
timer_tma_write_a πŸ‘
timer_tma_write_b πŸ‘
500-scx-timing ❌
toggle_lcdc ❌
vblank_int_halt_a ❌
vblank_int_halt_b πŸ‘
vblank_int_if_a πŸ‘
vblank_int_if_b ❌
vblank_int_if_c πŸ‘
vblank_int_if_d ❌
vblank_int_inc_sled ❌
vblank_int_nops_a ❌
vblank_int_nops_b πŸ‘
vblank2_int_halt_a ❌
vblank2_int_halt_b πŸ‘
vblank2_int_if_a πŸ‘
vblank2_int_if_b ❌
vblank2_int_if_c πŸ‘
vblank2_int_if_d ❌
vblank2_int_inc_sled ❌
vblank2_int_nops_a ❌
vblank2_int_nops_b πŸ‘
002-vram_locked ❌
vram_read_l0_a πŸ‘
vram_read_l0_b ❌
vram_read_l0_c ❌
vram_read_l0_d πŸ‘
vram_read_l1_a πŸ‘
vram_read_l1_b ❌
vram_read_l1_c ❌
vram_read_l1_d πŸ‘
001-vram_unlocked ❌
vram_write_l0_a πŸ‘
vram_write_l0_b ❌
vram_write_l0_c ❌
vram_write_l0_d πŸ‘
vram_write_l1_a πŸ‘
vram_write_l1_b ❌
vram_write_l1_c ❌
vram_write_l1_d πŸ‘
wave_write_to_0xC003 ❌
win0_a πŸ‘
win0_b ❌
win0_scx3_a πŸ‘
win0_scx3_b πŸ‘
win1_a πŸ‘
win1_b ❌
win10_a πŸ‘
win10_b ❌
win10_scx3_a πŸ‘
win10_scx3_b ❌
win11_a πŸ‘
win11_b ❌
win12_a πŸ‘
win12_b ❌
win13_a πŸ‘
win13_b ❌
win14_a πŸ‘
win14_b ❌
win15_a πŸ‘
win15_b ❌
win2_a πŸ‘
win2_b πŸ‘
win3_a πŸ‘
win3_b πŸ‘
win4_a πŸ‘
win4_b πŸ‘
win5_a πŸ‘
win5_b πŸ‘
win6_a ❌
win6_b πŸ‘
win7_a ❌
win7_b πŸ‘
win8_a πŸ‘
win8_b ❌
win9_a πŸ‘
win9_b ❌
000-write_to_x8000 ❌
Test State
window_y_trigger ❌
window_y_trigger_wx_offscreen πŸ‘

Extra

These are valuable tests, they come in a single rom, so they were grouped into a single table

Test State
rtc3test πŸ‘
bullyGB in DMG ❓*
bullyGB in CGB ❓*
MBC3-Tester πŸ‘

* previusly passed, but now it fails, it needs to be retested and fix the issues