From 3764deb4d34f77df5ccef9ba7d67f4c0e2bef24c Mon Sep 17 00:00:00 2001 From: Kevin Cathcart Date: Mon, 29 Jan 2018 19:18:59 -0500 Subject: [PATCH 1/6] fix Alt Door frame table (Apparently trailing commas break things) --- tables.asm | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/tables.asm b/tables.asm index 7af601d..6c75632 100644 --- a/tables.asm +++ b/tables.asm @@ -1373,22 +1373,22 @@ dw $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000 dw $0000, $0AA8, $07AA, $0000, $0000, $0000, $0000, $0000 dw $0000, $0000, $0000, $0000, $0000, $0000 EntranceAltDoorFrameTable: -dw $0000, $01aa, $8124, $87be, $8158, $0000, $0000, $0000, -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, $0000, $0000, -dw $0000, $0000, $0000, $82be, $0000, $0000, $0000, $0000, -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, $0000, $0000, -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, $0000, $0000, -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, $0000, $0000, -dw $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, -dw $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000, +dw $0000, $01aa, $8124, $87be, $8158, $0000, $0000, $0000 +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, $0000, $0000 +dw $0000, $0000, $0000, $82be, $0000, $0000, $0000, $0000 +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, $0000, $0000 +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, $0000, $0000 +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, $0000, $0000 +dw $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000 +dw $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000 dw $0000 ;=============================================================================== org $30B000 ; PC 0x183000 - 0x183054 From 5b03421e205b49f7ee35a9e6cbf1c64f1128acaa Mon Sep 17 00:00:00 2001 From: qwertymodo Date: Tue, 6 Feb 2018 22:38:27 -0800 Subject: [PATCH 2/6] MSU-1: Don't stall NMI while audio is busy loading, and wait for ending music to finish. --- hooks.asm | 3 +++ msu.asm | 77 ++++++++++++++++++++++++++++++++++++++----------------- 2 files changed, 57 insertions(+), 23 deletions(-) diff --git a/hooks.asm b/hooks.asm index 3bb2506..c780d70 100644 --- a/hooks.asm +++ b/hooks.asm @@ -1066,6 +1066,9 @@ spc_nmi: JML msu_main NOP spc_continue: + +org $0EE6EC ; <- E220 A922 - Bank0E.asm:2892 (SEP #$20) +JSL.l ending_wait ;-------------------------------------------------------------------------------- ;================================================================================ diff --git a/msu.asm b/msu.asm index c2ff499..d49dada 100644 --- a/msu.asm +++ b/msu.asm @@ -58,6 +58,7 @@ !REG_MUSIC_CONTROL = $012C !REG_CURRENT_TRACK = $0130 !REG_CURRENT_COMMAND = $0133 +!REG_MSU_LOAD_FLAG = $7F509B !REG_SPC_CONTROL = $2140 !REG_NMI_FLAGS = $4210 @@ -93,6 +94,35 @@ msu_main: SEP #$30 LDX !REG_MUSIC_CONTROL BNE command_ff + LDA !REG_MSU_LOAD_FLAG + BEQ do_fade + +msu_check_busy: + LDA !REG_MSU_STATUS + BIT !FLAG_MSU_STATUS_AUDIO_BUSY + BEQ .ready + JML spc_continue +.ready + LDA !REG_MSU_STATUS + BIT !FLAG_MSU_STATUS_TRACK_MISSING + BNE spc_fallback + LDA !VAL_VOLUME_FULL + STA !REG_TARGET_VOLUME + STA !REG_CURRENT_VOLUME + STA !REG_MSU_VOLUME + LDA !REG_MSU_LOAD_FLAG + STA !REG_MSU_CONTROL + LDA #$00 + STA !REG_MSU_LOAD_FLAG + JML spc_continue + +spc_fallback: + STZ !REG_MSU_CONTROL + STZ !REG_CURRENT_MSU_TRACK + STZ !REG_TARGET_VOLUME + STZ !REG_CURRENT_VOLUME + STZ !REG_MSU_VOLUME + JML spc_continue do_fade: LDA !REG_CURRENT_VOLUME @@ -156,28 +186,29 @@ load_track: STX !REG_MSU_TRACK_LO STZ !REG_MSU_TRACK_HI STZ !REG_MSU_CONTROL - LDA !VAL_VOLUME_FULL - STA !REG_TARGET_VOLUME - STA !REG_CURRENT_VOLUME - STA !REG_MSU_VOLUME - -msu_check_busy: - LDA !REG_MSU_STATUS - BIT !FLAG_MSU_STATUS_AUDIO_BUSY - BNE msu_check_busy - BIT !FLAG_MSU_STATUS_TRACK_MISSING - BEQ msu_play - -spc_fallback: - STZ !REG_MSU_CONTROL - STZ !REG_CURRENT_MSU_TRACK - STZ !REG_TARGET_VOLUME - STZ !REG_CURRENT_VOLUME - STZ !REG_MSU_VOLUME + LDA.l track_list,x + STA !REG_MSU_LOAD_FLAG + STX !REG_CURRENT_MSU_TRACK JML spc_continue -msu_play: - LDA.l MSUTrackList, X - STA !REG_MSU_CONTROL - STX !REG_CURRENT_MSU_TRACK - JML spc_continue \ No newline at end of file + +ending_wait: + rep #$20 + lda !REG_MSU_ID_01 + cmp !VAL_MSU_ID_01 + bne .done + lda !REG_MSU_ID_23 + cmp !VAL_MSU_ID_23 + bne .done + lda !REG_MSU_ID_45 + cmp !VAL_MSU_ID_45 + bne .done + sep #$20 +.wait + lda !REG_MSU_STATUS + bit !FLAG_MSU_STATUS_AUDIO_PLAYING + bne .wait +.done + sep #$20 + lda #$22 + rtl From 16259ce158ab19fe1d16510de2e27fb1acbaa17f Mon Sep 17 00:00:00 2001 From: Kevin Cathcart Date: Mon, 29 Jan 2018 20:47:58 -0500 Subject: [PATCH 3/6] Add light world check to more unbunny-ing code This time the code that tries to unbunny you when leaving a dungeon.This is needed to make ER's new cross world connects work properly. Move the fake world fix to happen in time for this. --- bugfixes.asm | 14 ++++++++++++-- hooks.asm | 7 +++++-- inventory.asm | 1 - 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/bugfixes.asm b/bugfixes.asm index c5fbf59..04c9038 100644 --- a/bugfixes.asm +++ b/bugfixes.asm @@ -24,7 +24,7 @@ RTL ;1 = Don't Reset Music MSMusicReset: LDA $8A : CMP.b #$80 : BNE + - LDA $23 + LDA $23 + RTL ;-------------------------------------------------------------------------------- @@ -42,4 +42,14 @@ RTL ; CPX.b #$1B : BNE + : LDA.b #$01 : RTL : + ; LDA $7EF340, X ;RTL -;-------------------------------------------------------------------------------- \ No newline at end of file +;-------------------------------------------------------------------------------- + +;-------------------------------------------------------------------------------- +FixBunnyOnExitToLightWorld: + JSL.l FakeWorldFix + LDA.w $02E0 : BEQ + + JMP.w DecideIfBunny + + + LDA $7EF357; thing we overwrote +RTL +;-------------------------------------------------------------------------------- diff --git a/hooks.asm b/hooks.asm index 3bb2506..e8255ba 100644 --- a/hooks.asm +++ b/hooks.asm @@ -1091,8 +1091,12 @@ JSL.l LoadModifiedTileBufferAddress : NOP #2 ; Permabunny Fix ;-------------------------------------------------------------------------------- org $078F32 ; <- 38F32 - Bank07.asm:2420 - (LDA $7EF357) -JSL.l DecideIfBunny +JSL.l DecideIfBunny ; for bunny beams ;-------------------------------------------------------------------------------- +org $028468 ; <- 10468 Bank02.asm:911 - (LDA $7EF357) +JSL.l FixBunnyOnExitToLightWorld ; for cross-world connections +;-------------------------------------------------------------------------------- + ;================================================================================ ; Open Mode Fixes @@ -2018,4 +2022,3 @@ org $00DF62 ; <- Bank00.asm:4672 (LDX.w #$0000 : LDY.w #$0040) org $00DF6E ; <- A few instructions later, right after JSR Do3To4High16Bit ReloadingFloorsCancel: ;================================================================================ - diff --git a/inventory.asm b/inventory.asm index 34e66ad..60abf0e 100644 --- a/inventory.asm +++ b/inventory.asm @@ -830,7 +830,6 @@ RTL ;-------------------------------------------------------------------------------- ClearOWKeys: PHA - JSL.l FakeWorldFix LDA.l GenericKeys : BEQ + PLA : LDA $7EF38B : STA $7EF36F RTL From 0c72ca9e0e63ac4b58630b07822c5ff13487c386 Mon Sep 17 00:00:00 2001 From: Kevin Cathcart Date: Mon, 5 Feb 2018 19:36:27 -0500 Subject: [PATCH 4/6] Fix not being bunny after defeating aga2 w/o moon Pearl --- LTTP_RND_GeneralBugfixes.asm | 3 +++ bugfixes.asm | 25 +++++++++++++++++++++++++ hooks.asm | 6 ++++++ 3 files changed, 34 insertions(+) diff --git a/LTTP_RND_GeneralBugfixes.asm b/LTTP_RND_GeneralBugfixes.asm index 2ad0946..37f7732 100644 --- a/LTTP_RND_GeneralBugfixes.asm +++ b/LTTP_RND_GeneralBugfixes.asm @@ -351,6 +351,9 @@ Dungeon_SaveRoomData_justKeys: org $02B861 Dungeon_SaveRoomQuadrantData: +org $02FD8A ; 17D8A - Bank07.asm: 3732 Note: Different bank +LoadGearPalettes_bunny: + org $05A51D Sprite_SpawnFallingItem: diff --git a/bugfixes.asm b/bugfixes.asm index 04c9038..2c5bc4f 100644 --- a/bugfixes.asm +++ b/bugfixes.asm @@ -53,3 +53,28 @@ FixBunnyOnExitToLightWorld: LDA $7EF357; thing we overwrote RTL ;-------------------------------------------------------------------------------- + +;-------------------------------------------------------------------------------- +; fix issue where if a player beats aga1 without moon pearl, they don't turn into +; bunny on the pyramid +FixAga2Bunny: + LDA.l FixFakeWorld : BEQ + ; Only use this fix is fakeworld fix is in use + JSL DecideIfBunny : BNE + + JSR MakeBunny + LDA.b #$04 : STA.w $012C ; play bunny music + BRA .done + + + LDA.b #$09 : STA.w $012C ; what we wrote over + .done +RTL +;-------------------------------------------------------------------------------- + +;-------------------------------------------------------------------------------- +MakeBunny: + PHX : PHY + LDA.b #$17 : STA $5D ; set player mode to permabunny + LDA.b #$01 : STA $02E0 : STA $56 ; make player look like bunny + JSL LoadGearPalettes_bunny + PLY : PLX +RTS +;-------------------------------------------------------------------------------- diff --git a/hooks.asm b/hooks.asm index e8255ba..72f1683 100644 --- a/hooks.asm +++ b/hooks.asm @@ -1097,6 +1097,12 @@ org $028468 ; <- 10468 Bank02.asm:911 - (LDA $7EF357) JSL.l FixBunnyOnExitToLightWorld ; for cross-world connections ;-------------------------------------------------------------------------------- +;================================================================================ +; Other bunny Fixes +;-------------------------------------------------------------------------------- +org $029E7C; <- 11E7C - module_ganon_emerges.asm:127 - (LDA.b #$09 : STA $012C) +JSL.l FixAga2Bunny : NOP +;-------------------------------------------------------------------------------- ;================================================================================ ; Open Mode Fixes From 84b9644ecfd0340bae4768cc908db4bf84ba2a34 Mon Sep 17 00:00:00 2001 From: sporchia Date: Wed, 7 Feb 2018 20:11:37 -0500 Subject: [PATCH 5/6] set location for ShopContentsTable fixed msu label update --- msu.asm | 6 +++--- tables.asm | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/msu.asm b/msu.asm index d49dada..9430755 100644 --- a/msu.asm +++ b/msu.asm @@ -3,7 +3,7 @@ ; MSU-1 Enhanced Audio Patch ; Zelda no Densetsu - Kamigami no Triforce ; Modified for VT Randomizer -; +; ; Author: qwertymodo ; ; Free space used: 0x77DDD-0x77F8A @@ -123,7 +123,7 @@ spc_fallback: STZ !REG_CURRENT_VOLUME STZ !REG_MSU_VOLUME JML spc_continue - + do_fade: LDA !REG_CURRENT_VOLUME CMP !REG_TARGET_VOLUME @@ -186,7 +186,7 @@ load_track: STX !REG_MSU_TRACK_LO STZ !REG_MSU_TRACK_HI STZ !REG_MSU_CONTROL - LDA.l track_list,x + LDA.l MSUTrackList,x STA !REG_MSU_LOAD_FLAG STX !REG_CURRENT_MSU_TRACK JML spc_continue diff --git a/tables.asm b/tables.asm index 6c75632..a0c8414 100644 --- a/tables.asm +++ b/tables.asm @@ -1409,10 +1409,11 @@ db $FF, $FF, $FF, $FF ;shop_config - t--- --qq ; t - 0=Shop - 1=TakeAny ; qq - # of items for sale -org $30C800 ; PC 0x184800 - 0x184FFF +org $30C800 ; PC 0x184800 - 0x18487F - max 16 shops ShopTable: ;db [id][roomID-low][roomID-high][doorID][zero][shop_config][pad][pad] db $FF, $FF, $FF, $FF, $00, $03, $00, $00 +org $30C880 ; PC 0x184880 - 0x184FFF - max 240 entries ShopContentsTable: ;db [id][item][price-low][price-high][max][repl_id][repl_price-low][repl_price-high] db $FF, $AF, $50, $00, $00, $FF, $00, $00 From b43803f8be1f5953be18733d32c7678c201b807e Mon Sep 17 00:00:00 2001 From: sporchia Date: Wed, 7 Feb 2018 20:12:31 -0500 Subject: [PATCH 6/6] date the ROM --- LTTP_RND_GeneralBugfixes.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LTTP_RND_GeneralBugfixes.asm b/LTTP_RND_GeneralBugfixes.asm index 37f7732..3ce9b93 100644 --- a/LTTP_RND_GeneralBugfixes.asm +++ b/LTTP_RND_GeneralBugfixes.asm @@ -26,7 +26,7 @@ org $3FFFFF ; <- 1FFFFF db #$00 ; expand file to 2mb org $1FFFF8 ; <- FFFF8 timestamp rom -db #$20, #$18, #$02, #$04 ; year/month/day +db #$20, #$18, #$02, #$06 ; year/month/day ;================================================================================