prep for other stuff

This commit is contained in:
Karkat
2018-03-29 23:11:55 -04:00
parent 0c3cce7399
commit fd52a1c20b
4 changed files with 111 additions and 2 deletions

View File

@@ -103,6 +103,12 @@ OnNewFile:
PLP : PLX PLP : PLX
RTL RTL
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
OnInitFileSelect:
; LDA.b #$10 : STA $BC ; init sprite pointer - does nothing unless spriteswap.asm is included
; JSL.l SpriteSwap_SetSprite
JSL.l EnableForceBlank
RTL
;--------------------------------------------------------------------------------
OnLinkDamaged: OnLinkDamaged:
JSL.l FlipperKill JSL.l FlipperKill
JSL.l OHKOTimer JSL.l OHKOTimer

View File

@@ -248,6 +248,13 @@ NOP #2
;NOP #4 ;NOP #4
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
;================================================================================
; File Select Init Event
;--------------------------------------------------------------------------------
org $0CCC89 ; <- 0x64C89 Bank0C.asm : 1598 (JSL EnableForceBlank)
JSL.l OnInitFileSelect
;--------------------------------------------------------------------------------
;================================================================================ ;================================================================================
; Hyrule Castle Rain Sequence Guards (allowing Gloves in Link's house) ; Hyrule Castle Rain Sequence Guards (allowing Gloves in Link's house)
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------

83
spriteswap.asm Normal file
View File

@@ -0,0 +1,83 @@
org $008A01 ; 0xA01 - Bank00.asm (LDA.b #$10 : STA $4304 : STA $4314 : STA $4324)
LDA $BC
org $1BEDF9
JSL Palette_ArmorAndGloves ;4bytes
RTL ;1byte
NOP #$01
org $1BEE1B
JSL Palette_ArmorAndGloves_part_two
RTL
!SPRITE_SWAP = "$7F50CD"
;!STABLE_SCRATCH = "$7EC178"
org $BF8000
Palette_ArmorAndGloves:
{
;DEDF9
LDA !SPRITE_SWAP : BNE .continue
LDA.b #$10 : STA $BC ; Load Original Sprite Location
REP #$21
LDA $7EF35B
JSL $1BEDFF ; Read Original Palette Code
RTL
.part_two
SEP #$30
LDA !SPRITE_SWAP : BNE .continue
REP #$30
LDA $7EF354
JSL $1BEE21 ; Read Original Palette Code
RTL
.continue
PHX : PHY : PHA
; Load armor palette
PHB : PHK : PLB
REP #$20
; Check what Link's armor value is.
LDA $7EF35B : AND.w #$00FF : TAX
; (DEC06, X)
LDA $1BEC06, X : AND.w #$00FF : ASL A : ADC.w #$F000 : STA $00
;replace D308 by 7000 and search
REP #$10
LDA.w #$01E2 ; Target SP-7 (sprite palette 6)
LDX.w #$000E ; Palette has 15 colors
TXY : TAX
;LDA !STABLE_SCRATCH : AND #$00FF : STA $02
LDA.b $BC : AND #$00FF : STA $02
.loop
LDA [$00] : STA $7EC300, X : STA $7EC500, X
INC $00 : INC $00
INX #2
DEY : BPL .loop
SEP #$30
PLB
INC $15
PLA : PLY : PLX
RTL
}
SpriteSwap_SetSprite:
{
;LDA $BC : CLC : ADC #$32 : STA !STABLE_SCRATCH
JSL Palette_ArmorAndGloves
STZ $0710 ; Set Normal Sprite NMI
RTL
}

View File

@@ -1595,7 +1595,7 @@ db $FF, $30, $2C, $01, $00, $FF, $00, $00
db $FF, $31, $32, $00, $00, $FF, $00, $00 db $FF, $31, $32, $00, $00, $FF, $00, $00
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
;================================================================================ ;================================================================================
org $30D000 ; PC 0x18500 - 0x1853F org $30D000 ; PC 0x185000 - 0x18503F
MSUTrackList: MSUTrackList:
db $00,$01,$03,$03,$03,$03,$03,$03 db $00,$01,$03,$03,$03,$03,$03,$03
db $01,$03,$01,$03,$03,$03,$03,$03 db $01,$03,$01,$03,$03,$03,$03,$03
@@ -1606,7 +1606,20 @@ db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
; 0x18540 - 187EFF (unused) ; 0x185040 - 1850FF (unused)
;--------------------------------------------------------------------------------
org $30D100 ; PC 0x185100 - 0x18513F
UnusedTable: ; please do not move this - kkat
db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
;--------------------------------------------------------------------------------
; 0x185140 - 187EFF (unused)
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------
; Out of order 0x187F00 - PC 0x187FFF (NameHashTable) ; Out of order 0x187F00 - PC 0x187FFF (NameHashTable)
;-------------------------------------------------------------------------------- ;--------------------------------------------------------------------------------