From a1fafb72cd37eeca260e7065fe05b2c3253b5bdc Mon Sep 17 00:00:00 2001 From: Catobat <69204835+Catobat@users.noreply.github.com> Date: Sun, 31 Oct 2021 21:16:09 +0100 Subject: [PATCH 01/30] Keep dungeon tileset after opening the map --- doortables.asm | 2 ++ drhooks.asm | 3 +++ gfx.asm | 10 ++++++++++ 3 files changed, 15 insertions(+) diff --git a/doortables.asm b/doortables.asm index eae1643..90678ca 100644 --- a/doortables.asm +++ b/doortables.asm @@ -681,6 +681,8 @@ db $00,$07,$20,$20,$07,$07,$07,$07,$07,$20,$20,$07,$20,$20,$20,$20 db $07,$07,$02,$02,$02,$02,$07,$07,$07,$20,$20,$07,$20,$20,$20,$07 ;27f300 +DungeonTilesets: +db $04,$04,$05,$12,$04,$08,$07,$0C,$09,$0B,$05,$0A,$0D,$0E,$06,$06 ; ;org $27ff00 diff --git a/drhooks.asm b/drhooks.asm index 1d3b485..f067dad 100644 --- a/drhooks.asm +++ b/drhooks.asm @@ -76,6 +76,9 @@ nop : jsl OverridePaletteHeader org $02817e ; Bank02.asm : 414 (LDA $02811E, X) jsl FixAnimatedTiles +org $0aef43 ; UnderworldMap_RecoverGFX +jsl FixCloseDungeonMap + org $028a06 ; Bank02.asm : 1941 Dungeon_ResetTorchBackgroundAndPlayer JSL FixWallmasterLamp diff --git a/gfx.asm b/gfx.asm index b22fba6..94cb884 100644 --- a/gfx.asm +++ b/gfx.asm @@ -45,6 +45,16 @@ FixAnimatedTiles: + LDA $02802E, X ; what we wrote over RTL +FixCloseDungeonMap: + LDA.l DRMode : CMP #$02 : BNE .vanilla + LDA $040C : BMI .vanilla + LSR : TAX + LDA.l DungeonTilesets,x + RTL + .vanilla + LDA $7EC20E + RTL + FixWallmasterLamp: ORA $0458 STY $1C : STA $1D : RTL ; what we wrote over From 3f34e50a62fd9144a152ab1eec9525dfa59ba2a3 Mon Sep 17 00:00:00 2001 From: Catobat <69204835+Catobat@users.noreply.github.com> Date: Sun, 31 Oct 2021 21:17:18 +0100 Subject: [PATCH 02/30] Improve transition animation from straight stairs --- doorrando.asm | 1 + normal.asm | 10 +++++++--- scroll.asm | 6 +++++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/doorrando.asm b/doorrando.asm index 807095c..8cceeba 100644 --- a/doorrando.asm +++ b/doorrando.asm @@ -9,6 +9,7 @@ ; Normal doors use $FE to store the trap door indicator ; Normal doors use $045e to store Y coordinate when transitioning to in-room stairs ; Normal doors use $045f to determine the order in which supertile quadrants are drawn +; Straight stairs use $046d to store X coordinate on animation start ; Spiral doors use $045e to store stair type ; Gfx uses $b1 to for sub-sub-sub-module thing diff --git a/normal.asm b/normal.asm index 3bdf962..5ac2524 100644 --- a/normal.asm +++ b/normal.asm @@ -150,15 +150,14 @@ LoadRoomVert: .notEdge lda $01 : and #$03 : cmp #$03 : bne .normal jsr ScrollToInroomStairs + stz $046d bra .end .normal ldy #$01 : jsr ShiftVariablesMainDir jsr PrepScrollToNormal .scroll - lda $01 : and #$40 : pha + lda $01 : and #$40 : sta $046d jsr ScrollX - pla : beq .end - ldy #$00 : jsr ApplyScroll .end plb ; restore db register rts @@ -291,6 +290,11 @@ StraightStairsAdj: stx $0464 : sty $012e ; what we wrote over lda.l DRMode : beq + lda $045e : bne .toInroom + lda $046d : beq .noScroll + sta $22 + ldy #$00 : jsr ApplyScroll + stz $046d + .noScroll jsr GetTileAttribute : tax lda $11 : cmp #$12 : beq .goingNorth lda $a2 : cmp #$51 : bne ++ diff --git a/scroll.asm b/scroll.asm index f66918c..435b5c9 100644 --- a/scroll.asm +++ b/scroll.asm @@ -168,7 +168,11 @@ ScrollX: ;change the X offset variables pla : sta $00 sep #$30 - lda $04 : sta $22 + lda $04 : ldx $046d : bne .straight + sta $22 : bra + + .straight + sta $046d ; set X position later + + lda $00 : sta $23 : sta $0609 : sta $060d lda $01 : sta $a9 lda $0e : asl : ora $ac : sta $ac From 1e6d79badc1f6b454bd9a067b6d56a50812e0679 Mon Sep 17 00:00:00 2001 From: Catobat <69204835+Catobat@users.noreply.github.com> Date: Sun, 31 Oct 2021 23:16:47 +0100 Subject: [PATCH 03/30] Fix bug with straight stairs and vanilla doors --- normal.asm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/normal.asm b/normal.asm index 5ac2524..13323d8 100644 --- a/normal.asm +++ b/normal.asm @@ -342,9 +342,10 @@ db $d0, $f6, $10, $1a, $f0, $00 StraightStairsFix: { + pha lda.l DRMode : bne + - !add $20 : sta $20 ;what we wrote over - + rtl + pla : !add $20 : sta $20 : rtl ;what we wrote over + + pla : rtl } StraightStairLayerFix: From e8d5a9635d885bf94006d9f5f091ca45285b1a0e Mon Sep 17 00:00:00 2001 From: codemann8 Date: Sun, 31 Oct 2021 20:56:27 -0500 Subject: [PATCH 04/30] Play Sanc music on arrival in Sanc in Standard --- music.asm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/music.asm b/music.asm index 7160ed1..a65c7b1 100644 --- a/music.asm +++ b/music.asm @@ -289,10 +289,11 @@ Overworld_MosaicDarkWorldChecks: ; ; On entry, A=16bit XY=8bit, A & X safe to mod, Y unknown Underworld_DoorDown_Entry: - LDA.l DRMode : TAX : LDA $A0 : CPX #0 : BNE .done + LDA.l $7EF3C5 : TAX : CPX #2 : !BLT .vanilla + LDA.l DRMode : BNE .done .vanilla ; thing we wrote over - CMP.w #$0012 : BNE + + LDA $A0 : CMP.w #$0012 : BNE + LDX.b #$14 ; value for Sanc music BRA .done + CMP.w #$0002 : BNE .done From ad5b78b3d1441854ec267ddb9942cd848aaf27ba Mon Sep 17 00:00:00 2001 From: codemann8 Date: Mon, 1 Nov 2021 02:09:05 -0500 Subject: [PATCH 05/30] Preserve Sanc music change in Standard --- drhooks.asm | 6 +++--- music.asm | 5 +++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/drhooks.asm b/drhooks.asm index 1d3b485..a271577 100644 --- a/drhooks.asm +++ b/drhooks.asm @@ -186,9 +186,9 @@ Main_ShowTextMessage: ; Conditionally disable UW music changes in Door Rando org $028ADB ; <- Bank02.asm:2088-2095 (LDX.b #$14 : LDA $A0 ...) -JSL.l Underworld_DoorDown_Entry : CPX #$10 -db $B0, $21 ; BCS $028B04 -BRA + : NOP #6 : + +JSL.l Underworld_DoorDown_Entry : CPX #$FF +BEQ + : db $80, $1C ; BRA $028B04 +NOP #6 : + org $02C3F2 ; <- Bank02.asm:10521 Unused call Underworld_DoorDown_Call: diff --git a/music.asm b/music.asm index a65c7b1..810d49b 100644 --- a/music.asm +++ b/music.asm @@ -289,14 +289,15 @@ Overworld_MosaicDarkWorldChecks: ; ; On entry, A=16bit XY=8bit, A & X safe to mod, Y unknown Underworld_DoorDown_Entry: - LDA.l $7EF3C5 : TAX : CPX #2 : !BLT .vanilla + LDX #$FF ; some junk value to be used later to determine if the below lines will change the track + LDA.l $7EF3C5 : AND.w #$00FF : CMP.w #2 : !BLT .vanilla LDA.l DRMode : BNE .done .vanilla ; thing we wrote over LDA $A0 : CMP.w #$0012 : BNE + LDX.b #$14 ; value for Sanc music BRA .done - + CMP.w #$0002 : BNE .done + + LDA $A2 : CMP.w #$0012 : BNE .done LDX.b #$10 ; value for Hyrule Castle music .done RTL From 2c6db075a92916e21faf095f0a47eebd1a8992f9 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Tue, 2 Nov 2021 17:17:37 -0500 Subject: [PATCH 06/30] Fixed boss music --- music.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/music.asm b/music.asm index 810d49b..38f5b56 100644 --- a/music.asm +++ b/music.asm @@ -300,5 +300,5 @@ Underworld_DoorDown_Entry: + LDA $A2 : CMP.w #$0012 : BNE .done LDX.b #$10 ; value for Hyrule Castle music .done - RTL + LDA $A0 : RTL ;-------------------------------------------------------------------------------- From 67b96b3051f92d589dc7ecd0efbf4feed0d53ba3 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Thu, 6 Jan 2022 01:52:58 -0600 Subject: [PATCH 07/30] Extended Spiral/Mimic Ledge in Inverted --- invertedmaps.asm | 51 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 43 insertions(+), 8 deletions(-) diff --git a/invertedmaps.asm b/invertedmaps.asm index 8c4b46a..52b45c0 100644 --- a/invertedmaps.asm +++ b/invertedmaps.asm @@ -160,14 +160,49 @@ LDA #$0146 : STA $2368 LDA #$0147 : STA $236A LDA #$01B3 : STA $236C LDA #$01B4 : STA $236E -LDA #$0139 : STA $2970 -STA $2C6C -LDA #$014B : STA $2972 -STA $2C6E -LDA #$016B : STA $29F0 -STA $2CEC -LDA #$0182 : STA $29F2 -STA $2CEE + +;mimic cave ledge drop +;LDA #$0139 : STA $2970 +;STA $2C6C +;LDA #$014B : STA $2972 +;STA $2C6E +;LDA #$016B : STA $29F0 +;STA $2CEC +;LDA #$0182 : STA $29F2 +;STA $2CEE + +;spiral/mimic ledge extend +LDA #$00E3 : STA $2B9C +STA $2B9E +STA $2BA0 +STA $2BA2 +STA $2BA4 +STA $2BA6 +STA $2BA8 +STA $2BAA +LDA #$014E : STA $2C1C : STA $2C1E : STA $2C24 +LDA #$0139 : STA $2C20 : STA $2C26 +LDA #$014B : STA $2C28 : STA $2C22 +LDA #$014E : STA $2C2A +LDA #$0152 : STA $2C9C : STA $2C9E : STA $2CA4 : STA $2CAA +LDA #$016B : STA $2CA0 : STA $2CA6 +LDA #$0182 : STA $2CA2 : STA $2CA8 +LDA #$022E : STA $2D1C +STA $2D1E +STA $2D20 +STA $2D22 +STA $2D24 +STA $2D26 +STA $2D28 +STA $2D2A +LDA #$0230 : STA $2D9C +STA $2D9E +STA $2DA0 +STA $2DA2 +STA $2DA4 +STA $2DA6 +STA $2DA8 +STA $2DAA .map014 LDA #$0034 : STA $3D4A From c5ff897be6b7717d3ac3bc169042ef10ccca5736 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Thu, 6 Jan 2022 11:39:21 -0600 Subject: [PATCH 08/30] Inverted TR Peg screen terrain changes --- LTTP_RND_GeneralBugfixes.asm | 3 + hooks.asm | 8 ++- invertedmaps.asm | 103 ++++++++++++++++++++++++++--------- 3 files changed, 87 insertions(+), 27 deletions(-) diff --git a/LTTP_RND_GeneralBugfixes.asm b/LTTP_RND_GeneralBugfixes.asm index 12ac54d..91b11f9 100644 --- a/LTTP_RND_GeneralBugfixes.asm +++ b/LTTP_RND_GeneralBugfixes.asm @@ -526,6 +526,9 @@ LoadGearPalettes_variable: org $02FEAB Filter_Majorly_Whiten_Color: +org $04E780 +Overworld_MemorizeMap16Change: + org $05A51D Sprite_SpawnFallingItem: diff --git a/hooks.asm b/hooks.asm index b470cb3..9d70fb0 100755 --- a/hooks.asm +++ b/hooks.asm @@ -427,8 +427,12 @@ org $02EC8D ; <- bank02.asm : 11981 (LDA.w #$020F : LDX $8A : CPX.w #$0033 : BNE JSL HardcodedRocks NOP #19 ;23 bytes removed with the JSL ;-------------------------------------------------------------------------------- -org $04E7AE ; <- bank0E.asm : 4230 (LDA $7EF287 : AND.w #$0020) -JSL.l TurtleRockPegSolved +;org $04E7AE ; <- bank0E.asm : 4230 (LDA $7EF287 : AND.w #$0020) +;JSL.l TurtleRockPegSolved +;-------------------------------------------------------------------------------- +org $1BCAA1 ; <- bank_1B.asm (LDA.w #$0212 : LDX.w #$0720 : STA.l $7E2000,X : JSL : JSL) +JSL.l Overworld_InvertedTRPuzzle +BRA + : NOP #12 : + org $04E7B9 ; <- bank0E.asm : 4237 (LDX $04C8) JMP.w TurtleRockTrollPegs diff --git a/invertedmaps.asm b/invertedmaps.asm index 52b45c0..5d6a75e 100644 --- a/invertedmaps.asm +++ b/invertedmaps.asm @@ -212,29 +212,58 @@ RTS map007: { -LDA #$021B : STA $259E -STA $25A2 -STA $25A4 -STA $261C -STA $2626 -STA $269A -STA $26A8 -STA $271A -STA $2728 -STA $279A -STA $27A8 -STA $281E -STA $2820 -STA $2822 -STA $2824 -STA $2828 -STA $289C -STA $28A6 -STA $291E -STA $2924 -LDA #$0134 : STA $269E -STA $26A4 -LDA #$0034 : STA $2826 +; hammerpeg barrier +; LDA #$021B : STA $259E +; STA $25A2 +; STA $25A4 +; STA $261C +; STA $2626 +; STA $269A +; STA $26A8 +; STA $271A +; STA $2728 +; STA $279A +; STA $27A8 +; STA $281E +; STA $2820 +; STA $2822 +; STA $2824 +; STA $2828 +; STA $289C +; STA $28A6 +; STA $291E +; STA $2924 +; LDA #$0134 : STA $269E +; STA $26A4 +; LDA #$0034 : STA $2826 + +; ledge barrier +LDA #$0163 : STA $251C : STA $259A : STA $2618 +LDA #$0152 : STA $251E : STA $2520 : STA $2522 : STA $2524 : STA $2A1E : STA $2A24 +LDA #$01F2 : STA $2526 : STA $25A8 : STA $262A +LDA #$011C : STA $259C : STA $261A +LDA #$011D : STA $259E : STA $25A0 : STA $25A2 : STA $25A4 +LDA #$011E : STA $25A6 : STA $2628 +LDA #$0125 : STA $261C : STA $269A +LDA #$021B : STA $2620 +LDA #$0126 : STA $2626 : STA $26A8 +LDA #$0124 : STA $2698 : STA $2718 : STA $2798 : STA $2818 : STA $2898 +LDA #$0127 : STA $26AA : STA $272A : STA $27AA : STA $282A : STA $28AA +LDA #$0139 : STA $289A : STA $291C +LDA #$014B : STA $28A8 : STA $2926 +LDA #$0161 : STA $2918 : STA $299A : STA $2A1C +LDA #$0141 : STA $291A : STA $299C +LDA #$014F : STA $2928 : STA $29A6 +LDA #$0150 : STA $292A : STA $29A8 : STA $2A26 +LDA #$014E : STA $299E : STA $29A4 + +; remove ladder +LDA $7EF287 : CMP.w #$0010 : BNE .ladder +RTS +.ladder +LDA #$014E : STA $29A0 : STA $29A2 +LDA #$0152 : STA $2A20 : STA $2A22 +LDA #$00E3 : STA $2AA0 : STA $2AA2 RTS } @@ -1015,8 +1044,7 @@ LDA #$0398 : STA $25A0 LDA #$0522 : STA $25A2 LDA #$0125 : STA $2620 LDA #$0126 : STA $2622 -LDA #$0239 : STA $269E -STA $26A4 +LDA #$0239 : STA $269E : STA $26A4 RTS } @@ -1290,3 +1318,28 @@ LDA.l OWTileMapAlt+$7F : AND #$0003 : CMP #$0003 : BNE + .return RTS } + +Overworld_InvertedTRPuzzle: +{ + SEP #$20 : PHB + LDA.l OWTileMapAlt+07 : BNE .inverted + LDA.b #$7E : PHA : PLB ; Set the data bank to $7E + REP #$30 + LDA.w #$0212 : LDX.w #$0720 : STA.l $2000,X ; what we wrote over + JSL.l Overworld_MemorizeMap16Change : JSL.l Overworld_DrawPersistentMap16+4 ; what we wrote over + SEP #$20 : PLB : REP #$30 + RTL + + .inverted + LDA.b #$A4 : PHA : PLB ; Set the data bank to $7E + REP #$30 + ; removes barriers from TR Peg Puzzle Ledge + LDA.w #$0180 : LDX.w #$09A0 : JSL.l Overworld_DrawPersistentMap16 + LDA.w #$0181 : LDX.w #$09A2 : JSL.l Overworld_DrawPersistentMap16 + LDA.w #$0184 : LDX.w #$0A20 : JSL.l Overworld_DrawPersistentMap16 + LDA.w #$0184 : LDX.w #$0AA0 : JSL.l Overworld_DrawPersistentMap16 + LDA.w #$0185 : LDX.w #$0A22 : JSL.l Overworld_DrawPersistentMap16 + LDA.w #$0185 : LDX.w #$0AA2 : JSL.l Overworld_DrawPersistentMap16 + SEP #$20 : PLB : REP #$30 + RTL +} From d71e873d72c5c6f988da0a2208bef470f9554feb Mon Sep 17 00:00:00 2001 From: codemann8 Date: Thu, 6 Jan 2022 12:45:27 -0600 Subject: [PATCH 09/30] Extended Spiral/Mimic Ledge in Inverted --- invertedmaps.asm | 64 ++++++++++++++++++++++++------------------------ 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/invertedmaps.asm b/invertedmaps.asm index 5d6a75e..bbc7c17 100644 --- a/invertedmaps.asm +++ b/invertedmaps.asm @@ -171,38 +171,38 @@ LDA #$01B4 : STA $236E ;LDA #$0182 : STA $29F2 ;STA $2CEE -;spiral/mimic ledge extend -LDA #$00E3 : STA $2B9C -STA $2B9E -STA $2BA0 -STA $2BA2 -STA $2BA4 -STA $2BA6 -STA $2BA8 -STA $2BAA -LDA #$014E : STA $2C1C : STA $2C1E : STA $2C24 -LDA #$0139 : STA $2C20 : STA $2C26 -LDA #$014B : STA $2C28 : STA $2C22 -LDA #$014E : STA $2C2A -LDA #$0152 : STA $2C9C : STA $2C9E : STA $2CA4 : STA $2CAA -LDA #$016B : STA $2CA0 : STA $2CA6 -LDA #$0182 : STA $2CA2 : STA $2CA8 -LDA #$022E : STA $2D1C -STA $2D1E -STA $2D20 -STA $2D22 -STA $2D24 -STA $2D26 -STA $2D28 -STA $2D2A -LDA #$0230 : STA $2D9C -STA $2D9E -STA $2DA0 -STA $2DA2 -STA $2DA4 -STA $2DA6 -STA $2DA8 -STA $2DAA +;spiral/mimic ledge extend 2bdc-2be2 8x5 +LDA #$00E3 : STA $2BDC +STA $2BDE +STA $2BE0 +STA $2BE2 +STA $2BE4 +STA $2BE6 +STA $2BE8 +STA $2BEA +LDA #$014E : STA $2C5C : STA $2C5E : STA $2C64 +LDA #$0139 : STA $2C60 : STA $2C66 +LDA #$014B : STA $2C68 : STA $2C62 +LDA #$014E : STA $2C6A +LDA #$0152 : STA $2CDC : STA $2CDE : STA $2CE4 : STA $2CEA +LDA #$016B : STA $2CE0 : STA $2CE6 +LDA #$0182 : STA $2CE2 : STA $2CE8 +LDA #$022E : STA $2D5C +STA $2D5E +STA $2D60 +STA $2D62 +STA $2D64 +STA $2D66 +STA $2D68 +STA $2D6A +LDA #$0230 : STA $2DDC +STA $2DDE +STA $2DE0 +STA $2DE2 +STA $2DE4 +STA $2DE6 +STA $2DE8 +STA $2DEA .map014 LDA #$0034 : STA $3D4A From 5589127f81c765df1b126e3092748144efe6ca80 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Thu, 13 Jan 2022 21:54:56 -0600 Subject: [PATCH 10/30] ER Fix by cassidy --- entrances.asm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/entrances.asm b/entrances.asm index 6ad367b..84d84d9 100644 --- a/entrances.asm +++ b/entrances.asm @@ -81,7 +81,7 @@ AllowStartFromSingleEntranceCave: PHA TAX - LDA.l StartingAreaExitOffset, X + LDA.l StartingAreaExitOffset, X : AND.w #$00FF BNE + JMP .done @@ -124,10 +124,11 @@ AllowStartFromSingleEntranceCave: STZ $0699 ;zero out door overlays in case starting overworld door is not set SEP #$20 ; set 8-bit accumulator - LDX $00 + LDA $7EF3C8 : TAX LDA.l StartingAreaOverworldDoor, X : STA.l $7F5099 ;Load overworld door REP #$20 ; reset 16-bit accumulator + JSL.l CacheDoorFrameData .done PLA From b5e313d70983738fbfbb838d1446034a38d99d2d Mon Sep 17 00:00:00 2001 From: codemann8 Date: Thu, 13 Jan 2022 21:56:03 -0600 Subject: [PATCH 11/30] Added Starting OW Flag Table --- events.asm | 18 ++++++++++++------ tables.asm | 11 +++++++++++ 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/events.asm b/events.asm index cad6942..c225943 100644 --- a/events.asm +++ b/events.asm @@ -154,13 +154,19 @@ OnNewFile: LDA.b #$80 : STA $7EF093 ; open skull woods curtain + - LDA.l PreopenPyramid : BEQ + - LDA.b #$20 : STA $7EF2DB ; pyramid hole already open - + + LDX.b #$7f : - ; copy over starting overworld event data + LDA StartingOverworldEvents, X : STA $7EF280, X + DEX + BPL - - LDA.l PreopenGanonsTower : BEQ + - LDA.b #$20 : STA $7EF2C3 ; Ganons Tower already open - + + ; below (indented) is obsoleted by StartingOverworldEvents table copy above + LDA.l PreopenPyramid : BEQ + + LDA.b #$20 : STA $7EF2DB ; pyramid hole already open + + + + LDA.l PreopenGanonsTower : BEQ + + LDA.b #$20 : STA $7EF2C3 ; Ganons Tower already open + + LDA StartingSword : STA $7EF359 ; set starting sword type diff --git a/tables.asm b/tables.asm index c521d22..28341d2 100644 --- a/tables.asm +++ b/tables.asm @@ -1623,6 +1623,17 @@ dw $0000, $0000, $0000, $0000, $0000, $0000, $1818, $FF00 dw $0000, $0000, $0000, $0000, $F800, $0000, $0000, $0000 dw $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000 dw $0000, $0000 + +org $30B080 ; PC 0x183080 - 0x1830FF +StartingOverworldEvents: +db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 +db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 +db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 +db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 +db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 +db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 +db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 +db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 ;-------------------------------------------------------------------------------- ; 0x182355 - 183FFF (unused) ;================================================================================ From fdea61fbf30f9583a5a5b057c69016084b958cd3 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Thu, 13 Jan 2022 22:09:01 -0600 Subject: [PATCH 12/30] Added Starting OW Flag Table --- events.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/events.asm b/events.asm index c225943..26bd5b1 100644 --- a/events.asm +++ b/events.asm @@ -154,7 +154,7 @@ OnNewFile: LDA.b #$80 : STA $7EF093 ; open skull woods curtain + - LDX.b #$7f : - ; copy over starting overworld event data + LDX.w #$007f : - ; copy over starting overworld event data LDA StartingOverworldEvents, X : STA $7EF280, X DEX BPL - From f2a03f0bda9e7381c1cf9145e225139af04245e6 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Fri, 14 Jan 2022 12:59:14 -0600 Subject: [PATCH 13/30] Reorganized and reserved new starting data section --- tables.asm | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/tables.asm b/tables.asm index 28341d2..5f27fc1 100644 --- a/tables.asm +++ b/tables.asm @@ -1615,16 +1615,11 @@ dw $0000 ;-------------------------------------------------------------------------------- ; 0x182305 - 182FFF (unused) ;================================================================================ -org $30B000 ; PC 0x183000 - 0x183054 -StartingEquipment: -dw $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000 -dw $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000 -dw $0000, $0000, $0000, $0000, $0000, $0000, $1818, $FF00 -dw $0000, $0000, $0000, $0000, $F800, $0000, $0000, $0000 -dw $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000 -dw $0000, $0000 +org $30B000 ; PC 0x183000 - 0x1832FF +StartingRoomData: +; reserved for Room Data -org $30B080 ; PC 0x183080 - 0x1830FF +org $30B280 ; PC 0x183280 - 0x1832FF StartingOverworldEvents: db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 @@ -1634,8 +1629,17 @@ db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $0 db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 db $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00 + +org $30B340 ; PC 0x183340 - 0x183393 +StartingEquipment: +dw $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000 +dw $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000 +dw $0000, $0000, $0000, $0000, $0000, $0000, $1818, $FF00 +dw $0000, $0000, $0000, $0000, $F800, $0000, $0000, $0000 +dw $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000 +dw $0000, $0000 ;-------------------------------------------------------------------------------- -; 0x182355 - 183FFF (unused) +; 0x183394 - 183FFF (unused) ;================================================================================ org $30C000 ; PC 0x184000 - 0x184007 ItemSubstitutionRules: From 3e9f598fe16cb6ce42c600e3467c3b66a55aa2e8 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Sat, 15 Jan 2022 04:07:27 -0600 Subject: [PATCH 14/30] Added flute SFX to itemget if collecting a pre-activated flute --- hooks.asm | 5 +++++ inventory.asm | 18 ++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/hooks.asm b/hooks.asm index 9d70fb0..9b68d7c 100755 --- a/hooks.asm +++ b/hooks.asm @@ -1021,6 +1021,11 @@ NOP org $07B57D ; 3B57D - Bank07.asm:8527 (LDA Link_ReceiveItemAlternates, Y : STA $03) JSL.l Link_ReceiveItemAlternatesExpanded_loadAlternate NOP + +org $08C563 +JML ItemGetAlternateSFX : NOP +org $0988A5 +JSL ItemGetOverworldAlternateSFX : NOP #5 ;-------------------------------------------------------------------------------- org $09892E ; 4892E - ancilla_init.asm:1307 (LDA BottleList, X) LDA.w BottleListExpanded, X diff --git a/inventory.asm b/inventory.asm index 5e0e918..4966ae8 100644 --- a/inventory.asm +++ b/inventory.asm @@ -1216,3 +1216,21 @@ RTL } ;-------------------------------------------------------------------------------- +; A = item id being collected +ItemGetAlternateSFX: +PEA $C567 ; PC to RTS to in bank 08 +CMP #$4A : BNE + + ; collecting pre-activated flute + LDA #$3E : JML $088007 ++ ; normal itemget sfx +LDA #$0F : JML $08800E ; what we wrote over + +; A = item id being collected +ItemGetOverworldAlternateSFX: +CMP.b #$4A : BNE + + LDA.b #$3E : STA.w $012E + RTL ++ ; normal itemget sfx +JSL Sound_SetSfxPanWithPlayerCoords : ORA.b #$0F : STA.w $012F ; what we wrote over +RTL +;-------------------------------------------------------------------------------- From cbc4bbd6f3d1ba9fb63194df8abfd50e539c3b6d Mon Sep 17 00:00:00 2001 From: codemann8 Date: Sat, 15 Jan 2022 12:22:01 -0600 Subject: [PATCH 15/30] Removed ladder from DDM --- invertedmaps.asm | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/invertedmaps.asm b/invertedmaps.asm index bbc7c17..acd0535 100644 --- a/invertedmaps.asm +++ b/invertedmaps.asm @@ -1023,12 +1023,13 @@ RTS map067: { LDA.l OWTileMapAlt+$43 : AND #$0001 : BEQ .owshuffle - LDA #$0180 : STA $275E ; ladder - LDA #$0181 : STA $2760 - LDA #$0184 : STA $27DE - STA $285E - LDA #$0185 : STA $27E0 - STA $2860 + ; ladder + ; LDA #$0180 : STA $275E + ; LDA #$0181 : STA $2760 + ; LDA #$0184 : STA $27DE + ; STA $285E + ; LDA #$0185 : STA $27E0 + ; STA $2860 LDA #$0212 : STA $2BE0 ; portal .owshuffle LDA.l OWTileMapAlt+$43 : AND #$0002 : BEQ .return From 49b0cf06693d381d5a452792ba6c4d13e5d13abb Mon Sep 17 00:00:00 2001 From: codemann8 Date: Sat, 15 Jan 2022 12:40:51 -0600 Subject: [PATCH 16/30] Inverted TR Peg screen terrain changes --- invertedmaps.asm | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/invertedmaps.asm b/invertedmaps.asm index acd0535..0bd2b48 100644 --- a/invertedmaps.asm +++ b/invertedmaps.asm @@ -255,13 +255,12 @@ LDA #$0161 : STA $2918 : STA $299A : STA $2A1C LDA #$0141 : STA $291A : STA $299C LDA #$014F : STA $2928 : STA $29A6 LDA #$0150 : STA $292A : STA $29A8 : STA $2A26 -LDA #$014E : STA $299E : STA $29A4 +LDA #$014E : STA $299E : STA $29A0 : STA $29A2 : STA $29A4 ; remove ladder LDA $7EF287 : CMP.w #$0010 : BNE .ladder RTS .ladder -LDA #$014E : STA $29A0 : STA $29A2 LDA #$0152 : STA $2A20 : STA $2A22 LDA #$00E3 : STA $2AA0 : STA $2AA2 RTS @@ -1335,8 +1334,6 @@ Overworld_InvertedTRPuzzle: LDA.b #$A4 : PHA : PLB ; Set the data bank to $7E REP #$30 ; removes barriers from TR Peg Puzzle Ledge - LDA.w #$0180 : LDX.w #$09A0 : JSL.l Overworld_DrawPersistentMap16 - LDA.w #$0181 : LDX.w #$09A2 : JSL.l Overworld_DrawPersistentMap16 LDA.w #$0184 : LDX.w #$0A20 : JSL.l Overworld_DrawPersistentMap16 LDA.w #$0184 : LDX.w #$0AA0 : JSL.l Overworld_DrawPersistentMap16 LDA.w #$0185 : LDX.w #$0A22 : JSL.l Overworld_DrawPersistentMap16 From 51d7f663c3c0f8157773c849861d9eee8f98ca9d Mon Sep 17 00:00:00 2001 From: codemann8 Date: Sat, 15 Jan 2022 13:28:45 -0600 Subject: [PATCH 17/30] Restored vanilla ladder to Dark Graveyard in Inverted --- invertedmaps.asm | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/invertedmaps.asm b/invertedmaps.asm index 0bd2b48..bbb1174 100644 --- a/invertedmaps.asm +++ b/invertedmaps.asm @@ -80,7 +80,7 @@ dw return, return, return, map067, return, map069, return, map071 ;72 73 74 75 76 77 78 79 dw return, return, return, return, return, return, return, return ;80 81 82 83 84 85 86 87 -dw map080, return, return, return, map084, return, return, return +dw map080, return, return, return, return, return, return, return ;88 89 90 91 92 93 94 95 dw return, return, map090, map091, return, return, return, return ;96 97 98 99 100 101 102 103 @@ -1061,17 +1061,7 @@ LDA #$020F : STA $2B2E RTS } -map084: { -LDA #$02F3 : STA $2422 -STA $2424 -LDA #$00C9 : STA $24A2 -STA $24A4 -LDA #$00E3 : STA $2522 -STA $2524 -RTS -} - map090: { LDA.l OWTileMapAlt+$5A : AND #$0002 : BEQ .return From b72f89ff877e0bc9425c83d2fa9a4a5367597774 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Sat, 15 Jan 2022 20:56:16 -0600 Subject: [PATCH 18/30] Made flute SFX louder for preactivated flute item get --- inventory.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/inventory.asm b/inventory.asm index 4966ae8..66716f5 100644 --- a/inventory.asm +++ b/inventory.asm @@ -1221,14 +1221,14 @@ ItemGetAlternateSFX: PEA $C567 ; PC to RTS to in bank 08 CMP #$4A : BNE + ; collecting pre-activated flute - LDA #$3E : JML $088007 + LDA #$13 : JML $088007 + ; normal itemget sfx LDA #$0F : JML $08800E ; what we wrote over ; A = item id being collected ItemGetOverworldAlternateSFX: CMP.b #$4A : BNE + - LDA.b #$3E : STA.w $012E + LDA.b #$13 : STA.w $012E RTL + ; normal itemget sfx JSL Sound_SetSfxPanWithPlayerCoords : ORA.b #$0F : STA.w $012F ; what we wrote over From c79863aad21aaed1945a75d63edaca5411118011 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Tue, 18 Jan 2022 03:14:09 -0600 Subject: [PATCH 19/30] Fixed issue with Inverted Mirror Bonks not getting applied appropriately --- inverted.asm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/inverted.asm b/inverted.asm index 2d4f6a6..4adedd6 100644 --- a/inverted.asm +++ b/inverted.asm @@ -202,7 +202,10 @@ MirrorBonk: ; otherwise fall through to .normal PHX : PHP PHB : PHK : PLB - LDX $8A : LDA.l OWTileWorldAssoc, X : BNE .endLoop ;World we're in? branch if we are in LW we don't want bonks + LDX $8A : LDA.l OWTileWorldAssoc, X + TAX : LDA.l InvertedMode : BEQ + + TXA : EOR #$40 : TAX + + TXA : BNE .endLoop ;World we're in? branch if we are in LW we don't want bonks REP #$30 LDX #$0000 .loop From bfbc7f16b1fa0d5486be7e4d097ae246100a820f Mon Sep 17 00:00:00 2001 From: codemann8 Date: Wed, 19 Jan 2022 00:23:24 -0600 Subject: [PATCH 20/30] Fixed issue with spawning on Pyramid/HC Ledge with old man --- darkworldspawn.asm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/darkworldspawn.asm b/darkworldspawn.asm index aefa8ba..1dc7a8a 100644 --- a/darkworldspawn.asm +++ b/darkworldspawn.asm @@ -10,6 +10,7 @@ DoWorldFix: LDA InvertedMode : BEQ + JMP DoWorldFix_Inverted + + LDA $7EF3CC : CMP #$04 : BEQ .aga1Alive ; if old man following, skip mirror/aga check LDA.l Bugfix_MirrorlessSQToLW : BEQ .skip_mirror_check LDA $7EF353 : AND #$02 : BEQ .noMirror ; check if we have the mirror .skip_mirror_check ; alt entrance point @@ -53,6 +54,7 @@ JMP DoWorldFix_skip_mirror_check RTL ;================================================================================ DoWorldFix_Inverted: + LDA $7EF3CC : CMP #$04 : BEQ .aga1Alive ; if old man following, skip mirror/aga check LDA.l Bugfix_MirrorlessSQToLW : BEQ .skip_mirror_check LDA $7EF353 : AND #$02 : BEQ .noMirror ; check if we have the mirror .skip_mirror_check ; alt entrance point @@ -79,7 +81,7 @@ SetDeathWorldChecked_Inverted: LDA GanonPyramidRespawn : BNE .castle ; if flag is set, force respawn at pyramid on death to ganon ++ .outdoors -JMP DoWorldFix +JMP DoWorldFix_Inverted .dungeon LDA Bugfix_PreAgaDWDungeonDeathToFakeDW : BNE .done ; if the bugfix is enabled, we do nothing on death in dungeon From 14748b77884a7c4ad7cb8114d1142d7d2a8e6f1d Mon Sep 17 00:00:00 2001 From: codemann8 Date: Wed, 19 Jan 2022 01:39:24 -0600 Subject: [PATCH 21/30] Fixed world flag on Mountain Cave start --- dr_lobby.asm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/dr_lobby.asm b/dr_lobby.asm index 15ee435..5f5b55c 100644 --- a/dr_lobby.asm +++ b/dr_lobby.asm @@ -1,6 +1,12 @@ CheckDarkWorldSpawn: STA $A0 : STA $048E ; what we wrote over - LDA.l DRFlags : AND #$0200 : BEQ + ; skip if the flag isn't set + LDA.l OldManDarkWorld : CMP $A0 : BNE + + SEP #$30 + LDA InvertedMode : BNE ++ + LDA.b #$40 : STA !DARK_WORLD : BRA +++ + ++ LDA.b #$00 : STA !DARK_WORLD + +++ REP #$30 + + LDA.l DRFlags : AND #$0200 : BEQ + ; skip if the flag isn't set LDA.l $7EF357 : AND #$00FF : BNE + ; moon pearl? LDA.l LinksHouseDarkWorld : CMP $A0 : BEQ ++ LDA.l SanctuaryDarkWorld : CMP $A0 : BEQ ++ From 1677b95744a44f8287838e6f7b053c70e75cc79f Mon Sep 17 00:00:00 2001 From: codemann8 Date: Wed, 19 Jan 2022 01:42:16 -0600 Subject: [PATCH 22/30] Restoring vanilla terrain for glitched Inverted modes --- invertedmaps.asm | 1068 +++++++++++++++++++++++----------------------- 1 file changed, 545 insertions(+), 523 deletions(-) diff --git a/invertedmaps.asm b/invertedmaps.asm index bbb1174..8ff604e 100644 --- a/invertedmaps.asm +++ b/invertedmaps.asm @@ -98,13 +98,13 @@ RTS map003: { LDA.l OWTileMapAlt+3 : AND #$0001 : BEQ .notInverted - LDA #$021A : STA $29B6 - LDA #$01F3 : STA $29B8 - LDA #$00A0 : STA $29BA - LDA #$0104 : STA $29BC - LDA #$00C6 : STA $2A34 - STA $2A38 - STA $2A3A + LDA.l WarningFlags : AND #$0020 : BNE + + LDA #$021A : STA $29B6 + LDA #$01F3 : STA $29B8 + LDA #$00A0 : STA $29BA + LDA #$0104 : STA $29BC + LDA #$00C6 : STA $2A34 : STA $2A38 : STA $2A3A + + LDA #$0034 : STA $2BE0 .notInverted LDA.l OWTileMapAlt+3 : AND #$0002 : BEQ .return @@ -116,50 +116,52 @@ RTS map005: { -LDA #$0111 : STA $206E -STA $20EC -LDA #$0113 : STA $2070 -STA $2072 -LDA #$0112 : STA $2074 -STA $20EE -STA $216C -LDA #$0116 : STA $20F0 -STA $216E -LDA #$0117 : STA $20F2 -LDA #$0118 : STA $20F4 -LDA #$011C : STA $2170 -LDA #$011D : STA $2172 -LDA #$011E : STA $2174 -LDA #$0130 : STA $21E2 -STA $21F0 -STA $22E2 -STA $22F0 -LDA #$0123 : STA $21EC -LDA #$0124 : STA $21EE -LDA #$0034 : STA $21F2 -LDA #$0126 : STA $21F4 -LDA #$0135 : STA $2262 -STA $2270 -STA $2362 -STA $2370 -LDA #$0136 : STA $2264 -STA $2266 -STA $226C -STA $226E -LDA #$0137 : STA $2268 -STA $226A -LDA #$013C : STA $22E4 -STA $22E6 -STA $22EC -STA $22EE -LDA #$013D : STA $22E8 -STA $22EA -LDA #$0144 : STA $2364 -LDA #$0145 : STA $2366 -LDA #$0146 : STA $2368 -LDA #$0147 : STA $236A -LDA #$01B3 : STA $236C -LDA #$01B4 : STA $236E +LDA.l WarningFlags : AND #$0020 : BNE + + LDA #$0111 : STA $206E + STA $20EC + LDA #$0113 : STA $2070 + STA $2072 + LDA #$0112 : STA $2074 + STA $20EE + STA $216C + LDA #$0116 : STA $20F0 + STA $216E + LDA #$0117 : STA $20F2 + LDA #$0118 : STA $20F4 + LDA #$011C : STA $2170 + LDA #$011D : STA $2172 + LDA #$011E : STA $2174 + LDA #$0130 : STA $21E2 + STA $21F0 + STA $22E2 + STA $22F0 + LDA #$0123 : STA $21EC + LDA #$0124 : STA $21EE + LDA #$0034 : STA $21F2 + LDA #$0126 : STA $21F4 + LDA #$0135 : STA $2262 + STA $2270 + STA $2362 + STA $2370 ++ LDA.l WarningFlags : AND #$0020 : BNE + + LDA #$0136 : STA $2264 + STA $2266 + STA $226C + STA $226E + LDA #$0137 : STA $2268 + STA $226A + LDA #$013C : STA $22E4 + STA $22E6 + STA $22EC + STA $22EE + LDA #$013D : STA $22E8 + STA $22EA + LDA #$0144 : STA $2364 + LDA #$0145 : STA $2366 + LDA #$0146 : STA $2368 + LDA #$0147 : STA $236A + LDA #$01B3 : STA $236C + LDA #$01B4 : STA $236E ;mimic cave ledge drop ;LDA #$0139 : STA $2970 @@ -170,6 +172,7 @@ LDA #$01B4 : STA $236E ;STA $2CEC ;LDA #$0182 : STA $29F2 ;STA $2CEE ++ ;spiral/mimic ledge extend 2bdc-2be2 8x5 LDA #$00E3 : STA $2BDC @@ -274,12 +277,12 @@ RTS map020: { -LDA #$02F1 : STA $2422 -LDA #$02F2 : STA $2424 -LDA #$0184 : STA $24A2 -STA $2522 -LDA #$0185 : STA $24A4 -STA $2524 +LDA.l WarningFlags : AND #$0020 : BNE + + LDA #$02F1 : STA $2422 + LDA #$02F2 : STA $2424 + LDA #$0184 : STA $24A2 : STA $2522 + LDA #$0185 : STA $24A4 : STA $2524 ++ RTS } @@ -473,234 +476,240 @@ RTS map048: { -LDA #$017E : STA $2050 -STA $20CE -LDA #$00D1 : STA $2052 -STA $2054 -STA $2056 -STA $2058 -STA $205A -STA $205C -STA $205E -STA $21E6 -STA $21E8 -STA $21EA -STA $21EC -STA $21EE -STA $21F0 -LDA #$00D2 : STA $2060 -STA $20E2 -STA $2164 -LDA #$0183 : STA $20D0 -STA $214E -LDA #$00C9 : STA $20D2 -STA $20D4 -STA $20D6 -STA $20D8 -STA $20DA -STA $20DC -STA $20DE -STA $2152 -STA $2154 -STA $2156 -STA $2158 -STA $215A -STA $215C -STA $215E -STA $2266 -STA $2268 -STA $226A -STA $226C -STA $226E -STA $2270 -STA $22CC -LDA #$00D0 : STA $20E0 -STA $2162 -STA $21E4 -LDA #$0153 : STA $2150 -STA $21CE -STA $21D0 -STA $2250 -STA $22CE -LDA #$00C8 : STA $2160 -STA $21E2 -STA $2264 -STA $28DA -STA $295C -LDA #$00DC : STA $21D2 -STA $21D4 -STA $21D6 -STA $21D8 -STA $21DA -STA $21DC -STA $21DE -STA $224C -LDA #$00CA : STA $21E0 -STA $2262 -STA $285A -STA $28DC -LDA #$0178 : STA $224E -LDA #$00E3 : STA $2252 -STA $2254 -LDA #$0186 : STA $22D0 -STA $234E -LDA #$0034 : STA $22D2 -STA $22D4 -STA $22D6 -STA $2350 -STA $2352 -STA $2354 -STA $2356 -STA $23D0 -STA $23D2 -STA $23D4 -STA $23D6 -STA $2452 -STA $2454 -STA $2456 -STA $2458 -STA $24D4 -STA $24D6 -STA $2554 -STA $2556 -STA $25D4 -STA $25D6 -STA $2656 -LDA #$00D3 : STA $22E2 -LDA #$0302 : STA $22E4 -LDA #$00CC : STA $22E6 -STA $22E8 -STA $22EA -STA $22EC -STA $22EE -STA $22F0 -STA $234C -LDA #$00CE : STA $2362 -STA $23E2 -STA $25D8 -STA $2658 -STA $26D8 -STA $2758 -LDA #$00C5 : STA $2364 -STA $23E4 -STA $25DC -STA $265C -STA $26DC -STA $275C -LDA #$06AB : STA $2366 -STA $23E6 -STA $2466 -STA $24E4 -STA $24E6 -STA $2760 -LDA #$00AA : STA $2368 -LDA #$0384 : STA $236A -STA $236E -STA $23EC -STA $246A -STA $24E8 -STA $24EA -STA $24EC -STA $24EE -LDA #$00AB : STA $236C -LDA #$0759 : STA $23C8 -STA $244A -STA $24CC -STA $254E -STA $26D0 -STA $2752 -STA $27D4 -LDA #$0757 : STA $23CA -STA $244C -STA $24CE -STA $2550 -STA $26D2 -STA $2754 -LDA #$01FF : STA $23CC -STA $244E -STA $24D0 -STA $2652 -STA $26D4 -STA $2756 -LDA #$017C : STA $23CE -STA $2450 -STA $24D2 -STA $2654 -STA $26D6 -LDA #$015C : STA $23E0 -LDA #$0100 : STA $245A -STA $24D8 -LDA #$01C2 : STA $245C -LDA #$0218 : STA $245E -LDA #$0162 : STA $2460 -LDA #$0106 : STA $2462 -STA $24E0 -STA $255C -LDA #$0107 : STA $2464 -STA $24E2 -LDA #$0104 : STA $24DA -STA $2558 -LDA #$01D4 : STA $24DC -LDA #$0219 : STA $24DE -LDA #$0179 : STA $2552 -STA $25D2 -LDA #$0105 : STA $255A -LDA #$0166 : STA $255E -LDA #$0766 : STA $2560 -LDA #$06B4 : STA $2562 -STA $2564 -STA $2566 -STA $2568 -STA $256A -STA $256C -STA $256E -STA $2570 -LDA #$06E5 : STA $25D0 -STA $2650 -LDA #$00C4 : STA $25DA -STA $265A -STA $26DA -STA $275A -LDA #$0171 : STA $25DE -LDA #$0165 : STA $25E4 -STA $25E6 -STA $25E8 -STA $25EA -STA $25EC -STA $25EE -STA $25F0 -LDA #$06E4 : STA $27D2 -STA $2852 -STA $2854 -STA $2856 -STA $28D4 -STA $28D6 -STA $2956 -STA $2958 -STA $29D8 -STA $29DA -LDA #$06E1 : STA $27D6 -LDA #$02FD : STA $27D8 -STA $2858 -LDA #$00CF : STA $27DA -LDA #$06E7 : STA $28D8 -STA $295A -STA $29DC - - -LDA #$0769 : STA $38F8 -LDA #$06E1 : STA $38FA -STA $38FC -STA $38FE -LDA #$06E3 : STA $3978 -LDA #$02E5 : STA $397A -STA $397E -LDA #$02EC : STA $397C -LDA #$02F0 : STA $39F8 -LDA #$02F3 : STA $39FA -STA $39FC -STA $39FE +LDA.l WarningFlags : AND #$0020 : BNE + + LDA #$017E : STA $2050 + STA $20CE + LDA #$00D1 : STA $2052 + STA $2054 + STA $2056 + STA $2058 + STA $205A + STA $205C + STA $205E + STA $21E6 + STA $21E8 + STA $21EA + STA $21EC + STA $21EE + STA $21F0 + LDA #$00D2 : STA $2060 + STA $20E2 + STA $2164 + LDA #$0183 : STA $20D0 + STA $214E + LDA #$00D0 : STA $20E0 + STA $2162 + STA $21E4 + LDA #$0153 : STA $2150 + STA $21CE + STA $21D0 + STA $2250 + STA $22CE + LDA #$00C8 : STA $2160 + STA $21E2 + STA $2264 + STA $28DA + STA $295C + LDA #$00D3 : STA $22E2 ++ LDA.l WarningFlags : AND #$0020 : BNE + + LDA #$00C9 : STA $20D2 + STA $20D4 + STA $20D6 + STA $20D8 + STA $20DA + STA $20DC + STA $20DE + STA $2152 + STA $2154 + STA $2156 + STA $2158 + STA $215A + STA $215C + STA $215E + STA $2266 + STA $2268 + STA $226A + STA $226C + STA $226E + STA $2270 + STA $22CC + LDA #$00DC : STA $21D2 + STA $21D4 + STA $21D6 + STA $21D8 + STA $21DA + STA $21DC + STA $21DE + STA $224C + LDA #$00CA : STA $21E0 + STA $2262 + STA $285A + STA $28DC + LDA #$0178 : STA $224E + LDA #$00E3 : STA $2252 + STA $2254 ++ LDA.l WarningFlags : AND #$0020 : BNE + + LDA #$0186 : STA $22D0 + STA $234E + LDA #$0034 : STA $22D2 + STA $22D4 + STA $22D6 + STA $2350 + STA $2352 + STA $2354 + STA $2356 + STA $23D0 + STA $23D2 + STA $23D4 + STA $23D6 + STA $2452 + STA $2454 + STA $2456 + STA $2458 + STA $24D4 + STA $24D6 + STA $2554 + STA $2556 + STA $25D4 + STA $25D6 + STA $2656 + LDA #$0302 : STA $22E4 + LDA #$00CC : STA $22E6 + STA $22E8 + STA $22EA + STA $22EC + STA $22EE + STA $22F0 + STA $234C + LDA #$0162 : STA $2460 + LDA #$0106 : STA $2462 + STA $24E0 + STA $255C ++ LDA.l WarningFlags : AND #$0020 : BNE + + LDA #$00CE : STA $2362 + STA $23E2 + STA $25D8 + STA $2658 + STA $26D8 + STA $2758 + LDA #$00C5 : STA $2364 + STA $23E4 + STA $25DC + STA $265C + STA $26DC + STA $275C + LDA #$06AB : STA $2366 + STA $23E6 + STA $2466 + STA $24E4 + STA $24E6 + STA $2760 + LDA #$00AA : STA $2368 + LDA #$0384 : STA $236A + STA $236E + STA $23EC + STA $246A + STA $24E8 + STA $24EA + STA $24EC + STA $24EE + LDA #$0759 : STA $23C8 + STA $244A + STA $24CC + STA $254E + STA $26D0 + STA $2752 + STA $27D4 + LDA #$00AB : STA $236C ++ LDA.l WarningFlags : AND #$0020 : BNE + + LDA #$0757 : STA $23CA + STA $244C + STA $24CE + STA $2550 + STA $26D2 + STA $2754 + LDA #$01FF : STA $23CC + STA $244E + STA $24D0 + STA $2652 + STA $26D4 + STA $2756 + LDA #$017C : STA $23CE + STA $2450 + STA $24D2 + STA $2654 + STA $26D6 + LDA #$015C : STA $23E0 + LDA #$0100 : STA $245A + STA $24D8 + LDA #$01C2 : STA $245C + LDA #$0218 : STA $245E + LDA #$0107 : STA $2464 + STA $24E2 + LDA #$0104 : STA $24DA + STA $2558 + LDA #$01D4 : STA $24DC + LDA #$0219 : STA $24DE + LDA #$0179 : STA $2552 + STA $25D2 ++ LDA.l WarningFlags : AND #$0020 : BNE + + LDA #$0105 : STA $255A + LDA #$0166 : STA $255E + LDA #$0766 : STA $2560 + LDA #$06B4 : STA $2562 + STA $2564 + STA $2566 + STA $2568 + STA $256A + STA $256C + STA $256E + STA $2570 + LDA #$00C4 : STA $25DA + STA $265A + STA $26DA + STA $275A + LDA #$0171 : STA $25DE + LDA #$0165 : STA $25E4 + STA $25E6 + STA $25E8 + STA $25EA + STA $25EC + STA $25EE + STA $25F0 + LDA #$06E4 : STA $27D2 + STA $2852 + STA $2854 + STA $2856 + STA $28D4 + STA $28D6 + STA $2956 + STA $2958 + STA $29D8 + STA $29DA ++ LDA.l WarningFlags : AND #$0020 : BNE + + LDA #$06E5 : STA $25D0 + STA $2650 + LDA #$06E1 : STA $27D6 + LDA #$02FD : STA $27D8 + STA $2858 + LDA #$00CF : STA $27DA + LDA #$06E7 : STA $28D8 + STA $295A + STA $29DC + LDA #$0769 : STA $38F8 + LDA #$06E1 : STA $38FA + STA $38FC + STA $38FE + LDA #$06E3 : STA $3978 + LDA #$02E5 : STA $397A + STA $397E + LDA #$02EC : STA $397C + LDA #$02F0 : STA $39F8 + LDA #$02F3 : STA $39FA + STA $39FC + STA $39FE ++ .map056 LDA #$0034 : STA $3D94 @@ -746,192 +755,198 @@ RTS map050: { -LDA #$01D5 : STA $2486 -LDA #$0165 : STA $2506 -LDA #$0166 : STA $2508 -STA $258A -LDA #$00C6 : STA $2586 -STA $2608 -STA $2688 -STA $2708 -STA $2788 -STA $2806 -STA $2808 -LDA #$0171 : STA $2588 -LDA #$021C : STA $260A -STA $268A -STA $270A -STA $278A -LDA #$0034 : STA $270E -STA $278E -STA $2790 -STA $280E -STA $2810 -STA $2812 -STA $2814 -STA $2816 -STA $2818 -STA $281A -STA $281C -STA $288E -STA $2892 -STA $2894 -STA $2896 -STA $2898 -STA $289A -STA $289C -STA $289E -STA $290E -STA $2910 -STA $2912 -STA $2918 -STA $291A -STA $291C -STA $291E -STA $2920 -STA $298C -STA $298E -STA $2990 -STA $2992 -STA $2998 -STA $299A -STA $299E -STA $29A0 -STA $2A06 -STA $2A08 -STA $2A0A -STA $2A0C -STA $2A10 -STA $2A12 -STA $2A14 -STA $2A16 -STA $2A18 -STA $2A1C -STA $2A1E -STA $2A84 -STA $2A86 -STA $2A88 -STA $2A8C -STA $2A8E -STA $2A90 -STA $2A92 -STA $2A94 -STA $2A96 -STA $2A98 -STA $2A9A -STA $2A9C -STA $2B06 -STA $2B0A -STA $2B0E -STA $2B12 -STA $2B1A -STA $2B84 -STA $2B86 -STA $2B88 -STA $2B8A -STA $2B8E -STA $2B92 -STA $2B94 -STA $2B98 -STA $2B9A -STA $2C04 -STA $2C08 -STA $2C0A -STA $2C0E -STA $2C12 -STA $2C14 -STA $2C18 -STA $2C86 -STA $2C88 -STA $2C8A -STA $2C90 -STA $2C92 -STA $2C94 -STA $2C98 -STA $2D0A -STA $2D0C -STA $2D10 -STA $2D14 -STA $2D16 -STA $2D8A -STA $2D8C -STA $2D8E -STA $2D94 -LDA #$016A : STA $278C -STA $280C -STA $2A82 -STA $2B02 -STA $2B82 -STA $2C02 -STA $2C82 -LDA #$01FA : STA $288C -LDA #$00DA : STA $2890 -STA $299C -STA $2B14 -STA $2B16 -STA $2B18 -STA $2B96 -STA $2C16 -STA $2C96 -STA $2D08 -STA $2D92 -LDA #$0186 : STA $290C -STA $298A -STA $2A04 -LDA #$0036 : STA $2914 -STA $2916 -STA $2994 -STA $2996 -STA $2D12 -LDA #$00E4 : STA $2986 -LDA #$00E5 : STA $2988 -LDA #$0100 : STA $29A2 -LDA #$0071 : STA $2A0E -STA $2A1A -STA $2C8C -LDA #$015C : STA $2A20 -STA $2A9E -STA $2B1C -STA $2C9A -STA $2D18 -STA $2D96 -LDA #$0104 : STA $2A22 -LDA #$01D4 : STA $2A24 -LDA #$0035 : STA $2A8A -STA $2B08 -STA $2C06 -STA $2D0E -STA $2D90 -LDA #$0162 : STA $2AA0 -STA $2B1E -STA $2B9C -STA $2D1A -STA $2D98 -LDA #$00E2 : STA $2B04 -STA $2B0C -STA $2B10 -STA $2B8C -STA $2B90 -STA $2C0C -STA $2C10 -STA $2C8E -LDA #$00F8 : STA $2C1A -LDA #$00CE : STA $2C1C -STA $2C9C -LDA #$0160 : STA $2C84 -STA $2D06 -STA $2D88 -LDA #$0167 : STA $2D04 -STA $2D86 -LDA #$0172 : STA $2E08 -LDA #$015E : STA $2E0A -STA $2E0C -STA $2E0E -STA $2E10 -STA $2E12 -STA $2E14 -LDA #$0174 : STA $2E16 - +LDA.l WarningFlags : AND #$0020 : BNE + + LDA #$0034 : STA $270E + STA $278E + STA $2790 + STA $280E + STA $2810 + STA $2812 + STA $2814 + STA $2816 + STA $2818 + STA $281A + STA $281C + STA $288E + STA $2892 + STA $2894 + STA $2896 + STA $2898 + STA $289A + STA $289C + STA $289E + STA $290E + STA $2910 + STA $2912 + STA $2918 + STA $291A + STA $291C + STA $291E + STA $2920 + STA $298C + STA $298E + STA $2990 + STA $2992 + STA $2998 + STA $299A + STA $299E + STA $29A0 + STA $2A06 + STA $2A08 + STA $2A0A + STA $2A0C + STA $2A10 + STA $2A12 ++ LDA.l WarningFlags : AND #$0020 : BNE + + LDA #$0034 : STA $2A14 + STA $2A16 + STA $2A18 + STA $2A1C + STA $2A1E + STA $2A84 + STA $2A86 + STA $2A88 + STA $2A8C + STA $2A8E + STA $2A90 + STA $2A92 + STA $2A94 + STA $2A96 + STA $2A98 + STA $2A9A + STA $2A9C + STA $2B06 + STA $2B0A + STA $2B0E + STA $2B12 + STA $2B1A + STA $2B84 + STA $2B86 + STA $2B88 + STA $2B8A + STA $2B8E + STA $2B92 + STA $2B94 + STA $2B98 + STA $2B9A + STA $2C04 + STA $2C08 + STA $2C0A + STA $2C0E + STA $2C12 + STA $2C14 + STA $2C18 + STA $2C86 + STA $2C88 + STA $2C8A ++ LDA.l WarningFlags : AND #$0020 : BNE + + LDA #$0034 : STA $2C90 + STA $2C92 + STA $2C94 + STA $2C98 + STA $2D0A + STA $2D0C + STA $2D10 + STA $2D14 + STA $2D16 + STA $2D8A + STA $2D8C + STA $2D8E + STA $2D94 + LDA #$01D5 : STA $2486 + LDA #$0165 : STA $2506 + LDA #$0166 : STA $2508 + STA $258A + LDA #$00C6 : STA $2586 + STA $2608 + STA $2688 + STA $2708 + STA $2788 + STA $2806 + STA $2808 + LDA #$0171 : STA $2588 + LDA #$021C : STA $260A + STA $268A + STA $270A + STA $278A ++ LDA.l WarningFlags : AND #$0020 : BNE + + LDA #$016A : STA $278C + STA $280C + STA $2A82 + STA $2B02 + STA $2B82 + STA $2C02 + STA $2C82 + LDA #$01FA : STA $288C + LDA #$00DA : STA $2890 + STA $299C + STA $2B14 + STA $2B16 + STA $2B18 + STA $2B96 + STA $2C16 + STA $2C96 + STA $2D08 + STA $2D92 + LDA #$0186 : STA $290C + STA $298A + STA $2A04 + LDA #$0036 : STA $2914 + STA $2916 + STA $2994 + STA $2996 + STA $2D12 + LDA #$00E4 : STA $2986 + LDA #$00E5 : STA $2988 + LDA #$0100 : STA $29A2 + LDA #$0071 : STA $2A0E + STA $2A1A + STA $2C8C ++ LDA.l WarningFlags : AND #$0020 : BNE + + LDA #$015C : STA $2A20 + STA $2A9E + STA $2B1C + STA $2C9A + STA $2D18 + STA $2D96 + LDA #$0104 : STA $2A22 + LDA #$01D4 : STA $2A24 + LDA #$0035 : STA $2A8A + STA $2B08 + STA $2C06 + STA $2D0E + STA $2D90 + LDA #$0162 : STA $2AA0 + STA $2B1E + STA $2B9C + STA $2D1A + STA $2D98 + LDA #$00E2 : STA $2B04 + STA $2B0C + STA $2B10 + STA $2B8C + STA $2B90 + STA $2C0C + STA $2C10 + STA $2C8E + LDA #$00F8 : STA $2C1A + LDA #$00CE : STA $2C1C + STA $2C9C + LDA #$0160 : STA $2C84 + STA $2D06 + STA $2D88 ++ LDA.l WarningFlags : AND #$0020 : BNE + + LDA #$0167 : STA $2D04 + STA $2D86 + LDA #$0172 : STA $2E08 + LDA #$015E : STA $2E0A + STA $2E0C + STA $2E0E + STA $2E10 + STA $2E12 + STA $2E14 + LDA #$0174 : STA $2E16 ++ RTS } @@ -943,14 +958,16 @@ RTS map053: { -LDA #$02F1 : STA $2BB0 -LDA #$02F2 : STA $2BB2 -LDA #$0184 : STA $2C30 -LDA #$0185 : STA $2C32 -LDA #$0392 : STA $2CB0 -LDA #$0393 : STA $2CB2 -LDA #$0394 : STA $2D30 -LDA #$0395 : STA $2D32 +LDA.l WarningFlags : AND #$0020 : BNE + + LDA #$02F1 : STA $2BB0 + LDA #$02F2 : STA $2BB2 + LDA #$0184 : STA $2C30 + LDA #$0185 : STA $2C32 + LDA #$0392 : STA $2CB0 + LDA #$0393 : STA $2CB2 + LDA #$0394 : STA $2D30 + LDA #$0395 : STA $2D32 ++ LDA #$0034 : STA $2F56 RTS @@ -958,32 +975,33 @@ RTS map058: { -LDA #$0774 : STA $2800 -LDA #$06E1 : STA $2802 -LDA #$0757 : STA $2804 -STA $2886 -LDA #$0779 : STA $2880 -LDA #$02EC : STA $2882 -LDA #$0759 : STA $2884 -STA $2906 -LDA #$02E5 : STA $2900 -STA $2902 -STA $2904 -LDA #$076A : STA $2908 -LDA #$02F3 : STA $2980 -STA $2982 -LDA #$02F1 : STA $2984 -LDA #$02F2 : STA $2986 -LDA #$038A : STA $2988 -LDA #$0184 : STA $2A04 -STA $2A84 -STA $2B04 -STA $2B84 -LDA #$0185 : STA $2A06 -STA $2A86 -STA $2B06 -STA $2B86 - +LDA.l WarningFlags : AND #$0020 : BNE + + LDA #$0774 : STA $2800 + LDA #$06E1 : STA $2802 + LDA #$0757 : STA $2804 + STA $2886 + LDA #$0779 : STA $2880 + LDA #$02EC : STA $2882 + LDA #$0759 : STA $2884 + STA $2906 + LDA #$02E5 : STA $2900 + STA $2902 + STA $2904 + LDA #$076A : STA $2908 + LDA #$02F3 : STA $2980 + STA $2982 + LDA #$02F1 : STA $2984 + LDA #$02F2 : STA $2986 + LDA #$038A : STA $2988 + LDA #$0184 : STA $2A04 + STA $2A84 + STA $2B04 + STA $2B84 + LDA #$0185 : STA $2A06 + STA $2A86 + STA $2B06 + STA $2B86 ++ RTS } @@ -1022,13 +1040,15 @@ RTS map067: { LDA.l OWTileMapAlt+$43 : AND #$0001 : BEQ .owshuffle - ; ladder - ; LDA #$0180 : STA $275E - ; LDA #$0181 : STA $2760 - ; LDA #$0184 : STA $27DE - ; STA $285E - ; LDA #$0185 : STA $27E0 - ; STA $2860 + LDA.l WarningFlags : AND #$0020 : BNE + + ; ladder + ; LDA #$0180 : STA $275E + ; LDA #$0181 : STA $2760 + ; LDA #$0184 : STA $27DE + ; STA $285E + ; LDA #$0185 : STA $27E0 + ; STA $2860 + + LDA #$0212 : STA $2BE0 ; portal .owshuffle LDA.l OWTileMapAlt+$43 : AND #$0002 : BEQ .return @@ -1038,33 +1058,35 @@ LDA.l OWTileMapAlt+$43 : AND #$0002 : BEQ .return RTS } -map071: -{ -LDA #$0398 : STA $25A0 -LDA #$0522 : STA $25A2 -LDA #$0125 : STA $2620 -LDA #$0126 : STA $2622 -LDA #$0239 : STA $269E : STA $26A4 - -RTS -} - map069: { LDA #$0239 : STA $3D4A RTS } +map071: +{ +LDA.l WarningFlags : AND #$0020 : BNE + + LDA #$0398 : STA $25A0 + LDA #$0522 : STA $25A2 + LDA #$0125 : STA $2620 + LDA #$0126 : STA $2622 ++ +LDA #$0239 : STA $269E : STA $26A4 + +RTS +} + map080: { LDA #$020F : STA $2B2E RTS } -{ map090: { LDA.l OWTileMapAlt+$5A : AND #$0002 : BEQ .return + ;rocks for hardlock protection LDA #$02F8 : STA $2FBC LDA #$02F9 : STA $2FBE .return From 7633c8b586c9d74e313b64c4dec79b2dfec091a1 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Wed, 19 Jan 2022 02:31:38 -0600 Subject: [PATCH 23/30] Fixed Hera boss music to correctly read boss defeated flag --- hooks.asm | 12 ++++-------- music.asm | 7 +++++++ 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/hooks.asm b/hooks.asm index 9b68d7c..1f15ee1 100755 --- a/hooks.asm +++ b/hooks.asm @@ -1915,15 +1915,11 @@ NOP #8 ;org $0AC012 ; <- 54012 - Bank0A.asm:1039 - (LDA $7EF2DB) ;JSL.l OnLoadMap ;================================================================================ -org $028B8F ; <- 10B8F - Bank02.asm:2236 (LDA $7EF374 : LSR A : BCS BRANCH_BETA) -LDA $7EF00F : BNE + : NOP -LDX.b #$F1 : STX $012C -+ +org $028B8F ; <- 10B8F - Bank02.asm:2236 (LDA $7EF374 : LSR A) +JSL Hera_Boss_Defeated : NOP ;================================================================================ -org $029090 ; <- 11090 - Bank02.asm:3099 (LDA $7EF374 : LSR A : BCS BRANCH_GAMMA) -LDA $7EF00F : BNE + : NOP -STX $012C ; DON'T MOVE THIS FORWARD OR MADNESS AWAITS -+ +org $029090 ; <- 11090 - Bank02.asm:3099 (LDA $7EF374 : LSR A) +JSL Hera_Boss_Defeated : NOP ;================================================================================ org $029798 ; <- 11798 - Bank02.asm:4287 (CMP $02895C, X : BNE BRANCH_ALPHA) NOP #6 ; remove crystal room cutscene check that causes softlocks diff --git a/music.asm b/music.asm index 3b1b120..288e1b0 100644 --- a/music.asm +++ b/music.asm @@ -206,3 +206,10 @@ Underworld_DoorDown_Entry: .done LDA $A0 : RTL ;-------------------------------------------------------------------------------- +; This is for changing to/from ToH dungeon/boss music +; +; A=16bit XY=8bit +Hera_Boss_Defeated: +LDA $7EF00F : AND.w #$00FF : BEQ + + SEC : RTL ++ CLC : RTL From 335744f7b619ddd81cf4bedfa8e02a482e90eb70 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Wed, 19 Jan 2022 03:18:31 -0600 Subject: [PATCH 24/30] Restored vanilla Ice Palace terrain for Inverted --- invertedmaps.asm | 55 ++++++++++++++++++++++++------------------------ 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/invertedmaps.asm b/invertedmaps.asm index 8ff604e..692d54e 100644 --- a/invertedmaps.asm +++ b/invertedmaps.asm @@ -1269,34 +1269,35 @@ RTS map117: { -;118 -LDA #$0239 : STA $2F50 -LDA #$0BA3 : STA $2F52 -STA $2FCE -STA $2FD0 +LDA #$0239 : STA $3352 ; portal +;LDA #$0239 : STA $2F50 ; portal inside ice palace -;126 - -LDA #$0BA3 : STA $3054 -STA $3056 -STA $3058 -STA $305A -STA $3254 -STA $3256 -STA $3258 -STA $325A -LDA #$0BAC : STA $30D4 -LDA #$0BAD : STA $30D6 -STA $3156 -STA $31D6 -LDA #$0BA9 : STA $30D8 -STA $3158 -STA $31D8 -LDA #$0BAA : STA $30DA -LDA #$0BC5 : STA $3154 -LDA #$0BC8 : STA $315A -LDA #$0BCA : STA $31D4 -LDA #$0BCD : STA $31DA +; ice palace opened +; ; map118 +; LDA #$0BA3 : STA $2F52 +; STA $2FCE +; STA $2FD0 +; ; map126 +; LDA #$0BA3 : STA $3054 +; STA $3056 +; STA $3058 +; STA $305A +; STA $3254 +; STA $3256 +; STA $3258 +; STA $325A +; LDA #$0BAC : STA $30D4 +; LDA #$0BAD : STA $30D6 +; STA $3156 +; STA $31D6 +; LDA #$0BA9 : STA $30D8 +; STA $3158 +; STA $31D8 +; LDA #$0BAA : STA $30DA +; LDA #$0BC5 : STA $3154 +; LDA #$0BC8 : STA $315A +; LDA #$0BCA : STA $31D4 +; LDA #$0BCD : STA $31DA RTS } From c7718e7a472434d06737985b80d8d445ca014e82 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Wed, 19 Jan 2022 14:39:19 -0600 Subject: [PATCH 25/30] Fixed Hera boss music to correctly read boss defeated flag --- hooks.asm | 4 ++-- music.asm | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/hooks.asm b/hooks.asm index 1f15ee1..ddeeadd 100755 --- a/hooks.asm +++ b/hooks.asm @@ -1916,10 +1916,10 @@ NOP #8 ;JSL.l OnLoadMap ;================================================================================ org $028B8F ; <- 10B8F - Bank02.asm:2236 (LDA $7EF374 : LSR A) -JSL Hera_Boss_Defeated : NOP +JSL CheckHeraBossDefeated : NOP ;================================================================================ org $029090 ; <- 11090 - Bank02.asm:3099 (LDA $7EF374 : LSR A) -JSL Hera_Boss_Defeated : NOP +JSL CheckHeraBossDefeated : NOP ;================================================================================ org $029798 ; <- 11798 - Bank02.asm:4287 (CMP $02895C, X : BNE BRANCH_ALPHA) NOP #6 ; remove crystal room cutscene check that causes softlocks diff --git a/music.asm b/music.asm index 288e1b0..d69b416 100644 --- a/music.asm +++ b/music.asm @@ -209,7 +209,7 @@ Underworld_DoorDown_Entry: ; This is for changing to/from ToH dungeon/boss music ; ; A=16bit XY=8bit -Hera_Boss_Defeated: +CheckHeraBossDefeated: LDA $7EF00F : AND.w #$00FF : BEQ + SEC : RTL + CLC : RTL From ddd86a96cfc1ad1a674cd727c22c9602694108e7 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Wed, 2 Feb 2022 20:00:49 -0600 Subject: [PATCH 26/30] Minor code improvement --- invertedmaps.asm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/invertedmaps.asm b/invertedmaps.asm index 692d54e..c4ddc47 100644 --- a/invertedmaps.asm +++ b/invertedmaps.asm @@ -1340,8 +1340,7 @@ Overworld_InvertedTRPuzzle: REP #$30 LDA.w #$0212 : LDX.w #$0720 : STA.l $2000,X ; what we wrote over JSL.l Overworld_MemorizeMap16Change : JSL.l Overworld_DrawPersistentMap16+4 ; what we wrote over - SEP #$20 : PLB : REP #$30 - RTL + BRA .return .inverted LDA.b #$A4 : PHA : PLB ; Set the data bank to $7E @@ -1351,6 +1350,8 @@ Overworld_InvertedTRPuzzle: LDA.w #$0184 : LDX.w #$0AA0 : JSL.l Overworld_DrawPersistentMap16 LDA.w #$0185 : LDX.w #$0A22 : JSL.l Overworld_DrawPersistentMap16 LDA.w #$0185 : LDX.w #$0AA2 : JSL.l Overworld_DrawPersistentMap16 + + .return SEP #$20 : PLB : REP #$30 RTL } From 98949be9bcd9ec025c9da643cd8c2965c6bf2d1f Mon Sep 17 00:00:00 2001 From: codemann8 Date: Thu, 3 Feb 2022 06:13:13 -0600 Subject: [PATCH 27/30] Changed GT/AT swap in Mixed OW to prioritize leaving AT vanilla unless GT is the only one in the starting world --- entrances.asm | 4 ++-- events.asm | 1 + inverted.asm | 6 +++--- invertedmaps.asm | 18 +++++++++--------- tables.asm | 4 ++++ 5 files changed, 19 insertions(+), 14 deletions(-) diff --git a/entrances.asm b/entrances.asm index 84d84d9..5f7a35c 100644 --- a/entrances.asm +++ b/entrances.asm @@ -20,7 +20,7 @@ LockAgahnimDoors: !BGE .crystalOrUnlock LDA #$0001 : RTL .crystalOrUnlock - LDA InvertedMode : AND.w #$00FF : BEQ .unlock + LDA SwapAgaGanonsTower : AND.w #$00FF : BEQ .unlock LDA $7EF2C3 : AND.w #$0020 : BNE .unlock ; Check if GT overlay is already on or not LDA $0308 : AND.w #$0080 : BEQ ++ ;If we are holding an item @@ -42,7 +42,7 @@ LockAgahnimDoors: RTL ;--------------------------------------------------------------------------------- FlagAgahnimDoor: - LDA.l InvertedMode : BEQ .vanilla + LDA.l SwapAgaGanonsTower : BEQ .vanilla LDA $7EF2C3 : ORA #$20 : STA $7EF2C3 ; activate GT overlay diff --git a/events.asm b/events.asm index 26bd5b1..0070759 100644 --- a/events.asm +++ b/events.asm @@ -164,6 +164,7 @@ OnNewFile: LDA.b #$20 : STA $7EF2DB ; pyramid hole already open + + LDA.l SwapAgaGanonsTower : BNE + LDA.l PreopenGanonsTower : BEQ + LDA.b #$20 : STA $7EF2C3 ; Ganons Tower already open + diff --git a/inverted.asm b/inverted.asm index 4adedd6..64fadbe 100644 --- a/inverted.asm +++ b/inverted.asm @@ -130,7 +130,7 @@ db $02, $02, $02, $00, $08, $02, $02, $00, $00, $00, $00, $01, $00, $00, $20, $0 db $02, $02, $02, $02, $02, $02, $02, $00, $00, $01, $01, $01, $02, $00, $08, $00 Electric_Barrier: - LDA InvertedMode : BEQ .done + LDA SwapAgaGanonsTower : BEQ .done LDA $7EF280, X : ORA #$40 : STA $7EF280, X ;set barrier dead .done LDA $7EF280, X ; what we wrote over @@ -138,7 +138,7 @@ RTL GanonTowerAnimation: - LDA InvertedMode : BEQ .done + LDA SwapAgaGanonsTower : BEQ .done LDA.b #$1B : STA $012F STZ $04C6 STZ $B0 @@ -162,7 +162,7 @@ RTL GanonTowerInvertedCheck: { - LDA InvertedMode : BEQ .done + LDA SwapAgaGanonsTower : BEQ .done LDA #$01 ; Load a random value so it doesn't BEQ RTL .done diff --git a/invertedmaps.asm b/invertedmaps.asm index c4ddc47..f6b9ebd 100644 --- a/invertedmaps.asm +++ b/invertedmaps.asm @@ -3,14 +3,14 @@ Overworld_LoadNewTiles: LDA $040A : AND #$00FF : CMP #$0005 : BNE + ; add sign to EDM for OWG people to read LDA #$0101 : STA $7E2E18 ; #$0101 is the sign tile16 id, $7E2D98 is the position of the tile16 on map - BRA .invertedMods - + CMP #$005B : BNE .invertedMods + BRA .atgtSwap + + CMP #$005B : BNE .atgtSwap ; add Goal sign to Pyramid LDA #$0101 : STA $7E27B6 ; Moved sign near statue LDA #$05C2 : STA $7E27B4 ; added a pyramid peg on the left of the sign - .invertedMods - LDA InvertedMode : AND #$00FF : BEQ ++ ; forced inverted changes + .atgtSwap + LDA.l SwapAgaGanonsTower : AND #$00FF : BEQ ++ ; forced inverted changes LDA $040A : AND #$00FF : CMP #$0043 : BNE + LDA #$08D5 : STA $7E235E ; GT entrance auto-opened LDA #$08E3 : STA $7E23DE @@ -24,15 +24,15 @@ Overworld_LoadNewTiles: STA $7E2560 LDA #$0E94 : STA $7E25DE LDA #$0E95 : STA $7E25E0 - BRA .postInverted - + CMP #$001B : BNE .postInverted + BRA .postAtGtSwap + + CMP #$001B : BNE .postAtGtSwap LDA #$0101 : STA $7E222C ; add sign for Tower Entry at HC - BRA .postInverted + BRA .postAtGtSwap ++ ; forced non-inverted changes - LDA $040A : AND #$00FF : CMP #$0043 : BNE .postInverted + LDA $040A : AND #$00FF : CMP #$0043 : BNE .postAtGtSwap LDA #$0101 : STA $7E2550 ; GT sign - .postInverted + .postAtGtSwap SEP #$30 LDX $8A : LDA.l OWTileMapAlt, X : BEQ .notInverted PHB diff --git a/tables.asm b/tables.asm index 5f27fc1..475d63a 100644 --- a/tables.asm +++ b/tables.asm @@ -396,6 +396,10 @@ org $30808E ; PC 0x18008E FakeBoots: db $00 ; #$00 = Off (default) - #$01 = On ;-------------------------------------------------------------------------------- +org $30808F ; PC 0x18008F +SwapAgaGanonsTower: +db $00 ; #$00 = Off (default) - #$01 = On +;-------------------------------------------------------------------------------- ; 0x18008F (unused) ;-------------------------------------------------------------------------------- org $308090 ; PC 0x180090 - 0x180097 From ece66e38df79a3ec2b3b5a51883b4965171098e7 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Sun, 6 Feb 2022 01:00:16 -0600 Subject: [PATCH 28/30] Added lowercase version of dungeon item text --- LTTP_RND_GeneralBugfixes.asm | 6 +- itemtext_lower.asm | 113 +++++++++++++++++++++++++++++++++++ 2 files changed, 118 insertions(+), 1 deletion(-) create mode 100644 itemtext_lower.asm diff --git a/LTTP_RND_GeneralBugfixes.asm b/LTTP_RND_GeneralBugfixes.asm index 7bffd26..e73cba6 100644 --- a/LTTP_RND_GeneralBugfixes.asm +++ b/LTTP_RND_GeneralBugfixes.asm @@ -348,7 +348,11 @@ endif org $328000 Extra_Text_Table: -incsrc itemtext.asm +if !FEATURE_NEW_TEXT + incsrc itemtext_lower.asm +else + incsrc itemtext.asm +endif warnpc $32E000 org $32DFD0 ; PC 0x195FD0 diff --git a/itemtext_lower.asm b/itemtext_lower.asm new file mode 100644 index 0000000..35b197b --- /dev/null +++ b/itemtext_lower.asm @@ -0,0 +1,113 @@ +org $328000 +; You have found +; the map of +Notice_MapOf: + db $74, $00, $C2, $00, $3E, $00, $44, $00, $FF, $00, $37, $00, $30, $00, $45, $00, $34, $00, $FF, $00, $35, $00, $3E, $00, $44, $00, $3D, $00, $33 + db $75, $00, $43, $00, $37, $00, $34, $00, $FF, $00, $3C, $00, $30, $00, $3F, $00, $FF, $00, $3E, $00, $35 + dw #$7F7F + +; You have found +; the compass of +Notice_CompassOf: + db $74, $00, $C2, $00, $3E, $00, $44, $00, $FF, $00, $37, $00, $30, $00, $45, $00, $34, $00, $FF, $00, $35, $00, $3E, $00, $44, $00, $3D, $00, $33 + db $75, $00, $43, $00, $37, $00, $34, $00, $FF, $00, $32, $00, $3E, $00, $3C, $00, $3F, $00, $30, $00, $42, $00, $42, $00, $FF, $00, $3E, $00, $35 + dw #$7F7F + +; Oh look! it's +; the big key of +Notice_BigKeyOf: + db $74, $00, $B8, $00, $37, $00, $FF, $00, $3B, $00, $3E, $00, $3E, $00, $3A, $00, $C7, $00, $FF, $00, $38, $00, $43, $00, $D8, $00, $42 + db $75, $00, $43, $00, $37, $00, $34, $00, $FF, $00, $31, $00, $38, $00, $36, $00, $FF, $00, $3A, $00, $34, $00, $48, $00, $FF, $00, $3E, $00, $35 + dw #$7F7F + +; this is a +; small key to +Notice_SmallKeyOf: + db $74, $00, $BD, $00, $37, $00, $38, $00, $42, $00, $FF, $00, $38, $00, $42, $00, $FF, $00, $30 + db $75, $00, $42, $00, $3C, $00, $30, $00, $3B, $00, $3B, $00, $FF, $00, $3A, $00, $34, $00, $48, $00, $FF, $00, $43, $00, $3e + dw #$7F7F + +; light world +Notice_LightWorld: + db $76, $00, $B5, $00, $38, $00, $36, $00, $37, $00, $43, $00, $FF, $00, $C0, $00, $3E, $00, $41, $00, $3B, $00, $33 + dw #$7F7F + +; dark world +Notice_DarkWorld: + db $76, $00, $AD, $00, $30, $00, $41, $00, $3A, $00, $FF, $00, $C0, $00, $3E, $00, $41, $00, $3B, $00, $33 + dw #$7F7F + +; Ganons Tower +Notice_GTower: + db $76, $00, $B0, $00, $30, $00, $3D, $00, $3E, $00, $3D, $00, $42, $00, $FF, $00, $BD, $00, $3E, $00, $46, $00, $34, $00, $41 + dw #$7F7F + +; Turtle Rock +Notice_TRock: + db $76, $00, $BD, $00, $44, $00, $41, $00, $43, $00, $3B, $00, $34, $00, $FF, $00, $BB, $00, $3E, $00, $32, $00, $3a + dw #$7F7F + +; Thieves Town +Notice_Thieves: + db $76, $00, $BD, $00, $37, $00, $38, $00, $34, $00, $45, $00, $34, $00, $42, $00, $FF, $00, $BD, $00, $3E, $00, $46, $00, $3d + dw #$7F7F + +; Tower of Hera +Notice_Hera: + db $76, $00, $BD, $00, $3E, $00, $46, $00, $34, $00, $41, $00, $FF, $00, $3E, $00, $35, $00, $FF, $00, $B1, $00, $34, $00, $41, $00, $30 + dw #$7F7F + +; Ice Palace +Notice_Ice: + db $76, $00, $B2, $00, $32, $00, $34, $00, $FF, $00, $B9, $00, $30, $00, $3B, $00, $30, $00, $32, $00, $34 + dw #$7F7F + +; Skull Woods +Notice_Skull: + db $76, $00, $BC, $00, $3A, $00, $44, $00, $3B, $00, $3B, $00, $FF, $00, $C0, $00, $3E, $00, $3E, $00, $33, $00, $42 + dw #$7F7F + +; Misery Mire +Notice_Mire: + db $76, $00, $B6, $00, $38, $00, $42, $00, $34, $00, $41, $00, $48, $00, $FF, $00, $B6, $00, $38, $00, $41, $00, $34 + dw #$7F7F + +; Dark Palace +Notice_PoD: + db $76, $00, $AD, $00, $30, $00, $41, $00, $3A, $00, $FF, $00, $B9, $00, $30, $00, $3B, $00, $30, $00, $32, $00, $34 + dw #$7F7F + +; Swamp Palace +Notice_Swamp: + db $76, $00, $BC, $00, $46, $00, $30, $00, $3C, $00, $3F, $00, $FF, $00, $B9, $00, $30, $00, $3B, $00, $30, $00, $32, $00, $34 + dw #$7F7F + +; Castle Tower +Notice_AgaTower: + db $76, $00, $AC, $00, $30, $00, $42, $00, $43, $00, $3B, $00, $34, $00, $FF, $00, $BD, $00, $3E, $00, $46, $00, $34, $00, $41 + dw #$7F7F + +; Desert Palace +Notice_Desert: + db $76, $00, $AD, $00, $34, $00, $42, $00, $34, $00, $41, $00, $43, $00, $FF, $00, $B9, $00, $30, $00, $3B, $00, $30, $00, $32, $00, $34 + dw #$7F7F + +; Eastern Palace +Notice_Eastern: + db $76, $00, $AE, $00, $30, $00, $42, $00, $43, $00, $34, $00, $41, $00, $3D, $00, $FF, $00, $B9, $00, $30, $00, $3B, $00, $30, $00, $32, $00, $34 + dw #$7F7F + +; Hyrule Castle +Notice_Castle: + db $76, $00, $B1, $00, $48, $00, $41, $00, $44, $00, $3B, $00, $34, $00, $FF, $00, $AC, $00, $30, $00, $42, $00, $43, $00, $3B, $00, $34 + dw #$7F7F + +; Hyrule Castle +Notice_Sewers: + db $76, $00, $B1, $00, $48, $00, $41, $00, $44, $00, $3B, $00, $34, $00, $FF, $00, $AC, $00, $30, $00, $42, $00, $43, $00, $3B, $00, $34 + dw #$7F7F + +; This Dungeon +Notice_Self: + db $76, $00, $43, $00, $37, $00, $38, $00, $42, $00, $FF, $00, $33, $00, $44, $00, $3D, $00, $36, $00, $34, $00, $3E, $00, $3d + dw #$7F7F From ea8f4dbc57ef009a628d06936e912fe9c6912795 Mon Sep 17 00:00:00 2001 From: codemann8 Date: Mon, 7 Feb 2022 18:00:10 -0600 Subject: [PATCH 29/30] Fixed issue with TR Peg Puzzle Portal not working --- invertedmaps.asm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/invertedmaps.asm b/invertedmaps.asm index f6b9ebd..78e93b1 100644 --- a/invertedmaps.asm +++ b/invertedmaps.asm @@ -1336,9 +1336,8 @@ Overworld_InvertedTRPuzzle: { SEP #$20 : PHB LDA.l OWTileMapAlt+07 : BNE .inverted - LDA.b #$7E : PHA : PLB ; Set the data bank to $7E REP #$30 - LDA.w #$0212 : LDX.w #$0720 : STA.l $2000,X ; what we wrote over + LDA.w #$0212 : LDX.w #$0720 : STA.l $7E2000,X ; what we wrote over JSL.l Overworld_MemorizeMap16Change : JSL.l Overworld_DrawPersistentMap16+4 ; what we wrote over BRA .return From e01e8569d74bb694f6c10dad94c5ec7268a1a71b Mon Sep 17 00:00:00 2001 From: codemann8 Date: Mon, 7 Feb 2022 19:20:32 -0600 Subject: [PATCH 30/30] Fixed issue with TR Peg Puzzle Portal not working --- invertedmaps.asm | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/invertedmaps.asm b/invertedmaps.asm index 78e93b1..c5d8ef3 100644 --- a/invertedmaps.asm +++ b/invertedmaps.asm @@ -1334,23 +1334,17 @@ RTS Overworld_InvertedTRPuzzle: { - SEP #$20 : PHB + REP #$30 LDA.l OWTileMapAlt+07 : BNE .inverted - REP #$30 LDA.w #$0212 : LDX.w #$0720 : STA.l $7E2000,X ; what we wrote over JSL.l Overworld_MemorizeMap16Change : JSL.l Overworld_DrawPersistentMap16+4 ; what we wrote over - BRA .return + RTL .inverted - LDA.b #$A4 : PHA : PLB ; Set the data bank to $7E - REP #$30 ; removes barriers from TR Peg Puzzle Ledge LDA.w #$0184 : LDX.w #$0A20 : JSL.l Overworld_DrawPersistentMap16 LDA.w #$0184 : LDX.w #$0AA0 : JSL.l Overworld_DrawPersistentMap16 LDA.w #$0185 : LDX.w #$0A22 : JSL.l Overworld_DrawPersistentMap16 LDA.w #$0185 : LDX.w #$0AA2 : JSL.l Overworld_DrawPersistentMap16 - - .return - SEP #$20 : PLB : REP #$30 RTL }