feat: better DMA, MBC1, fixup tests

This commit is contained in:
EliseZeroTwo 2024-01-15 09:34:47 -07:00
parent 01c5a0c75d
commit d89a1d9215
Signed by: elise
GPG key ID: FA8F56FFFE6E8B3E
124 changed files with 825 additions and 581 deletions

View file

@ -20,248 +20,284 @@ jobs:
- name: Run test ROM (blargg cpu_instrs) - name: Run test ROM (blargg cpu_instrs)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/blargg/roms/cpu_instrs.gb test -m 100000000 -s meowgb-tests/expected_output/cpu_instrs.bin run: ./target/release/meowgb-tests test-roms/blargg/roms/cpu_instrs.gb test -m 100000000 -s meowgb-tests/expected_output/blargg/cpu_instrs.bin
- name: Run test ROM (blargg instr_timing) - name: Run test ROM (blargg instr_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/blargg/roms/instr_timing.gb test -m 100000000 -s meowgb-tests/expected_output/instr_timing.bin run: ./target/release/meowgb-tests test-roms/blargg/roms/instr_timing.gb test -m 100000000 -s meowgb-tests/expected_output/blargg/instr_timing.bin
- name: Run test ROM (blargg mem_timing) - name: Run test ROM (blargg mem_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/blargg/roms/mem_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mem_timing.bin run: ./target/release/meowgb-tests test-roms/blargg/roms/mem_timing.gb test -m 100000000 -s meowgb-tests/expected_output/blargg/mem_timing.bin
- name: Run test ROM (mooneye-test-suite add_sp_e_timing) - name: Run test ROM (mooneye-test-suite add_sp_e_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/add_sp_e_timing.gb test -m 100000000 -s meowgb-tests/expected_output/add_sp_e_timing.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/add_sp_e_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/add_sp_e_timing.bin
- name: Run test ROM (mooneye-test-suite basic)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/basic.gb test -m 100000000 -s meowgb-tests/expected_output/basic.bin
- name: Run test ROM (mooneye-test-suite boot_hwio-dmgABCmgb) - name: Run test ROM (mooneye-test-suite boot_hwio-dmgABCmgb)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/boot_hwio-dmgABCmgb.gb test -m 100000000 -s meowgb-tests/expected_output/boot_hwio-dmgABCmgb.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/boot_hwio-dmgABCmgb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/boot_hwio-dmgABCmgb.bin
- name: Run test ROM (mooneye-test-suite boot_regs-dmgABC) - name: Run test ROM (mooneye-test-suite boot_regs-dmgABC)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/boot_regs-dmgABC.gb test -m 100000000 -s meowgb-tests/expected_output/boot_regs-dmgABC.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/boot_regs-dmgABC.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/boot_regs-dmgABC.bin
- name: Run test ROM (mooneye-test-suite call_cc_timing) - name: Run test ROM (mooneye-test-suite call_cc_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/call_cc_timing.gb test -m 100000000 -s meowgb-tests/expected_output/call_cc_timing.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/call_cc_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/call_cc_timing.bin
- name: Run test ROM (mooneye-test-suite call_cc_timing2) - name: Run test ROM (mooneye-test-suite call_cc_timing2)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/call_cc_timing2.gb test -m 100000000 -s meowgb-tests/expected_output/call_cc_timing2.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/call_cc_timing2.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/call_cc_timing2.bin
- name: Run test ROM (mooneye-test-suite call_timing) - name: Run test ROM (mooneye-test-suite call_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/call_timing.gb test -m 100000000 -s meowgb-tests/expected_output/call_timing.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/call_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/call_timing.bin
- name: Run test ROM (mooneye-test-suite call_timing2) - name: Run test ROM (mooneye-test-suite call_timing2)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/call_timing2.gb test -m 100000000 -s meowgb-tests/expected_output/call_timing2.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/call_timing2.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/call_timing2.bin
- name: Run test ROM (mooneye-test-suite daa)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/daa.gb test -m 100000000 -s meowgb-tests/expected_output/daa.bin
- name: Run test ROM (mooneye-test-suite di_timing-GS) - name: Run test ROM (mooneye-test-suite di_timing-GS)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/di_timing-GS.gb test -m 100000000 -s meowgb-tests/expected_output/di_timing-GS.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/di_timing-GS.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/di_timing-GS.bin
- name: Run test ROM (mooneye-test-suite div_timing) - name: Run test ROM (mooneye-test-suite div_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/div_timing.gb test -m 100000000 -s meowgb-tests/expected_output/div_timing.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/div_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/div_timing.bin
- name: Run test ROM (mooneye-test-suite div_write)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/div_write.gb test -m 100000000 -s meowgb-tests/expected_output/div_write.bin
- name: Run test ROM (mooneye-test-suite ei_sequence) - name: Run test ROM (mooneye-test-suite ei_sequence)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ei_sequence.gb test -m 100000000 -s meowgb-tests/expected_output/ei_sequence.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ei_sequence.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ei_sequence.bin
- name: Run test ROM (mooneye-test-suite ei_timing) - name: Run test ROM (mooneye-test-suite ei_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ei_timing.gb test -m 100000000 -s meowgb-tests/expected_output/ei_timing.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ei_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ei_timing.bin
- name: Run test ROM (mooneye-test-suite halt_ime0_ei) - name: Run test ROM (mooneye-test-suite halt_ime0_ei)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/halt_ime0_ei.gb test -m 100000000 -s meowgb-tests/expected_output/halt_ime0_ei.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/halt_ime0_ei.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/halt_ime0_ei.bin
- name: Run test ROM (mooneye-test-suite halt_ime0_nointr_timing) - name: Run test ROM (mooneye-test-suite halt_ime0_nointr_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/halt_ime0_nointr_timing.gb test -m 100000000 -s meowgb-tests/expected_output/halt_ime0_nointr_timing.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/halt_ime0_nointr_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/halt_ime0_nointr_timing.bin
- name: Run test ROM (mooneye-test-suite halt_ime1_timing) - name: Run test ROM (mooneye-test-suite halt_ime1_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/halt_ime1_timing.gb test -m 100000000 -s meowgb-tests/expected_output/halt_ime1_timing.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/halt_ime1_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/halt_ime1_timing.bin
- name: Run test ROM (mooneye-test-suite halt_ime1_timing2-GS) - name: Run test ROM (mooneye-test-suite halt_ime1_timing2-GS)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/halt_ime1_timing2-GS.gb test -m 100000000 -s meowgb-tests/expected_output/halt_ime1_timing2-GS.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/halt_ime1_timing2-GS.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/halt_ime1_timing2-GS.bin
- name: Run test ROM (mooneye-test-suite intr_1_2_timing-GS) - name: Run test ROM (mooneye-test-suite if_ie_registers)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/intr_1_2_timing-GS.gb test -m 100000000 -s meowgb-tests/expected_output/intr_1_2_timing-GS.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/if_ie_registers.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/if_ie_registers.bin
- name: Run test ROM (mooneye-test-suite intr_2_0_timing) - name: Run test ROM (mooneye-test-suite intr_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/intr_2_0_timing.gb test -m 100000000 -s meowgb-tests/expected_output/intr_2_0_timing.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/intr_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/intr_timing.bin
- name: Run test ROM (mooneye-test-suite mem_oam) - name: Run test ROM (mooneye-test-suite jp_cc_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/mem_oam.gb test -m 100000000 -s meowgb-tests/expected_output/mem_oam.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/jp_cc_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/jp_cc_timing.bin
- name: Run test ROM (mooneye-test-suite jp_timing)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/jp_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/jp_timing.bin
- name: Run test ROM (mooneye-test-suite ld_hl_sp_e_timing)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ld_hl_sp_e_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ld_hl_sp_e_timing.bin
- name: Run test ROM (mooneye-test-suite oam_dma_restart) - name: Run test ROM (mooneye-test-suite oam_dma_restart)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/oam_dma_restart.gb test -m 100000000 -s meowgb-tests/expected_output/oam_dma_restart.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/oam_dma_restart.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/oam_dma_restart.bin
- name: Run test ROM (mooneye-test-suite oam_dma_start) - name: Run test ROM (mooneye-test-suite oam_dma_start)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/oam_dma_start.gb test -m 100000000 -s meowgb-tests/expected_output/oam_dma_start.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/oam_dma_start.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/oam_dma_start.bin
- name: Run test ROM (mooneye-test-suite oam_dma_timing) - name: Run test ROM (mooneye-test-suite oam_dma_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/oam_dma_timing.gb test -m 100000000 -s meowgb-tests/expected_output/oam_dma_timing.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/oam_dma_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/oam_dma_timing.bin
- name: Run test ROM (mooneye-test-suite pop_timing) - name: Run test ROM (mooneye-test-suite pop_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/pop_timing.gb test -m 100000000 -s meowgb-tests/expected_output/pop_timing.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/pop_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/pop_timing.bin
- name: Run test ROM (mooneye-test-suite push_timing) - name: Run test ROM (mooneye-test-suite push_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/push_timing.gb test -m 100000000 -s meowgb-tests/expected_output/push_timing.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/push_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/push_timing.bin
- name: Run test ROM (mooneye-test-suite rapid_di_ei) - name: Run test ROM (mooneye-test-suite rapid_di_ei)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/rapid_di_ei.gb test -m 100000000 -s meowgb-tests/expected_output/rapid_di_ei.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/rapid_di_ei.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/rapid_di_ei.bin
- name: Run test ROM (mooneye-test-suite rapid_toggle) - name: Run test ROM (mooneye-test-suite ret_cc_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/rapid_toggle.gb test -m 100000000 -s meowgb-tests/expected_output/rapid_toggle.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ret_cc_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ret_cc_timing.bin
- name: Run test ROM (mooneye-test-suite reg_f) - name: Run test ROM (mooneye-test-suite ret_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/reg_f.gb test -m 100000000 -s meowgb-tests/expected_output/reg_f.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ret_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ret_timing.bin
- name: Run test ROM (mooneye-test-suite reg_read) - name: Run test ROM (mooneye-test-suite reti_intr_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/reg_read.gb test -m 100000000 -s meowgb-tests/expected_output/reg_read.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/reti_intr_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/reti_intr_timing.bin
- name: Run test ROM (mooneye-test-suite reti_timing)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/reti_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/reti_timing.bin
- name: Run test ROM (mooneye-test-suite rst_timing) - name: Run test ROM (mooneye-test-suite rst_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/rst_timing.gb test -m 100000000 -s meowgb-tests/expected_output/rst_timing.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/rst_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/rst_timing.bin
- name: Run test ROM (mooneye-test-suite stat_irq_blocking) - name: Run test ROM (mooneye-test-suite MBC1/bits_bank1)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/stat_irq_blocking.gb test -m 100000000 -s meowgb-tests/expected_output/stat_irq_blocking.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/bits_bank1.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/bits_bank1.bin
- name: Run test ROM (mooneye-test-suite stat_lyc_onoff) - name: Run test ROM (mooneye-test-suite MBC1/bits_bank2)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/stat_lyc_onoff.gb test -m 100000000 -s meowgb-tests/expected_output/stat_lyc_onoff.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/bits_bank2.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/bits_bank2.bin
- name: Run test ROM (mooneye-test-suite tim00) - name: Run test ROM (mooneye-test-suite MBC1/bits_mode)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tim00.gb test -m 100000000 -s meowgb-tests/expected_output/tim00.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/bits_mode.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/bits_mode.bin
- name: Run test ROM (mooneye-test-suite tim00_div_trigger) - name: Run test ROM (mooneye-test-suite MBC1/bits_ramg)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tim00_div_trigger.gb test -m 100000000 -s meowgb-tests/expected_output/tim00_div_trigger.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/bits_ramg.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/bits_ramg.bin
- name: Run test ROM (mooneye-test-suite tim01) - name: Run test ROM (mooneye-test-suite MBC1/multicart_rom_8Mb)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tim01.gb test -m 100000000 -s meowgb-tests/expected_output/tim01.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/multicart_rom_8Mb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/multicart_rom_8Mb.bin
- name: Run test ROM (mooneye-test-suite tim01_div_trigger) - name: Run test ROM (mooneye-test-suite MBC1/ram_256kb)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tim01_div_trigger.gb test -m 100000000 -s meowgb-tests/expected_output/tim01_div_trigger.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/ram_256kb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/ram_256kb.bin
- name: Run test ROM (mooneye-test-suite tim10) - name: Run test ROM (mooneye-test-suite MBC1/ram_64kb)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tim10.gb test -m 100000000 -s meowgb-tests/expected_output/tim10.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/ram_64kb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/ram_64kb.bin
- name: Run test ROM (mooneye-test-suite tim10_div_trigger) - name: Run test ROM (mooneye-test-suite MBC1/rom_16Mb)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tim10_div_trigger.gb test -m 100000000 -s meowgb-tests/expected_output/tim10_div_trigger.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_16Mb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/rom_16Mb.bin
- name: Run test ROM (mooneye-test-suite tim11) - name: Run test ROM (mooneye-test-suite MBC1/rom_1Mb)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tim11.gb test -m 100000000 -s meowgb-tests/expected_output/tim11.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_1Mb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/rom_1Mb.bin
- name: Run test ROM (mooneye-test-suite tim11_div_trigger) - name: Run test ROM (mooneye-test-suite MBC1/rom_2Mb)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tim11_div_trigger.gb test -m 100000000 -s meowgb-tests/expected_output/tim11_div_trigger.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_2Mb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/rom_2Mb.bin
- name: Run test ROM (mooneye-test-suite tima_reload) - name: Run test ROM (mooneye-test-suite MBC1/rom_4Mb)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tima_reload.gb test -m 100000000 -s meowgb-tests/expected_output/tima_reload.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_4Mb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/rom_4Mb.bin
- name: Run test ROM (mooneye-test-suite tima_write_reloading) - name: Run test ROM (mooneye-test-suite MBC1/rom_512kb)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tima_write_reloading.gb test -m 100000000 -s meowgb-tests/expected_output/tima_write_reloading.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_512kb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/rom_512kb.bin
- name: Run test ROM (mooneye-test-suite tma_write_reloading) - name: Run test ROM (mooneye-test-suite MBC1/rom_8Mb)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tma_write_reloading.gb test -m 100000000 -s meowgb-tests/expected_output/tma_write_reloading.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_8Mb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/rom_8Mb.bin
- name: Run test ROM (mooneye-test-suite unused_hwio-GS) - name: Run test ROM (mooneye-test-suite bits/mem_oam)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/unused_hwio-GS.gb test -m 100000000 -s meowgb-tests/expected_output/unused_hwio-GS.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/bits/mem_oam.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/bits/mem_oam.bin
- name: Run test ROM (mooneye-test-suite vblank_stat_intr-GS) - name: Run test ROM (mooneye-test-suite bits/reg_f)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/vblank_stat_intr-GS.gb test -m 100000000 -s meowgb-tests/expected_output/vblank_stat_intr-GS.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/bits/reg_f.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/bits/reg_f.bin
- name: Run test ROM (mooneye-test-suite bits_bank1) - name: Run test ROM (mooneye-test-suite bits/unused_hwio-GS)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/bits_bank1.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/bits_bank1.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/bits/unused_hwio-GS.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/bits/unused_hwio-GS.bin
- name: Run test ROM (mooneye-test-suite bits_bank2) - name: Run test ROM (mooneye-test-suite instr/daa)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/bits_bank2.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/bits_bank2.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/instr/daa.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/instr/daa.bin
- name: Run test ROM (mooneye-test-suite bits_mode) - name: Run test ROM (mooneye-test-suite oam_dma/basic)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/bits_mode.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/bits_mode.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/oam_dma/basic.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/oam_dma/basic.bin
- name: Run test ROM (mooneye-test-suite bits_ramg) - name: Run test ROM (mooneye-test-suite oam_dma/reg_read)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/bits_ramg.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/bits_ramg.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/oam_dma/reg_read.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/oam_dma/reg_read.bin
- name: Run test ROM (mooneye-test-suite multicart_rom_8Mb) - name: Run test ROM (mooneye-test-suite ppu/intr_1_2_timing-GS)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/multicart_rom_8Mb.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/multicart_rom_8Mb.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ppu/intr_1_2_timing-GS.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ppu/intr_1_2_timing-GS.bin
- name: Run test ROM (mooneye-test-suite ram_256kb) - name: Run test ROM (mooneye-test-suite ppu/intr_2_0_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/ram_256kb.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/ram_256kb.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ppu/intr_2_0_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ppu/intr_2_0_timing.bin
- name: Run test ROM (mooneye-test-suite ram_64kb) - name: Run test ROM (mooneye-test-suite ppu/stat_irq_blocking)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/ram_64kb.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/ram_64kb.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ppu/stat_irq_blocking.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ppu/stat_irq_blocking.bin
- name: Run test ROM (mooneye-test-suite rom_16Mb) - name: Run test ROM (mooneye-test-suite ppu/stat_lyc_onoff)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_16Mb.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/rom_16Mb.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ppu/stat_lyc_onoff.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ppu/stat_lyc_onoff.bin
- name: Run test ROM (mooneye-test-suite rom_1Mb) - name: Run test ROM (mooneye-test-suite ppu/vblank_stat_intr-GS)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_1Mb.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/rom_1Mb.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ppu/vblank_stat_intr-GS.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ppu/vblank_stat_intr-GS.bin
- name: Run test ROM (mooneye-test-suite rom_2Mb) - name: Run test ROM (mooneye-test-suite timer/div_write)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_2Mb.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/rom_2Mb.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/div_write.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/div_write.bin
- name: Run test ROM (mooneye-test-suite rom_4Mb) - name: Run test ROM (mooneye-test-suite timer/rapid_toggle)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_4Mb.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/rom_4Mb.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/rapid_toggle.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/rapid_toggle.bin
- name: Run test ROM (mooneye-test-suite rom_512kb) - name: Run test ROM (mooneye-test-suite timer/tim00)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_512kb.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/rom_512kb.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tim00.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tim00.bin
- name: Run test ROM (mooneye-test-suite rom_8Mb) - name: Run test ROM (mooneye-test-suite timer/tim00_div_trigger)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_8Mb.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/rom_8Mb.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tim00_div_trigger.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tim00_div_trigger.bin
- name: Run test ROM (mooneye-test-suite timer/tim01)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tim01.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tim01.bin
- name: Run test ROM (mooneye-test-suite timer/tim01_div_trigger)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tim01_div_trigger.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tim01_div_trigger.bin
- name: Run test ROM (mooneye-test-suite timer/tim10)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tim10.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tim10.bin
- name: Run test ROM (mooneye-test-suite timer/tim10_div_trigger)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tim10_div_trigger.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tim10_div_trigger.bin
- name: Run test ROM (mooneye-test-suite timer/tim11)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tim11.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tim11.bin
- name: Run test ROM (mooneye-test-suite timer/tim11_div_trigger)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tim11_div_trigger.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tim11_div_trigger.bin
- name: Run test ROM (mooneye-test-suite timer/tima_reload)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tima_reload.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tima_reload.bin
- name: Run test ROM (mooneye-test-suite timer/tima_write_reloading)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tima_write_reloading.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tima_write_reloading.bin
- name: Run test ROM (mooneye-test-suite timer/tma_write_reloading)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tma_write_reloading.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tma_write_reloading.bin

View file

@ -20,248 +20,284 @@ jobs:
- name: Run test ROM (blargg cpu_instrs) - name: Run test ROM (blargg cpu_instrs)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/blargg/roms/cpu_instrs.gb test -m 100000000 -s meowgb-tests/expected_output/cpu_instrs.bin run: ./target/release/meowgb-tests test-roms/blargg/roms/cpu_instrs.gb test -m 100000000 -s meowgb-tests/expected_output/blargg/cpu_instrs.bin
- name: Run test ROM (blargg instr_timing) - name: Run test ROM (blargg instr_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/blargg/roms/instr_timing.gb test -m 100000000 -s meowgb-tests/expected_output/instr_timing.bin run: ./target/release/meowgb-tests test-roms/blargg/roms/instr_timing.gb test -m 100000000 -s meowgb-tests/expected_output/blargg/instr_timing.bin
- name: Run test ROM (blargg mem_timing) - name: Run test ROM (blargg mem_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/blargg/roms/mem_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mem_timing.bin run: ./target/release/meowgb-tests test-roms/blargg/roms/mem_timing.gb test -m 100000000 -s meowgb-tests/expected_output/blargg/mem_timing.bin
- name: Run test ROM (mooneye-test-suite add_sp_e_timing) - name: Run test ROM (mooneye-test-suite add_sp_e_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/add_sp_e_timing.gb test -m 100000000 -s meowgb-tests/expected_output/add_sp_e_timing.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/add_sp_e_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/add_sp_e_timing.bin
- name: Run test ROM (mooneye-test-suite basic)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/basic.gb test -m 100000000 -s meowgb-tests/expected_output/basic.bin
- name: Run test ROM (mooneye-test-suite boot_hwio-dmgABCmgb) - name: Run test ROM (mooneye-test-suite boot_hwio-dmgABCmgb)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/boot_hwio-dmgABCmgb.gb test -m 100000000 -s meowgb-tests/expected_output/boot_hwio-dmgABCmgb.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/boot_hwio-dmgABCmgb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/boot_hwio-dmgABCmgb.bin
- name: Run test ROM (mooneye-test-suite boot_regs-dmgABC) - name: Run test ROM (mooneye-test-suite boot_regs-dmgABC)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/boot_regs-dmgABC.gb test -m 100000000 -s meowgb-tests/expected_output/boot_regs-dmgABC.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/boot_regs-dmgABC.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/boot_regs-dmgABC.bin
- name: Run test ROM (mooneye-test-suite call_cc_timing) - name: Run test ROM (mooneye-test-suite call_cc_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/call_cc_timing.gb test -m 100000000 -s meowgb-tests/expected_output/call_cc_timing.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/call_cc_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/call_cc_timing.bin
- name: Run test ROM (mooneye-test-suite call_cc_timing2) - name: Run test ROM (mooneye-test-suite call_cc_timing2)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/call_cc_timing2.gb test -m 100000000 -s meowgb-tests/expected_output/call_cc_timing2.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/call_cc_timing2.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/call_cc_timing2.bin
- name: Run test ROM (mooneye-test-suite call_timing) - name: Run test ROM (mooneye-test-suite call_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/call_timing.gb test -m 100000000 -s meowgb-tests/expected_output/call_timing.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/call_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/call_timing.bin
- name: Run test ROM (mooneye-test-suite call_timing2) - name: Run test ROM (mooneye-test-suite call_timing2)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/call_timing2.gb test -m 100000000 -s meowgb-tests/expected_output/call_timing2.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/call_timing2.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/call_timing2.bin
- name: Run test ROM (mooneye-test-suite daa)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/daa.gb test -m 100000000 -s meowgb-tests/expected_output/daa.bin
- name: Run test ROM (mooneye-test-suite di_timing-GS) - name: Run test ROM (mooneye-test-suite di_timing-GS)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/di_timing-GS.gb test -m 100000000 -s meowgb-tests/expected_output/di_timing-GS.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/di_timing-GS.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/di_timing-GS.bin
- name: Run test ROM (mooneye-test-suite div_timing) - name: Run test ROM (mooneye-test-suite div_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/div_timing.gb test -m 100000000 -s meowgb-tests/expected_output/div_timing.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/div_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/div_timing.bin
- name: Run test ROM (mooneye-test-suite div_write)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/div_write.gb test -m 100000000 -s meowgb-tests/expected_output/div_write.bin
- name: Run test ROM (mooneye-test-suite ei_sequence) - name: Run test ROM (mooneye-test-suite ei_sequence)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ei_sequence.gb test -m 100000000 -s meowgb-tests/expected_output/ei_sequence.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ei_sequence.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ei_sequence.bin
- name: Run test ROM (mooneye-test-suite ei_timing) - name: Run test ROM (mooneye-test-suite ei_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ei_timing.gb test -m 100000000 -s meowgb-tests/expected_output/ei_timing.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ei_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ei_timing.bin
- name: Run test ROM (mooneye-test-suite halt_ime0_ei) - name: Run test ROM (mooneye-test-suite halt_ime0_ei)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/halt_ime0_ei.gb test -m 100000000 -s meowgb-tests/expected_output/halt_ime0_ei.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/halt_ime0_ei.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/halt_ime0_ei.bin
- name: Run test ROM (mooneye-test-suite halt_ime0_nointr_timing) - name: Run test ROM (mooneye-test-suite halt_ime0_nointr_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/halt_ime0_nointr_timing.gb test -m 100000000 -s meowgb-tests/expected_output/halt_ime0_nointr_timing.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/halt_ime0_nointr_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/halt_ime0_nointr_timing.bin
- name: Run test ROM (mooneye-test-suite halt_ime1_timing) - name: Run test ROM (mooneye-test-suite halt_ime1_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/halt_ime1_timing.gb test -m 100000000 -s meowgb-tests/expected_output/halt_ime1_timing.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/halt_ime1_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/halt_ime1_timing.bin
- name: Run test ROM (mooneye-test-suite halt_ime1_timing2-GS) - name: Run test ROM (mooneye-test-suite halt_ime1_timing2-GS)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/halt_ime1_timing2-GS.gb test -m 100000000 -s meowgb-tests/expected_output/halt_ime1_timing2-GS.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/halt_ime1_timing2-GS.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/halt_ime1_timing2-GS.bin
- name: Run test ROM (mooneye-test-suite intr_1_2_timing-GS) - name: Run test ROM (mooneye-test-suite if_ie_registers)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/intr_1_2_timing-GS.gb test -m 100000000 -s meowgb-tests/expected_output/intr_1_2_timing-GS.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/if_ie_registers.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/if_ie_registers.bin
- name: Run test ROM (mooneye-test-suite intr_2_0_timing) - name: Run test ROM (mooneye-test-suite intr_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/intr_2_0_timing.gb test -m 100000000 -s meowgb-tests/expected_output/intr_2_0_timing.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/intr_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/intr_timing.bin
- name: Run test ROM (mooneye-test-suite mem_oam) - name: Run test ROM (mooneye-test-suite jp_cc_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/mem_oam.gb test -m 100000000 -s meowgb-tests/expected_output/mem_oam.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/jp_cc_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/jp_cc_timing.bin
- name: Run test ROM (mooneye-test-suite jp_timing)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/jp_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/jp_timing.bin
- name: Run test ROM (mooneye-test-suite ld_hl_sp_e_timing)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ld_hl_sp_e_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ld_hl_sp_e_timing.bin
- name: Run test ROM (mooneye-test-suite oam_dma_restart) - name: Run test ROM (mooneye-test-suite oam_dma_restart)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/oam_dma_restart.gb test -m 100000000 -s meowgb-tests/expected_output/oam_dma_restart.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/oam_dma_restart.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/oam_dma_restart.bin
- name: Run test ROM (mooneye-test-suite oam_dma_start) - name: Run test ROM (mooneye-test-suite oam_dma_start)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/oam_dma_start.gb test -m 100000000 -s meowgb-tests/expected_output/oam_dma_start.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/oam_dma_start.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/oam_dma_start.bin
- name: Run test ROM (mooneye-test-suite oam_dma_timing) - name: Run test ROM (mooneye-test-suite oam_dma_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/oam_dma_timing.gb test -m 100000000 -s meowgb-tests/expected_output/oam_dma_timing.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/oam_dma_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/oam_dma_timing.bin
- name: Run test ROM (mooneye-test-suite pop_timing) - name: Run test ROM (mooneye-test-suite pop_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/pop_timing.gb test -m 100000000 -s meowgb-tests/expected_output/pop_timing.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/pop_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/pop_timing.bin
- name: Run test ROM (mooneye-test-suite push_timing) - name: Run test ROM (mooneye-test-suite push_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/push_timing.gb test -m 100000000 -s meowgb-tests/expected_output/push_timing.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/push_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/push_timing.bin
- name: Run test ROM (mooneye-test-suite rapid_di_ei) - name: Run test ROM (mooneye-test-suite rapid_di_ei)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/rapid_di_ei.gb test -m 100000000 -s meowgb-tests/expected_output/rapid_di_ei.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/rapid_di_ei.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/rapid_di_ei.bin
- name: Run test ROM (mooneye-test-suite rapid_toggle) - name: Run test ROM (mooneye-test-suite ret_cc_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/rapid_toggle.gb test -m 100000000 -s meowgb-tests/expected_output/rapid_toggle.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ret_cc_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ret_cc_timing.bin
- name: Run test ROM (mooneye-test-suite reg_f) - name: Run test ROM (mooneye-test-suite ret_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/reg_f.gb test -m 100000000 -s meowgb-tests/expected_output/reg_f.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ret_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ret_timing.bin
- name: Run test ROM (mooneye-test-suite reg_read) - name: Run test ROM (mooneye-test-suite reti_intr_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/reg_read.gb test -m 100000000 -s meowgb-tests/expected_output/reg_read.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/reti_intr_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/reti_intr_timing.bin
- name: Run test ROM (mooneye-test-suite reti_timing)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/reti_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/reti_timing.bin
- name: Run test ROM (mooneye-test-suite rst_timing) - name: Run test ROM (mooneye-test-suite rst_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/rst_timing.gb test -m 100000000 -s meowgb-tests/expected_output/rst_timing.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/rst_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/rst_timing.bin
- name: Run test ROM (mooneye-test-suite stat_irq_blocking) - name: Run test ROM (mooneye-test-suite MBC1/bits_bank1)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/stat_irq_blocking.gb test -m 100000000 -s meowgb-tests/expected_output/stat_irq_blocking.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/bits_bank1.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/bits_bank1.bin
- name: Run test ROM (mooneye-test-suite stat_lyc_onoff) - name: Run test ROM (mooneye-test-suite MBC1/bits_bank2)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/stat_lyc_onoff.gb test -m 100000000 -s meowgb-tests/expected_output/stat_lyc_onoff.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/bits_bank2.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/bits_bank2.bin
- name: Run test ROM (mooneye-test-suite tim00) - name: Run test ROM (mooneye-test-suite MBC1/bits_mode)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tim00.gb test -m 100000000 -s meowgb-tests/expected_output/tim00.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/bits_mode.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/bits_mode.bin
- name: Run test ROM (mooneye-test-suite tim00_div_trigger) - name: Run test ROM (mooneye-test-suite MBC1/bits_ramg)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tim00_div_trigger.gb test -m 100000000 -s meowgb-tests/expected_output/tim00_div_trigger.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/bits_ramg.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/bits_ramg.bin
- name: Run test ROM (mooneye-test-suite tim01) - name: Run test ROM (mooneye-test-suite MBC1/multicart_rom_8Mb)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tim01.gb test -m 100000000 -s meowgb-tests/expected_output/tim01.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/multicart_rom_8Mb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/multicart_rom_8Mb.bin
- name: Run test ROM (mooneye-test-suite tim01_div_trigger) - name: Run test ROM (mooneye-test-suite MBC1/ram_256kb)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tim01_div_trigger.gb test -m 100000000 -s meowgb-tests/expected_output/tim01_div_trigger.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/ram_256kb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/ram_256kb.bin
- name: Run test ROM (mooneye-test-suite tim10) - name: Run test ROM (mooneye-test-suite MBC1/ram_64kb)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tim10.gb test -m 100000000 -s meowgb-tests/expected_output/tim10.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/ram_64kb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/ram_64kb.bin
- name: Run test ROM (mooneye-test-suite tim10_div_trigger) - name: Run test ROM (mooneye-test-suite MBC1/rom_16Mb)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tim10_div_trigger.gb test -m 100000000 -s meowgb-tests/expected_output/tim10_div_trigger.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_16Mb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/rom_16Mb.bin
- name: Run test ROM (mooneye-test-suite tim11) - name: Run test ROM (mooneye-test-suite MBC1/rom_1Mb)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tim11.gb test -m 100000000 -s meowgb-tests/expected_output/tim11.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_1Mb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/rom_1Mb.bin
- name: Run test ROM (mooneye-test-suite tim11_div_trigger) - name: Run test ROM (mooneye-test-suite MBC1/rom_2Mb)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tim11_div_trigger.gb test -m 100000000 -s meowgb-tests/expected_output/tim11_div_trigger.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_2Mb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/rom_2Mb.bin
- name: Run test ROM (mooneye-test-suite tima_reload) - name: Run test ROM (mooneye-test-suite MBC1/rom_4Mb)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tima_reload.gb test -m 100000000 -s meowgb-tests/expected_output/tima_reload.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_4Mb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/rom_4Mb.bin
- name: Run test ROM (mooneye-test-suite tima_write_reloading) - name: Run test ROM (mooneye-test-suite MBC1/rom_512kb)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tima_write_reloading.gb test -m 100000000 -s meowgb-tests/expected_output/tima_write_reloading.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_512kb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/rom_512kb.bin
- name: Run test ROM (mooneye-test-suite tma_write_reloading) - name: Run test ROM (mooneye-test-suite MBC1/rom_8Mb)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tma_write_reloading.gb test -m 100000000 -s meowgb-tests/expected_output/tma_write_reloading.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_8Mb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/rom_8Mb.bin
- name: Run test ROM (mooneye-test-suite unused_hwio-GS) - name: Run test ROM (mooneye-test-suite bits/mem_oam)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/unused_hwio-GS.gb test -m 100000000 -s meowgb-tests/expected_output/unused_hwio-GS.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/bits/mem_oam.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/bits/mem_oam.bin
- name: Run test ROM (mooneye-test-suite vblank_stat_intr-GS) - name: Run test ROM (mooneye-test-suite bits/reg_f)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/vblank_stat_intr-GS.gb test -m 100000000 -s meowgb-tests/expected_output/vblank_stat_intr-GS.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/bits/reg_f.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/bits/reg_f.bin
- name: Run test ROM (mooneye-test-suite bits_bank1) - name: Run test ROM (mooneye-test-suite bits/unused_hwio-GS)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/bits_bank1.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/bits_bank1.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/bits/unused_hwio-GS.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/bits/unused_hwio-GS.bin
- name: Run test ROM (mooneye-test-suite bits_bank2) - name: Run test ROM (mooneye-test-suite instr/daa)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/bits_bank2.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/bits_bank2.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/instr/daa.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/instr/daa.bin
- name: Run test ROM (mooneye-test-suite bits_mode) - name: Run test ROM (mooneye-test-suite oam_dma/basic)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/bits_mode.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/bits_mode.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/oam_dma/basic.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/oam_dma/basic.bin
- name: Run test ROM (mooneye-test-suite bits_ramg) - name: Run test ROM (mooneye-test-suite oam_dma/reg_read)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/bits_ramg.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/bits_ramg.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/oam_dma/reg_read.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/oam_dma/reg_read.bin
- name: Run test ROM (mooneye-test-suite multicart_rom_8Mb) - name: Run test ROM (mooneye-test-suite ppu/intr_1_2_timing-GS)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/multicart_rom_8Mb.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/multicart_rom_8Mb.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ppu/intr_1_2_timing-GS.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ppu/intr_1_2_timing-GS.bin
- name: Run test ROM (mooneye-test-suite ram_256kb) - name: Run test ROM (mooneye-test-suite ppu/intr_2_0_timing)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/ram_256kb.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/ram_256kb.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ppu/intr_2_0_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ppu/intr_2_0_timing.bin
- name: Run test ROM (mooneye-test-suite ram_64kb) - name: Run test ROM (mooneye-test-suite ppu/stat_irq_blocking)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/ram_64kb.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/ram_64kb.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ppu/stat_irq_blocking.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ppu/stat_irq_blocking.bin
- name: Run test ROM (mooneye-test-suite rom_16Mb) - name: Run test ROM (mooneye-test-suite ppu/stat_lyc_onoff)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_16Mb.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/rom_16Mb.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ppu/stat_lyc_onoff.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ppu/stat_lyc_onoff.bin
- name: Run test ROM (mooneye-test-suite rom_1Mb) - name: Run test ROM (mooneye-test-suite ppu/vblank_stat_intr-GS)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_1Mb.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/rom_1Mb.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ppu/vblank_stat_intr-GS.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ppu/vblank_stat_intr-GS.bin
- name: Run test ROM (mooneye-test-suite rom_2Mb) - name: Run test ROM (mooneye-test-suite timer/div_write)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_2Mb.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/rom_2Mb.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/div_write.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/div_write.bin
- name: Run test ROM (mooneye-test-suite rom_4Mb) - name: Run test ROM (mooneye-test-suite timer/rapid_toggle)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_4Mb.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/rom_4Mb.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/rapid_toggle.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/rapid_toggle.bin
- name: Run test ROM (mooneye-test-suite rom_512kb) - name: Run test ROM (mooneye-test-suite timer/tim00)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_512kb.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/rom_512kb.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tim00.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tim00.bin
- name: Run test ROM (mooneye-test-suite rom_8Mb) - name: Run test ROM (mooneye-test-suite timer/tim00_div_trigger)
if: always() if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_8Mb.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/rom_8Mb.bin run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tim00_div_trigger.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tim00_div_trigger.bin
- name: Run test ROM (mooneye-test-suite timer/tim01)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tim01.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tim01.bin
- name: Run test ROM (mooneye-test-suite timer/tim01_div_trigger)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tim01_div_trigger.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tim01_div_trigger.bin
- name: Run test ROM (mooneye-test-suite timer/tim10)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tim10.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tim10.bin
- name: Run test ROM (mooneye-test-suite timer/tim10_div_trigger)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tim10_div_trigger.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tim10_div_trigger.bin
- name: Run test ROM (mooneye-test-suite timer/tim11)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tim11.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tim11.bin
- name: Run test ROM (mooneye-test-suite timer/tim11_div_trigger)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tim11_div_trigger.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tim11_div_trigger.bin
- name: Run test ROM (mooneye-test-suite timer/tima_reload)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tima_reload.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tima_reload.bin
- name: Run test ROM (mooneye-test-suite timer/tima_write_reloading)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tima_write_reloading.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tima_write_reloading.bin
- name: Run test ROM (mooneye-test-suite timer/tma_write_reloading)
if: always()
run: ./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tma_write_reloading.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tma_write_reloading.bin

View file

@ -53,7 +53,7 @@ EOF
for full_f in ./test-roms/blargg/roms/*.gb for full_f in ./test-roms/blargg/roms/*.gb
do do
f="${full_f##*/}"; f="${f%.*}"; f="${full_f##*/}"; f="${f%.*}";
TEST_CMD="./target/release/meowgb-tests test-roms/blargg/roms/$f.gb test -m 100000000 -s meowgb-tests/expected_output/$f.bin" TEST_CMD="./target/release/meowgb-tests test-roms/blargg/roms/$f.gb test -m 100000000 -s meowgb-tests/expected_output/blargg/$f.bin"
cat >>$TEST_SCRIPT_OUTPUT_FILE << EOF cat >>$TEST_SCRIPT_OUTPUT_FILE << EOF
@ -69,7 +69,7 @@ fi
EOF EOF
cat >>$TEST_MD_FILE << EOF cat >>$TEST_MD_FILE << EOF
* $f.gb - [ROM]($full_f) - [Expected Serial Output](./meowgb-tests/expected_output/$f.bin) * $f.gb - [ROM]($full_f) - [Expected Serial Output](./meowgb-tests/expected_output/blargg/$f.bin)
EOF EOF
tee -a $GH_ACTION_OUTPUT_FILE $FJ_ACTION_OUTPUT_FILE >/dev/null << EOF tee -a $GH_ACTION_OUTPUT_FILE $FJ_ACTION_OUTPUT_FILE >/dev/null << EOF
@ -89,7 +89,7 @@ EOF
for full_f in ./test-roms/mooneye-test-suite/roms/*.gb for full_f in ./test-roms/mooneye-test-suite/roms/*.gb
do do
f="${full_f##*/}"; f="${f%.*}"; f="${full_f##*/}"; f="${f%.*}";
TEST_CMD="./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/$f.gb test -m 100000000 -s meowgb-tests/expected_output/$f.bin" TEST_CMD="./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/$f.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/$f.bin"
cat >>$TEST_SCRIPT_OUTPUT_FILE << EOF cat >>$TEST_SCRIPT_OUTPUT_FILE << EOF
@ -105,7 +105,7 @@ fi
EOF EOF
cat >>$TEST_MD_FILE << EOF cat >>$TEST_MD_FILE << EOF
* $f.gb - [ROM]($full_f) - [Expected Serial Output](./meowgb-tests/expected_output/MBC1/$f.bin) * $f.gb - [ROM]($full_f) - [Expected Serial Output](./meowgb-tests/expected_output/mooneye-test-suite/$f.bin)
EOF EOF
tee -a $GH_ACTION_OUTPUT_FILE $FJ_ACTION_OUTPUT_FILE >/dev/null << EOF tee -a $GH_ACTION_OUTPUT_FILE $FJ_ACTION_OUTPUT_FILE >/dev/null << EOF
@ -116,16 +116,20 @@ EOF
EOF EOF
done done
cat >>$TEST_MD_FILE << EOF for directory in ./test-roms/mooneye-test-suite/roms/*/
do
d=$(basename $directory)
### MBC1 cat >>$TEST_MD_FILE << EOF
### $d
EOF EOF
for full_f in ./test-roms/mooneye-test-suite/roms/MBC1/**.gb for full_f in ./test-roms/mooneye-test-suite/roms/$d/*.gb
do do
f="${full_f##*/}"; f="${f%.*}"; f="${full_f##*/}"; f="${f%.*}";
TEST_CMD="./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/$f.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/$f.bin" TEST_CMD="./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/$d/$f.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/$d/$f.bin"
cat >>$TEST_SCRIPT_OUTPUT_FILE << EOF cat >>$TEST_SCRIPT_OUTPUT_FILE << EOF
@ -141,15 +145,17 @@ fi
EOF EOF
cat >>$TEST_MD_FILE << EOF cat >>$TEST_MD_FILE << EOF
* $f.gb - [ROM]($full_f) - [Expected Serial Output](./meowgb-tests/expected_output/$f.bin) * $d/$f.gb - [ROM]($full_f) - [Expected Serial Output](./meowgb-tests/expected_output/mooneye-test-suite/$d/$f.bin)
EOF EOF
tee -a $GH_ACTION_OUTPUT_FILE $FJ_ACTION_OUTPUT_FILE >/dev/null << EOF tee -a $GH_ACTION_OUTPUT_FILE $FJ_ACTION_OUTPUT_FILE >/dev/null << EOF
- name: Run test ROM (mooneye-test-suite $f) - name: Run test ROM (mooneye-test-suite $d/$f)
if: always() if: always()
run: $TEST_CMD run: $TEST_CMD
EOF EOF
done
done done
cat >>$TEST_SCRIPT_OUTPUT_FILE << EOF cat >>$TEST_SCRIPT_OUTPUT_FILE << EOF

View file

@ -10,10 +10,9 @@ pub enum DmaMemoryBus {
impl DmaMemoryBus { impl DmaMemoryBus {
pub fn from_base(base: u8) -> Self { pub fn from_base(base: u8) -> Self {
match base { match base {
0..=0x7F 0..=0x7F | 0xA0..=0xFD => Self::External,
| 0xA0..=0xFD => Self::External,
0x80..=0x9F => Self::Video, 0x80..=0x9F => Self::Video,
_ => Self::Other _ => Self::Other,
} }
} }
@ -45,9 +44,7 @@ pub struct DmaState {
impl DmaState { impl DmaState {
pub fn is_conflict(&self, address: u16) -> bool { pub fn is_conflict(&self, address: u16) -> bool {
self.in_progress().map(|bus| { self.in_progress().map(|bus| bus.conflict_in_range(address)).unwrap_or_default()
bus.conflict_in_range(address)
}).unwrap_or_default()
} }
pub fn in_progress(&self) -> Option<DmaMemoryBus> { pub fn in_progress(&self) -> Option<DmaMemoryBus> {
@ -58,7 +55,13 @@ impl DmaState {
} }
pub fn new() -> Self { pub fn new() -> Self {
Self { dma_in_progress: false, original_base: 0, base: 0, remaining_cycles: 0, restarting: None } Self {
dma_in_progress: false,
original_base: 0,
base: 0,
remaining_cycles: 0,
restarting: None,
}
} }
pub fn init_request(&mut self, base: u8) { pub fn init_request(&mut self, base: u8) {

View file

@ -9,11 +9,19 @@ pub struct MBC1 {
rom_bank_number: u8, rom_bank_number: u8,
extra_2_bit_reg: u8, extra_2_bit_reg: u8,
banking_mode_select: bool, banking_mode_select: bool,
is_mbc1m: bool,
} }
impl MBC1 { impl MBC1 {
pub fn new(data: Vec<u8>) -> Self { pub fn new(data: Vec<u8>) -> Self {
let rom_bank_count = 0b10 << data[0x148]; assert!(data[0x147] >= 1 && data[0x147] <= 0x3);
let rom_bank_count = data[0x148];
assert!(rom_bank_count <= 0x6, "{:#X}", rom_bank_count);
let rom_length = (1 << rom_bank_count as usize) * 0x8000;
assert_eq!(data.len(), rom_length);
let ram_bank_count = match data[0x149] { let ram_bank_count = match data[0x149] {
0 | 1 => 0, 0 | 1 => 0,
2 => 1, 2 => 1,
@ -23,13 +31,16 @@ impl MBC1 {
_ => panic!("Bad RAM bank count for MBC1"), _ => panic!("Bad RAM bank count for MBC1"),
}; };
let ram = match ram_bank_count { let ram = match data[0x149] {
0 | 1 => None, 0 | 1 => None,
2 | 3 | 4 | 5 => Some(vec![0u8; ram_bank_count as usize * (8 * 1024)]), 2 | 3 | 4 | 5 => Some(vec![0u8; ram_bank_count as usize * (8 * 1024)]),
_ => panic!("Bad RAM bank count for MBC1"), _ => panic!("Bad RAM bank count for MBC1"),
}; };
assert_eq!(data.len(), rom_bank_count as usize * (16 * 1024)); let is_mbc1m = match rom_bank_count > 3 {
true => &data[0x104..0x134] == &data[((0x10 << 14) + 0x104)..((0x10 << 14) + 0x134)],
false => false,
};
Self { Self {
rom: data, rom: data,
@ -40,18 +51,16 @@ impl MBC1 {
ram, ram,
ram_bank_count, ram_bank_count,
banking_mode_select: false, banking_mode_select: false,
is_mbc1m,
} }
} }
fn set_ram_enabled(&mut self, val: u8) { fn set_ram_enabled(&mut self, val: u8) {
self.ram_enabled = val & 0xA != 0; self.ram_enabled = val & 0b1111 == 0xA;
} }
fn set_rom_bank_number(&mut self, mut val: u8) { fn set_rom_bank_number(&mut self, val: u8) {
if val == 0 { self.rom_bank_number = (val & 0b11111).max(1);
val = 1;
}
self.rom_bank_number = val & 0b1_1111;
} }
fn set_extra_2_bit_reg(&mut self, val: u8) { fn set_extra_2_bit_reg(&mut self, val: u8) {
@ -63,30 +72,44 @@ impl MBC1 {
} }
fn is_large_rom(&self) -> bool { fn is_large_rom(&self) -> bool {
self.rom_bank_count >= 64 self.rom_bank_count >= 5
} }
#[allow(unused)] #[allow(unused)]
fn is_large_ram(&self) -> bool { fn is_large_ram(&self) -> bool {
self.ram_bank_count > 2 self.ram_bank_count >= 4
} }
} }
impl Mapper for MBC1 { impl Mapper for MBC1 {
fn read_rom_u8(&self, address: u16) -> u8 { fn read_rom_u8(&self, address: u16) -> u8 {
if address <= 0x3FFF { let mask = match self.rom_bank_count {
self.rom[if self.is_large_rom() && self.banking_mode_select { 0 => 0b1,
((self.extra_2_bit_reg << 5) as usize * 0x4000) + address as usize 1 => 0b11,
} else { 2 => 0b111,
address as usize 3 => 0b1111,
}] 4 => 0b11111,
} else { 5 => 0b111111,
self.rom[if self.is_large_rom() { 6 => 0b1111111,
(self.rom_bank_number | (self.extra_2_bit_reg << 5)) as usize * 0x4000 _ => unreachable!(),
} else { };
self.rom_bank_number as usize * 0x4000 let rom_bank = match address <= 0x3FFF {
} + (address as usize - 0x4000)] true if self.banking_mode_select && self.is_mbc1m => {
(self.extra_2_bit_reg << 4) as usize
} }
true if self.is_large_rom() && self.banking_mode_select && !self.is_mbc1m => {
((self.extra_2_bit_reg as usize) << 5) & mask
}
true => 0,
false if self.is_mbc1m => {
((self.rom_bank_number & 0b1111) | (self.extra_2_bit_reg << 4)) as usize
}
false => (self.rom_bank_number | (self.extra_2_bit_reg << 5)) as usize,
} & mask;
let real_address = rom_bank << 14 | (address as usize & 0x3FFF);
self.rom[real_address]
} }
fn write_rom_u8(&mut self, address: u16, value: u8) { fn write_rom_u8(&mut self, address: u16, value: u8) {
@ -100,22 +123,33 @@ impl Mapper for MBC1 {
} }
fn read_eram_u8(&self, address: u16) -> u8 { fn read_eram_u8(&self, address: u16) -> u8 {
let is_large_ram = self.is_large_ram();
if !self.ram_enabled {
return 0xFF;
}
match self.ram.as_ref() { match self.ram.as_ref() {
Some(ram) => match self.is_large_rom() { Some(ram) if is_large_ram && self.banking_mode_select => {
true => ram[address as usize], ram[(self.extra_2_bit_reg as usize * 0x2000) + address as usize]
false => ram[(self.extra_2_bit_reg as usize * 0x2000) + address as usize], }
}, Some(ram) => ram[address as usize],
None => 0xFF, None => 0xFF,
} }
} }
fn write_eram_u8(&mut self, address: u16, value: u8) { fn write_eram_u8(&mut self, address: u16, value: u8) {
let is_large_rom = self.is_large_rom(); let is_large_ram = self.is_large_ram();
if !self.ram_enabled {
return;
}
match self.ram.as_mut() { match self.ram.as_mut() {
Some(ram) => match is_large_rom { Some(ram) if is_large_ram && self.banking_mode_select => {
true => ram[address as usize] = value, ram[(self.extra_2_bit_reg as usize * 0x2000) + address as usize] = value
false => ram[(self.extra_2_bit_reg as usize * 0x2000) + address as usize] = value, }
}, Some(ram) => ram[address as usize] = value,
None => {} None => {}
} }
} }

View file

@ -1,4 +1,4 @@
use super::{interrupts::Interrupts, dma::DmaState}; use super::{dma::DmaState, interrupts::Interrupts};
pub const FB_HEIGHT: u32 = 144; pub const FB_HEIGHT: u32 = 144;
pub const FB_WIDTH: u32 = 160; pub const FB_WIDTH: u32 = 160;

View file

@ -1 +0,0 @@
BBBBBB

View file

@ -1 +0,0 @@
BBBBBB

View file

@ -1 +0,0 @@
BBBBBB

View file

@ -1 +0,0 @@
BBBBBB

View file

@ -1 +0,0 @@
BBBBBB

View file

@ -1 +0,0 @@
BBBBBB

View file

@ -1 +0,0 @@
BBBBBB

View file

@ -1 +0,0 @@
BBBBBB

View file

@ -1 +0,0 @@
BBBBBB

View file

@ -1 +0,0 @@
BBBBBB

View file

@ -0,0 +1 @@
 "

View file

@ -0,0 +1 @@
 "

View file

@ -0,0 +1 @@
 "

View file

@ -0,0 +1 @@
 "

View file

@ -0,0 +1 @@
 "

View file

@ -0,0 +1 @@
 "

View file

@ -0,0 +1 @@
 "

View file

@ -0,0 +1 @@
 "

View file

@ -0,0 +1 @@
 "

View file

@ -0,0 +1 @@
 "

View file

@ -0,0 +1 @@
 "

View file

@ -0,0 +1 @@
 "

View file

@ -0,0 +1 @@
 "

View file

@ -0,0 +1 @@
 "

View file

@ -1,6 +1,6 @@
/// Provides an [egui] based overlay for debugigng the emulator whilst it is /// Provides an [egui] based overlay for debugigng the emulator whilst it is
/// running /// running
use egui::{ClippedPrimitive, Context, Grid, TexturesDelta, RichText, Color32}; use egui::{ClippedPrimitive, Color32, Context, Grid, RichText, TexturesDelta};
use egui_wgpu::renderer::{Renderer, ScreenDescriptor}; use egui_wgpu::renderer::{Renderer, ScreenDescriptor};
use meowgb_core::gameboy::serial::SerialWriter; use meowgb_core::gameboy::serial::SerialWriter;
use pixels::{wgpu, PixelsContext}; use pixels::{wgpu, PixelsContext};
@ -209,7 +209,7 @@ impl Gui {
wram: gameboy.gameboy.memory.wram, wram: gameboy.gameboy.memory.wram,
hram: gameboy.gameboy.memory.hram, hram: gameboy.gameboy.memory.hram,
oam: gameboy.gameboy.ppu.oam, oam: gameboy.gameboy.ppu.oam,
dma: gameboy.gameboy.dma dma: gameboy.gameboy.dma,
} }
} }
@ -347,9 +347,14 @@ impl Gui {
}); });
}); });
egui::Window::new("DMA").vscroll(true).open(&mut self.state.dma_window_open).show(ctx, |ui| { egui::Window::new("DMA").vscroll(true).open(&mut self.state.dma_window_open).show(
ctx,
|ui| {
if let Some(bus) = self.dma.in_progress() { if let Some(bus) = self.dma.in_progress() {
ui.heading(RichText::new(format!("Active ({:#?} Bus)", bus)).color(Color32::LIGHT_GREEN)); ui.heading(
RichText::new(format!("Active ({:#?} Bus)", bus))
.color(Color32::LIGHT_GREEN),
);
} else { } else {
ui.heading(RichText::new("Inactive").color(Color32::LIGHT_RED)); ui.heading(RichText::new("Inactive").color(Color32::LIGHT_RED));
} }
@ -359,7 +364,8 @@ impl Gui {
ui.label(format!("Write Address: {:#04X}", 0xFE00 | offset)); ui.label(format!("Write Address: {:#04X}", 0xFE00 | offset));
ui.label(format!("Base: {:#04X}", (self.dma.base as u16) << 8)); ui.label(format!("Base: {:#04X}", (self.dma.base as u16) << 8));
ui.label(format!("Remaining Bytes: {:#02X}", self.dma.remaining_cycles)); ui.label(format!("Remaining Bytes: {:#02X}", self.dma.remaining_cycles));
}); },
);
egui::Window::new("HRAM").vscroll(true).open(&mut self.state.hram_window_open).show(ctx, |ui| { egui::Window::new("HRAM").vscroll(true).open(&mut self.state.hram_window_open).show(ctx, |ui| {
egui::Grid::new("memory_ov_hram").show(ui, |ui| { egui::Grid::new("memory_ov_hram").show(ui, |ui| {

View file

@ -11,7 +11,7 @@ echo "Running test ROM ./test-roms/blargg/roms/cpu_instrs.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/blargg/roms/cpu_instrs.gb test -m 100000000 -s meowgb-tests/expected_output/cpu_instrs.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/blargg/roms/cpu_instrs.gb test -m 100000000 -s meowgb-tests/expected_output/blargg/cpu_instrs.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -21,7 +21,7 @@ echo "Running test ROM ./test-roms/blargg/roms/instr_timing.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/blargg/roms/instr_timing.gb test -m 100000000 -s meowgb-tests/expected_output/instr_timing.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/blargg/roms/instr_timing.gb test -m 100000000 -s meowgb-tests/expected_output/blargg/instr_timing.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -31,7 +31,7 @@ echo "Running test ROM ./test-roms/blargg/roms/mem_timing.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/blargg/roms/mem_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mem_timing.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/blargg/roms/mem_timing.gb test -m 100000000 -s meowgb-tests/expected_output/blargg/mem_timing.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -41,17 +41,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/add_sp_e_timing.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/add_sp_e_timing.gb test -m 100000000 -s meowgb-tests/expected_output/add_sp_e_timing.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/add_sp_e_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/add_sp_e_timing.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/basic.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/basic.gb test -m 100000000 -s meowgb-tests/expected_output/basic.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -61,7 +51,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/boot_hwio-dmgABCmgb.g
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/boot_hwio-dmgABCmgb.gb test -m 100000000 -s meowgb-tests/expected_output/boot_hwio-dmgABCmgb.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/boot_hwio-dmgABCmgb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/boot_hwio-dmgABCmgb.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -71,7 +61,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/boot_regs-dmgABC.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/boot_regs-dmgABC.gb test -m 100000000 -s meowgb-tests/expected_output/boot_regs-dmgABC.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/boot_regs-dmgABC.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/boot_regs-dmgABC.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -81,7 +71,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/call_cc_timing.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/call_cc_timing.gb test -m 100000000 -s meowgb-tests/expected_output/call_cc_timing.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/call_cc_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/call_cc_timing.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -91,7 +81,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/call_cc_timing2.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/call_cc_timing2.gb test -m 100000000 -s meowgb-tests/expected_output/call_cc_timing2.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/call_cc_timing2.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/call_cc_timing2.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -101,7 +91,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/call_timing.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/call_timing.gb test -m 100000000 -s meowgb-tests/expected_output/call_timing.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/call_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/call_timing.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -111,17 +101,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/call_timing2.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/call_timing2.gb test -m 100000000 -s meowgb-tests/expected_output/call_timing2.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/call_timing2.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/call_timing2.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/daa.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/daa.gb test -m 100000000 -s meowgb-tests/expected_output/daa.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -131,7 +111,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/di_timing-GS.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/di_timing-GS.gb test -m 100000000 -s meowgb-tests/expected_output/di_timing-GS.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/di_timing-GS.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/di_timing-GS.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -141,17 +121,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/div_timing.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/div_timing.gb test -m 100000000 -s meowgb-tests/expected_output/div_timing.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/div_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/div_timing.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/div_write.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/div_write.gb test -m 100000000 -s meowgb-tests/expected_output/div_write.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -161,7 +131,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/ei_sequence.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ei_sequence.gb test -m 100000000 -s meowgb-tests/expected_output/ei_sequence.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ei_sequence.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ei_sequence.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -171,7 +141,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/ei_timing.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ei_timing.gb test -m 100000000 -s meowgb-tests/expected_output/ei_timing.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ei_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ei_timing.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -181,7 +151,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/halt_ime0_ei.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/halt_ime0_ei.gb test -m 100000000 -s meowgb-tests/expected_output/halt_ime0_ei.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/halt_ime0_ei.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/halt_ime0_ei.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -191,7 +161,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/halt_ime0_nointr_timi
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/halt_ime0_nointr_timing.gb test -m 100000000 -s meowgb-tests/expected_output/halt_ime0_nointr_timing.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/halt_ime0_nointr_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/halt_ime0_nointr_timing.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -201,7 +171,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/halt_ime1_timing.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/halt_ime1_timing.gb test -m 100000000 -s meowgb-tests/expected_output/halt_ime1_timing.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/halt_ime1_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/halt_ime1_timing.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -211,37 +181,57 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/halt_ime1_timing2-GS.
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/halt_ime1_timing2-GS.gb test -m 100000000 -s meowgb-tests/expected_output/halt_ime1_timing2-GS.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/halt_ime1_timing2-GS.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/halt_ime1_timing2-GS.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
fi fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/intr_1_2_timing-GS.gb" echo "Running test ROM ./test-roms/mooneye-test-suite/roms/if_ie_registers.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/intr_1_2_timing-GS.gb test -m 100000000 -s meowgb-tests/expected_output/intr_1_2_timing-GS.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/if_ie_registers.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/if_ie_registers.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
fi fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/intr_2_0_timing.gb" echo "Running test ROM ./test-roms/mooneye-test-suite/roms/intr_timing.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/intr_2_0_timing.gb test -m 100000000 -s meowgb-tests/expected_output/intr_2_0_timing.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/intr_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/intr_timing.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
fi fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/mem_oam.gb" echo "Running test ROM ./test-roms/mooneye-test-suite/roms/jp_cc_timing.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/mem_oam.gb test -m 100000000 -s meowgb-tests/expected_output/mem_oam.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/jp_cc_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/jp_cc_timing.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/jp_timing.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/jp_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/jp_timing.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/ld_hl_sp_e_timing.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ld_hl_sp_e_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ld_hl_sp_e_timing.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -251,7 +241,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/oam_dma_restart.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/oam_dma_restart.gb test -m 100000000 -s meowgb-tests/expected_output/oam_dma_restart.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/oam_dma_restart.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/oam_dma_restart.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -261,7 +251,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/oam_dma_start.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/oam_dma_start.gb test -m 100000000 -s meowgb-tests/expected_output/oam_dma_start.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/oam_dma_start.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/oam_dma_start.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -271,7 +261,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/oam_dma_timing.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/oam_dma_timing.gb test -m 100000000 -s meowgb-tests/expected_output/oam_dma_timing.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/oam_dma_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/oam_dma_timing.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -281,7 +271,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/pop_timing.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/pop_timing.gb test -m 100000000 -s meowgb-tests/expected_output/pop_timing.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/pop_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/pop_timing.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -291,7 +281,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/push_timing.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/push_timing.gb test -m 100000000 -s meowgb-tests/expected_output/push_timing.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/push_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/push_timing.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -301,37 +291,47 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/rapid_di_ei.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/rapid_di_ei.gb test -m 100000000 -s meowgb-tests/expected_output/rapid_di_ei.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/rapid_di_ei.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/rapid_di_ei.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
fi fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/rapid_toggle.gb" echo "Running test ROM ./test-roms/mooneye-test-suite/roms/ret_cc_timing.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/rapid_toggle.gb test -m 100000000 -s meowgb-tests/expected_output/rapid_toggle.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ret_cc_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ret_cc_timing.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
fi fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/reg_f.gb" echo "Running test ROM ./test-roms/mooneye-test-suite/roms/ret_timing.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/reg_f.gb test -m 100000000 -s meowgb-tests/expected_output/reg_f.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ret_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ret_timing.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
fi fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/reg_read.gb" echo "Running test ROM ./test-roms/mooneye-test-suite/roms/reti_intr_timing.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/reg_read.gb test -m 100000000 -s meowgb-tests/expected_output/reg_read.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/reti_intr_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/reti_intr_timing.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/reti_timing.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/reti_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/reti_timing.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -341,157 +341,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/rst_timing.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/rst_timing.gb test -m 100000000 -s meowgb-tests/expected_output/rst_timing.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/rst_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/rst_timing.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/stat_irq_blocking.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/stat_irq_blocking.gb test -m 100000000 -s meowgb-tests/expected_output/stat_irq_blocking.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/stat_lyc_onoff.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/stat_lyc_onoff.gb test -m 100000000 -s meowgb-tests/expected_output/stat_lyc_onoff.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/tim00.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tim00.gb test -m 100000000 -s meowgb-tests/expected_output/tim00.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/tim00_div_trigger.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tim00_div_trigger.gb test -m 100000000 -s meowgb-tests/expected_output/tim00_div_trigger.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/tim01.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tim01.gb test -m 100000000 -s meowgb-tests/expected_output/tim01.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/tim01_div_trigger.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tim01_div_trigger.gb test -m 100000000 -s meowgb-tests/expected_output/tim01_div_trigger.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/tim10.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tim10.gb test -m 100000000 -s meowgb-tests/expected_output/tim10.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/tim10_div_trigger.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tim10_div_trigger.gb test -m 100000000 -s meowgb-tests/expected_output/tim10_div_trigger.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/tim11.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tim11.gb test -m 100000000 -s meowgb-tests/expected_output/tim11.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/tim11_div_trigger.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tim11_div_trigger.gb test -m 100000000 -s meowgb-tests/expected_output/tim11_div_trigger.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/tima_reload.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tima_reload.gb test -m 100000000 -s meowgb-tests/expected_output/tima_reload.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/tima_write_reloading.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tima_write_reloading.gb test -m 100000000 -s meowgb-tests/expected_output/tima_write_reloading.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/tma_write_reloading.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/tma_write_reloading.gb test -m 100000000 -s meowgb-tests/expected_output/tma_write_reloading.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/unused_hwio-GS.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/unused_hwio-GS.gb test -m 100000000 -s meowgb-tests/expected_output/unused_hwio-GS.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/vblank_stat_intr-GS.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/vblank_stat_intr-GS.gb test -m 100000000 -s meowgb-tests/expected_output/vblank_stat_intr-GS.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -501,7 +351,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/MBC1/bits_bank1.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/bits_bank1.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/bits_bank1.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/bits_bank1.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/bits_bank1.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -511,7 +361,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/MBC1/bits_bank2.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/bits_bank2.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/bits_bank2.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/bits_bank2.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/bits_bank2.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -521,7 +371,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/MBC1/bits_mode.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/bits_mode.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/bits_mode.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/bits_mode.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/bits_mode.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -531,7 +381,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/MBC1/bits_ramg.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/bits_ramg.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/bits_ramg.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/bits_ramg.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/bits_ramg.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -541,7 +391,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/MBC1/multicart_rom_8M
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/multicart_rom_8Mb.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/multicart_rom_8Mb.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/multicart_rom_8Mb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/multicart_rom_8Mb.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -551,7 +401,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/MBC1/ram_256kb.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/ram_256kb.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/ram_256kb.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/ram_256kb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/ram_256kb.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -561,7 +411,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/MBC1/ram_64kb.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/ram_64kb.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/ram_64kb.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/ram_64kb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/ram_64kb.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -571,7 +421,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/MBC1/rom_16Mb.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_16Mb.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/rom_16Mb.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_16Mb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/rom_16Mb.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -581,7 +431,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/MBC1/rom_1Mb.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_1Mb.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/rom_1Mb.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_1Mb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/rom_1Mb.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -591,7 +441,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/MBC1/rom_2Mb.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_2Mb.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/rom_2Mb.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_2Mb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/rom_2Mb.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -601,7 +451,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/MBC1/rom_4Mb.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_4Mb.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/rom_4Mb.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_4Mb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/rom_4Mb.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -611,7 +461,7 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/MBC1/rom_512kb.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_512kb.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/rom_512kb.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_512kb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/rom_512kb.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"
@ -621,7 +471,247 @@ echo "Running test ROM ./test-roms/mooneye-test-suite/roms/MBC1/rom_8Mb.gb"
TEST_TOTAL=$((TEST_TOTAL + 1)) TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_8Mb.gb test -m 100000000 -s meowgb-tests/expected_output/MBC1/rom_8Mb.bin 2>&1 > /dev/null) ; then if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/MBC1/rom_8Mb.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/MBC1/rom_8Mb.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/bits/mem_oam.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/bits/mem_oam.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/bits/mem_oam.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/bits/reg_f.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/bits/reg_f.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/bits/reg_f.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/bits/unused_hwio-GS.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/bits/unused_hwio-GS.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/bits/unused_hwio-GS.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/instr/daa.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/instr/daa.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/instr/daa.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/oam_dma/basic.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/oam_dma/basic.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/oam_dma/basic.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/oam_dma/reg_read.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/oam_dma/reg_read.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/oam_dma/reg_read.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/ppu/intr_1_2_timing-GS.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ppu/intr_1_2_timing-GS.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ppu/intr_1_2_timing-GS.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/ppu/intr_2_0_timing.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ppu/intr_2_0_timing.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ppu/intr_2_0_timing.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/ppu/stat_irq_blocking.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ppu/stat_irq_blocking.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ppu/stat_irq_blocking.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/ppu/stat_lyc_onoff.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ppu/stat_lyc_onoff.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ppu/stat_lyc_onoff.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/ppu/vblank_stat_intr-GS.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/ppu/vblank_stat_intr-GS.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/ppu/vblank_stat_intr-GS.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/timer/div_write.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/div_write.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/div_write.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/timer/rapid_toggle.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/rapid_toggle.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/rapid_toggle.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/timer/tim00.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tim00.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tim00.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/timer/tim00_div_trigger.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tim00_div_trigger.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tim00_div_trigger.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/timer/tim01.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tim01.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tim01.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/timer/tim01_div_trigger.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tim01_div_trigger.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tim01_div_trigger.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/timer/tim10.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tim10.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tim10.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/timer/tim10_div_trigger.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tim10_div_trigger.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tim10_div_trigger.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/timer/tim11.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tim11.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tim11.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/timer/tim11_div_trigger.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tim11_div_trigger.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tim11_div_trigger.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/timer/tima_reload.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tima_reload.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tima_reload.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/timer/tima_write_reloading.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tima_write_reloading.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tima_write_reloading.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1))
else
echo "Failed: $res"
fi
echo "Running test ROM ./test-roms/mooneye-test-suite/roms/timer/tma_write_reloading.gb"
TEST_TOTAL=$((TEST_TOTAL + 1))
if res=$(./target/release/meowgb-tests test-roms/mooneye-test-suite/roms/timer/tma_write_reloading.gb test -m 100000000 -s meowgb-tests/expected_output/mooneye-test-suite/timer/tma_write_reloading.bin 2>&1 > /dev/null) ; then
TEST_SUCCESS=$((TEST_SUCCESS + 1)) TEST_SUCCESS=$((TEST_SUCCESS + 1))
else else
echo "Failed: $res" echo "Failed: $res"

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show more