shithub: rgbds

Download patch

ref: 2c523649785a4ee9bb21f16148affafcfc3a8a94
parent: 10140f74dc10fcc624f3686e09246277b8c7c93a
author: ISSOtm <eldredhabert0@gmail.com>
date: Thu Jan 16 13:12:42 EST 2020

Add test for fixed section addresses

--- /dev/null
+++ b/test/link/fixed-oob.asm
@@ -1,0 +1,15 @@
+SECTION "ROM0", ROM0[$BABE]
+
+SECTION "ROMX", ROMX[$BEEF]
+
+SECTION "VRAM", VRAM[$C0DE]
+
+SECTION "SRAM", SRAM[$CAFE]
+
+SECTION "WRAM0", WRAM0[$DEAD]
+
+SECTION "WRAMX", WRAMX[$DAD]
+
+SECTION "OAM", OAM[$CAB]
+
+SECTION "HRAM", HRAM[$BAD]
--- /dev/null
+++ b/test/link/fixed-oob.out
@@ -1,0 +1,14 @@
+warning: Section "VRAM"'s fixed address 0xc0de is outside of range [0x8000; 0x9fff]
+warning: Section "VRAM"'s end address 0xc0de is greater than last address 0xa000
+warning: Section "OAM"'s fixed address 0xcab is outside of range [0xfe00; 0xfe9f]
+warning: Section "WRAM0"'s fixed address 0xdead is outside of range [0xc000; 0xcfff]
+warning: Section "WRAM0"'s end address 0xdead is greater than last address 0xd000
+warning: Section "HRAM"'s fixed address 0xbad is outside of range [0xff80; 0xfffe]
+warning: Section "SRAM"'s fixed address 0xcafe is outside of range [0xa000; 0xbfff]
+warning: Section "SRAM"'s end address 0xcafe is greater than last address 0xc000
+warning: Section "WRAMX"'s fixed address 0xdad is outside of range [0xd000; 0xdfff]
+warning: Section "ROMX"'s fixed address 0xbeef is outside of range [0x4000; 0x7fff]
+warning: Section "ROMX"'s end address 0xbeef is greater than last address 0x8000
+warning: Section "ROM0"'s fixed address 0xbabe is outside of range [0; 0x3fff]
+warning: Section "ROM0"'s end address 0xbabe is greater than last address 0x4000
+error: Sanity checks failed
--- a/test/link/test.sh
+++ b/test/link/test.sh
@@ -18,6 +18,11 @@
 diff --strip-trailing-cr bank-numbers.out.bin $otemp
 rc=$(($? || $rc))
 
+$RGBASM -o $otemp fixed-oob.asm
+$RGBLINK -o $gbtemp $otemp > $outtemp 2>&1
+diff --strip-trailing-cr fixed-oob.out $outtemp
+rc=$(($? || $rc))
+
 $RGBASM -o $otemp section-attributes.asm
 $RGBLINK -l section-attributes.link -o $gbtemp $otemp > $outtemp 2>&1
 diff --strip-trailing-cr section-attributes.out $outtemp