From c005695c185a269d31df83ef5cc8bb372cce2f1c Mon Sep 17 00:00:00 2001 From: qwertymodo Date: Fri, 30 Aug 2019 22:04:07 -0700 Subject: [PATCH 1/7] Fix victory fanfare crash --- LTTP_RND_GeneralBugfixes.asm | 2 ++ msu.asm | 14 ++++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/LTTP_RND_GeneralBugfixes.asm b/LTTP_RND_GeneralBugfixes.asm index 920214f..f187bce 100644 --- a/LTTP_RND_GeneralBugfixes.asm +++ b/LTTP_RND_GeneralBugfixes.asm @@ -80,6 +80,8 @@ db #$20, #$19, #$08, #$31 ; year/month/day !REG_MSU_DELAYED_COMMAND = $7F50A9 !REG_MSU_PACK_COUNT = $7F50AA !REG_MSU_PACK_CURRENT = $7F50AB +!REG_MSU_PACK_PREVIOUS = $7F50AC +!REG_SPC_LOADING = $7F50AD !REG_MUSIC_CONTROL = $012B ;!REG_MUSIC_CONTROL = $012C !REG_MUSIC_CONTROL_REQUEST = $012C diff --git a/msu.asm b/msu.asm index 1b9689c..25eb07e 100644 --- a/msu.asm +++ b/msu.asm @@ -260,6 +260,8 @@ CheckMusicLoadRequest: .load REP #$10 JSL Sound_LoadLightWorldSongBank_do_load + + LDA.b #$01 : STA !REG_SPC_LOADING ; Re-enable NMI and joypad LDA.b #$81 : STA $4200 @@ -510,12 +512,14 @@ pendant_fanfare: LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_TRACK_MISSING : BNE .spc LDA !REG_MSU_DELAYED_COMMAND : BNE .continue LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_PLAYING : BEQ .done +.playing + LDA #$00 : STA !REG_SPC_LOADING .continue jml pendant_continue .spc SEP #$20 - - : LDA !REG_SPC_CONTROL : BEQ - ; Wait for the track to finish loading - LDA !REG_SPC_CONTROL : BNE .continue + LDA !REG_SPC_CONTROL : BNE .playing + LDA !REG_SPC_LOADING : BNE .continue .done jml pendant_done @@ -530,12 +534,14 @@ crystal_fanfare: LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_TRACK_MISSING : BNE .spc LDA !REG_MSU_DELAYED_COMMAND : BNE .continue LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_PLAYING : BEQ .done +.playing + LDA #$00 : STA !REG_SPC_LOADING .continue jml crystal_continue .spc SEP #$20 - - : LDA !REG_SPC_CONTROL : BEQ - ; Wait for the track to finish loading - LDA !REG_SPC_CONTROL : BNE .continue + LDA !REG_SPC_CONTROL : BNE .playing + LDA !REG_SPC_LOADING : BNE .continue .done jml crystal_done From 3ab1b329ae3cd4547887409edceca5c17397d3ee Mon Sep 17 00:00:00 2001 From: qwertymodo Date: Fri, 30 Aug 2019 23:07:47 -0700 Subject: [PATCH 2/7] Fix ped pull crash --- msu.asm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/msu.asm b/msu.asm index 25eb07e..d7936b1 100644 --- a/msu.asm +++ b/msu.asm @@ -182,6 +182,7 @@ CheckMusicLoadRequest: .lightworld PHA LDA $7EF300 : AND.b #$40 : BEQ + + PLA LDA.b #60 : BRA .check_fallback-3 + - : PLA : BRA .check_fallback-3 @@ -472,6 +473,9 @@ load_track: PLY : STY $00 : SEP #$10 : PLB .done + - : TAX : CMP MSUExtendedFallbackList-1,X : BEQ + + LDA MSUExtendedFallbackList-1,X : BRA - + + STA !REG_MUSIC_CONTROL JML spc_continue From 5a20102d08903ba4335b79f5d6671d219d993811 Mon Sep 17 00:00:00 2001 From: qwertymodo Date: Sat, 31 Aug 2019 11:55:25 -0700 Subject: [PATCH 3/7] Add fast fanfare option --- msu.asm | 2 ++ tables.asm | 5 ++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/msu.asm b/msu.asm index d7936b1..e885419 100644 --- a/msu.asm +++ b/msu.asm @@ -508,6 +508,7 @@ load_track: pendant_fanfare: LDA TournamentSeed : BNE .spc + LDA FastFanfare : BNE .done REP #$20 LDA !REG_MSU_ID_01 : CMP !VAL_MSU_ID_01 : BNE .spc LDA !REG_MSU_ID_23 : CMP !VAL_MSU_ID_23 : BNE .spc @@ -530,6 +531,7 @@ pendant_fanfare: crystal_fanfare: LDA TournamentSeed : BNE .spc + LDA FastFanfare : BNE .done REP #$20 LDA !REG_MSU_ID_01 : CMP !VAL_MSU_ID_01 : BNE .spc LDA !REG_MSU_ID_23 : CMP !VAL_MSU_ID_23 : BNE .spc diff --git a/tables.asm b/tables.asm index e308114..0984f70 100644 --- a/tables.asm +++ b/tables.asm @@ -975,8 +975,11 @@ db $00, $01, $02, $03, $04 org $30821A ; PC 0x18021A NoBGM: db $00 ; $00 = BGM enabled (default) $01 = BGM disabled +org $30821B ; PC 0x18021B +FastFanfare: +db $00 ; $00 = Normal fanfare (default) $01 = Fast fanfare ;-------------------------------------------------------------------------------- -; 0x18021B - 0x18021F (unused) +; 0x18021C - 0x18021F (unused) ;================================================================================ ; $308220 (0x180220) - $30823F (0x18023F) ; Plandomizer Author Name (ASCII) - Leave unused chars as 0 From bfdd6ebe34f575064062971a748a0ee31842bafa Mon Sep 17 00:00:00 2001 From: qwertymodo Date: Fri, 6 Sep 2019 14:44:49 -0700 Subject: [PATCH 4/7] Fix dark lost woods MSU-1 secondary fallback --- tables.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tables.asm b/tables.asm index 0984f70..059c396 100644 --- a/tables.asm +++ b/tables.asm @@ -1622,7 +1622,7 @@ db $03,$03,$03,$03,$03,$00,$00,$00 MSUExtendedFallbackList: db $01,$02,$03,$04,$05,$06,$07,$08 -db $09,$0A,$0B,$0C,$0D,$0E,$0F,$0D +db $09,$0A,$0B,$0C,$0D,$0E,$0D,$10 db $11,$12,$13,$14,$15,$16,$17,$18 db $19,$1A,$1B,$1C,$1D,$1E,$1F,$20 db $21,$22,$11,$11,$10,$16,$16,$16 From 78bb832b672c54f8557325328243405952cfd070 Mon Sep 17 00:00:00 2001 From: qwertymodo Date: Fri, 6 Sep 2019 14:45:41 -0700 Subject: [PATCH 5/7] Fix lost woods music when mirroring --- music.asm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/music.asm b/music.asm index 48782d6..39374a3 100644 --- a/music.asm +++ b/music.asm @@ -127,6 +127,13 @@ Overworld_FinishMirrorWarp: LDX.b #$02 ; hyrule field theme + ; Check if we're entering the lost woods + CMP.b #$00 : BNE + + LDA $7EF300 : AND.b #$40 : BNE .endOfLightWorldChecks + LDX.b #$05 ; lost woods theme + BRA .endOfLightWorldChecks + + + ; Check if we're entering the village CMP.b #$18 : BNE .endOfLightWorldChecks From 569722dc3c36f9e1e035d78d5ddd53a3570b61d5 Mon Sep 17 00:00:00 2001 From: qwertymodo Date: Fri, 6 Sep 2019 14:46:29 -0700 Subject: [PATCH 6/7] Always play track 7 in Kakariko, regardless of game phase --- music.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/music.asm b/music.asm index 39374a3..5a53a6c 100644 --- a/music.asm +++ b/music.asm @@ -138,7 +138,7 @@ Overworld_FinishMirrorWarp: CMP.b #$18 : BNE .endOfLightWorldChecks ; Check what phase we're in - LDA $7EF3C5 : CMP.b #$03 : !BGE .endOfLightWorldChecks + ; LDA $7EF3C5 : CMP.b #$03 : !BGE .endOfLightWorldChecks LDX.b #$07 ; Default village theme (phase <3) .endOfLightWorldChecks From bebdb1fd614e57a4057de52c19715227c25b2b10 Mon Sep 17 00:00:00 2001 From: qwertymodo Date: Fri, 6 Sep 2019 14:47:05 -0700 Subject: [PATCH 7/7] Re-scan the MSU-1 fallback table on pack switch --- LTTP_RND_GeneralBugfixes.asm | 2 +- msu.asm | 15 +++++++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/LTTP_RND_GeneralBugfixes.asm b/LTTP_RND_GeneralBugfixes.asm index f187bce..54864a8 100644 --- a/LTTP_RND_GeneralBugfixes.asm +++ b/LTTP_RND_GeneralBugfixes.asm @@ -80,7 +80,7 @@ db #$20, #$19, #$08, #$31 ; year/month/day !REG_MSU_DELAYED_COMMAND = $7F50A9 !REG_MSU_PACK_COUNT = $7F50AA !REG_MSU_PACK_CURRENT = $7F50AB -!REG_MSU_PACK_PREVIOUS = $7F50AC +!REG_MSU_PACK_REQUEST = $7F50AC !REG_SPC_LOADING = $7F50AD !REG_MUSIC_CONTROL = $012B ;!REG_MUSIC_CONTROL = $012C diff --git a/msu.asm b/msu.asm index e885419..7242ad5 100644 --- a/msu.asm +++ b/msu.asm @@ -151,8 +151,16 @@ CheckMusicLoadRequest: RTL .continue + LDA TournamentSeed : BNE ++ + LDA !REG_MSU_PACK_REQUEST + CMP !REG_MSU_PACK_CURRENT : BEQ ++ + CMP !REG_MSU_PACK_COUNT : !BLT + + LDA !REG_MSU_PACK_CURRENT : STA !REG_MSU_PACK_REQUEST + + : STA !REG_MSU_PACK_CURRENT + JSL msu_init_check_fallback + ; Shut down NMI until music loads - STZ $4200 + ++ : STZ $4200 LDA NoBGM : BEQ + BRL .mute @@ -326,9 +334,12 @@ msu_init: LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_BUSY : BNE .wait_pack LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_TRACK_MISSING : BEQ .check_pack TXA : STA !REG_MSU_PACK_COUNT + BRA + ; Check the current MSU-1 pack for tracks that require SPC fallback - LDA.b #64 +.check_fallback + PHP : SEP #$10 + + : LDA.b #64 LDX.b #7 LDY.b #7