From 408a783fd879929d7ad713ed3b26ac85928ab5f9 Mon Sep 17 00:00:00 2001 From: Sylvie <35663410+Rangi42@users.noreply.github.com> Date: Fri, 29 Mar 2024 14:30:32 -0400 Subject: [PATCH] Add more RGBLINK tests (#1386) --- test/link/invalid-bank-t.out | 2 ++ test/link/invalid-bank.asm | 2 ++ test/link/operators.asm | 29 +++++++++++++++++++++++++++++ test/link/operators.out | 0 test/link/operators.out.bin | Bin 0 -> 41 bytes test/link/overlay/a.asm | 3 ++- test/link/overlay/out.gb | Bin 32768 -> 32768 bytes test/link/scramble-romx/a.asm | 19 ++++++++++++++++--- test/link/test.sh | 2 +- 9 files changed, 52 insertions(+), 5 deletions(-) create mode 100644 test/link/invalid-bank-t.out create mode 100644 test/link/invalid-bank.asm create mode 100644 test/link/operators.asm create mode 100644 test/link/operators.out create mode 100644 test/link/operators.out.bin diff --git a/test/link/invalid-bank-t.out b/test/link/invalid-bank-t.out new file mode 100644 index 00000000..c3879a17 --- /dev/null +++ b/test/link/invalid-bank-t.out @@ -0,0 +1,2 @@ +error: test: ROMX sections must be in bank 1 (if any) with option -t +Linking failed with 1 error diff --git a/test/link/invalid-bank.asm b/test/link/invalid-bank.asm new file mode 100644 index 00000000..28d5ae8f --- /dev/null +++ b/test/link/invalid-bank.asm @@ -0,0 +1,2 @@ +SECTION "test", ROMX, BANK[$ffff] +dw @, BANK(@) diff --git a/test/link/operators.asm b/test/link/operators.asm new file mode 100644 index 00000000..941b036f --- /dev/null +++ b/test/link/operators.asm @@ -0,0 +1,29 @@ +SECTION "test", ROM0 +ds 4 + +dw @ + 1 +dw @ - 1 +dw @ * 2 +dw @ / 2 +dw @ % 2 +dw -@ +dw @ ** 2 + +dw @ | %10101010 +dw @ & %10101010 +dw @ ^ %10101010 +dw ~@ + +db @ && @ +db @ || @ +db !@ +db @ == 7 +db @ != 7 +db @ > 7 +db @ < 7 +db @ >= 7 +db @ <= 7 + +dw @ << 1 +dw @ >> 1 +dw @ >>> 1 diff --git a/test/link/operators.out b/test/link/operators.out new file mode 100644 index 00000000..e69de29b diff --git a/test/link/operators.out.bin b/test/link/operators.out.bin new file mode 100644 index 0000000000000000000000000000000000000000..e5e08472a5257071de5ec2d3d1b6d37187e8bc97 GIT binary patch literal 41 qcmWN?u?YYm3;@APVK2IqLyP;^yFd)j@zAPXcqw-MxEVnS%P@U+{RQ3t literal 0 HcmV?d00001 diff --git a/test/link/overlay/a.asm b/test/link/overlay/a.asm index 621624c6..64143d0f 100644 --- a/test/link/overlay/a.asm +++ b/test/link/overlay/a.asm @@ -1,2 +1,3 @@ SECTION "0", ROM0[0] -DS $8000 +DB 1, 1, 2, 3, 5, 8, 13, 21 +DS $8000 - 8 diff --git a/test/link/overlay/out.gb b/test/link/overlay/out.gb index 12f3be4dd3b5a2b5146f36630acbf7e99e490797..0fb3b41e4787e9d5c45cdaf74e46c5b5c08078b3 100644 GIT binary patch delta 19 acmZo@U}|V!;$UQCVrJ#w72U}AqaFY$OayEI delta 13 UcmZo@U}|V!+9>d$exiZ^03;a%_5c6? diff --git a/test/link/scramble-romx/a.asm b/test/link/scramble-romx/a.asm index b9647076..e9dbce7d 100644 --- a/test/link/scramble-romx/a.asm +++ b/test/link/scramble-romx/a.asm @@ -1,5 +1,18 @@ SECTION "fixed", ROMX, BANK[3] -ds $4000, 1 +db BANK(xLabel1), BANK(xLabel2), BANK(xLabel3), BANK(wLabel), BANK(sLabel) +ds $1000 - 5, 4 -SECTION "floating", ROMX -db 2 +SECTION "floating1", ROMX +xLabel1:: ds $3000, 1 + +SECTION "floating2", ROMX +xLabel2:: ds $3000, 2 + +SECTION "floating3", ROMX +xLabel3:: ds $3000, 3 + +SECTION "wram", WRAMX +wLabel:: ds 2 + +SECTION "sram", SRAM +sLabel:: ds 2 diff --git a/test/link/test.sh b/test/link/test.sh index bdc15586..77034922 100755 --- a/test/link/test.sh +++ b/test/link/test.sh @@ -204,7 +204,7 @@ test="scramble-romx" startTest "$RGBASM" -o "$otemp" "$test"/a.asm continueTest -rgblinkQuiet -o "$gbtemp" -S romx=3 "$otemp" 2>"$outtemp" +rgblinkQuiet -o "$gbtemp" -S "romx=3,wramx=4,sram=4" "$otemp" 2>"$outtemp" tryDiff "$test"/out.err "$outtemp" # This test does not compare its exact output with 'tryCmpRom' because no scrambling order is guaranteed tryCmpRomSize "$gbtemp" 65536