# Test results This page is generated from the recorded results in `tests/test_results/` and the latest pytest JUnit XML output. It is regenerated as part of `make docs`. Suite names in the overview table jump to the matching section below, which links to the corresponding result files or directories and the pytest module on GitHub. | Test suite | Cases | Passed | Failed | | --- | ---: | ---: | ---: | | Blargg | 57 | 50 | 7 | | SameSuite | 152 | 144 | 8 | | Mooneye | 222 | 212 | 10 | | RTC3Test | 3 | 3 | 0 | | which | 4 | 4 | 0 | | Acid2 | 3 | 3 | 0 | | BullyGB | 1 | 0 | 1 | | CGB Acid Hell | 1 | 0 | 1 | | CasualPokePlayer | 4 | 1 | 3 | | Daid | 8 | 0 | 8 | | GB Tests | 2 | 2 | 0 | | Image results | 1 | 0 | 0 | | MBC30 | 2 | 2 | 0 | | Magen | 2 | 2 | 0 | | Mealybug | 55 | 2 | 53 | | Mooneye image results | 2 | 2 | 0 | | Strikethrough | 1 | 0 | 1 | | TurtleTest | 2 | 2 | 0 | Statuses come directly from the latest pytest JUnit XML. Expected failures are shown as failed, while skipped and missing cases remain distinguishable.
Blargg cases [Results on GitHub](https://github.com/Baekalfen/PyBoy/blob/master/tests/test_results/blargg.json) · Pytest: [test_blargg.py](https://github.com/Baekalfen/PyBoy/blob/master/tests/test_blargg.py) | Case | Result | | --- | --- | | `blargg/cgb_sound/cgb_sound.gb` | Passed | | `blargg/cgb_sound/rom_singles/01-registers.gb` | Passed | | `blargg/cgb_sound/rom_singles/02-len ctr.gb` | Passed | | `blargg/cgb_sound/rom_singles/03-trigger.gb` | Passed | | `blargg/cgb_sound/rom_singles/04-sweep.gb` | Passed | | `blargg/cgb_sound/rom_singles/05-sweep details.gb` | Passed | | `blargg/cgb_sound/rom_singles/06-overflow on trigger.gb` | Passed | | `blargg/cgb_sound/rom_singles/07-len sweep period sync.gb` | Passed | | `blargg/cgb_sound/rom_singles/08-len ctr during power.gb` | Passed | | `blargg/cgb_sound/rom_singles/09-wave read while on.gb` | Passed | | `blargg/cgb_sound/rom_singles/10-wave trigger while on.gb` | Passed | | `blargg/cgb_sound/rom_singles/11-regs after power.gb` | Passed | | `blargg/cgb_sound/rom_singles/12-wave.gb` | Passed | | `blargg/cpu_instrs/cpu_instrs.gb` | Passed | | `blargg/cpu_instrs/individual/01-special.gb` | Passed | | `blargg/cpu_instrs/individual/02-interrupts.gb` | Passed | | `blargg/cpu_instrs/individual/03-op sp,hl.gb` | Passed | | `blargg/cpu_instrs/individual/04-op r,imm.gb` | Passed | | `blargg/cpu_instrs/individual/05-op rp.gb` | Passed | | `blargg/cpu_instrs/individual/06-ld r,r.gb` | Passed | | `blargg/cpu_instrs/individual/07-jr,jp,call,ret,rst.gb` | Passed | | `blargg/cpu_instrs/individual/08-misc instrs.gb` | Passed | | `blargg/cpu_instrs/individual/09-op r,r.gb` | Passed | | `blargg/cpu_instrs/individual/10-bit ops.gb` | Passed | | `blargg/cpu_instrs/individual/11-op a,(hl).gb` | Passed | | `blargg/dmg_sound/dmg_sound.gb` | Passed | | `blargg/dmg_sound/rom_singles/01-registers.gb` | Passed | | `blargg/dmg_sound/rom_singles/02-len ctr.gb` | Passed | | `blargg/dmg_sound/rom_singles/03-trigger.gb` | Passed | | `blargg/dmg_sound/rom_singles/04-sweep.gb` | Passed | | `blargg/dmg_sound/rom_singles/05-sweep details.gb` | Passed | | `blargg/dmg_sound/rom_singles/06-overflow on trigger.gb` | Passed | | `blargg/dmg_sound/rom_singles/07-len sweep period sync.gb` | Passed | | `blargg/dmg_sound/rom_singles/08-len ctr during power.gb` | Passed | | `blargg/dmg_sound/rom_singles/09-wave read while on.gb` | Passed | | `blargg/dmg_sound/rom_singles/10-wave trigger while on.gb` | Passed | | `blargg/dmg_sound/rom_singles/11-regs after power.gb` | Passed | | `blargg/dmg_sound/rom_singles/12-wave write while on.gb` | Passed | | `blargg/instr_timing/instr_timing.gb` | Passed | | `blargg/interrupt_time/interrupt_time.gb` | Passed | | `blargg/mem_timing-2/mem_timing.gb` | Passed | | `blargg/mem_timing-2/rom_singles/01-read_timing.gb` | Passed | | `blargg/mem_timing-2/rom_singles/02-write_timing.gb` | Passed | | `blargg/mem_timing-2/rom_singles/03-modify_timing.gb` | Passed | | `blargg/mem_timing/individual/01-read_timing.gb` | Passed | | `blargg/mem_timing/individual/02-write_timing.gb` | Passed | | `blargg/mem_timing/individual/03-modify_timing.gb` | Passed | | `blargg/mem_timing/mem_timing.gb` | Passed | | `blargg/oam_bug/oam_bug.gb` | Failed | | `blargg/oam_bug/rom_singles/1-lcd_sync.gb` | Failed | | `blargg/oam_bug/rom_singles/2-causes.gb` | Failed | | `blargg/oam_bug/rom_singles/3-non_causes.gb` | Passed | | `blargg/oam_bug/rom_singles/4-scanline_timing.gb` | Failed | | `blargg/oam_bug/rom_singles/5-timing_bug.gb` | Failed | | `blargg/oam_bug/rom_singles/6-timing_no_bug.gb` | Passed | | `blargg/oam_bug/rom_singles/7-timing_effect.gb` | Failed | | `blargg/oam_bug/rom_singles/8-instr_effect.gb` | Failed |
SameSuite cases [Results on GitHub](https://github.com/Baekalfen/PyBoy/blob/master/tests/test_results/samesuite.json) · Pytest: [test_samesuite.py](https://github.com/Baekalfen/PyBoy/blob/master/tests/test_samesuite.py) | Case | Result | | --- | --- | | `apu/channel_1/channel_1_align.gb` | Passed | | `apu/channel_1/channel_1_align.gb [CGB]` | Passed | | `apu/channel_1/channel_1_align_cpu.gb` | Passed | | `apu/channel_1/channel_1_align_cpu.gb [CGB]` | Passed | | `apu/channel_1/channel_1_delay.gb` | Passed | | `apu/channel_1/channel_1_delay.gb [CGB]` | Passed | | `apu/channel_1/channel_1_duty.gb` | Passed | | `apu/channel_1/channel_1_duty.gb [CGB]` | Passed | | `apu/channel_1/channel_1_duty_delay.gb` | Passed | | `apu/channel_1/channel_1_duty_delay.gb [CGB]` | Passed | | `apu/channel_1/channel_1_extra_length_clocking-cgb0B.gb` | Passed | | `apu/channel_1/channel_1_extra_length_clocking-cgb0B.gb [CGB]` | Failed | | `apu/channel_1/channel_1_freq_change.gb` | Passed | | `apu/channel_1/channel_1_freq_change.gb [CGB]` | Passed | | `apu/channel_1/channel_1_freq_change_timing-A.gb` | Passed | | `apu/channel_1/channel_1_freq_change_timing-A.gb [CGB]` | Failed | | `apu/channel_1/channel_1_freq_change_timing-cgb0BC.gb` | Passed | | `apu/channel_1/channel_1_freq_change_timing-cgb0BC.gb [CGB]` | Failed | | `apu/channel_1/channel_1_freq_change_timing-cgbDE.gb` | Passed | | `apu/channel_1/channel_1_freq_change_timing-cgbDE.gb [CGB]` | Failed | | `apu/channel_1/channel_1_nrx2_glitch.gb` | Passed | | `apu/channel_1/channel_1_nrx2_glitch.gb [CGB]` | Passed | | `apu/channel_1/channel_1_nrx2_speed_change.gb` | Passed | | `apu/channel_1/channel_1_nrx2_speed_change.gb [CGB]` | Passed | | `apu/channel_1/channel_1_restart.gb` | Passed | | `apu/channel_1/channel_1_restart.gb [CGB]` | Passed | | `apu/channel_1/channel_1_restart_nrx2_glitch.gb` | Passed | | `apu/channel_1/channel_1_restart_nrx2_glitch.gb [CGB]` | Passed | | `apu/channel_1/channel_1_stop_div.gb` | Passed | | `apu/channel_1/channel_1_stop_div.gb [CGB]` | Passed | | `apu/channel_1/channel_1_stop_restart.gb` | Passed | | `apu/channel_1/channel_1_stop_restart.gb [CGB]` | Passed | | `apu/channel_1/channel_1_sweep.gb` | Passed | | `apu/channel_1/channel_1_sweep.gb [CGB]` | Passed | | `apu/channel_1/channel_1_sweep_restart.gb` | Passed | | `apu/channel_1/channel_1_sweep_restart.gb [CGB]` | Passed | | `apu/channel_1/channel_1_sweep_restart_2.gb` | Passed | | `apu/channel_1/channel_1_sweep_restart_2.gb [CGB]` | Passed | | `apu/channel_1/channel_1_volume.gb` | Passed | | `apu/channel_1/channel_1_volume.gb [CGB]` | Passed | | `apu/channel_1/channel_1_volume_div.gb` | Passed | | `apu/channel_1/channel_1_volume_div.gb [CGB]` | Passed | | `apu/channel_2/channel_2_align.gb` | Passed | | `apu/channel_2/channel_2_align.gb [CGB]` | Passed | | `apu/channel_2/channel_2_align_cpu.gb` | Passed | | `apu/channel_2/channel_2_align_cpu.gb [CGB]` | Passed | | `apu/channel_2/channel_2_delay.gb` | Passed | | `apu/channel_2/channel_2_delay.gb [CGB]` | Passed | | `apu/channel_2/channel_2_duty.gb` | Passed | | `apu/channel_2/channel_2_duty.gb [CGB]` | Passed | | `apu/channel_2/channel_2_duty_delay.gb` | Passed | | `apu/channel_2/channel_2_duty_delay.gb [CGB]` | Passed | | `apu/channel_2/channel_2_extra_length_clocking-cgb0B.gb` | Passed | | `apu/channel_2/channel_2_extra_length_clocking-cgb0B.gb [CGB]` | Failed | | `apu/channel_2/channel_2_freq_change.gb` | Passed | | `apu/channel_2/channel_2_freq_change.gb [CGB]` | Passed | | `apu/channel_2/channel_2_nrx2_glitch.gb` | Passed | | `apu/channel_2/channel_2_nrx2_glitch.gb [CGB]` | Passed | | `apu/channel_2/channel_2_nrx2_speed_change.gb` | Passed | | `apu/channel_2/channel_2_nrx2_speed_change.gb [CGB]` | Passed | | `apu/channel_2/channel_2_restart.gb` | Passed | | `apu/channel_2/channel_2_restart.gb [CGB]` | Passed | | `apu/channel_2/channel_2_restart_nrx2_glitch.gb` | Passed | | `apu/channel_2/channel_2_restart_nrx2_glitch.gb [CGB]` | Passed | | `apu/channel_2/channel_2_stop_div.gb` | Passed | | `apu/channel_2/channel_2_stop_div.gb [CGB]` | Passed | | `apu/channel_2/channel_2_stop_restart.gb` | Passed | | `apu/channel_2/channel_2_stop_restart.gb [CGB]` | Passed | | `apu/channel_2/channel_2_volume.gb` | Passed | | `apu/channel_2/channel_2_volume.gb [CGB]` | Passed | | `apu/channel_2/channel_2_volume_div.gb` | Passed | | `apu/channel_2/channel_2_volume_div.gb [CGB]` | Passed | | `apu/channel_3/channel_3_and_glitch.gb` | Passed | | `apu/channel_3/channel_3_and_glitch.gb [CGB]` | Passed | | `apu/channel_3/channel_3_delay.gb` | Passed | | `apu/channel_3/channel_3_delay.gb [CGB]` | Passed | | `apu/channel_3/channel_3_extra_length_clocking-cgb0.gb` | Passed | | `apu/channel_3/channel_3_extra_length_clocking-cgb0.gb [CGB]` | Failed | | `apu/channel_3/channel_3_extra_length_clocking-cgbB.gb` | Passed | | `apu/channel_3/channel_3_extra_length_clocking-cgbB.gb [CGB]` | Failed | | `apu/channel_3/channel_3_first_sample.gb` | Passed | | `apu/channel_3/channel_3_first_sample.gb [CGB]` | Passed | | `apu/channel_3/channel_3_freq_change_delay.gb` | Passed | | `apu/channel_3/channel_3_freq_change_delay.gb [CGB]` | Passed | | `apu/channel_3/channel_3_restart_delay.gb` | Passed | | `apu/channel_3/channel_3_restart_delay.gb [CGB]` | Passed | | `apu/channel_3/channel_3_restart_during_delay.gb` | Passed | | `apu/channel_3/channel_3_restart_during_delay.gb [CGB]` | Passed | | `apu/channel_3/channel_3_restart_stop_delay.gb` | Passed | | `apu/channel_3/channel_3_restart_stop_delay.gb [CGB]` | Passed | | `apu/channel_3/channel_3_shift_delay.gb` | Passed | | `apu/channel_3/channel_3_shift_delay.gb [CGB]` | Passed | | `apu/channel_3/channel_3_shift_skip_delay.gb` | Passed | | `apu/channel_3/channel_3_shift_skip_delay.gb [CGB]` | Passed | | `apu/channel_3/channel_3_stop_delay.gb` | Passed | | `apu/channel_3/channel_3_stop_delay.gb [CGB]` | Passed | | `apu/channel_3/channel_3_stop_div.gb` | Passed | | `apu/channel_3/channel_3_stop_div.gb [CGB]` | Passed | | `apu/channel_3/channel_3_wave_ram_dac_on_rw.gb` | Passed | | `apu/channel_3/channel_3_wave_ram_dac_on_rw.gb [CGB]` | Passed | | `apu/channel_3/channel_3_wave_ram_locked_write.gb` | Passed | | `apu/channel_3/channel_3_wave_ram_locked_write.gb [CGB]` | Passed | | `apu/channel_3/channel_3_wave_ram_sync.gb` | Passed | | `apu/channel_3/channel_3_wave_ram_sync.gb [CGB]` | Passed | | `apu/channel_4/channel_4_align.gb` | Passed | | `apu/channel_4/channel_4_align.gb [CGB]` | Passed | | `apu/channel_4/channel_4_delay.gb` | Passed | | `apu/channel_4/channel_4_delay.gb [CGB]` | Passed | | `apu/channel_4/channel_4_equivalent_frequencies.gb` | Passed | | `apu/channel_4/channel_4_equivalent_frequencies.gb [CGB]` | Passed | | `apu/channel_4/channel_4_extra_length_clocking-cgb0B.gb` | Passed | | `apu/channel_4/channel_4_extra_length_clocking-cgb0B.gb [CGB]` | Failed | | `apu/channel_4/channel_4_freq_change.gb` | Passed | | `apu/channel_4/channel_4_freq_change.gb [CGB]` | Passed | | `apu/channel_4/channel_4_frequency_alignment.gb` | Passed | | `apu/channel_4/channel_4_frequency_alignment.gb [CGB]` | Passed | | `apu/channel_4/channel_4_lfsr.gb` | Passed | | `apu/channel_4/channel_4_lfsr.gb [CGB]` | Passed | | `apu/channel_4/channel_4_lfsr15.gb` | Passed | | `apu/channel_4/channel_4_lfsr15.gb [CGB]` | Passed | | `apu/channel_4/channel_4_lfsr_15_7.gb` | Passed | | `apu/channel_4/channel_4_lfsr_15_7.gb [CGB]` | Passed | | `apu/channel_4/channel_4_lfsr_7_15.gb` | Passed | | `apu/channel_4/channel_4_lfsr_7_15.gb [CGB]` | Passed | | `apu/channel_4/channel_4_lfsr_restart.gb` | Passed | | `apu/channel_4/channel_4_lfsr_restart.gb [CGB]` | Passed | | `apu/channel_4/channel_4_lfsr_restart_fast.gb` | Passed | | `apu/channel_4/channel_4_lfsr_restart_fast.gb [CGB]` | Passed | | `apu/channel_4/channel_4_volume_div.gb` | Passed | | `apu/channel_4/channel_4_volume_div.gb [CGB]` | Passed | | `apu/div_trigger_volume_10.gb` | Passed | | `apu/div_trigger_volume_10.gb [CGB]` | Passed | | `apu/div_write_trigger.gb` | Passed | | `apu/div_write_trigger.gb [CGB]` | Passed | | `apu/div_write_trigger_10.gb` | Passed | | `apu/div_write_trigger_10.gb [CGB]` | Passed | | `apu/div_write_trigger_volume.gb` | Passed | | `apu/div_write_trigger_volume.gb [CGB]` | Passed | | `apu/div_write_trigger_volume_10.gb` | Passed | | `apu/div_write_trigger_volume_10.gb [CGB]` | Passed | | `dma/gbc_dma_cont.gb` | Passed | | `dma/gbc_dma_cont.gb [CGB]` | Passed | | `dma/gdma_addr_mask.gb` | Passed | | `dma/gdma_addr_mask.gb [CGB]` | Passed | | `dma/hdma_lcd_off.gb` | Passed | | `dma/hdma_lcd_off.gb [CGB]` | Passed | | `dma/hdma_mode0.gb` | Passed | | `dma/hdma_mode0.gb [CGB]` | Passed | | `interrupt/ei_delay_halt.gb` | Passed | | `interrupt/ei_delay_halt.gb [CGB]` | Passed | | `ppu/blocking_bgpi_increase.gb` | Passed | | `ppu/blocking_bgpi_increase.gb [CGB]` | Passed |
Mooneye cases [Results on GitHub](https://github.com/Baekalfen/PyBoy/blob/master/tests/test_results/mooneye/results.json) · Pytest: [test_mooneye.py](https://github.com/Baekalfen/PyBoy/blob/master/tests/test_mooneye.py) | Case | Result | | --- | --- | | `acceptance/add_sp_e_timing.gb` | Passed | | `acceptance/add_sp_e_timing.gb [CGB]` | Passed | | `acceptance/bits/mem_oam.gb` | Passed | | `acceptance/bits/mem_oam.gb [CGB]` | Passed | | `acceptance/bits/reg_f.gb` | Passed | | `acceptance/bits/reg_f.gb [CGB]` | Passed | | `acceptance/bits/unused_hwio-GS.gb` | Passed | | `acceptance/bits/unused_hwio-GS.gb [CGB]` | Passed | | `acceptance/boot_div-S.gb` | Passed | | `acceptance/boot_div-S.gb [CGB]` | Passed | | `acceptance/boot_div-dmg0.gb` | Failed | | `acceptance/boot_div-dmg0.gb [CGB]` | Passed | | `acceptance/boot_div-dmgABCmgb.gb` | Failed | | `acceptance/boot_div-dmgABCmgb.gb [CGB]` | Passed | | `acceptance/boot_div2-S.gb` | Passed | | `acceptance/boot_div2-S.gb [CGB]` | Passed | | `acceptance/boot_hwio-S.gb` | Passed | | `acceptance/boot_hwio-S.gb [CGB]` | Passed | | `acceptance/boot_hwio-dmg0.gb` | Failed | | `acceptance/boot_hwio-dmg0.gb [CGB]` | Passed | | `acceptance/boot_hwio-dmgABCmgb.gb` | Failed | | `acceptance/boot_hwio-dmgABCmgb.gb [CGB]` | Passed | | `acceptance/boot_regs-dmg0.gb` | Failed | | `acceptance/boot_regs-dmg0.gb [CGB]` | Passed | | `acceptance/boot_regs-dmgABC.gb` | Failed | | `acceptance/boot_regs-dmgABC.gb [CGB]` | Passed | | `acceptance/boot_regs-mgb.gb` | Passed | | `acceptance/boot_regs-mgb.gb [CGB]` | Passed | | `acceptance/boot_regs-sgb.gb` | Passed | | `acceptance/boot_regs-sgb.gb [CGB]` | Passed | | `acceptance/boot_regs-sgb2.gb` | Passed | | `acceptance/boot_regs-sgb2.gb [CGB]` | Passed | | `acceptance/call_cc_timing.gb` | Passed | | `acceptance/call_cc_timing.gb [CGB]` | Passed | | `acceptance/call_cc_timing2.gb` | Passed | | `acceptance/call_cc_timing2.gb [CGB]` | Passed | | `acceptance/call_timing.gb` | Passed | | `acceptance/call_timing.gb [CGB]` | Passed | | `acceptance/call_timing2.gb` | Passed | | `acceptance/call_timing2.gb [CGB]` | Passed | | `acceptance/di_timing-GS.gb` | Passed | | `acceptance/di_timing-GS.gb [CGB]` | Passed | | `acceptance/div_timing.gb` | Passed | | `acceptance/div_timing.gb [CGB]` | Passed | | `acceptance/ei_sequence.gb` | Passed | | `acceptance/ei_sequence.gb [CGB]` | Passed | | `acceptance/ei_timing.gb` | Passed | | `acceptance/ei_timing.gb [CGB]` | Passed | | `acceptance/halt_ime0_ei.gb` | Passed | | `acceptance/halt_ime0_ei.gb [CGB]` | Passed | | `acceptance/halt_ime0_nointr_timing.gb` | Passed | | `acceptance/halt_ime0_nointr_timing.gb [CGB]` | Passed | | `acceptance/halt_ime1_timing.gb` | Passed | | `acceptance/halt_ime1_timing.gb [CGB]` | Passed | | `acceptance/halt_ime1_timing2-GS.gb` | Passed | | `acceptance/halt_ime1_timing2-GS.gb [CGB]` | Passed | | `acceptance/if_ie_registers.gb` | Passed | | `acceptance/if_ie_registers.gb [CGB]` | Passed | | `acceptance/instr/daa.gb` | Passed | | `acceptance/instr/daa.gb [CGB]` | Passed | | `acceptance/interrupts/ie_push.gb` | Passed | | `acceptance/interrupts/ie_push.gb [CGB]` | Passed | | `acceptance/intr_timing.gb` | Passed | | `acceptance/intr_timing.gb [CGB]` | Passed | | `acceptance/jp_cc_timing.gb` | Passed | | `acceptance/jp_cc_timing.gb [CGB]` | Passed | | `acceptance/jp_timing.gb` | Passed | | `acceptance/jp_timing.gb [CGB]` | Passed | | `acceptance/ld_hl_sp_e_timing.gb` | Passed | | `acceptance/ld_hl_sp_e_timing.gb [CGB]` | Passed | | `acceptance/oam_dma/basic.gb` | Passed | | `acceptance/oam_dma/basic.gb [CGB]` | Passed | | `acceptance/oam_dma/reg_read.gb` | Passed | | `acceptance/oam_dma/reg_read.gb [CGB]` | Passed | | `acceptance/oam_dma/sources-GS.gb` | Passed | | `acceptance/oam_dma/sources-GS.gb [CGB]` | Passed | | `acceptance/oam_dma_restart.gb` | Passed | | `acceptance/oam_dma_restart.gb [CGB]` | Passed | | `acceptance/oam_dma_start.gb` | Passed | | `acceptance/oam_dma_start.gb [CGB]` | Passed | | `acceptance/oam_dma_timing.gb` | Passed | | `acceptance/oam_dma_timing.gb [CGB]` | Passed | | `acceptance/pop_timing.gb` | Passed | | `acceptance/pop_timing.gb [CGB]` | Passed | | `acceptance/ppu/hblank_ly_scx_timing-GS.gb` | Passed | | `acceptance/ppu/hblank_ly_scx_timing-GS.gb [CGB]` | Passed | | `acceptance/ppu/intr_1_2_timing-GS.gb` | Passed | | `acceptance/ppu/intr_1_2_timing-GS.gb [CGB]` | Passed | | `acceptance/ppu/intr_2_0_timing.gb` | Passed | | `acceptance/ppu/intr_2_0_timing.gb [CGB]` | Passed | | `acceptance/ppu/intr_2_mode0_timing.gb` | Passed | | `acceptance/ppu/intr_2_mode0_timing.gb [CGB]` | Passed | | `acceptance/ppu/intr_2_mode0_timing_sprites.gb` | Passed | | `acceptance/ppu/intr_2_mode0_timing_sprites.gb [CGB]` | Passed | | `acceptance/ppu/intr_2_mode3_timing.gb` | Passed | | `acceptance/ppu/intr_2_mode3_timing.gb [CGB]` | Passed | | `acceptance/ppu/intr_2_oam_ok_timing.gb` | Passed | | `acceptance/ppu/intr_2_oam_ok_timing.gb [CGB]` | Passed | | `acceptance/ppu/lcdon_timing-GS.gb` | Passed | | `acceptance/ppu/lcdon_timing-GS.gb [CGB]` | Passed | | `acceptance/ppu/lcdon_write_timing-GS.gb` | Passed | | `acceptance/ppu/lcdon_write_timing-GS.gb [CGB]` | Passed | | `acceptance/ppu/stat_irq_blocking.gb` | Passed | | `acceptance/ppu/stat_irq_blocking.gb [CGB]` | Passed | | `acceptance/ppu/stat_lyc_onoff.gb` | Passed | | `acceptance/ppu/stat_lyc_onoff.gb [CGB]` | Passed | | `acceptance/ppu/vblank_stat_intr-GS.gb` | Passed | | `acceptance/ppu/vblank_stat_intr-GS.gb [CGB]` | Passed | | `acceptance/push_timing.gb` | Passed | | `acceptance/push_timing.gb [CGB]` | Passed | | `acceptance/rapid_di_ei.gb` | Passed | | `acceptance/rapid_di_ei.gb [CGB]` | Passed | | `acceptance/ret_cc_timing.gb` | Passed | | `acceptance/ret_cc_timing.gb [CGB]` | Passed | | `acceptance/ret_timing.gb` | Passed | | `acceptance/ret_timing.gb [CGB]` | Passed | | `acceptance/reti_intr_timing.gb` | Passed | | `acceptance/reti_intr_timing.gb [CGB]` | Passed | | `acceptance/reti_timing.gb` | Passed | | `acceptance/reti_timing.gb [CGB]` | Passed | | `acceptance/rst_timing.gb` | Passed | | `acceptance/rst_timing.gb [CGB]` | Passed | | `acceptance/serial/boot_sclk_align-dmgABCmgb.gb` | Failed | | `acceptance/serial/boot_sclk_align-dmgABCmgb.gb [CGB]` | Passed | | `acceptance/timer/div_write.gb` | Passed | | `acceptance/timer/div_write.gb [CGB]` | Passed | | `acceptance/timer/rapid_toggle.gb` | Passed | | `acceptance/timer/rapid_toggle.gb [CGB]` | Passed | | `acceptance/timer/tim00.gb` | Passed | | `acceptance/timer/tim00.gb [CGB]` | Passed | | `acceptance/timer/tim00_div_trigger.gb` | Passed | | `acceptance/timer/tim00_div_trigger.gb [CGB]` | Passed | | `acceptance/timer/tim01.gb` | Passed | | `acceptance/timer/tim01.gb [CGB]` | Passed | | `acceptance/timer/tim01_div_trigger.gb` | Passed | | `acceptance/timer/tim01_div_trigger.gb [CGB]` | Passed | | `acceptance/timer/tim10.gb` | Passed | | `acceptance/timer/tim10.gb [CGB]` | Passed | | `acceptance/timer/tim10_div_trigger.gb` | Passed | | `acceptance/timer/tim10_div_trigger.gb [CGB]` | Passed | | `acceptance/timer/tim11.gb` | Passed | | `acceptance/timer/tim11.gb [CGB]` | Passed | | `acceptance/timer/tim11_div_trigger.gb` | Passed | | `acceptance/timer/tim11_div_trigger.gb [CGB]` | Passed | | `acceptance/timer/tima_reload.gb` | Passed | | `acceptance/timer/tima_reload.gb [CGB]` | Passed | | `acceptance/timer/tima_write_reloading.gb` | Passed | | `acceptance/timer/tima_write_reloading.gb [CGB]` | Passed | | `acceptance/timer/tma_write_reloading.gb` | Passed | | `acceptance/timer/tma_write_reloading.gb [CGB]` | Passed | | `emulator-only/mbc1/bits_bank1.gb` | Passed | | `emulator-only/mbc1/bits_bank1.gb [CGB]` | Passed | | `emulator-only/mbc1/bits_bank2.gb` | Passed | | `emulator-only/mbc1/bits_bank2.gb [CGB]` | Passed | | `emulator-only/mbc1/bits_mode.gb` | Passed | | `emulator-only/mbc1/bits_mode.gb [CGB]` | Passed | | `emulator-only/mbc1/bits_ramg.gb` | Passed | | `emulator-only/mbc1/bits_ramg.gb [CGB]` | Passed | | `emulator-only/mbc1/multicart_rom_8Mb.gb` | Passed | | `emulator-only/mbc1/multicart_rom_8Mb.gb [CGB]` | Passed | | `emulator-only/mbc1/ram_256kb.gb` | Passed | | `emulator-only/mbc1/ram_256kb.gb [CGB]` | Passed | | `emulator-only/mbc1/ram_64kb.gb` | Passed | | `emulator-only/mbc1/ram_64kb.gb [CGB]` | Passed | | `emulator-only/mbc1/rom_16Mb.gb` | Passed | | `emulator-only/mbc1/rom_16Mb.gb [CGB]` | Passed | | `emulator-only/mbc1/rom_1Mb.gb` | Passed | | `emulator-only/mbc1/rom_1Mb.gb [CGB]` | Passed | | `emulator-only/mbc1/rom_2Mb.gb` | Passed | | `emulator-only/mbc1/rom_2Mb.gb [CGB]` | Passed | | `emulator-only/mbc1/rom_4Mb.gb` | Passed | | `emulator-only/mbc1/rom_4Mb.gb [CGB]` | Passed | | `emulator-only/mbc1/rom_512kb.gb` | Passed | | `emulator-only/mbc1/rom_512kb.gb [CGB]` | Passed | | `emulator-only/mbc1/rom_8Mb.gb` | Passed | | `emulator-only/mbc1/rom_8Mb.gb [CGB]` | Passed | | `emulator-only/mbc2/bits_ramg.gb` | Passed | | `emulator-only/mbc2/bits_ramg.gb [CGB]` | Passed | | `emulator-only/mbc2/bits_romb.gb` | Passed | | `emulator-only/mbc2/bits_romb.gb [CGB]` | Passed | | `emulator-only/mbc2/bits_unused.gb` | Passed | | `emulator-only/mbc2/bits_unused.gb [CGB]` | Passed | | `emulator-only/mbc2/ram.gb` | Passed | | `emulator-only/mbc2/ram.gb [CGB]` | Passed | | `emulator-only/mbc2/rom_1Mb.gb` | Passed | | `emulator-only/mbc2/rom_1Mb.gb [CGB]` | Passed | | `emulator-only/mbc2/rom_2Mb.gb` | Passed | | `emulator-only/mbc2/rom_2Mb.gb [CGB]` | Passed | | `emulator-only/mbc2/rom_512kb.gb` | Passed | | `emulator-only/mbc2/rom_512kb.gb [CGB]` | Passed | | `emulator-only/mbc5/rom_16Mb.gb` | Passed | | `emulator-only/mbc5/rom_16Mb.gb [CGB]` | Passed | | `emulator-only/mbc5/rom_1Mb.gb` | Passed | | `emulator-only/mbc5/rom_1Mb.gb [CGB]` | Passed | | `emulator-only/mbc5/rom_2Mb.gb` | Passed | | `emulator-only/mbc5/rom_2Mb.gb [CGB]` | Passed | | `emulator-only/mbc5/rom_32Mb.gb` | Passed | | `emulator-only/mbc5/rom_32Mb.gb [CGB]` | Passed | | `emulator-only/mbc5/rom_4Mb.gb` | Passed | | `emulator-only/mbc5/rom_4Mb.gb [CGB]` | Passed | | `emulator-only/mbc5/rom_512kb.gb` | Passed | | `emulator-only/mbc5/rom_512kb.gb [CGB]` | Passed | | `emulator-only/mbc5/rom_64Mb.gb` | Passed | | `emulator-only/mbc5/rom_64Mb.gb [CGB]` | Passed | | `emulator-only/mbc5/rom_8Mb.gb` | Passed | | `emulator-only/mbc5/rom_8Mb.gb [CGB]` | Passed | | `misc/bits/unused_hwio-C.gb` | Passed | | `misc/bits/unused_hwio-C.gb [CGB]` | Passed | | `misc/boot_div-A.gb` | Passed | | `misc/boot_div-A.gb [CGB]` | Passed | | `misc/boot_div-cgb0.gb` | Passed | | `misc/boot_div-cgb0.gb [CGB]` | Failed | | `misc/boot_div-cgbABCDE.gb` | Passed | | `misc/boot_div-cgbABCDE.gb [CGB]` | Failed | | `misc/boot_hwio-C.gb` | Passed | | `misc/boot_hwio-C.gb [CGB]` | Failed | | `misc/boot_regs-A.gb` | Passed | | `misc/boot_regs-A.gb [CGB]` | Passed | | `misc/boot_regs-cgb.gb` | Passed | | `misc/boot_regs-cgb.gb [CGB]` | Passed | | `misc/ppu/vblank_stat_intr-C.gb` | Passed | | `misc/ppu/vblank_stat_intr-C.gb [CGB]` | Passed |
RTC3Test [Results on GitHub](https://github.com/Baekalfen/PyBoy/blob/master/tests/test_results/rtc3test.json) · Pytest: [test_rtc3test.py](https://github.com/Baekalfen/PyBoy/blob/master/tests/test_rtc3test.py) **`0`** **Result:** Passed ```{image} assets/test-results/rtc3test_subtest_0.png :alt: Recorded result for 0 :width: 320px ``` **`1`** **Result:** Passed ```{image} assets/test-results/rtc3test_subtest_1.png :alt: Recorded result for 1 :width: 320px ``` **`2`** **Result:** Passed ```{image} assets/test-results/rtc3test_subtest_2.png :alt: Recorded result for 2 :width: 320px ```
which [Results on GitHub](https://github.com/Baekalfen/PyBoy/blob/master/tests/test_results/which.json) · Pytest: [test_which.py](https://github.com/Baekalfen/PyBoy/blob/master/tests/test_which.py) **`cgb_builtin`** **Result:** Passed ```{image} assets/test-results/which_cgb_builtin.png :alt: Recorded result for cgb_builtin :width: 320px ``` **`cgb_native`** **Result:** Passed ```{image} assets/test-results/which_cgb_native.png :alt: Recorded result for cgb_native :width: 320px ``` **`dmg_builtin`** **Result:** Passed ```{image} assets/test-results/which_dmg_builtin.png :alt: Recorded result for dmg_builtin :width: 320px ``` **`dmg_native`** **Result:** Passed ```{image} assets/test-results/which_dmg_native.png :alt: Recorded result for dmg_native :width: 320px ```
Acid2 [Results on GitHub](https://github.com/Baekalfen/PyBoy/tree/master/tests/test_results) · Pytest: [test_acid_dmg.py](https://github.com/Baekalfen/PyBoy/blob/master/tests/test_acid_dmg.py), [test_acid_cgb.py](https://github.com/Baekalfen/PyBoy/blob/master/tests/test_acid_cgb.py) **`cgb_acid2.gbc.png`** **Result:** Passed ```{image} assets/test-results/cgb_acid2.gbc.png :alt: Recorded result for cgb_acid2.gbc.png :width: 320px ``` **`cgb_dmg_acid2.gb.png`** **Result:** Passed ```{image} assets/test-results/cgb_dmg_acid2.gb.png :alt: Recorded result for cgb_dmg_acid2.gb.png :width: 320px ``` **`dmg_dmg_acid2.gb.png`** **Result:** Passed ```{image} assets/test-results/dmg_dmg_acid2.gb.png :alt: Recorded result for dmg_dmg_acid2.gb.png :width: 320px ```
BullyGB [Results on GitHub](https://github.com/Baekalfen/PyBoy/tree/master/tests/test_results/bully) · Pytest: [test_bully.py](https://github.com/Baekalfen/PyBoy/blob/master/tests/test_bully.py) **`bully/bully.gb.png`** **Result:** Failed ```{image} assets/test-results/bully_bully.gb.png :alt: Recorded result for bully/bully.gb.png :width: 320px ```
CGB Acid Hell [Results on GitHub](https://github.com/Baekalfen/PyBoy/tree/master/tests/test_results/cgb-acid-hell) · Pytest: [test_acid_hell.py](https://github.com/Baekalfen/PyBoy/blob/master/tests/test_acid_hell.py) **`cgb-acid-hell/cgb-acid-hell.gbc.png`** **Result:** Failed ```{image} assets/test-results/cgb-acid-hell_cgb-acid-hell.gbc.png :alt: Recorded result for cgb-acid-hell/cgb-acid-hell.gbc.png :width: 320px ```
CasualPokePlayer [Results on GitHub](https://github.com/Baekalfen/PyBoy/tree/master/tests/test_results/cpp) · Pytest: [test_cpp.py](https://github.com/Baekalfen/PyBoy/blob/master/tests/test_cpp.py) **`cpp/latch-rtc-test.gb.png`** **Result:** Failed ```{image} assets/test-results/cpp_latch-rtc-test.gb.png :alt: Recorded result for cpp/latch-rtc-test.gb.png :width: 320px ``` **`cpp/ramg-mbc3-test.gb.png`** **Result:** Passed ```{image} assets/test-results/cpp_ramg-mbc3-test.gb.png :alt: Recorded result for cpp/ramg-mbc3-test.gb.png :width: 320px ``` **`cpp/rtc-invalid-banks-test.gb.png`** **Result:** Failed ```{image} assets/test-results/cpp_rtc-invalid-banks-test.gb.png :alt: Recorded result for cpp/rtc-invalid-banks-test.gb.png :width: 320px ``` **`cpp/sgb-ext-test.gb.png`** **Result:** Failed ```{image} assets/test-results/cpp_sgb-ext-test.gb.png :alt: Recorded result for cpp/sgb-ext-test.gb.png :width: 320px ```
Daid [Results on GitHub](https://github.com/Baekalfen/PyBoy/tree/master/tests/test_results/daid) · Pytest: [test_daid.py](https://github.com/Baekalfen/PyBoy/blob/master/tests/test_daid.py) **`daid/ppu_scanline_bgp.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/daid_ppu_scanline_bgp.gb.cgb.png :alt: Recorded result for daid/ppu_scanline_bgp.gb.cgb.png :width: 320px ``` **`daid/ppu_scanline_bgp.gb.dmg.png`** **Result:** Failed ```{image} assets/test-results/daid_ppu_scanline_bgp.gb.dmg.png :alt: Recorded result for daid/ppu_scanline_bgp.gb.dmg.png :width: 320px ``` **`daid/speed_switch_timing_div.gbc.cgb.png`** **Result:** Failed ```{image} assets/test-results/daid_speed_switch_timing_div.gbc.cgb.png :alt: Recorded result for daid/speed_switch_timing_div.gbc.cgb.png :width: 320px ``` **`daid/speed_switch_timing_ly.gbc.cgb.png`** **Result:** Failed ```{image} assets/test-results/daid_speed_switch_timing_ly.gbc.cgb.png :alt: Recorded result for daid/speed_switch_timing_ly.gbc.cgb.png :width: 320px ``` **`daid/speed_switch_timing_stat.gbc.cgb.png`** **Result:** Failed ```{image} assets/test-results/daid_speed_switch_timing_stat.gbc.cgb.png :alt: Recorded result for daid/speed_switch_timing_stat.gbc.cgb.png :width: 320px ``` **`daid/stop_instr.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/daid_stop_instr.gb.cgb.png :alt: Recorded result for daid/stop_instr.gb.cgb.png :width: 320px ``` **`daid/stop_instr.gb.dmg.png`** **Result:** Failed ```{image} assets/test-results/daid_stop_instr.gb.dmg.png :alt: Recorded result for daid/stop_instr.gb.dmg.png :width: 320px ``` **`daid/stop_instr_gbc_mode3.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/daid_stop_instr_gbc_mode3.gb.cgb.png :alt: Recorded result for daid/stop_instr_gbc_mode3.gb.cgb.png :width: 320px ```
GB Tests [Results on GitHub](https://github.com/Baekalfen/PyBoy/tree/master/tests/test_results/GB%20Tests) · Pytest: [test_shonumi.py](https://github.com/Baekalfen/PyBoy/blob/master/tests/test_shonumi.py) **`GB Tests/LYC.gb.png`** **Result:** Passed ```{image} assets/test-results/GB_Tests_LYC.gb.png :alt: Recorded result for GB Tests/LYC.gb.png :width: 320px ``` **`GB Tests/sprite_suite.gb.png`** **Result:** Passed ```{image} assets/test-results/GB_Tests_sprite_suite.gb.png :alt: Recorded result for GB Tests/sprite_suite.gb.png :width: 320px ```
Image results [Results on GitHub](https://github.com/Baekalfen/PyBoy/tree/master/tests/test_results) **`print_gbprinter.png`** **Result:** Not run ```{image} assets/test-results/print_gbprinter.png :alt: Recorded result for print_gbprinter.png :width: 320px ```
MBC30 [Results on GitHub](https://github.com/Baekalfen/PyBoy/tree/master/tests/test_results/mbc30) · Pytest: [test_mbc30.py](https://github.com/Baekalfen/PyBoy/blob/master/tests/test_mbc30.py) **`mbc30/rom_ok.png`** **Result:** Passed ```{image} assets/test-results/mbc30_rom_ok.png :alt: Recorded result for mbc30/rom_ok.png :width: 320px ``` **`mbc30/sram_ok.png`** **Result:** Passed ```{image} assets/test-results/mbc30_sram_ok.png :alt: Recorded result for mbc30/sram_ok.png :width: 320px ```
Magen [Results on GitHub](https://github.com/Baekalfen/PyBoy/tree/master/tests/test_results/magen) · Pytest: [test_magen.py](https://github.com/Baekalfen/PyBoy/blob/master/tests/test_magen.py) **`magen/bg_oam_priority.gbc.png`** **Result:** Passed ```{image} assets/test-results/magen_bg_oam_priority.gbc.png :alt: Recorded result for magen/bg_oam_priority.gbc.png :width: 320px ``` **`magen/oam_internal_priority.gbc.png`** **Result:** Passed ```{image} assets/test-results/magen_oam_internal_priority.gbc.png :alt: Recorded result for magen/oam_internal_priority.gbc.png :width: 320px ```
Mealybug [Results on GitHub](https://github.com/Baekalfen/PyBoy/tree/master/tests/test_results/mealybug) · Pytest: [test_mealybug.py](https://github.com/Baekalfen/PyBoy/blob/master/tests/test_mealybug.py) **`mealybug/m2_win_en_toggle.gb.cgb.png`** **Result:** Passed ```{image} assets/test-results/mealybug_m2_win_en_toggle.gb.cgb.png :alt: Recorded result for mealybug/m2_win_en_toggle.gb.cgb.png :width: 320px ``` **`mealybug/m2_win_en_toggle.gb.dmg.png`** **Result:** Passed ```{image} assets/test-results/mealybug_m2_win_en_toggle.gb.dmg.png :alt: Recorded result for mealybug/m2_win_en_toggle.gb.dmg.png :width: 320px ``` **`mealybug/m3_bgp_change.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_bgp_change.gb.cgb.png :alt: Recorded result for mealybug/m3_bgp_change.gb.cgb.png :width: 320px ``` **`mealybug/m3_bgp_change.gb.dmg.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_bgp_change.gb.dmg.png :alt: Recorded result for mealybug/m3_bgp_change.gb.dmg.png :width: 320px ``` **`mealybug/m3_bgp_change_sprites.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_bgp_change_sprites.gb.cgb.png :alt: Recorded result for mealybug/m3_bgp_change_sprites.gb.cgb.png :width: 320px ``` **`mealybug/m3_bgp_change_sprites.gb.dmg.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_bgp_change_sprites.gb.dmg.png :alt: Recorded result for mealybug/m3_bgp_change_sprites.gb.dmg.png :width: 320px ``` **`mealybug/m3_lcdc_bg_en_change.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_lcdc_bg_en_change.gb.cgb.png :alt: Recorded result for mealybug/m3_lcdc_bg_en_change.gb.cgb.png :width: 320px ``` **`mealybug/m3_lcdc_bg_en_change.gb.dmg.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_lcdc_bg_en_change.gb.dmg.png :alt: Recorded result for mealybug/m3_lcdc_bg_en_change.gb.dmg.png :width: 320px ``` **`mealybug/m3_lcdc_bg_en_change2.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_lcdc_bg_en_change2.gb.cgb.png :alt: Recorded result for mealybug/m3_lcdc_bg_en_change2.gb.cgb.png :width: 320px ``` **`mealybug/m3_lcdc_bg_map_change.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_lcdc_bg_map_change.gb.cgb.png :alt: Recorded result for mealybug/m3_lcdc_bg_map_change.gb.cgb.png :width: 320px ``` **`mealybug/m3_lcdc_bg_map_change.gb.dmg.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_lcdc_bg_map_change.gb.dmg.png :alt: Recorded result for mealybug/m3_lcdc_bg_map_change.gb.dmg.png :width: 320px ``` **`mealybug/m3_lcdc_bg_map_change2.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_lcdc_bg_map_change2.gb.cgb.png :alt: Recorded result for mealybug/m3_lcdc_bg_map_change2.gb.cgb.png :width: 320px ``` **`mealybug/m3_lcdc_obj_en_change.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_lcdc_obj_en_change.gb.cgb.png :alt: Recorded result for mealybug/m3_lcdc_obj_en_change.gb.cgb.png :width: 320px ``` **`mealybug/m3_lcdc_obj_en_change.gb.dmg.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_lcdc_obj_en_change.gb.dmg.png :alt: Recorded result for mealybug/m3_lcdc_obj_en_change.gb.dmg.png :width: 320px ``` **`mealybug/m3_lcdc_obj_en_change_variant.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_lcdc_obj_en_change_variant.gb.cgb.png :alt: Recorded result for mealybug/m3_lcdc_obj_en_change_variant.gb.cgb.png :width: 320px ``` **`mealybug/m3_lcdc_obj_en_change_variant.gb.dmg.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_lcdc_obj_en_change_variant.gb.dmg.png :alt: Recorded result for mealybug/m3_lcdc_obj_en_change_variant.gb.dmg.png :width: 320px ``` **`mealybug/m3_lcdc_obj_size_change.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_lcdc_obj_size_change.gb.cgb.png :alt: Recorded result for mealybug/m3_lcdc_obj_size_change.gb.cgb.png :width: 320px ``` **`mealybug/m3_lcdc_obj_size_change.gb.dmg.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_lcdc_obj_size_change.gb.dmg.png :alt: Recorded result for mealybug/m3_lcdc_obj_size_change.gb.dmg.png :width: 320px ``` **`mealybug/m3_lcdc_obj_size_change_scx.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_lcdc_obj_size_change_scx.gb.cgb.png :alt: Recorded result for mealybug/m3_lcdc_obj_size_change_scx.gb.cgb.png :width: 320px ``` **`mealybug/m3_lcdc_obj_size_change_scx.gb.dmg.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_lcdc_obj_size_change_scx.gb.dmg.png :alt: Recorded result for mealybug/m3_lcdc_obj_size_change_scx.gb.dmg.png :width: 320px ``` **`mealybug/m3_lcdc_tile_sel_change.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_lcdc_tile_sel_change.gb.cgb.png :alt: Recorded result for mealybug/m3_lcdc_tile_sel_change.gb.cgb.png :width: 320px ``` **`mealybug/m3_lcdc_tile_sel_change.gb.dmg.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_lcdc_tile_sel_change.gb.dmg.png :alt: Recorded result for mealybug/m3_lcdc_tile_sel_change.gb.dmg.png :width: 320px ``` **`mealybug/m3_lcdc_tile_sel_change2.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_lcdc_tile_sel_change2.gb.cgb.png :alt: Recorded result for mealybug/m3_lcdc_tile_sel_change2.gb.cgb.png :width: 320px ``` **`mealybug/m3_lcdc_tile_sel_win_change.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_lcdc_tile_sel_win_change.gb.cgb.png :alt: Recorded result for mealybug/m3_lcdc_tile_sel_win_change.gb.cgb.png :width: 320px ``` **`mealybug/m3_lcdc_tile_sel_win_change.gb.dmg.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_lcdc_tile_sel_win_change.gb.dmg.png :alt: Recorded result for mealybug/m3_lcdc_tile_sel_win_change.gb.dmg.png :width: 320px ``` **`mealybug/m3_lcdc_tile_sel_win_change2.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_lcdc_tile_sel_win_change2.gb.cgb.png :alt: Recorded result for mealybug/m3_lcdc_tile_sel_win_change2.gb.cgb.png :width: 320px ``` **`mealybug/m3_lcdc_win_en_change_multiple.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_lcdc_win_en_change_multiple.gb.cgb.png :alt: Recorded result for mealybug/m3_lcdc_win_en_change_multiple.gb.cgb.png :width: 320px ``` **`mealybug/m3_lcdc_win_en_change_multiple.gb.dmg.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_lcdc_win_en_change_multiple.gb.dmg.png :alt: Recorded result for mealybug/m3_lcdc_win_en_change_multiple.gb.dmg.png :width: 320px ``` **`mealybug/m3_lcdc_win_en_change_multiple_wx.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_lcdc_win_en_change_multiple_wx.gb.cgb.png :alt: Recorded result for mealybug/m3_lcdc_win_en_change_multiple_wx.gb.cgb.png :width: 320px ``` **`mealybug/m3_lcdc_win_en_change_multiple_wx.gb.dmg.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_lcdc_win_en_change_multiple_wx.gb.dmg.png :alt: Recorded result for mealybug/m3_lcdc_win_en_change_multiple_wx.gb.dmg.png :width: 320px ``` **`mealybug/m3_lcdc_win_map_change.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_lcdc_win_map_change.gb.cgb.png :alt: Recorded result for mealybug/m3_lcdc_win_map_change.gb.cgb.png :width: 320px ``` **`mealybug/m3_lcdc_win_map_change.gb.dmg.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_lcdc_win_map_change.gb.dmg.png :alt: Recorded result for mealybug/m3_lcdc_win_map_change.gb.dmg.png :width: 320px ``` **`mealybug/m3_lcdc_win_map_change2.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_lcdc_win_map_change2.gb.cgb.png :alt: Recorded result for mealybug/m3_lcdc_win_map_change2.gb.cgb.png :width: 320px ``` **`mealybug/m3_obp0_change.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_obp0_change.gb.cgb.png :alt: Recorded result for mealybug/m3_obp0_change.gb.cgb.png :width: 320px ``` **`mealybug/m3_obp0_change.gb.dmg.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_obp0_change.gb.dmg.png :alt: Recorded result for mealybug/m3_obp0_change.gb.dmg.png :width: 320px ``` **`mealybug/m3_scx_high_5_bits.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_scx_high_5_bits.gb.cgb.png :alt: Recorded result for mealybug/m3_scx_high_5_bits.gb.cgb.png :width: 320px ``` **`mealybug/m3_scx_high_5_bits.gb.dmg.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_scx_high_5_bits.gb.dmg.png :alt: Recorded result for mealybug/m3_scx_high_5_bits.gb.dmg.png :width: 320px ``` **`mealybug/m3_scx_high_5_bits_change2.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_scx_high_5_bits_change2.gb.cgb.png :alt: Recorded result for mealybug/m3_scx_high_5_bits_change2.gb.cgb.png :width: 320px ``` **`mealybug/m3_scx_low_3_bits.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_scx_low_3_bits.gb.cgb.png :alt: Recorded result for mealybug/m3_scx_low_3_bits.gb.cgb.png :width: 320px ``` **`mealybug/m3_scx_low_3_bits.gb.dmg.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_scx_low_3_bits.gb.dmg.png :alt: Recorded result for mealybug/m3_scx_low_3_bits.gb.dmg.png :width: 320px ``` **`mealybug/m3_scy_change.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_scy_change.gb.cgb.png :alt: Recorded result for mealybug/m3_scy_change.gb.cgb.png :width: 320px ``` **`mealybug/m3_scy_change.gb.dmg.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_scy_change.gb.dmg.png :alt: Recorded result for mealybug/m3_scy_change.gb.dmg.png :width: 320px ``` **`mealybug/m3_scy_change2.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_scy_change2.gb.cgb.png :alt: Recorded result for mealybug/m3_scy_change2.gb.cgb.png :width: 320px ``` **`mealybug/m3_window_timing.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_window_timing.gb.cgb.png :alt: Recorded result for mealybug/m3_window_timing.gb.cgb.png :width: 320px ``` **`mealybug/m3_window_timing.gb.dmg.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_window_timing.gb.dmg.png :alt: Recorded result for mealybug/m3_window_timing.gb.dmg.png :width: 320px ``` **`mealybug/m3_window_timing_wx_0.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_window_timing_wx_0.gb.cgb.png :alt: Recorded result for mealybug/m3_window_timing_wx_0.gb.cgb.png :width: 320px ``` **`mealybug/m3_window_timing_wx_0.gb.dmg.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_window_timing_wx_0.gb.dmg.png :alt: Recorded result for mealybug/m3_window_timing_wx_0.gb.dmg.png :width: 320px ``` **`mealybug/m3_wx_4_change.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_wx_4_change.gb.cgb.png :alt: Recorded result for mealybug/m3_wx_4_change.gb.cgb.png :width: 320px ``` **`mealybug/m3_wx_4_change.gb.dmg.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_wx_4_change.gb.dmg.png :alt: Recorded result for mealybug/m3_wx_4_change.gb.dmg.png :width: 320px ``` **`mealybug/m3_wx_4_change_sprites.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_wx_4_change_sprites.gb.cgb.png :alt: Recorded result for mealybug/m3_wx_4_change_sprites.gb.cgb.png :width: 320px ``` **`mealybug/m3_wx_4_change_sprites.gb.dmg.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_wx_4_change_sprites.gb.dmg.png :alt: Recorded result for mealybug/m3_wx_4_change_sprites.gb.dmg.png :width: 320px ``` **`mealybug/m3_wx_5_change.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_wx_5_change.gb.cgb.png :alt: Recorded result for mealybug/m3_wx_5_change.gb.cgb.png :width: 320px ``` **`mealybug/m3_wx_5_change.gb.dmg.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_wx_5_change.gb.dmg.png :alt: Recorded result for mealybug/m3_wx_5_change.gb.dmg.png :width: 320px ``` **`mealybug/m3_wx_6_change.gb.cgb.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_wx_6_change.gb.cgb.png :alt: Recorded result for mealybug/m3_wx_6_change.gb.cgb.png :width: 320px ``` **`mealybug/m3_wx_6_change.gb.dmg.png`** **Result:** Failed ```{image} assets/test-results/mealybug_m3_wx_6_change.gb.dmg.png :alt: Recorded result for mealybug/m3_wx_6_change.gb.dmg.png :width: 320px ```
Mooneye image results [Results on GitHub](https://github.com/Baekalfen/PyBoy/tree/master/tests/test_results/mooneye/manual-only) · Pytest: [test_mooneye.py](https://github.com/Baekalfen/PyBoy/blob/master/tests/test_mooneye.py) **`mooneye/manual-only/sprite_priority.gb [CGB].png`** **Result:** Passed ```{image} assets/test-results/mooneye_manual-only_sprite_priority.gb_CGB_.png :alt: Recorded result for mooneye/manual-only/sprite_priority.gb [CGB].png :width: 320px ``` **`mooneye/manual-only/sprite_priority.gb.png`** **Result:** Passed ```{image} assets/test-results/mooneye_manual-only_sprite_priority.gb.png :alt: Recorded result for mooneye/manual-only/sprite_priority.gb.png :width: 320px ```
Strikethrough [Results on GitHub](https://github.com/Baekalfen/PyBoy/tree/master/tests/test_results/strikethrough) · Pytest: [test_strikethrough.py](https://github.com/Baekalfen/PyBoy/blob/master/tests/test_strikethrough.py) **`strikethrough/strikethrough.gb.png`** **Result:** Failed ```{image} assets/test-results/strikethrough_strikethrough.gb.png :alt: Recorded result for strikethrough/strikethrough.gb.png :width: 320px ```
TurtleTest [Results on GitHub](https://github.com/Baekalfen/PyBoy/tree/master/tests/test_results/TurtleTest) · Pytest: [test_turtle.py](https://github.com/Baekalfen/PyBoy/blob/master/tests/test_turtle.py) **`TurtleTest/window_y_trigger.gb.png`** **Result:** Passed ```{image} assets/test-results/TurtleTest_window_y_trigger.gb.png :alt: Recorded result for TurtleTest/window_y_trigger.gb.png :width: 320px ``` **`TurtleTest/window_y_trigger_wx_offscreen.gb.png`** **Result:** Passed ```{image} assets/test-results/TurtleTest_window_y_trigger_wx_offscreen.gb.png :alt: Recorded result for TurtleTest/window_y_trigger_wx_offscreen.gb.png :width: 320px ```