mirror of
https://github.com/a2-4am/4cade.git
synced 2025-02-19 20:30:42 +00:00
make VBL addresses permanent
This commit is contained in:
parent
51da039f0b
commit
93cf397134
13
src/4cade.a
13
src/4cade.a
@ -137,6 +137,13 @@ SwitchToBank2
|
|||||||
rts
|
rts
|
||||||
!source "src/prodos.path.a" ; paths end up on the same page
|
!source "src/prodos.path.a" ; paths end up on the same page
|
||||||
|
|
||||||
|
; WaitForVBL
|
||||||
|
jmp WaitForVBL_iie ; SMC to RTS on a II+
|
||||||
|
|
||||||
|
; UnwaitForVBL
|
||||||
|
rts ; SMC to JMP on a IIc
|
||||||
|
!word iUnwaitForVBL
|
||||||
|
|
||||||
; MockingboardStuff (label is in constants.a so prelaunchers can use it)
|
; MockingboardStuff (label is in constants.a so prelaunchers can use it)
|
||||||
; slot number where Mockingboard was detected and type of board
|
; slot number where Mockingboard was detected and type of board
|
||||||
; #$00 if no Mockingboard detected
|
; #$00 if no Mockingboard detected
|
||||||
@ -190,10 +197,4 @@ EvenLasterMover
|
|||||||
!warn "LCRAM2 ends at ", LCRAM2_END - 1
|
!warn "LCRAM2 ends at ", LCRAM2_END - 1
|
||||||
!warn "RELBASE = ", $10000 - (LastMover - FirstMover)
|
!warn "RELBASE = ", $10000 - (LastMover - FirstMover)
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
!if (iWaitForVBL != WaitForVBL) or (iUnwaitForVBL != UnwaitForVBL) {
|
|
||||||
!warn "constants.a needs updating"
|
|
||||||
!error "WaitForVBL is at ", iWaitForVBL
|
|
||||||
!error "UnwaitForVBL is at ", iUnwaitForVBL
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -8,7 +8,7 @@
|
|||||||
; LC RAM BANK 1
|
; LC RAM BANK 1
|
||||||
; D000..E297 - persistent data structures (gGlobalPrefsStore, gGamesListStore)
|
; D000..E297 - persistent data structures (gGlobalPrefsStore, gGamesListStore)
|
||||||
; ...unused...
|
; ...unused...
|
||||||
; EAA7..FFF9 - main program code
|
; EAA7..FFF8 - main program code
|
||||||
; FFFA..FFFF - NMI, reset, IRQ vectors
|
; FFFA..FFFF - NMI, reset, IRQ vectors
|
||||||
;
|
;
|
||||||
; LC RAM BANK 2
|
; LC RAM BANK 2
|
||||||
@ -108,6 +108,9 @@ gValLen = $1F80
|
|||||||
gVal = $1F81
|
gVal = $1F81
|
||||||
|
|
||||||
; LC RAM 1
|
; LC RAM 1
|
||||||
|
WaitForVBL = $FFF2
|
||||||
|
UnwaitForVBL = $FFF5
|
||||||
|
|
||||||
MockingboardStuff = $FFF8 ; bit 7 = 1 if speech chip present (Mockingboard "C")
|
MockingboardStuff = $FFF8 ; bit 7 = 1 if speech chip present (Mockingboard "C")
|
||||||
; bit 6 = 1 if Mockingboard "B" (stereo) found (else Mockingboard "A")
|
; bit 6 = 1 if Mockingboard "B" (stereo) found (else Mockingboard "A")
|
||||||
; bit 4-5 unused
|
; bit 4-5 unused
|
||||||
@ -134,6 +137,3 @@ HAS_VIDHD = %00010000
|
|||||||
SUPPORTS_SHR = %00110000
|
SUPPORTS_SHR = %00110000
|
||||||
CHEATS_ENABLED = %00001000
|
CHEATS_ENABLED = %00001000
|
||||||
|
|
||||||
; VBL functions
|
|
||||||
WaitForVBL = $FCB0
|
|
||||||
UnwaitForVBL = $FCC5
|
|
||||||
|
@ -25,7 +25,6 @@ WaitForVBL_nop ; II/II+ have no easy VBL
|
|||||||
rts
|
rts
|
||||||
|
|
||||||
iUnwaitForVBL
|
iUnwaitForVBL
|
||||||
rts ; SMC on IIc
|
|
||||||
- bit $C019
|
- bit $C019
|
||||||
bpl -
|
bpl -
|
||||||
lda $C070 ; $c019 bit 7 is sticky, reset it
|
lda $C070 ; $c019 bit 7 is sticky, reset it
|
||||||
|
@ -13,7 +13,6 @@ romid_ec = $FBC0
|
|||||||
idroutine = $FE1F ; SEC, JSR $FE1F, BCS notgs
|
idroutine = $FE1F ; SEC, JSR $FE1F, BCS notgs
|
||||||
|
|
||||||
BuildVBLFunction
|
BuildVBLFunction
|
||||||
lda #$60
|
|
||||||
ldx romid
|
ldx romid
|
||||||
cpx #ROMID_IIECOMPAT
|
cpx #ROMID_IIECOMPAT
|
||||||
bne @build_none ; not a //e
|
bne @build_none ; not a //e
|
||||||
@ -27,19 +26,20 @@ BuildVBLFunction
|
|||||||
lda #$10
|
lda #$10
|
||||||
sta patch_VBL_iigs2
|
sta patch_VBL_iigs2
|
||||||
@NotGS
|
@NotGS
|
||||||
lda #<WaitForVBL_iie
|
|
||||||
sta WaitForVBL+1
|
|
||||||
lda #>WaitForVBL_iie
|
|
||||||
sta WaitForVBL+2
|
|
||||||
lda #$4C
|
|
||||||
@build_none
|
|
||||||
sta WaitForVBL
|
|
||||||
rts
|
rts
|
||||||
@build_iic
|
@build_iic
|
||||||
lda #$70
|
lda #$70
|
||||||
sta patch_VBL_iic1+1
|
sta patch_VBL_iic1+1
|
||||||
lda #$60
|
lda #$60
|
||||||
sta patch_VBL_iic2
|
sta patch_VBL_iic2
|
||||||
lda #$EA
|
lda #<iWaitForVBL
|
||||||
|
sta WaitForVBL+1
|
||||||
|
lda #>iWaitForVBL
|
||||||
|
sta WaitForVBL+2
|
||||||
|
lda #$4C
|
||||||
sta UnwaitForVBL
|
sta UnwaitForVBL
|
||||||
rts
|
rts
|
||||||
|
@build_none
|
||||||
|
lda #$60
|
||||||
|
sta WaitForVBL
|
||||||
|
rts
|
||||||
|
Loading…
x
Reference in New Issue
Block a user