Merge branch 'musicstuff'
This commit is contained in:
@@ -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_REQUEST = $7F50AC
|
||||
!REG_SPC_LOADING = $7F50AD
|
||||
!REG_MUSIC_CONTROL = $012B
|
||||
;!REG_MUSIC_CONTROL = $012C
|
||||
!REG_MUSIC_CONTROL_REQUEST = $012C
|
||||
|
||||
35
msu.asm
35
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
|
||||
@@ -182,6 +190,7 @@ CheckMusicLoadRequest:
|
||||
.lightworld
|
||||
PHA
|
||||
LDA $7EF300 : AND.b #$40 : BEQ +
|
||||
PLA
|
||||
LDA.b #60 : BRA .check_fallback-3
|
||||
+
|
||||
- : PLA : BRA .check_fallback-3
|
||||
@@ -260,6 +269,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
|
||||
@@ -323,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
|
||||
|
||||
@@ -470,6 +484,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
|
||||
|
||||
@@ -502,6 +519,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
|
||||
@@ -510,18 +528,21 @@ 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
|
||||
|
||||
|
||||
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
|
||||
@@ -530,12 +551,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
|
||||
|
||||
|
||||
@@ -127,11 +127,18 @@ 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
|
||||
|
||||
; 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
|
||||
|
||||
@@ -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
|
||||
@@ -1619,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
|
||||
|
||||
Reference in New Issue
Block a user