consolidate bank switching code where possible

This commit is contained in:
4am 2019-09-20 09:33:23 -04:00
parent ad328e525c
commit a5120905e9
5 changed files with 24 additions and 26 deletions

View File

@ -108,6 +108,12 @@ gGlobalPrefsStore
!word $D100 !word $D100
gGamesListStore gGamesListStore
!word $FDFD ; SMC !word $FDFD ; SMC
SwitchToBank1
+READ_RAM1_WRITE_RAM1
rts
SwitchToBank2
+READ_RAM2_WRITE_RAM2
rts
!word Reenter ; NMI vector ($FFFA-B) !word Reenter ; NMI vector ($FFFA-B)
!word Reenter ; reset vector ($FFFC-D) !word Reenter ; reset vector ($FFFC-D)
!word Reenter ; IRQ vector ($FFFE-F) !word Reenter ; IRQ vector ($FFFE-F)

View File

@ -184,7 +184,7 @@ OneTimeSetup
lda hddopendir+1 ; save current directory as 'root' lda hddopendir+1 ; save current directory as 'root'
ldy hddopendir+3 ldy hddopendir+3
+READ_RAM1_WRITE_RAM1 jsr SwitchToBank1
+STAY gRootDirectory +STAY gRootDirectory
jsr LoadFile ; load preferences file into $8000 jsr LoadFile ; load preferences file into $8000

View File

@ -15,31 +15,26 @@
; ;
DrawPage DrawPage
+READ_RAM2_WRITE_RAM2 jsr SwitchToBank2
jsr DrawPageInternal jsr DrawPageInternal
+READ_RAM1_WRITE_RAM1 jmp SwitchToBank1
rts
Draw40Chars Draw40Chars
+READ_RAM2_WRITE_RAM2 jsr SwitchToBank2
jsr Draw40CharsInternal jsr Draw40CharsInternal
+READ_RAM1_WRITE_RAM1 jmp SwitchToBank1
rts
DrawCenteredString DrawCenteredString
+READ_RAM2_WRITE_RAM2 jsr SwitchToBank2
jsr DrawCenteredStringInternal jsr DrawCenteredStringInternal
+READ_RAM1_WRITE_RAM1 jmp SwitchToBank1
rts
DrawString DrawString
+READ_RAM2_WRITE_RAM2 jsr SwitchToBank2
jsr DrawStringInternal jsr DrawStringInternal
+READ_RAM1_WRITE_RAM1 jmp SwitchToBank1
rts
DrawBuffer DrawBuffer
+READ_RAM2_WRITE_RAM2 jsr SwitchToBank2
jsr DrawBufferInternal jsr DrawBufferInternal
+READ_RAM1_WRITE_RAM1 jmp SwitchToBank1
rts

View File

@ -214,7 +214,7 @@ gCurrentlyVisibleSlideshowIndex
; execution falls through here ; execution falls through here
Launch Launch
+READ_RAM2_WRITE_RAM2 jsr SwitchToBank2
jsr SaveOrRestoreScreenHoles ; save screen hole contents jsr SaveOrRestoreScreenHoles ; save screen hole contents
ldx #$F1 ldx #$F1
- lda $100,x - lda $100,x

View File

@ -55,10 +55,9 @@ LoadFile
jsr AddToPath jsr AddToPath
+LDPARAM 5 +LDPARAM 5
+STAY ldrlo ; set load address +STAY ldrlo ; set load address
+READ_RAM2_WRITE_RAM2 jsr SwitchToBank2
jsr LoadFileInternal jsr LoadFileInternal
+READ_RAM1_WRITE_RAM1 jmp SwitchToBank1
rts
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
; LoadDHRFile ; LoadDHRFile
@ -82,10 +81,9 @@ LoadDHRFile
jsr SetPath jsr SetPath
+LDPARAM 3 +LDPARAM 3
jsr AddToPath jsr AddToPath
+READ_RAM2_WRITE_RAM2 jsr SwitchToBank2
jsr LoadDHRFileInternal jsr LoadDHRFileInternal
+READ_RAM1_WRITE_RAM1 jmp SwitchToBank1
rts
;------------------------------------------------------------------------------ ;------------------------------------------------------------------------------
; SaveSmallFile ; SaveSmallFile
@ -105,7 +103,6 @@ SaveSmallFile
+PARAMS_ON_STACK 2 +PARAMS_ON_STACK 2
+LDPARAM 1 +LDPARAM 1
+STAY ldrlo ; set data buffer address for ProRWTS2 +STAY ldrlo ; set data buffer address for ProRWTS2
+READ_RAM2_WRITE_RAM2 jsr SwitchToBank2
jsr SaveSmallFileInternal jsr SaveSmallFileInternal
+READ_RAM1_WRITE_RAM1 jmp SwitchToBank1
rts