267 lines
15 KiB
YAML
267 lines
15 KiB
YAML
on:
|
|
- push
|
|
|
|
jobs:
|
|
main_test:
|
|
name: Test changes to main
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Install toolchain
|
|
run: curl https://sh.rustup.rs -sSf | sh -s -- --profile minimal --default-toolchain stable -y && echo "$HOME/.cargo/bin" >> $GITHUB_PATH
|
|
|
|
- name: Run cargo tests (meowgb-core)
|
|
run: cargo test -p meowgb-core
|
|
|
|
- name: Build release (meowgb-tests)
|
|
run: cargo build -p meowgb-tests --release
|
|
|
|
- name: Run test ROM (blargg cpu_instrs)
|
|
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
|
|
|
|
- name: Run test ROM (blargg instr_timing)
|
|
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
|
|
|
|
- name: Run test ROM (blargg mem_timing)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite add_sp_e_timing)
|
|
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
|
|
|
|
- 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)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite boot_regs-dmgABC)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite call_cc_timing)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite call_cc_timing2)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite call_timing)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite call_timing2)
|
|
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
|
|
|
|
- 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)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite div_timing)
|
|
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
|
|
|
|
- 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)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite ei_timing)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite halt_ime0_ei)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite halt_ime0_nointr_timing)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite halt_ime1_timing)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite halt_ime1_timing2-GS)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite intr_1_2_timing-GS)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite intr_2_0_timing)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite mem_oam)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite oam_dma_restart)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite oam_dma_start)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite oam_dma_timing)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite pop_timing)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite push_timing)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite rapid_di_ei)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite rapid_toggle)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite reg_f)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite reg_read)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite rst_timing)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite stat_irq_blocking)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite stat_lyc_onoff)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite tim00)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite tim00_div_trigger)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite tim01)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite tim01_div_trigger)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite tim10)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite tim10_div_trigger)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite tim11)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite tim11_div_trigger)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite tima_reload)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite tima_write_reloading)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite tma_write_reloading)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite unused_hwio-GS)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite vblank_stat_intr-GS)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite bits_bank1)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite bits_bank2)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite bits_mode)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite bits_ramg)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite multicart_rom_8Mb)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite ram_256kb)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite ram_64kb)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite rom_16Mb)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite rom_1Mb)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite rom_2Mb)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite rom_4Mb)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite rom_512kb)
|
|
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
|
|
|
|
- name: Run test ROM (mooneye-test-suite rom_8Mb)
|
|
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
|