mirror of
https://github.com/a2-4am/4cade.git
synced 2024-11-26 17:49:43 +00:00
fix animated titles
This commit is contained in:
parent
a67f80d3d3
commit
c95ddcae8b
@ -61,6 +61,8 @@ Reenter
|
|||||||
sta $bf00,x
|
sta $bf00,x
|
||||||
dex
|
dex
|
||||||
bpl -
|
bpl -
|
||||||
|
lda #<PrelaunchInit ; reset prelaunch vector (animated titles change it)
|
||||||
|
sta iPrelaunchInit+1
|
||||||
ldx #5
|
ldx #5
|
||||||
- lda ResetVector,x ; copy reentry wrapper to bottom of stack
|
- lda ResetVector,x ; copy reentry wrapper to bottom of stack
|
||||||
sta $100,x ; (used as reset vector because //e always
|
sta $100,x ; (used as reset vector because //e always
|
||||||
@ -159,6 +161,7 @@ gGlobalPrefsStore
|
|||||||
; be set to $55 as part of the 64K memory test,
|
; be set to $55 as part of the 64K memory test,
|
||||||
; which is apparently one of the acceptable values)
|
; which is apparently one of the acceptable values)
|
||||||
|
|
||||||
|
+DEFINE_INDIRECT_VECTOR iPrelaunchInit, PrelaunchInit
|
||||||
+DEFINE_INDIRECT_VECTOR iSetupPrecomputed3Bit, SetupPrecomputed3Bit
|
+DEFINE_INDIRECT_VECTOR iSetupPrecomputed3Bit, SetupPrecomputed3Bit
|
||||||
+DEFINE_INDIRECT_VECTOR iRippleCoordinates3Bit, RippleCoordinates3Bit
|
+DEFINE_INDIRECT_VECTOR iRippleCoordinates3Bit, RippleCoordinates3Bit
|
||||||
+DEFINE_INDIRECT_VECTOR iReverseCoordinates3Bit, ReverseCoordinates3Bit
|
+DEFINE_INDIRECT_VECTOR iReverseCoordinates3Bit, ReverseCoordinates3Bit
|
||||||
|
@ -135,7 +135,7 @@ WCOUNT = $0C ; word
|
|||||||
HTAB = $24 ; byte
|
HTAB = $24 ; byte
|
||||||
VTAB = $25 ; byte
|
VTAB = $25 ; byte
|
||||||
RNDSEED = $4E ; word
|
RNDSEED = $4E ; word
|
||||||
PrelaunchInit= $EB
|
PrelaunchInit= $EA
|
||||||
; textrank
|
; textrank
|
||||||
BestMatchIndex = $E5 ; word
|
BestMatchIndex = $E5 ; word
|
||||||
tmpx = $E7 ; byte
|
tmpx = $E7 ; byte
|
||||||
@ -329,6 +329,7 @@ iRippleCoordinates2Bit = iReverseCoordinates2Bit-3
|
|||||||
iReverseCoordinates3Bit = iRippleCoordinates2Bit-3
|
iReverseCoordinates3Bit = iRippleCoordinates2Bit-3
|
||||||
iRippleCoordinates3Bit = iReverseCoordinates3Bit-3
|
iRippleCoordinates3Bit = iReverseCoordinates3Bit-3
|
||||||
iSetupPrecomputed3Bit = iRippleCoordinates3Bit-3
|
iSetupPrecomputed3Bit = iRippleCoordinates3Bit-3
|
||||||
|
iPrelaunchInit = iSetupPrecomputed3Bit-3
|
||||||
|
|
||||||
MockingboardStuff = $FFF8 ; bit 7 = 1 if SC-01 speech chip present (Speech I)
|
MockingboardStuff = $FFF8 ; bit 7 = 1 if SC-01 speech chip present (Speech I)
|
||||||
; bit 6 = 1 if SSI-263 speech chip present (Mockingboard "B"-"D")
|
; bit 6 = 1 if SSI-263 speech chip present (Mockingboard "B"-"D")
|
||||||
|
@ -48,7 +48,7 @@ LaunchInternal
|
|||||||
sta CLR80VID
|
sta CLR80VID
|
||||||
sta PRIMARYCHARSET
|
sta PRIMARYCHARSET
|
||||||
bit CLEARKBD
|
bit CLEARKBD
|
||||||
jmp PrelaunchInit
|
jmp iPrelaunchInit
|
||||||
|
|
||||||
PrelaunchInitInternal
|
PrelaunchInitInternal
|
||||||
!pseudopc PrelaunchInit {
|
!pseudopc PrelaunchInit {
|
||||||
@ -58,8 +58,9 @@ PrelaunchInitInternal
|
|||||||
jsr ROM_NORMAL ; rely on zero page values set by these
|
jsr ROM_NORMAL ; rely on zero page values set by these
|
||||||
jsr ROM_TEXT ; ROM routines, e.g. Wavy Navy prints text
|
jsr ROM_TEXT ; ROM routines, e.g. Wavy Navy prints text
|
||||||
jsr ROM_HOME ; via $FDED and expects it to work.
|
jsr ROM_HOME ; via $FDED and expects it to work.
|
||||||
|
AnimationPrelaunchInit
|
||||||
sei
|
sei
|
||||||
bvc $106 ; unconditional jump to game-specific pre-launch code
|
jmp $106
|
||||||
!if * != $100 {
|
!if * != $100 {
|
||||||
!serious "adjust PrelaunchInit to ",PrelaunchInit+$100-*
|
!serious "adjust PrelaunchInit to ",PrelaunchInit+$100-*
|
||||||
}
|
}
|
||||||
|
@ -41,8 +41,15 @@ MaybeAnimateTitle
|
|||||||
; file -- this area part of a 'screen
|
; file -- this area part of a 'screen
|
||||||
; hole' and is not displayed on screen)
|
; hole' and is not displayed on screen)
|
||||||
bne @exit ; if not, we're done here
|
bne @exit ; if not, we're done here
|
||||||
|
iny
|
||||||
|
lda (DEST), y
|
||||||
|
sta @titleAnimJmp
|
||||||
|
iny
|
||||||
|
lda (DEST), y
|
||||||
|
sta @titleAnimJmp+1
|
||||||
txa
|
txa
|
||||||
jsr CopyHGR
|
jsr CopyHGR
|
||||||
|
jsr HGRMode
|
||||||
|
|
||||||
; load the animation routine, which is stored in a subdirectory by filename
|
; load the animation routine, which is stored in a subdirectory by filename
|
||||||
jsr GetGameToLaunch
|
jsr GetGameToLaunch
|
||||||
@ -58,8 +65,10 @@ MaybeAnimateTitle
|
|||||||
dex
|
dex
|
||||||
bpl -
|
bpl -
|
||||||
|
|
||||||
bit $c050 ; turn on graphics mode (Home set text mode)
|
lda #<AnimationPrelaunchInit
|
||||||
|
sta iPrelaunchInit+1 ; |Reenter| will restore this
|
||||||
jsr Launch ; execute the animation
|
jsr Launch ; execute the animation
|
||||||
|
jsr HGRMode
|
||||||
|
|
||||||
jsr ReloadSearchIndex
|
jsr ReloadSearchIndex
|
||||||
jsr ResyncPage ; we don't know which HGR page is showing
|
jsr ResyncPage ; we don't know which HGR page is showing
|
||||||
@ -72,4 +81,5 @@ MaybeAnimateTitle
|
|||||||
|
|
||||||
@titleAnimPrelaunch ; this is executed from $106/main by |Launch|
|
@titleAnimPrelaunch ; this is executed from $106/main by |Launch|
|
||||||
bit $C082
|
bit $C082
|
||||||
jmp (DEST)
|
@titleAnimJmp=*+1
|
||||||
|
jmp $FDFD ; SMC
|
||||||
|
Loading…
Reference in New Issue
Block a user