fast credits
This commit is contained in:
@@ -197,6 +197,7 @@ incsrc servicerequest.asm
|
|||||||
incsrc elder.asm
|
incsrc elder.asm
|
||||||
incsrc toast.asm
|
incsrc toast.asm
|
||||||
incsrc darkroomitems.asm
|
incsrc darkroomitems.asm
|
||||||
|
incsrc fastcredits.asm
|
||||||
warnpc $A58000
|
warnpc $A58000
|
||||||
|
|
||||||
;org $228000 ; contrib area
|
;org $228000 ; contrib area
|
||||||
|
|||||||
177
fastcredits.asm
Normal file
177
fastcredits.asm
Normal file
@@ -0,0 +1,177 @@
|
|||||||
|
;===================================================================================================
|
||||||
|
|
||||||
|
FastCreditsCutsceneTimer:
|
||||||
|
BIT.b $F2-1 : BVC .slow
|
||||||
|
|
||||||
|
LDA.b $C8
|
||||||
|
CLC
|
||||||
|
ADC.w #$0004
|
||||||
|
AND.w #$FFFE
|
||||||
|
STA.b $C8
|
||||||
|
SEP #$20
|
||||||
|
RTL
|
||||||
|
|
||||||
|
|
||||||
|
.slow
|
||||||
|
INC.b $C8
|
||||||
|
|
||||||
|
SEP #$20
|
||||||
|
RTL
|
||||||
|
|
||||||
|
FastCreditsScrollOW:
|
||||||
|
JSR FastCreditsCutsceneScrollY
|
||||||
|
TAY
|
||||||
|
STY.b $30
|
||||||
|
|
||||||
|
JSR FastCreditsCutsceneScrollX
|
||||||
|
TAY
|
||||||
|
STY.b $31
|
||||||
|
|
||||||
|
RTL
|
||||||
|
|
||||||
|
FastCreditsCutsceneScrollX:
|
||||||
|
PHX
|
||||||
|
TXA
|
||||||
|
CLC
|
||||||
|
ADC.w #$0020
|
||||||
|
TAX
|
||||||
|
|
||||||
|
LDY.b #$00
|
||||||
|
JSR FastCreditsCutsceneScroll
|
||||||
|
|
||||||
|
PLX
|
||||||
|
RTS
|
||||||
|
|
||||||
|
FastCreditsCutsceneScrollY:
|
||||||
|
LDY.b #$06
|
||||||
|
|
||||||
|
FastCreditsCutsceneScroll:
|
||||||
|
LDA.w $00E2,Y
|
||||||
|
CMP.l $0EC308,X ; compare to target
|
||||||
|
|
||||||
|
ROL.b $00 ; put carry in here
|
||||||
|
LDA.l $0EC348,X ; get movement
|
||||||
|
BPL ++ ; if positive, leave saved carry alone
|
||||||
|
INC.b $00 ; otherwise, flip it
|
||||||
|
++ ROR.b $00 ; recover carry
|
||||||
|
|
||||||
|
BCC ++ ; scroll if carry not set
|
||||||
|
LDA.w #$0000
|
||||||
|
|
||||||
|
++ BIT.b $F2-1 : BVC .slow ; check for X held
|
||||||
|
|
||||||
|
AND.w #$FFFF ; get sign of A
|
||||||
|
BPL .positive
|
||||||
|
|
||||||
|
EOR.w #$FFFF
|
||||||
|
INC
|
||||||
|
ASL
|
||||||
|
ASL
|
||||||
|
EOR.w #$FFFF
|
||||||
|
INC
|
||||||
|
RTS
|
||||||
|
|
||||||
|
.positive
|
||||||
|
ASL
|
||||||
|
ASL
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
.slow
|
||||||
|
RTS
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
FastCreditsCutsceneUnderworldX:
|
||||||
|
LDA.l $0EC368,X
|
||||||
|
JSR QuadrupleCreditsSpeedUW
|
||||||
|
CLC
|
||||||
|
ADC.b $E2
|
||||||
|
STA.b $E2
|
||||||
|
|
||||||
|
RTL
|
||||||
|
|
||||||
|
|
||||||
|
FastCreditsCutsceneUnderworldY:
|
||||||
|
LDA.l $0EC348,X
|
||||||
|
JSR QuadrupleCreditsSpeedUW
|
||||||
|
CLC
|
||||||
|
ADC.b $E8
|
||||||
|
STA.b $E8
|
||||||
|
|
||||||
|
RTL
|
||||||
|
|
||||||
|
QuadrupleCreditsSpeedUW:
|
||||||
|
BIT.b $F2-1 : BVC .slow
|
||||||
|
|
||||||
|
AND.w #$FFFF
|
||||||
|
BPL .positive
|
||||||
|
|
||||||
|
EOR.w #$FFFF
|
||||||
|
INC
|
||||||
|
|
||||||
|
ASL
|
||||||
|
ASL
|
||||||
|
|
||||||
|
EOR.w #$FFFF
|
||||||
|
INC
|
||||||
|
|
||||||
|
RTS
|
||||||
|
|
||||||
|
|
||||||
|
.positive
|
||||||
|
ASL
|
||||||
|
ASL
|
||||||
|
|
||||||
|
.slow
|
||||||
|
RTS
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
FastCreditsCutsceneOverworld:
|
||||||
|
BIT.b $F2 : BVC .slow
|
||||||
|
|
||||||
|
LDA.b $30
|
||||||
|
JSR .quad
|
||||||
|
STA.b $30
|
||||||
|
|
||||||
|
LDA.b $31
|
||||||
|
JSR .quad
|
||||||
|
STA.b $31
|
||||||
|
|
||||||
|
.slow
|
||||||
|
JML $0285B5
|
||||||
|
|
||||||
|
.quad
|
||||||
|
BPL .fine
|
||||||
|
|
||||||
|
EOR.b #$FF
|
||||||
|
INC
|
||||||
|
ASL
|
||||||
|
ASL
|
||||||
|
EOR.b #$FF
|
||||||
|
INC
|
||||||
|
RTS
|
||||||
|
|
||||||
|
|
||||||
|
.fine
|
||||||
|
ASL
|
||||||
|
ASL
|
||||||
|
|
||||||
|
RTS
|
||||||
|
|
||||||
|
|
||||||
|
FastTextScroll:
|
||||||
|
LDA.b $1A
|
||||||
|
BIT.b $F2-1 : BVC .slow
|
||||||
|
|
||||||
|
AND.w #$0000
|
||||||
|
RTL
|
||||||
|
|
||||||
|
.slow
|
||||||
|
AND.w #$0003
|
||||||
|
RTL
|
||||||
21
hooks.asm
21
hooks.asm
@@ -2618,3 +2618,24 @@ db $00, $00
|
|||||||
|
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
|
; Fast credits
|
||||||
|
org $0EC45A
|
||||||
|
;JSL FastCreditsCutsceneScrollOverworld
|
||||||
|
|
||||||
|
|
||||||
|
org $0EC3AF
|
||||||
|
JSL FastCreditsScrollOW
|
||||||
|
JMP.w $0EC3C7
|
||||||
|
|
||||||
|
org $0EC41F
|
||||||
|
JSL FastCreditsCutsceneUnderworldY
|
||||||
|
|
||||||
|
org $0EC42C
|
||||||
|
JSL FastCreditsCutsceneUnderworldX
|
||||||
|
|
||||||
|
|
||||||
|
org $0EC488
|
||||||
|
JSL FastCreditsCutsceneTimer
|
||||||
|
|
||||||
|
org $0EE773
|
||||||
|
JSL FastTextScroll : NOP
|
||||||
|
|||||||
Reference in New Issue
Block a user