@@ -197,6 +197,7 @@ incsrc servicerequest.asm
|
||||
incsrc elder.asm
|
||||
incsrc toast.asm
|
||||
incsrc darkroomitems.asm
|
||||
incsrc fastcredits.asm
|
||||
warnpc $A58000
|
||||
|
||||
;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 .crystals_and_bosses
|
||||
dw .bosses_only
|
||||
dw .all_dungeons_no_agahnim
|
||||
|
||||
; 00 = always vulnerable
|
||||
.vulnerable
|
||||
@@ -61,10 +62,13 @@ CheckGanonVulnerability:
|
||||
|
||||
; 02 = 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 $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 : CMP.b #$20 : BNE .fail ; require aga2 defeated (pyramid hole open)
|
||||
LDA.l $7EF2DB : AND.b #$20 : BEQ .fail ; require aga2 defeated (pyramid hole open)
|
||||
BRA .success
|
||||
|
||||
; 03 = crystals and aga 2
|
||||
|
||||
49
hooks.asm
49
hooks.asm
@@ -2578,21 +2578,22 @@ dw 37, 11 : db $FB, $40, $00, $00
|
||||
;--------------------------------------------------------------------------------
|
||||
org $07839E ; bunny BAGE check
|
||||
BunnyRead:
|
||||
JSR.w $07B5A9 ; check A button
|
||||
BCC .noA
|
||||
JSR.w CheckIfReading
|
||||
BNE .noread
|
||||
JSR.w $07B4DB
|
||||
NOP
|
||||
JSR.w $07B5A9 ; check A button
|
||||
BCC .noA
|
||||
JSR.w CheckIfReading
|
||||
BNE .noread
|
||||
JSR.w $07B4DB
|
||||
NOP
|
||||
.noread
|
||||
.noA
|
||||
|
||||
org $07FFF4
|
||||
CheckIfReading:
|
||||
JSR.w $07D36C ; check action
|
||||
LDA #$80 : TRB $3B
|
||||
CPX #$04
|
||||
RTS
|
||||
JSR.w $07D36C ; check action
|
||||
LDA #$80 : TRB $3B
|
||||
CPX #$04
|
||||
RTS
|
||||
|
||||
;================================================================================
|
||||
|
||||
org $0DB4CA : db $40, $40 ; fire bar statis
|
||||
@@ -2609,4 +2610,32 @@ Sprite_AttemptDamageToPlayerPlusRecoilLong:
|
||||
|
||||
org $1ED1B6
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user