Reclaim 0x1000 Bytes of WRAM from a (nearly) static table originally stored compressed.
The nearly is due to the silly hack they used for stalfos bomb vulnerability. For that I used one byte of WRAM to compensate.
This commit is contained in:
@@ -226,6 +226,11 @@ IcePalaceFloorGfx:
|
||||
incbin ice_palace_floor.bin
|
||||
warnpc $31C801
|
||||
|
||||
org $31C800
|
||||
Damage_Table:
|
||||
incbin damage_table.bin
|
||||
warnpc $31D801
|
||||
|
||||
org $338000
|
||||
GFX_HUD_Palette:
|
||||
incbin hudpalette.pal
|
||||
|
||||
BIN
damage_table.bin
Normal file
BIN
damage_table.bin
Normal file
Binary file not shown.
@@ -59,5 +59,8 @@ AltBufferTable:
|
||||
; Set last packet marker
|
||||
LDA.w #$00FF : STA $11f6
|
||||
SEP #$20
|
||||
|
||||
RTL
|
||||
|
||||
RTL
|
||||
;------------------------------------------------------------------------------
|
||||
Validate_SRAM:
|
||||
RTL
|
||||
|
||||
19
hooks.asm
19
hooks.asm
@@ -90,6 +90,25 @@ JSL.l AltBufferTable : NOP #8 ; Selection screen
|
||||
org $0cd393 ; Bank0c.asm:2674 (LDX.w #$00FD)
|
||||
JSL.l AltBufferTable : NOP #8 ; Delete screen
|
||||
;--------------------------------------------------------------------------------
|
||||
org $0CCCCC ;<- 64CCC - Bank0C.asm : 1628 (JSL Intro_ValidateSram) / Bank02.asm : 75 (REP #$30)
|
||||
; Explanation: In JP 1.0 the code for Intro_ValidateSram was inline in Bank 0C
|
||||
JML.l Validate_SRAM ;(Return via RTL. Original code JML'd to Intro_LoadSpriteStats which returns with RTL, but we want to skip that)
|
||||
org $0CCD57 ;<- 64D57 - Bank0C.asm :
|
||||
RTL ;Just in case anybody ever removes the previous hook
|
||||
;--------------------------------------------------------------------------------
|
||||
|
||||
;================================================================================
|
||||
; Damage table Relocation from WRAM
|
||||
;--------------------------------------------------------------------------------
|
||||
org $06EDB5 ;<- 36DBE - Bank06.asm : 4882 (LDA $7F6000, X : STA $02)
|
||||
JSL.l LookupDamageLevel
|
||||
;--------------------------------------------------------------------------------
|
||||
!StalfosBombDamage = "$7F509D"
|
||||
org $1eab5e ;<- F2B5E - sprite_stalfos_knight.asm : 135 (LDA.b #$00 : STA $7F6918)
|
||||
STA.l !StalfosBombDamage
|
||||
org $1eaad6 ;<- F2AB6 - sprite_stalfos_knight.asm : 32 (LDA.b #$02 : STA $7F6918)
|
||||
STA.l !StalfosBombDamage
|
||||
;--------------------------------------------------------------------------------
|
||||
|
||||
;================================================================================
|
||||
; Duck Map Load Hook
|
||||
|
||||
@@ -39,6 +39,16 @@ LoadSwordForDamage:
|
||||
JSR.w LoadModifiedSwordLevel ; load normal sword value
|
||||
RTL
|
||||
;================================================================================
|
||||
;!StalfosBombDamage = "$7F509D"
|
||||
LookupDamageLevel:
|
||||
CPX.w #$6918 : BNE +
|
||||
LDA.l !StalfosBombDamage
|
||||
BRA .done
|
||||
+
|
||||
LDA.l Damage_Table, X
|
||||
.done
|
||||
RTL
|
||||
;================================================================================
|
||||
; $7F50C0 - Sword Modifier
|
||||
LoadModifiedSwordLevel: ; returns short
|
||||
LDA $7F50C0 : BEQ +
|
||||
|
||||
@@ -1492,6 +1492,7 @@ dw #9999 ; Rupee Limit
|
||||
; $7F509A - (Reserved)
|
||||
; $7F509B - MSU Flag
|
||||
; $7F509C - Inverted Mode Duck Map Temporary
|
||||
; $7F509D - Stalfos Bomb Damage Value
|
||||
|
||||
; $7F50A0 - Event Parameter 1
|
||||
|
||||
@@ -1518,6 +1519,8 @@ dw #9999 ; Rupee Limit
|
||||
; $7F5200 - $7F52FF - RNG Pointer Block
|
||||
;
|
||||
; $7F5700 - $7F57FF - Dialog Buffer
|
||||
;
|
||||
; $7F6000 - $7F6FFF - Free RAM (Reclaimed from Damage Table)
|
||||
;================================================================================
|
||||
!BIGRAM = "$7EC900";
|
||||
; $7EC900 - Big RAM Buffer ($1F00)
|
||||
|
||||
Reference in New Issue
Block a user