From a5120905e9eb7f3fb21acaa7fb491db245638fc1 Mon Sep 17 00:00:00 2001 From: 4am Date: Fri, 20 Sep 2019 09:33:23 -0400 Subject: [PATCH] consolidate bank switching code where possible --- src/4cade.a | 6 ++++++ src/4cade.init.a | 2 +- src/glue.font.a | 25 ++++++++++--------------- src/glue.launch.a | 2 +- src/glue.prorwts2.a | 15 ++++++--------- 5 files changed, 24 insertions(+), 26 deletions(-) diff --git a/src/4cade.a b/src/4cade.a index 917cafc5c..e4c8f794a 100644 --- a/src/4cade.a +++ b/src/4cade.a @@ -108,6 +108,12 @@ gGlobalPrefsStore !word $D100 gGamesListStore !word $FDFD ; SMC +SwitchToBank1 + +READ_RAM1_WRITE_RAM1 + rts +SwitchToBank2 + +READ_RAM2_WRITE_RAM2 + rts !word Reenter ; NMI vector ($FFFA-B) !word Reenter ; reset vector ($FFFC-D) !word Reenter ; IRQ vector ($FFFE-F) diff --git a/src/4cade.init.a b/src/4cade.init.a index 6e806a73a..c403c34fc 100644 --- a/src/4cade.init.a +++ b/src/4cade.init.a @@ -184,7 +184,7 @@ OneTimeSetup lda hddopendir+1 ; save current directory as 'root' ldy hddopendir+3 - +READ_RAM1_WRITE_RAM1 + jsr SwitchToBank1 +STAY gRootDirectory jsr LoadFile ; load preferences file into $8000 diff --git a/src/glue.font.a b/src/glue.font.a index 3957b22a1..33a4740e7 100644 --- a/src/glue.font.a +++ b/src/glue.font.a @@ -15,31 +15,26 @@ ; DrawPage - +READ_RAM2_WRITE_RAM2 + jsr SwitchToBank2 jsr DrawPageInternal - +READ_RAM1_WRITE_RAM1 - rts + jmp SwitchToBank1 Draw40Chars - +READ_RAM2_WRITE_RAM2 + jsr SwitchToBank2 jsr Draw40CharsInternal - +READ_RAM1_WRITE_RAM1 - rts + jmp SwitchToBank1 DrawCenteredString - +READ_RAM2_WRITE_RAM2 + jsr SwitchToBank2 jsr DrawCenteredStringInternal - +READ_RAM1_WRITE_RAM1 - rts + jmp SwitchToBank1 DrawString - +READ_RAM2_WRITE_RAM2 + jsr SwitchToBank2 jsr DrawStringInternal - +READ_RAM1_WRITE_RAM1 - rts + jmp SwitchToBank1 DrawBuffer - +READ_RAM2_WRITE_RAM2 + jsr SwitchToBank2 jsr DrawBufferInternal - +READ_RAM1_WRITE_RAM1 - rts + jmp SwitchToBank1 diff --git a/src/glue.launch.a b/src/glue.launch.a index f50b8e510..909c54791 100644 --- a/src/glue.launch.a +++ b/src/glue.launch.a @@ -214,7 +214,7 @@ gCurrentlyVisibleSlideshowIndex ; execution falls through here Launch - +READ_RAM2_WRITE_RAM2 + jsr SwitchToBank2 jsr SaveOrRestoreScreenHoles ; save screen hole contents ldx #$F1 - lda $100,x diff --git a/src/glue.prorwts2.a b/src/glue.prorwts2.a index 09b768283..079b4c7af 100644 --- a/src/glue.prorwts2.a +++ b/src/glue.prorwts2.a @@ -55,10 +55,9 @@ LoadFile jsr AddToPath +LDPARAM 5 +STAY ldrlo ; set load address - +READ_RAM2_WRITE_RAM2 + jsr SwitchToBank2 jsr LoadFileInternal - +READ_RAM1_WRITE_RAM1 - rts + jmp SwitchToBank1 ;------------------------------------------------------------------------------ ; LoadDHRFile @@ -82,10 +81,9 @@ LoadDHRFile jsr SetPath +LDPARAM 3 jsr AddToPath - +READ_RAM2_WRITE_RAM2 + jsr SwitchToBank2 jsr LoadDHRFileInternal - +READ_RAM1_WRITE_RAM1 - rts + jmp SwitchToBank1 ;------------------------------------------------------------------------------ ; SaveSmallFile @@ -105,7 +103,6 @@ SaveSmallFile +PARAMS_ON_STACK 2 +LDPARAM 1 +STAY ldrlo ; set data buffer address for ProRWTS2 - +READ_RAM2_WRITE_RAM2 + jsr SwitchToBank2 jsr SaveSmallFileInternal - +READ_RAM1_WRITE_RAM1 - rts + jmp SwitchToBank1