@@ -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
|
||||||
|
|||||||
124
fastcredits.asm
Normal file
124
fastcredits.asm
Normal file
@@ -0,0 +1,124 @@
|
|||||||
|
;===================================================================================================
|
||||||
|
|
||||||
|
FastCreditsCutsceneTimer:
|
||||||
|
BIT.b $F2-1 : BVC .slow
|
||||||
|
|
||||||
|
LDA.w #$0001 : STA.b $50
|
||||||
|
|
||||||
|
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:
|
||||||
|
JSR FastCreditsCutsceneScrollX
|
||||||
|
CLC
|
||||||
|
ADC.b $E2
|
||||||
|
STA.b $E2
|
||||||
|
|
||||||
|
RTL
|
||||||
|
|
||||||
|
|
||||||
|
FastCreditsCutsceneUnderworldY:
|
||||||
|
JSR FastCreditsCutsceneScrollY
|
||||||
|
CLC
|
||||||
|
ADC.b $E8
|
||||||
|
STA.b $E8
|
||||||
|
|
||||||
|
RTL
|
||||||
|
|
||||||
|
|
||||||
|
FastTextScroll:
|
||||||
|
LDA.b $1A
|
||||||
|
BIT.b $F2-1 : BVC .slow
|
||||||
|
|
||||||
|
AND.w #$0000
|
||||||
|
RTL
|
||||||
|
|
||||||
|
.slow
|
||||||
|
AND.w #$0003
|
||||||
|
RTL
|
||||||
|
|
||||||
|
DumbFlagForMSU:
|
||||||
|
STA.l $7EF3CA
|
||||||
|
STZ.b $50
|
||||||
|
RTL
|
||||||
|
|
||||||
|
|
||||||
@@ -46,6 +46,7 @@ CheckGanonVulnerability:
|
|||||||
dw .light_speed
|
dw .light_speed
|
||||||
dw .crystals_and_bosses
|
dw .crystals_and_bosses
|
||||||
dw .bosses_only
|
dw .bosses_only
|
||||||
|
dw .all_dungeons_no_agahnim
|
||||||
|
|
||||||
; 00 = always vulnerable
|
; 00 = always vulnerable
|
||||||
.vulnerable
|
.vulnerable
|
||||||
@@ -61,10 +62,13 @@ CheckGanonVulnerability:
|
|||||||
|
|
||||||
; 02 = All dungeons
|
; 02 = All dungeons
|
||||||
.all_dungeons
|
.all_dungeons
|
||||||
|
LDA.l $7EF3C5 : CMP.b #$03 : BCC .fail ; require post-aga world state
|
||||||
|
|
||||||
|
; 09 = All dungeons except agahnim
|
||||||
|
.all_dungeons_no_agahnim
|
||||||
LDA.l $7EF374 : AND.b #$07 : CMP.b #$07 : BNE .fail ; require all pendants
|
LDA.l $7EF374 : AND.b #$07 : CMP.b #$07 : BNE .fail ; require all pendants
|
||||||
LDA.l $7EF37A : AND.b #$7F : CMP.b #$7F : BNE .fail ; require all crystals
|
LDA.l $7EF37A : AND.b #$7F : CMP.b #$7F : BNE .fail ; require all crystals
|
||||||
LDA.l $7EF3C5 : CMP.b #$03 : BCC .fail ; require post-aga world state
|
LDA.l $7EF2DB : AND.b #$20 : BEQ .fail ; require aga2 defeated (pyramid hole open)
|
||||||
LDA.l $7EF2DB : AND.b #$20 : CMP.b #$20 : BNE .fail ; require aga2 defeated (pyramid hole open)
|
|
||||||
BRA .success
|
BRA .success
|
||||||
|
|
||||||
; 03 = crystals and aga 2
|
; 03 = crystals and aga 2
|
||||||
|
|||||||
29
hooks.asm
29
hooks.asm
@@ -2593,6 +2593,7 @@ CheckIfReading:
|
|||||||
LDA #$80 : TRB $3B
|
LDA #$80 : TRB $3B
|
||||||
CPX #$04
|
CPX #$04
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
|
|
||||||
org $0DB4CA : db $40, $40 ; fire bar statis
|
org $0DB4CA : db $40, $40 ; fire bar statis
|
||||||
@@ -2609,4 +2610,32 @@ Sprite_AttemptDamageToPlayerPlusRecoilLong:
|
|||||||
|
|
||||||
org $1ED1B6
|
org $1ED1B6
|
||||||
JSL NewFireBarDamage
|
JSL NewFireBarDamage
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
|
; Remove heart beeps from 1/2 max HP
|
||||||
|
org $0DDB60
|
||||||
|
db $00, $00
|
||||||
|
|
||||||
|
|
||||||
|
;================================================================================
|
||||||
|
; Fast credits
|
||||||
|
|
||||||
|
org $02A096
|
||||||
|
JSL DumbFlagForMSU
|
||||||
|
|
||||||
|
org $0EC3AF
|
||||||
|
JSL FastCreditsScrollOW
|
||||||
|
JMP.w $0EC3C7
|
||||||
|
|
||||||
|
org $0EC41F
|
||||||
|
JSL FastCreditsCutsceneUnderworldY
|
||||||
|
|
||||||
|
org $0EC42C
|
||||||
|
JSL FastCreditsCutsceneUnderworldX
|
||||||
|
|
||||||
|
|
||||||
|
org $0EC488
|
||||||
|
JSL FastCreditsCutsceneTimer
|
||||||
|
|
||||||
|
org $0EE773
|
||||||
|
JSL FastTextScroll : NOP
|
||||||
|
|||||||
1
msu.asm
1
msu.asm
@@ -702,6 +702,7 @@ EndingMusicWait:
|
|||||||
LDA !REG_MSU_ID_45 : CMP !VAL_MSU_ID_45 : BNE .done
|
LDA !REG_MSU_ID_45 : CMP !VAL_MSU_ID_45 : BNE .done
|
||||||
SEP #$20
|
SEP #$20
|
||||||
.wait
|
.wait
|
||||||
|
LDA.b $50 : BNE .done
|
||||||
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_PLAYING : BNE .wait
|
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_PLAYING : BNE .wait
|
||||||
.done
|
.done
|
||||||
SEP #$20
|
SEP #$20
|
||||||
|
|||||||
Reference in New Issue
Block a user