diff --git a/LTTP_RND_GeneralBugfixes.asm b/LTTP_RND_GeneralBugfixes.asm index cf46608..5c2e981 100644 --- a/LTTP_RND_GeneralBugfixes.asm +++ b/LTTP_RND_GeneralBugfixes.asm @@ -76,7 +76,7 @@ db #$20, #$18, #$04, #$02 ; year/month/day incsrc hooks.asm incsrc treekid.asm -;incsrc spriteswap.asm +incsrc spriteswap.asm incsrc hashalphabethooks.asm ;org $208000 ; bank #$20 diff --git a/events.asm b/events.asm index 6e94c6e..37c4158 100644 --- a/events.asm +++ b/events.asm @@ -11,7 +11,7 @@ OnDrawHud: JSL.l DrawChallengeTimer JSL.l DrawGoalIndicator JSL.l DrawDungeonCompassCounts - ;JSL.l SwapSpriteIfNecissary + JSL.l SwapSpriteIfNecissary RTL ;-------------------------------------------------------------------------------- ;OnDungeonEntrance: diff --git a/init.asm b/init.asm index cbe7aff..ee48530 100644 --- a/init.asm +++ b/init.asm @@ -43,6 +43,8 @@ Init_Primary: LDA.b #$01 : STA $420D ; enable fastrom access on upper banks + LDA.b #$10 : STA $BC ; set default player sprite bank + LDA.b #$81 : STA $4200 ; thing we wrote over, turn on NMI & gamepad RTL ;-------------------------------------------------------------------------------- \ No newline at end of file diff --git a/newitems.asm b/newitems.asm index 47920c9..f6cb415 100755 --- a/newitems.asm +++ b/newitems.asm @@ -135,34 +135,34 @@ endmacro ;carry clear if pass ;carry set if caught ;incsrc eventdata.asm -;ProcessEventItems: -; LDA $00 : PHA -; LDA $01 : PHA -; LDA $02 : PHA -; PHY : PHP -; LDA $02D8 -; CMP.b #$70 : !BLT + : CMP.b #$E0 : !BGE + ; Free Item Block -; !SUB #$70 -; -; REP #$30 ; set 16-bit accumulator & index registers -; AND.w #$00FF : ASL : TAX -; LDA.l EventDataOffsets, X : !ADD.w #EventDataTable : STA $00 -; -; SEP #$20 ; set 8-bit accumulator -; PHK : PLA : STA $02 -; -; JSL.l LoadDialogAddressIndirect -; -; SEP #$10 ; set 8-bit index registers -; LDX.b #$01 : BRA .done -; + -; LDX.b #$00 -; .done -; PLP : PLY -; PLA : STA $02 -; PLA : STA $01 -; PLA : STA $00 -;RTS +ProcessEventItems: + LDA $00 : PHA + LDA $01 : PHA + LDA $02 : PHA + PHY : PHP + LDA $02D8 + CMP.b #$E0 : !BLT + : CMP.b #$E5 : !BGE + ; Free Item Block + !SUB #$E0 + + ;REP #$30 ; set 16-bit accumulator & index registers + ;AND.w #$00FF : ASL : TAX + ;LDA.l EventDataOffsets, X : !ADD.w #EventDataTable : STA $00 + + ;SEP #$20 ; set 8-bit accumulator + ;PHK : PLA : STA $02 + + ;JSL.l LoadDialogAddressIndirect + + ;SEP #$10 ; set 8-bit index registers + ;LDX.b #$01 : BRA .done + + + LDX.b #$00 + .done + PLP : PLY + PLA : STA $02 + PLA : STA $01 + PLA : STA $00 +RTS ;-------------------------------------------------------------------------------- AddReceivedItemExpandedGetItem: PHX @@ -615,12 +615,12 @@ AddReceivedItemExpanded: db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Free Compass db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Free Big Key db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ; Free Small Key - ;db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; *EVENT* db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused + db $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02, $02 ; Unused .properties db 5, -1, 5, 5, 5, 5, 5, 1 @@ -653,13 +653,13 @@ AddReceivedItemExpanded: db 0, 0, 0 ; Unused db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Free Map db 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ; Free Compass - ;db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; *EVENT* db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Free Big Key db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Free Small Key db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused + db 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 ; Unused ; \item Target SRAM addresses for items you receive .item_target_addr @@ -699,6 +699,7 @@ AddReceivedItemExpanded: dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused + dw $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A, $F36A ; Unused } ; DATA Values to write to the above SRAM locations. @@ -740,6 +741,7 @@ AddReceivedItemExpanded: db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused + db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Unused ;0x00 - Sewer Passage ;0x02 - Hyrule Castle @@ -823,6 +825,7 @@ Link_ReceiveItemAlternatesExpanded: db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused + db -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 ; Unused } ;-------------------------------------------------------------------------------- .loadAlternate diff --git a/utilities.asm b/utilities.asm index e8a94e1..e48f3a7 100644 --- a/utilities.asm +++ b/utilities.asm @@ -116,24 +116,21 @@ RTL ;7x db $21, $21, $21, $21, $21, $21, $21, $21, $21, $21, $21, $21, $21, $21, $21, $21 ; Free Map - ;db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; *EVENT* ;8x db $16, $16, $16, $16, $16, $16, $16, $16, $16, $16, $16, $16, $16, $16, $16, $16 ; Free Compass - ;db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; *EVENT* ;9x db $22, $22, $22, $22, $22, $22, $22, $22, $22, $22, $22, $22, $22, $22, $22, $22 ; Free Big Key - ;db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; *EVENT* ;Ax db $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F, $0F ; Free Small Key - ;db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; *EVENT* db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused + db $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49, $49 ; Unused } ;-------------------------------------------------------------------------------- @@ -254,6 +251,7 @@ RTL db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused + db $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08, $08 ; Unused } ;--------------------------------------------------------------------------------