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 00000000..e5e08472 Binary files /dev/null and b/test/link/operators.out.bin differ 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 12f3be4d..0fb3b41e 100644 Binary files a/test/link/overlay/out.gb and b/test/link/overlay/out.gb differ 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