From 00047e08178975d7d15fc24b965dbc42314faa9b Mon Sep 17 00:00:00 2001 From: Christoph Sprenger <66515552+c-sp@users.noreply.github.com> Date: Mon, 6 Jul 2020 20:52:00 +0200 Subject: [PATCH 01/14] build rgbds --- .github/workflows/build-and-release.yml | 17 +++++++++++++++++ CHANGELOG.md | 11 ++++++++--- src/assemble.sh | 21 +++++++++++++++++++++ 3 files changed, 46 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml index fb720a2..65fd459 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/build-and-release.yml @@ -61,6 +61,23 @@ jobs: path: ${{ env.ARTIFACTS_PATH }} + rgbds: + name: build RGBDS + runs-on: ubuntu-latest + steps: + - name: checkout code + uses: actions/checkout@v2 + + - name: build RGBDS + run: src/assemble.sh rgbds + + - name: upload RGBDS artifact + uses: actions/upload-artifact@v1 + with: + name: ${{ env.ARTIFACTS_NAME }} + path: ${{ env.ARTIFACTS_PATH }} + + create-release-zip: name: create release zip runs-on: ubuntu-latest diff --git a/CHANGELOG.md b/CHANGELOG.md index b25d457..2ac2b12 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,11 @@ -# master +## master -# v1.1 +- build [RGBDS:8b60efa149](https://github.com/rednex/rgbds/tree/8b60efa149) + *(2020-06-27)* + + +## [v1.1](https://github.com/c-sp/gameboy-test-roms/releases/tag/v1.1) *(2020-06-14)* - use [mooneye-gb:6b9488fa3e](https://github.com/Gekkio/mooneye-gb/tree/6b9488fa3e) @@ -15,7 +19,8 @@ [gambatte:56e3371151](https://github.com/sinamas/gambatte/tree/56e3371151) *(2020-03-08)* -# v1.0 + +## [v1.0](https://github.com/c-sp/gameboy-test-roms/releases/tag/v1.0) *(2020-06-13)* - compile Mooneye GB test roms with [wla-dx:d9a3237cc2](https://github.com/vhelin/wla-dx/tree/d9a3237cc2) diff --git a/src/assemble.sh b/src/assemble.sh index 566e4bd..dbea9c5 100755 --- a/src/assemble.sh +++ b/src/assemble.sh @@ -14,6 +14,7 @@ print_usage_and_exit() echo " $0 $CMD_BLARGG" echo " $0 $CMD_GAMBATTE" echo " $0 $CMD_MOONEYE_GB" + echo " $0 $CMD_RGBDS" echo " $0 $CMD_RELEASE_ZIP " exit 1 } @@ -133,6 +134,24 @@ assemble_mooneye_gb() +build_rgbds() +{ + ARTIFACT_NAME=rgbds + ARTIFACT=$(mkdir_artifact $ARTIFACT_NAME) + + REPO_RGBDS=$(mktemp -d) + cd "$REPO_RGBDS" + git clone https://github.com/rednex/rgbds.git . + git checkout 8b60efa1495128301a407e93bd7c4ac0eb0b0f1e + make + + cp rgbasm rgbfix rgbgfx rgblink "$ARTIFACT" + + tar_rm_artifact $ARTIFACT_NAME +} + + + create_release_zip() { ZIP_FILE=$1 @@ -163,6 +182,7 @@ create_release_zip() CMD_BLARGG=blargg-roms CMD_GAMBATTE=gambatte-roms CMD_MOONEYE_GB=mooneye-gb-roms +CMD_RGBDS=rgbds CMD_RELEASE_ZIP=release-zip # identify repository directories based on the path of this script @@ -181,6 +201,7 @@ case ${CMD} in ${CMD_BLARGG}) assemble_blargg $@ ;; ${CMD_GAMBATTE}) assemble_gambatte $@ ;; ${CMD_MOONEYE_GB}) assemble_mooneye_gb $@ ;; + ${CMD_RGBDS}) build_rgbds $@ ;; ${CMD_RELEASE_ZIP}) create_release_zip $@ ;; *) print_usage_and_exit ;; From 9fd845dcf87bcdff45aa3ca45f78f45245ff64b1 Mon Sep 17 00:00:00 2001 From: Christoph Sprenger <66515552+c-sp@users.noreply.github.com> Date: Mon, 6 Jul 2020 21:09:22 +0200 Subject: [PATCH 02/14] build dmg-acid2 test rom --- .github/workflows/build-and-release.yml | 18 +++++++++++++++++ CHANGELOG.md | 4 +++- src/assemble.sh | 27 +++++++++++++++++++++++++ 3 files changed, 48 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml index 65fd459..55dbe38 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/build-and-release.yml @@ -78,6 +78,24 @@ jobs: path: ${{ env.ARTIFACTS_PATH }} + dmg-acid2: + name: build dmg-acid2 test rom + runs-on: ubuntu-latest + needs: [rgbds] + steps: + - name: checkout code + uses: actions/checkout@v2 + + - name: build dmg-acid2 test rom + run: src/assemble.sh dmg-acid2 + + - name: upload dmg-acid2 artifact + uses: actions/upload-artifact@v1 + with: + name: ${{ env.ARTIFACTS_NAME }} + path: ${{ env.ARTIFACTS_PATH }} + + create-release-zip: name: create release zip runs-on: ubuntu-latest diff --git a/CHANGELOG.md b/CHANGELOG.md index 2ac2b12..c2eaee9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,10 @@ ## master -- build [RGBDS:8b60efa149](https://github.com/rednex/rgbds/tree/8b60efa149) +- use [RGBDS:8b60efa149](https://github.com/rednex/rgbds/tree/8b60efa149) *(2020-06-27)* +- use [dmg-acid2:8a98ce731f](https://github.com/mattcurrie/dmg-acid2/tree/8a98ce731f) + *(2020-04-21)* ## [v1.1](https://github.com/c-sp/gameboy-test-roms/releases/tag/v1.1) *(2020-06-14)* diff --git a/src/assemble.sh b/src/assemble.sh index dbea9c5..bfffc81 100755 --- a/src/assemble.sh +++ b/src/assemble.sh @@ -15,6 +15,7 @@ print_usage_and_exit() echo " $0 $CMD_GAMBATTE" echo " $0 $CMD_MOONEYE_GB" echo " $0 $CMD_RGBDS" + echo " $0 $CMD_DMG_ACID2" echo " $0 $CMD_RELEASE_ZIP " exit 1 } @@ -152,6 +153,29 @@ build_rgbds() +build_dmg_acid2() +{ + # extract RGBDS artifacts + cd "$ARTIFACTS_DIR" + untar_all_artifacts + PATH="$ARTIFACTS_DIR/rgbds:$PATH" + + ARTIFACT_NAME=dmg-acid2 + ARTIFACT=$(mkdir_artifact $ARTIFACT_NAME) + + REPO_DMG_ACID2=$(mktemp -d) + cd "$REPO_DMG_ACID2" + git clone --recurse-submodules https://github.com/mattcurrie/dmg-acid2 . + git checkout 8a98ce731f96dde032ffb22ec36dc985d78fdb18 + make + + cp build/dmg-acid2.gb "$ARTIFACT" + + tar_rm_artifact $ARTIFACT_NAME +} + + + create_release_zip() { ZIP_FILE=$1 @@ -168,6 +192,7 @@ create_release_zip() # create new zip file untar_all_artifacts + rm -rf rgbds zip -r "$ZIP_FILE" . } @@ -183,6 +208,7 @@ CMD_BLARGG=blargg-roms CMD_GAMBATTE=gambatte-roms CMD_MOONEYE_GB=mooneye-gb-roms CMD_RGBDS=rgbds +CMD_DMG_ACID2=dmg-acid2 CMD_RELEASE_ZIP=release-zip # identify repository directories based on the path of this script @@ -202,6 +228,7 @@ case ${CMD} in ${CMD_GAMBATTE}) assemble_gambatte $@ ;; ${CMD_MOONEYE_GB}) assemble_mooneye_gb $@ ;; ${CMD_RGBDS}) build_rgbds $@ ;; + ${CMD_DMG_ACID2}) build_dmg_acid2 $@ ;; ${CMD_RELEASE_ZIP}) create_release_zip $@ ;; *) print_usage_and_exit ;; From de48833d06d12a5cfbc00c27ef7a999b17622a98 Mon Sep 17 00:00:00 2001 From: Christoph Sprenger <66515552+c-sp@users.noreply.github.com> Date: Mon, 6 Jul 2020 21:11:40 +0200 Subject: [PATCH 03/14] dmg-acid2 build job: download rgbds artifacts --- .github/workflows/build-and-release.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml index 55dbe38..d00343b 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/build-and-release.yml @@ -86,6 +86,12 @@ jobs: - name: checkout code uses: actions/checkout@v2 + - name: download artifacts + uses: actions/download-artifact@v1 + with: + name: ${{ env.ARTIFACTS_NAME }} + path: ${{ env.ARTIFACTS_PATH }} + - name: build dmg-acid2 test rom run: src/assemble.sh dmg-acid2 From eae6cde2ec3effcf7551629fceb5e9f5f96dcb23 Mon Sep 17 00:00:00 2001 From: Christoph Sprenger <66515552+c-sp@users.noreply.github.com> Date: Tue, 7 Jul 2020 19:56:07 +0200 Subject: [PATCH 04/14] use extra artifact name for rgbds binaries --- .github/workflows/build-and-release.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml index d00343b..1f9637e 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/build-and-release.yml @@ -6,6 +6,7 @@ env: ARTIFACTS_NAME: job-artifacts ARTIFACTS_PATH: artifacts ZIP_ARTIFACT_NAME: gameboy-test-roms.zip + RGBDS_ARTIFACT_NAME: rgbds jobs: @@ -74,7 +75,7 @@ jobs: - name: upload RGBDS artifact uses: actions/upload-artifact@v1 with: - name: ${{ env.ARTIFACTS_NAME }} + name: ${{ env.RGBDS_ARTIFACT_NAME }} path: ${{ env.ARTIFACTS_PATH }} @@ -89,7 +90,7 @@ jobs: - name: download artifacts uses: actions/download-artifact@v1 with: - name: ${{ env.ARTIFACTS_NAME }} + name: ${{ env.RGBDS_ARTIFACT_NAME }} path: ${{ env.ARTIFACTS_PATH }} - name: build dmg-acid2 test rom From ae01659850d1d392d24b62ad2b6c8f194bb38040 Mon Sep 17 00:00:00 2001 From: Christoph Sprenger <66515552+c-sp@users.noreply.github.com> Date: Tue, 7 Jul 2020 20:10:07 +0200 Subject: [PATCH 05/14] build cgb-acid2 test rom --- .github/workflows/build-and-release.yml | 26 ++++++++++++++++++++++++- CHANGELOG.md | 7 +++++-- src/assemble.sh | 26 +++++++++++++++++++++++++ 3 files changed, 56 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml index 1f9637e..a90b94e 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/build-and-release.yml @@ -103,10 +103,34 @@ jobs: path: ${{ env.ARTIFACTS_PATH }} + cgb-acid2: + name: build cgb-acid2 test rom + runs-on: ubuntu-latest + needs: [rgbds] + steps: + - name: checkout code + uses: actions/checkout@v2 + + - name: download artifacts + uses: actions/download-artifact@v1 + with: + name: ${{ env.RGBDS_ARTIFACT_NAME }} + path: ${{ env.ARTIFACTS_PATH }} + + - name: build cgb-acid2 test rom + run: src/assemble.sh cgb-acid2 + + - name: upload cgb-acid2 artifact + uses: actions/upload-artifact@v1 + with: + name: ${{ env.ARTIFACTS_NAME }} + path: ${{ env.ARTIFACTS_PATH }} + + create-release-zip: name: create release zip runs-on: ubuntu-latest - needs: [blargg-suite, gambatte-suite, mooneye-gb-suite] + needs: [blargg-suite, gambatte-suite, mooneye-gb-suite, dmg-acid2, cgb-acid2] steps: - name: checkout code uses: actions/checkout@v2 diff --git a/CHANGELOG.md b/CHANGELOG.md index c2eaee9..05a7e5b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,13 @@ ## master -- use [RGBDS:8b60efa149](https://github.com/rednex/rgbds/tree/8b60efa149) - *(2020-06-27)* - use [dmg-acid2:8a98ce731f](https://github.com/mattcurrie/dmg-acid2/tree/8a98ce731f) *(2020-04-21)* +- use [cgb-acid2:76c4e2c42d](https://github.com/mattcurrie/cgb-acid2/tree/76c4e2c42d) + *(2020-04-21)* +- compile dmg-acid2 and cgb-acid2 test roms with + [RGBDS:8b60efa149](https://github.com/rednex/rgbds/tree/8b60efa149) + *(2020-06-27)* ## [v1.1](https://github.com/c-sp/gameboy-test-roms/releases/tag/v1.1) *(2020-06-14)* diff --git a/src/assemble.sh b/src/assemble.sh index bfffc81..9137192 100755 --- a/src/assemble.sh +++ b/src/assemble.sh @@ -16,6 +16,7 @@ print_usage_and_exit() echo " $0 $CMD_MOONEYE_GB" echo " $0 $CMD_RGBDS" echo " $0 $CMD_DMG_ACID2" + echo " $0 $CMD_CGB_ACID2" echo " $0 $CMD_RELEASE_ZIP " exit 1 } @@ -176,6 +177,29 @@ build_dmg_acid2() +build_cgb_acid2() +{ + # extract RGBDS artifacts + cd "$ARTIFACTS_DIR" + untar_all_artifacts + PATH="$ARTIFACTS_DIR/rgbds:$PATH" + + ARTIFACT_NAME=cgb-acid2 + ARTIFACT=$(mkdir_artifact $ARTIFACT_NAME) + + REPO_CGB_ACID2=$(mktemp -d) + cd "$REPO_CGB_ACID2" + git clone --recurse-submodules https://github.com/mattcurrie/cgb-acid2 . + git checkout 76c4e2c42de62141dacc829232eb9e2531a79538 + make + + cp build/cgb-acid2.gbc "$ARTIFACT" + + tar_rm_artifact $ARTIFACT_NAME +} + + + create_release_zip() { ZIP_FILE=$1 @@ -209,6 +233,7 @@ CMD_GAMBATTE=gambatte-roms CMD_MOONEYE_GB=mooneye-gb-roms CMD_RGBDS=rgbds CMD_DMG_ACID2=dmg-acid2 +CMD_CGB_ACID2=cgb-acid2 CMD_RELEASE_ZIP=release-zip # identify repository directories based on the path of this script @@ -229,6 +254,7 @@ case ${CMD} in ${CMD_MOONEYE_GB}) assemble_mooneye_gb $@ ;; ${CMD_RGBDS}) build_rgbds $@ ;; ${CMD_DMG_ACID2}) build_dmg_acid2 $@ ;; + ${CMD_CGB_ACID2}) build_cgb_acid2 $@ ;; ${CMD_RELEASE_ZIP}) create_release_zip $@ ;; *) print_usage_and_exit ;; From 23ea070e9f04264f4484ee3c8e375db7415d36da Mon Sep 17 00:00:00 2001 From: Christoph Sprenger <66515552+c-sp@users.noreply.github.com> Date: Wed, 8 Jul 2020 20:07:12 +0200 Subject: [PATCH 06/14] bundle reference images for dmg-acid2 and cgb-acid2 --- src/assemble.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/assemble.sh b/src/assemble.sh index 9137192..65836a5 100755 --- a/src/assemble.sh +++ b/src/assemble.sh @@ -171,6 +171,8 @@ build_dmg_acid2() make cp build/dmg-acid2.gb "$ARTIFACT" + cp img/reference-cgb.png "$ARTIFACT" + cp img/reference-dmg.png "$ARTIFACT" tar_rm_artifact $ARTIFACT_NAME } @@ -194,6 +196,7 @@ build_cgb_acid2() make cp build/cgb-acid2.gbc "$ARTIFACT" + cp img/reference.png "$ARTIFACT" tar_rm_artifact $ARTIFACT_NAME } From 30ffe0b0ca076c1e539bf054070ad09969699632 Mon Sep 17 00:00:00 2001 From: Christoph Sprenger <66515552+c-sp@users.noreply.github.com> Date: Wed, 8 Jul 2020 20:56:00 +0200 Subject: [PATCH 07/14] build mealybug tearoom tests --- .github/workflows/build-and-release.yml | 24 +++++++++++++ CHANGELOG.md | 4 ++- README.md | 25 ++++++++----- src/assemble.sh | 47 ++++++++++++++++++++++--- 4 files changed, 87 insertions(+), 13 deletions(-) diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml index a90b94e..917f4f3 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/build-and-release.yml @@ -127,6 +127,30 @@ jobs: path: ${{ env.ARTIFACTS_PATH }} + mealybug-tearoom-tests: + name: build mealybug-tearoom-tests + runs-on: ubuntu-latest + needs: [rgbds] + steps: + - name: checkout code + uses: actions/checkout@v2 + + - name: download artifacts + uses: actions/download-artifact@v1 + with: + name: ${{ env.RGBDS_ARTIFACT_NAME }} + path: ${{ env.ARTIFACTS_PATH }} + + - name: build mealybug-tearoom-tests + run: src/assemble.sh mealybug-tearoom-tests + + - name: upload mealybug-tearoom-tests artifact + uses: actions/upload-artifact@v1 + with: + name: ${{ env.ARTIFACTS_NAME }} + path: ${{ env.ARTIFACTS_PATH }} + + create-release-zip: name: create release zip runs-on: ubuntu-latest diff --git a/CHANGELOG.md b/CHANGELOG.md index 05a7e5b..589381c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,9 @@ *(2020-04-21)* - use [cgb-acid2:76c4e2c42d](https://github.com/mattcurrie/cgb-acid2/tree/76c4e2c42d) *(2020-04-21)* -- compile dmg-acid2 and cgb-acid2 test roms with +- use [mealybug-tearoom-tests:844b92ea59](https://github.com/mattcurrie/mealybug-tearoom-tests/tree/844b92ea59) + *(2019-10-24)* +- compile dmg-acid2, cgb-acid2 and mealybug-tearoom-tests with [RGBDS:8b60efa149](https://github.com/rednex/rgbds/tree/8b60efa149) *(2020-06-27)* diff --git a/README.md b/README.md index 55d88b7..b196991 100644 --- a/README.md +++ b/README.md @@ -2,19 +2,28 @@ Have a Gameboy emulator you want to test for accuracy? This collection of -[compiled Gameboy test suites](https://github.com/c-sp/gameboy-test-roms/releases) +[compiled Gameboy test roms](https://github.com/c-sp/gameboy-test-roms/releases) might help. It includes: -* [Mooneye GB](https://github.com/Gekkio/mooneye-gb) - test suite written by - [Joonas Javanainen](https://github.com/Gekkio) +* [cgb-acid2](https://github.com/mattcurrie/cgb-acid2) + test rom written by + [Matt Currie](https://github.com/mattcurrie) +* [dmg-acid2](https://github.com/mattcurrie/dmg-acid2) + test rom written by + [Matt Currie](https://github.com/mattcurrie) * [Gambatte](https://github.com/sinamas/gambatte) test suite written by [sinamas](https://github.com/sinamas) -* [Gameboy test suite](https://github.com/retrio/gb-test-roms) +* [Gameboy hardware test ROMs](https://github.com/retrio/gb-test-roms) + written by + [Blargg](http://blargg.8bitalley.com) +* [Mealybug Tearoom Tests](https://github.com/mattcurrie/mealybug-tearoom-tests) written by - [Blargg](http://blargg.8bitalley.com/) + [Matt Currie](https://github.com/mattcurrie) +* [Mooneye GB](https://github.com/Gekkio/mooneye-gb) + test suite written by + [Joonas Javanainen](https://github.com/Gekkio) @@ -42,8 +51,8 @@ The time required for a test to finish varies: | test | emulated seconds | |---|---| -| `cgb_cpu_instrs` | 30 | -| `dmg_cpu_instrs` | 54 | +| `cgb_cpu_instrs` | 31 | +| `dmg_cpu_instrs` | 55 | | `cgb_instr_timing` | 1 | | `dmg_instr_timing` | 1 | | `cgb_mem_timing` | 4 | diff --git a/src/assemble.sh b/src/assemble.sh index 65836a5..5fbdf7e 100755 --- a/src/assemble.sh +++ b/src/assemble.sh @@ -12,12 +12,13 @@ print_usage_and_exit() { echo "usages:" echo " $0 $CMD_BLARGG" - echo " $0 $CMD_GAMBATTE" - echo " $0 $CMD_MOONEYE_GB" - echo " $0 $CMD_RGBDS" echo " $0 $CMD_DMG_ACID2" echo " $0 $CMD_CGB_ACID2" + echo " $0 $CMD_GAMBATTE" + echo " $0 $CMD_MEALYBUG_TEAROOM_TESTS" + echo " $0 $CMD_MOONEYE_GB" echo " $0 $CMD_RELEASE_ZIP " + echo " $0 $CMD_RGBDS" exit 1 } @@ -59,7 +60,11 @@ tar_rm_artifact() untar_all_artifacts() { # untar and remove all tar files in the current directory - for f in *.tar*; do tar -xvf "$f" && rm "$f"; done + for f in *.tar*; do + if [ -f "$f" ]; then + tar -xvf "$f" && rm "$f" + fi + done } @@ -203,6 +208,38 @@ build_cgb_acid2() +build_mealybug_tearoom_tests() +{ + # extract RGBDS artifacts + cd "$ARTIFACTS_DIR" + untar_all_artifacts + PATH="$ARTIFACTS_DIR/rgbds:$PATH" + + ARTIFACT_NAME=mealybug-tearoom-tests + ARTIFACT=$(mkdir_artifact $ARTIFACT_NAME) + + REPO_MEALYBUG_TEAROOM_TESTS=$(mktemp -d) + cd "$REPO_MEALYBUG_TEAROOM_TESTS" + git clone https://github.com/mattcurrie/mealybug-tearoom-tests.git . + git checkout 844b92ea59986cfb8a9bb66a94dd8c771aa113de + make + + rename ".png" "_cgb_c.png" expected/CPU\ CGB\ C/*.png + rename ".png" "_cgb_d.png" expected/CPU\ CGB\ D/*.png + rename ".png" "_dmg_b.png" expected/DMG-CPU\ B/*.png + rename ".png" "_dmg_blob.png" expected/DMG-blob/*.png + + cp build/*.gb "$ARTIFACT" + cp expected/CPU\ CGB\ C/*.png "$ARTIFACT" + cp expected/CPU\ CGB\ D/*.png "$ARTIFACT" + cp expected/DMG-CPU\ B/*.png "$ARTIFACT" + cp expected/DMG-blob/*.png "$ARTIFACT" + + tar_rm_artifact $ARTIFACT_NAME +} + + + create_release_zip() { ZIP_FILE=$1 @@ -237,6 +274,7 @@ CMD_MOONEYE_GB=mooneye-gb-roms CMD_RGBDS=rgbds CMD_DMG_ACID2=dmg-acid2 CMD_CGB_ACID2=cgb-acid2 +CMD_MEALYBUG_TEAROOM_TESTS=mealybug-tearoom-tests CMD_RELEASE_ZIP=release-zip # identify repository directories based on the path of this script @@ -258,6 +296,7 @@ case ${CMD} in ${CMD_RGBDS}) build_rgbds $@ ;; ${CMD_DMG_ACID2}) build_dmg_acid2 $@ ;; ${CMD_CGB_ACID2}) build_cgb_acid2 $@ ;; + ${CMD_MEALYBUG_TEAROOM_TESTS}) build_mealybug_tearoom_tests $@ ;; ${CMD_RELEASE_ZIP}) create_release_zip $@ ;; *) print_usage_and_exit ;; From 7e8c79a8f4f02fa4e7d705fe6c4f5118ddf01e81 Mon Sep 17 00:00:00 2001 From: Christoph Sprenger <66515552+c-sp@users.noreply.github.com> Date: Wed, 8 Jul 2020 20:58:32 +0200 Subject: [PATCH 08/14] 'create-release-zip' depends on 'mealybug-tearoom-tests' --- .github/workflows/build-and-release.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml index 917f4f3..b3592f4 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/build-and-release.yml @@ -154,7 +154,7 @@ jobs: create-release-zip: name: create release zip runs-on: ubuntu-latest - needs: [blargg-suite, gambatte-suite, mooneye-gb-suite, dmg-acid2, cgb-acid2] + needs: [blargg-suite, gambatte-suite, mooneye-gb-suite, dmg-acid2, cgb-acid2, mealybug-tearoom-tests] steps: - name: checkout code uses: actions/checkout@v2 From 3ece33fdf4c4bab0dae064c051fc2a48106f7ebb Mon Sep 17 00:00:00 2001 From: Christoph Sprenger <66515552+c-sp@users.noreply.github.com> Date: Wed, 8 Jul 2020 21:01:55 +0200 Subject: [PATCH 09/14] 'rename' not found? --- src/assemble.sh | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/assemble.sh b/src/assemble.sh index 5fbdf7e..0b609b0 100755 --- a/src/assemble.sh +++ b/src/assemble.sh @@ -210,6 +210,10 @@ build_cgb_acid2() build_mealybug_tearoom_tests() { + echo "+ which rename" + which rename + echo "- which rename" + # extract RGBDS artifacts cd "$ARTIFACTS_DIR" untar_all_artifacts From cbf7e0252b0593f49383f32f7ff012b7810a1f2b Mon Sep 17 00:00:00 2001 From: Christoph Sprenger <66515552+c-sp@users.noreply.github.com> Date: Wed, 8 Jul 2020 21:06:08 +0200 Subject: [PATCH 10/14] try to install 'rename' before building mealybug-tearoom-tests --- .github/workflows/build-and-release.yml | 5 +++++ src/assemble.sh | 4 ---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-and-release.yml b/.github/workflows/build-and-release.yml index b3592f4..cf1034a 100644 --- a/.github/workflows/build-and-release.yml +++ b/.github/workflows/build-and-release.yml @@ -132,6 +132,11 @@ jobs: runs-on: ubuntu-latest needs: [rgbds] steps: + - name: install "rename" + run: | + sudo apt-get update -y + sudo apt-get install -y rename + - name: checkout code uses: actions/checkout@v2 diff --git a/src/assemble.sh b/src/assemble.sh index 0b609b0..5fbdf7e 100755 --- a/src/assemble.sh +++ b/src/assemble.sh @@ -210,10 +210,6 @@ build_cgb_acid2() build_mealybug_tearoom_tests() { - echo "+ which rename" - which rename - echo "- which rename" - # extract RGBDS artifacts cd "$ARTIFACTS_DIR" untar_all_artifacts From 9a3953f6fa33c322c881e640748982a62e44f076 Mon Sep 17 00:00:00 2001 From: Christoph Sprenger <66515552+c-sp@users.noreply.github.com> Date: Thu, 9 Jul 2020 19:51:48 +0200 Subject: [PATCH 11/14] 'rename' workaround (perl vs. not perl) --- src/assemble.sh | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/src/assemble.sh b/src/assemble.sh index 5fbdf7e..11b7d16 100755 --- a/src/assemble.sh +++ b/src/assemble.sh @@ -224,10 +224,22 @@ build_mealybug_tearoom_tests() git checkout 844b92ea59986cfb8a9bb66a94dd8c771aa113de make - rename ".png" "_cgb_c.png" expected/CPU\ CGB\ C/*.png - rename ".png" "_cgb_d.png" expected/CPU\ CGB\ D/*.png - rename ".png" "_dmg_b.png" expected/DMG-CPU\ B/*.png - rename ".png" "_dmg_blob.png" expected/DMG-blob/*.png + # Ubuntu (GitHub runner) symlinks "rename" to the Perl script "prename". + # Fedora comes with the regular "rename". + # As these two are not compatible and I thus would not be able + # to test this script on my machine, we do this the hard way ... + for f in expected/CPU\ CGB\ C/*.png; do + mv -- "$f" "${f%.png}_cgb_c.png" + done + for f in expected/CPU\ CGB\ D/*.png; do + mv -- "$f" "${f%.png}_cgb_d.png" + done + for f in expected/DMG-CPU\ B/*.png; do + mv -- "$f" "${f%.png}_dmg_b.png" + done + for f in expected/DMG-blob/*.png; do + mv -- "$f" "${f%.png}_dmg_blob.png" + done cp build/*.gb "$ARTIFACT" cp expected/CPU\ CGB\ C/*.png "$ARTIFACT" From 8206670e0e7f083a9ff2794e7be16ad4df564809 Mon Sep 17 00:00:00 2001 From: Christoph Sprenger <66515552+c-sp@users.noreply.github.com> Date: Thu, 9 Jul 2020 19:54:59 +0200 Subject: [PATCH 12/14] rename cgb-acid2 and dmg-acidd2 reference images --- src/assemble.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/assemble.sh b/src/assemble.sh index 11b7d16..d40dbe8 100755 --- a/src/assemble.sh +++ b/src/assemble.sh @@ -176,8 +176,8 @@ build_dmg_acid2() make cp build/dmg-acid2.gb "$ARTIFACT" - cp img/reference-cgb.png "$ARTIFACT" - cp img/reference-dmg.png "$ARTIFACT" + cp img/reference-cgb.png "$ARTIFACT/dmg-acid2-cgb.png" + cp img/reference-dmg.png "$ARTIFACT/dmg-acid2-dmg.png" tar_rm_artifact $ARTIFACT_NAME } @@ -201,7 +201,7 @@ build_cgb_acid2() make cp build/cgb-acid2.gbc "$ARTIFACT" - cp img/reference.png "$ARTIFACT" + cp img/reference.png "$ARTIFACT/cgb-acid2.png" tar_rm_artifact $ARTIFACT_NAME } From 239701b1dfc7ab646b30e29256cebbb1ff4605a1 Mon Sep 17 00:00:00 2001 From: Christoph Sprenger <66515552+c-sp@users.noreply.github.com> Date: Thu, 9 Jul 2020 20:09:17 +0200 Subject: [PATCH 13/14] update readme with information on Matt Currie's test roms --- README.md | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b196991..d2d8e08 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,9 @@ This collection of might help. It includes: +* [Blargg's test roms](https://github.com/retrio/gb-test-roms) + written by + [Blargg](http://blargg.8bitalley.com) * [cgb-acid2](https://github.com/mattcurrie/cgb-acid2) test rom written by [Matt Currie](https://github.com/mattcurrie) @@ -15,9 +18,6 @@ It includes: * [Gambatte](https://github.com/sinamas/gambatte) test suite written by [sinamas](https://github.com/sinamas) -* [Gameboy hardware test ROMs](https://github.com/retrio/gb-test-roms) - written by - [Blargg](http://blargg.8bitalley.com) * [Mealybug Tearoom Tests](https://github.com/mattcurrie/mealybug-tearoom-tests) written by [Matt Currie](https://github.com/mattcurrie) @@ -67,6 +67,25 @@ respective [screenshot](src/blargg-expected). +## cgb-acid2, dmg-acid2, Mealybug Tearoom Tests + +[cgb-acid2](https://github.com/mattcurrie/cgb-acid2), +[dmg-acid2](https://github.com/mattcurrie/dmg-acid2) and the +[Mealybug Tearoom Tests](https://github.com/mattcurrie/mealybug-tearoom-tests) +are located at `cgb-acid2/`, `dmg-acid2/` and `mealybug-tearoom-tests/` +respectively. +They are compiled with [RGBDS](https://github.com/rednex/rgbds). + +### Exit Condition + +Each of these test roms executes opcode `0x40: LD B, B` when finished. + +### Test Success + +For each test rom there is a screenshot of the expected result. +Some tests come with multiple screenshots to cover different Gameboy hardware. + + ## Gambatte test suite [Gambatte](https://github.com/sinamas/gambatte) From c747e5ae5d516a5edd120ae2f119cc64fc02efcc Mon Sep 17 00:00:00 2001 From: Christoph Sprenger <66515552+c-sp@users.noreply.github.com> Date: Thu, 9 Jul 2020 20:11:08 +0200 Subject: [PATCH 14/14] prepare changelog for v2.0 --- CHANGELOG.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 589381c..809d4bf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,14 @@ -## master +## [v2.0](https://github.com/c-sp/gameboy-test-roms/releases/tag/v2.0) *(2020-07-09)* -- use [dmg-acid2:8a98ce731f](https://github.com/mattcurrie/dmg-acid2/tree/8a98ce731f) +- use + [dmg-acid2:8a98ce731f](https://github.com/mattcurrie/dmg-acid2/tree/8a98ce731f) *(2020-04-21)* -- use [cgb-acid2:76c4e2c42d](https://github.com/mattcurrie/cgb-acid2/tree/76c4e2c42d) +- use + [cgb-acid2:76c4e2c42d](https://github.com/mattcurrie/cgb-acid2/tree/76c4e2c42d) *(2020-04-21)* -- use [mealybug-tearoom-tests:844b92ea59](https://github.com/mattcurrie/mealybug-tearoom-tests/tree/844b92ea59) +- use + [mealybug-tearoom-tests:844b92ea59](https://github.com/mattcurrie/mealybug-tearoom-tests/tree/844b92ea59) *(2019-10-24)* - compile dmg-acid2, cgb-acid2 and mealybug-tearoom-tests with [RGBDS:8b60efa149](https://github.com/rednex/rgbds/tree/8b60efa149)