From 99c9290582ef02cf2b71587cfe1852f0d7159d40 Mon Sep 17 00:00:00 2001 From: scawful Date: Tue, 4 Oct 2022 18:31:21 -0500 Subject: [PATCH] add deku link form --- Masks/deku_link.bin | Bin 0 -> 28672 bytes Masks/deku_mask.asm | 197 ++++++++++++++++++-------------------------- Oracle_main.asm | 4 +- 3 files changed, 84 insertions(+), 117 deletions(-) create mode 100644 Masks/deku_link.bin diff --git a/Masks/deku_link.bin b/Masks/deku_link.bin new file mode 100644 index 0000000000000000000000000000000000000000..550fcb873b6438c3c5d729bfcc4591af839a42f9 GIT binary patch literal 28672 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 literal 0 HcmV?d00001 diff --git a/Masks/deku_mask.asm b/Masks/deku_mask.asm index 7c8f340..62e7279 100644 --- a/Masks/deku_mask.asm +++ b/Masks/deku_mask.asm @@ -1,152 +1,117 @@ -; Hooks : +; ; Hooks : incsrc "../Sprites/sprite_functions_hooks.asm" -org $07A666 -Deku_Entry: -{ - LDA.b #$20 : STA.w $012F - JSL GetRandomInt : AND #$1F : !ADD #$60 : STA $BC - STA $7EC178 - JSL Palette_ArmorAndGloves - STZ $0710 - RTS -} +; org $07A666 +; Deku_Entry: +; { +; LDA.b #$20 : STA $BC +; STA $7EC178 +; JSL Palette_ArmorAndGloves +; STZ $0710 +; RTS +; } org $008A01 -LDA $BC + LDA $BC -org $1BEDF9 -JSL Palette_ArmorAndGloves ; 4bytes -RTL ; 1byte -NOP #$01 +; org $1BEDF9 +; JSL Palette_ArmorAndGloves ; 4bytes +; RTL ; 1byte +; NOP #$01 -org $1BEE1B -JSL Palette_ArmorAndGloves_part_two -RTL +; org $1BEE1B +; JSL Palette_ArmorAndGloves_part_two +; RTL -org $06F40C -JSL change_sprite : NOP #$01 ; LDA $0E20, X : CMP.b #$61 +; org $06F40C +; JSL change_sprite : NOP #$01 ; LDA $0E20, X : CMP.b #$61 -; Code : -org $308000 -Palette_ArmorAndGloves: -{ - LDA.b #$10 - STA $BC ; Load Original Sprite Location - REP #$21 - LDA $7EF35B - JSL $1BEDFF ; Read Original Palette Code - RTL - .part_two - SEP #$30 - REP #$30 - LDA $7EF354 - JSL $1BEE21 ; Read Original Palette Code - RTL +; ; ; Code : +; org $308000 +; Palette_ArmorAndGloves: +; { +; LDA.b #$10 +; STA $BC ; Load Original Sprite Location +; REP #$21 +; LDA $7EF35B +; JSL $1BEDFF ; Read Original Palette Code +; RTL +; .part_two +; SEP #$30 +; REP #$30 +; LDA $7EF354 +; JSL $1BEE21 ; Read Original Palette Code +; RTL - PHX : PHY : PHA - ; Load armor palette - PHB : PHK : PLB +; PHX : PHY : PHA +; ; Load armor palette +; PHB : PHK : PLB - REP #$20 +; REP #$20 - ; Check what Link's armor value is. - LDA $7EF35B : AND.w #$00FF : TAX +; ; Check what Link's armor value is. +; LDA $7EF35B : AND.w #$00FF : TAX - LDA $1BEC06, X : AND.w #$00FF : ASL A : ADC.w #$F000 : STA $00 - REP #$10 +; LDA $1BEC06, X : AND.w #$00FF : ASL A : ADC.w #$F000 : STA $00 +; REP #$10 - LDA.w #$01E2 ; Target SP-7 (sprite palette 6) - LDX.w #$000E ; Palette has 15 colors +; LDA.w #$01E2 ; Target SP-7 (sprite palette 6) +; LDX.w #$000E ; Palette has 15 colors - TXY : TAX +; TXY : TAX - LDA.b $BC : AND #$00FF : STA $02 +; LDA.b $BC : AND #$00FF : STA $02 -.loop +; .loop - LDA [$00] : STA $7EC300, X : STA $7EC500, X +; LDA [$00] : STA $7EC300, X : STA $7EC500, X - INC $00 : INC $00 +; INC $00 : INC $00 - INX #2 +; INX #2 - DEY : BPL .loop +; DEY : BPL .loop - SEP #$30 +; SEP #$30 - PLB - INC $15 - PLA : PLY : PLX - RTL -} +; PLB +; INC $15 +; PLA : PLY : PLX +; RTL +; } -change_sprite: -{ - JSL GetRandomInt : AND #$1F : !ADD #$60 : STA $BC - STA $7EC178 - JSL Palette_ArmorAndGloves - STZ $0710 +; change_sprite: +; { +; JSL GetRandomInt : AND #$1F : !ADD #$60 : STA $BC +; STA $7EC178 +; JSL Palette_ArmorAndGloves +; STZ $0710 - LDA $0E20, X : CMP.b #$61 ; Restored Code Bank06.asm(5967) ; LDA $0E20, X : CMP.b #$61 : BNE .not_beamos_laser +; LDA $0E20, X : CMP.b #$61 ; Restored Code Bank06.asm(5967) ; LDA $0E20, X : CMP.b #$61 : BNE .not_beamos_laser - RTL -} +; RTL +; } ; changing the DP address $BC would now* change the bank link's gfx is read from ; ============================================================================= -; *$3A64B-$3A6BD JUMP LOCATION -; LinkItem_Quake: -; { -; JSR Link_CheckNewY_ButtonPress : BCC .BRANCH_ALPHA - -; LDA $3A : AND.b #$BF : STA $3A - -; LDA $6C : BNE .BRANCH_BETA - -; LDA $0FFC : BNE .BRANCH_BETA - -; LDA $0403 : AND.b #$80 : BNE .BRANCH_BETA - -; LDA $7EF359 : INC A : AND.b #$FE : BEQ .BRANCH_BETA - -; LDA $7EF3D3 : BEQ .BRANCH_GAMMA - -; LDA $7EF3CC : CMP.b #$0D : BNE .BRANCH_GAMMA -; .BRANCH_BETA: +org $07B073 ; *$3B073-$3B086 LOCAL +Link_CheckNewY_ButtonPress: -; BRL .BRANCH_$3A955 +org $07A64B +LinkItem_Quake: + JSR Link_CheckNewY_ButtonPress : BCC .return -; .BRANCH_GAMMA: + LDA $6C : BNE .return ; doorway -; LDA $0C4A : ORA $0C4B : ORA $0C4C : BNE .BRANCH_ALPHA - -; LDX.b #$01 - -; JSR LinkItem_EvaluateMagicCost : BCC .BRANCH_ALPHA - -; LDA.b #$0A : STA $5D - -; LDA.b #$01 : TSB $50 - -; LDA $A6CA : STA $3D - -; LDA $A6BE : STA $031C - -; STZ $031D -; STZ $0324 -; STZ $46 - -; LDA.b #$28 : STA $0362 : STA $0363 - -; STZ $0364 - -; LDA.b #$23 : JSR Player_DoSfx3 + LDA $0FFC : BNE .return ; cantopen menu -; .BRANCH_ALPHA: + LDA #$40 : STA $BC -; RTS -; } \ No newline at end of file + .return +RTS + +org $408000 +incbin deku_link.bin \ No newline at end of file diff --git a/Oracle_main.asm b/Oracle_main.asm index e38b4bc..09272bc 100644 --- a/Oracle_main.asm +++ b/Oracle_main.asm @@ -12,7 +12,6 @@ ; Lost Sea Area Combo ; ;=========================================================== - namespace Oracle { print "" @@ -45,6 +44,9 @@ namespace Oracle incsrc "Debug/debug.asm" print "End of Debug/debug.asm ", pc + + incsrc "Masks/deku_mask.asm" + print "End of Masks/deku_mask.asm ", pc print "" print "Finished applying patches"