start disassembling fairy flipper code
This commit is contained in:
@@ -1,3 +1,9 @@
|
||||
; =============================================================================
|
||||
; Zora Mask
|
||||
; Fairy Flippers RAM Position $7EF33C - 01
|
||||
|
||||
; Normal Flippers RAM Position $7ef356 - 01
|
||||
|
||||
; =============================================================================
|
||||
|
||||
org $07A569
|
||||
@@ -14,6 +20,7 @@ LinkItem_ZoraMask:
|
||||
LDA.b #$14 : JSR Player_DoSfx2
|
||||
|
||||
LDA $02B2 : CMP #$02 : BEQ .unequip ; is the zora mask on?
|
||||
JSL UpdateZoraPalette
|
||||
LDA #$36 : STA $BC
|
||||
LDA #$02 : STA $02B2
|
||||
BRA .return
|
||||
@@ -32,3 +39,136 @@ org $368000
|
||||
incbin gfx/zora_link.4bpp
|
||||
|
||||
; =============================================================================
|
||||
|
||||
UpdateZoraPalette:
|
||||
{
|
||||
REP #$30 ; change 16 bit mode
|
||||
LDX #$001E
|
||||
|
||||
.loop
|
||||
LDA.l zora_palette, X : STA $7EC6E0, X
|
||||
DEX : DEX : BPL .loop
|
||||
|
||||
SEP #$30 ; go back to 8 bit mode
|
||||
INC $15 ; update the palette
|
||||
RTL
|
||||
}
|
||||
|
||||
; TODO: Change from "bunny palette" to blue zora palette colors
|
||||
zora_palette:
|
||||
dw #$7BDE, #$7FFF, #$2F7D, #$19B5, #$3A9C, #$14A5, #$19FD, #$14B6
|
||||
dw #$55BB, #$362A, #$3F4E, #$162B, #$22D0, #$2E5A, #$1970, #$7616
|
||||
dw #$6565, #$7271, #$2AB7, #$477E, #$1997, #$14B5, #$459B, #$69F2
|
||||
dw #$7AB8, #$2609, #$19D8, #$3D95, #$567C, #$1890, #$52F6, #$2357, #$0000
|
||||
|
||||
; =============================================================================
|
||||
|
||||
LinkItem_UsingZoraMask:
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
; =============================================================================
|
||||
; Disassembled/Debugged Code of Conn's Zora Flippers
|
||||
; May God Give Me Strength
|
||||
|
||||
; =============================================================================
|
||||
; 22E2A0
|
||||
;
|
||||
; Description:
|
||||
JSR $E530
|
||||
JSL $22E670
|
||||
LDA $7F500E
|
||||
CMP #$01
|
||||
BEQ $22E2B2
|
||||
JMP $E2F0
|
||||
LDA $F0
|
||||
SEC
|
||||
SBC #$0B
|
||||
BCS $22E2BC
|
||||
JMP $E2F0
|
||||
LDA $F0
|
||||
SEC
|
||||
SBC #$4B
|
||||
BCS $22E2CB
|
||||
LDA #$40
|
||||
STA $F0
|
||||
JMP $879657
|
||||
LDA $F0
|
||||
SEC
|
||||
SBC #$BB
|
||||
BCS $22E2D5
|
||||
JMP $E2F0
|
||||
|
||||
; =================================================================
|
||||
; 22E2F0
|
||||
|
||||
LDA $5D
|
||||
ASL
|
||||
TAX
|
||||
JMP $878106
|
||||
|
||||
|
||||
; =================================================================
|
||||
; 22E670
|
||||
|
||||
LDA $7F500E ; probably free ram
|
||||
CMP #$01
|
||||
BEQ $22E679
|
||||
RTL
|
||||
;-------
|
||||
; Magic draining loop
|
||||
LDA $7EF36E ; Load magic
|
||||
BNE $22E688 ; branch if != 0
|
||||
LDA #$3C
|
||||
STA $012E
|
||||
JMP $22E141
|
||||
LDA $7F500D ; load timer
|
||||
BNE $22E69E ; branch if != 0
|
||||
LDA #$18
|
||||
STA $7F500D ; set timer to 18
|
||||
LDA $7EF36E ; load magic
|
||||
DEC ; decrease magic by 1
|
||||
STA $7EF36E ; store new magic
|
||||
RTL
|
||||
;-------
|
||||
DEC
|
||||
STA $7F500D ; decrease timer
|
||||
RTL
|
||||
|
||||
; =================================================================
|
||||
; 22E600
|
||||
; Possibly relevant, unconfirmed
|
||||
|
||||
LDA $7EF34A
|
||||
AND #$00FF
|
||||
CMP #$0001
|
||||
BEQ $22E611
|
||||
LDA $7EF35C,X
|
||||
RTL
|
||||
;-------
|
||||
LDA $7EF33B
|
||||
AND #$00FF
|
||||
CMP #$0001
|
||||
BNE $22E622
|
||||
LDA $7EF35C,X
|
||||
RTL
|
||||
;-------
|
||||
SEP #$30
|
||||
LDA #$3C
|
||||
STA $139F
|
||||
STA $13A1
|
||||
STA $13DF
|
||||
STA $13E1
|
||||
REP #$30
|
||||
LDA $7EF35C,X
|
||||
RTL
|
||||
|
||||
; =================================================================
|
||||
; 22EF50
|
||||
; Possibly relevant
|
||||
|
||||
LDA $7EF3CC
|
||||
CMP #$0D
|
||||
BEQ $22EF59
|
||||
RTL
|
||||
|
||||
Reference in New Issue
Block a user