From 6a31663c960a5c1da9dbbf12d49e0252860b96d0 Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 27 Apr 2021 15:49:59 -0400 Subject: Use {interpolation} to generate sequences of RAM labels Fixes #319 --- sram.asm | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) (limited to 'sram.asm') diff --git a/sram.asm b/sram.asm index 48542dc7..f6bac35c 100644 --- a/sram.asm +++ b/sram.asm @@ -21,25 +21,30 @@ sTileAnimations:: ds 1 sMainDataCheckSum:: ds 1 +; The PC boxes will not fit into one SRAM bank, +; so they use multiple SECTIONs +box_n = 0 +boxes: MACRO +rept \1 +box_n = box_n + 1 +sBox{d:box_n}:: ds wBoxDataEnd - wBoxDataStart +endr +ENDM + SECTION "Saved Boxes 1", SRAM ; BANK 2 -sBox1:: ds wBoxDataEnd - wBoxDataStart -sBox2:: ds wBoxDataEnd - wBoxDataStart -sBox3:: ds wBoxDataEnd - wBoxDataStart -sBox4:: ds wBoxDataEnd - wBoxDataStart -sBox5:: ds wBoxDataEnd - wBoxDataStart -sBox6:: ds wBoxDataEnd - wBoxDataStart +; sBox1 - sBox6 + boxes 6 sBank2AllBoxesChecksum:: ds 1 sBank2IndividualBoxChecksums:: ds 6 - SECTION "Saved Boxes 2", SRAM ; BANK 3 -sBox7:: ds wBoxDataEnd - wBoxDataStart -sBox8:: ds wBoxDataEnd - wBoxDataStart -sBox9:: ds wBoxDataEnd - wBoxDataStart -sBox10:: ds wBoxDataEnd - wBoxDataStart -sBox11:: ds wBoxDataEnd - wBoxDataStart -sBox12:: ds wBoxDataEnd - wBoxDataStart +; sBox7 - sBox12 + boxes 6 sBank3AllBoxesChecksum:: ds 1 sBank3IndividualBoxChecksums:: ds 6 + +; All 12 boxes fit within 2 SRAM banks + assert box_n == NUM_BOXES, \ + "boxes: Expected {d:NUM_BOXES} total boxes, got {d:box_n}" -- cgit v1.3.1-sl0p