Merge branch 'musicstuff'
This commit is contained in:
@@ -75,6 +75,15 @@ db #$20, #$19, #$08, #$31 ; year/month/day
|
|||||||
!FORCE_HEART_SPAWN = "$7F5033";
|
!FORCE_HEART_SPAWN = "$7F5033";
|
||||||
!SKIP_HEART_SAVE = "$7F5034";
|
!SKIP_HEART_SAVE = "$7F5034";
|
||||||
|
|
||||||
|
; MSU-1
|
||||||
|
!REG_MSU_FALLBACK_TABLE = $7F50A0 ; 8 bytes
|
||||||
|
!REG_MSU_DELAYED_COMMAND = $7F50A9
|
||||||
|
!REG_MSU_PACK_COUNT = $7F50AA
|
||||||
|
!REG_MSU_PACK_CURRENT = $7F50AB
|
||||||
|
!REG_MUSIC_CONTROL = $012B
|
||||||
|
;!REG_MUSIC_CONTROL = $012C
|
||||||
|
!REG_MUSIC_CONTROL_REQUEST = $012C
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
|
|
||||||
incsrc hooks.asm
|
incsrc hooks.asm
|
||||||
@@ -390,6 +399,11 @@ UseImplicitRegIndexedLongJumpTable:
|
|||||||
org $008333
|
org $008333
|
||||||
Vram_EraseTilemaps_triforce:
|
Vram_EraseTilemaps_triforce:
|
||||||
|
|
||||||
|
org $008913
|
||||||
|
Sound_LoadLightWorldSongBank:
|
||||||
|
org $00891D
|
||||||
|
.do_load
|
||||||
|
|
||||||
org $00893D
|
org $00893D
|
||||||
EnableForceBlank:
|
EnableForceBlank:
|
||||||
|
|
||||||
@@ -423,6 +437,11 @@ Mirror_InitHdmaSettings:
|
|||||||
org $01873A
|
org $01873A
|
||||||
Dungeon_LoadRoom:
|
Dungeon_LoadRoom:
|
||||||
|
|
||||||
|
org $02821E
|
||||||
|
Module_PreDungeon:
|
||||||
|
org $028296
|
||||||
|
.setAmbientSfx
|
||||||
|
|
||||||
org $02A0A8
|
org $02A0A8
|
||||||
Dungeon_SaveRoomData:
|
Dungeon_SaveRoomData:
|
||||||
|
|
||||||
|
|||||||
@@ -207,6 +207,13 @@ RTL
|
|||||||
PostItemAnimation:
|
PostItemAnimation:
|
||||||
LDA.b #$00 : STA !ITEM_BUSY ; mark item as finished
|
LDA.b #$00 : STA !ITEM_BUSY ; mark item as finished
|
||||||
|
|
||||||
|
LDA $02D8 : CMP #$32 : BNE + ; Big Key
|
||||||
|
LDA $1B : BEQ + ; Check that we're indoors
|
||||||
|
LDA $040C : CMP #$1A : BNE + ; Check that we're in Ganon's Tower
|
||||||
|
LDA !REG_MSU_FALLBACK_TABLE+7 : AND #$04 : BEQ +
|
||||||
|
LDA.b #59 : STA !REG_MUSIC_CONTROL_REQUEST
|
||||||
|
+
|
||||||
|
|
||||||
LDA $7F509F : BEQ +
|
LDA $7F509F : BEQ +
|
||||||
STZ $1CF0 : STZ $1CF1 ; reset decompression buffer
|
STZ $1CF0 : STZ $1CF1 ; reset decompression buffer
|
||||||
JSL.l Main_ShowTextMessage_Alt
|
JSL.l Main_ShowTextMessage_Alt
|
||||||
|
|||||||
@@ -22,6 +22,7 @@
|
|||||||
!LOCK_STATS = "$7EF443"
|
!LOCK_STATS = "$7EF443"
|
||||||
FrameHookAction:
|
FrameHookAction:
|
||||||
JSL $0080B5 ; Module_MainRouting
|
JSL $0080B5 ; Module_MainRouting
|
||||||
|
JSL CheckMusicLoadRequest
|
||||||
PHA : PHP
|
PHA : PHP
|
||||||
;LDA EnableSRAMTrace : AND.l TournamentSeedInverse : BEQ +
|
;LDA EnableSRAMTrace : AND.l TournamentSeedInverse : BEQ +
|
||||||
; LDA $1A : BNE ++ : JSL.l WriteStatusPreview : ++ ; write every 256 frames
|
; LDA $1A : BNE ++ : JSL.l WriteStatusPreview : ++ ; write every 256 frames
|
||||||
|
|||||||
16
hooks.asm
16
hooks.asm
@@ -4,6 +4,8 @@
|
|||||||
org $00802F ; <- 2F - Bank00.asm : 45
|
org $00802F ; <- 2F - Bank00.asm : 45
|
||||||
JSL.l Init_Primary
|
JSL.l Init_Primary
|
||||||
NOP
|
NOP
|
||||||
|
org $0CC1AC ; <- 63 D4 00 - Bank0C.asm:8 (dl Tagalong_LoadGfx)
|
||||||
|
dl Init_PostRAMClear
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
@@ -1455,6 +1457,13 @@ crystal_continue:
|
|||||||
|
|
||||||
org $0EE6EC ; <- E220 A922 - Bank0E.asm:2892 (SEP #$20 : LDA.b #$22 : STA $012C)
|
org $0EE6EC ; <- E220 A922 - Bank0E.asm:2892 (SEP #$20 : LDA.b #$22 : STA $012C)
|
||||||
JSL.l ending_wait
|
JSL.l ending_wait
|
||||||
|
|
||||||
|
; Process music commands in NMI from new location after muting is processed
|
||||||
|
org $0080DD
|
||||||
|
dw !REG_MUSIC_CONTROL
|
||||||
|
|
||||||
|
org $008101
|
||||||
|
dw !REG_MUSIC_CONTROL
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
@@ -2225,6 +2234,13 @@ PreOverworld_LoadProperties_SetSong:
|
|||||||
org $05CC58 ; <- Bank05.asm:1307 (LDA $040A : CMP.b #$18)
|
org $05CC58 ; <- Bank05.asm:1307 (LDA $040A : CMP.b #$18)
|
||||||
JSL PsychoSolder_MusicCheck
|
JSL PsychoSolder_MusicCheck
|
||||||
NOP #1
|
NOP #1
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
org $02B13A ; <- Bank02.asm:7647
|
||||||
|
dl Overworld_FinishMirrorWarp
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
org $0AB949 ; <- Bank0A.asm:270 (Different from US ROM)
|
||||||
|
JSL BirdTravel_LoadTargetAreaMusic
|
||||||
|
NOP #16
|
||||||
;================================================================================
|
;================================================================================
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
|
|||||||
12
init.asm
12
init.asm
@@ -47,4 +47,14 @@ Init_Primary:
|
|||||||
|
|
||||||
LDA.b #$81 : STA $4200 ; thing we wrote over, turn on NMI & gamepad
|
LDA.b #$81 : STA $4200 ; thing we wrote over, turn on NMI & gamepad
|
||||||
RTL
|
RTL
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
; Init_PostRAMClear
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
; This gets called after banks $7E and $7F get cleared, so if we need to
|
||||||
|
; initialize RAM in those banks, do it here
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
Init_PostRAMClear:
|
||||||
|
|
||||||
|
JSL msu_init
|
||||||
|
|
||||||
|
JML $00D463 ; The original target of the jump table that we hijacked
|
||||||
391
msu.asm
391
msu.asm
@@ -6,7 +6,78 @@
|
|||||||
;
|
;
|
||||||
; Author: qwertymodo
|
; Author: qwertymodo
|
||||||
;
|
;
|
||||||
; Free space used: 0x77DDD-0x77F8A
|
; Track List:
|
||||||
|
;
|
||||||
|
; 1 - Title ~ Link to the Past
|
||||||
|
; 2 - Hyrule Field
|
||||||
|
; 3 - Time of Falling Rain
|
||||||
|
; 4 - The Silly Pink Rabbit
|
||||||
|
; 5 - Forest of Mystery
|
||||||
|
; 6 - Seal of Seven Maidens
|
||||||
|
; 7 - Kakariko Village
|
||||||
|
; 8 - Dimensional Shift (Mirror)
|
||||||
|
; 9 - Dark Golden Land
|
||||||
|
; 10 - Unsealing the Master Sword
|
||||||
|
; 11 - Beginning of the Journey
|
||||||
|
; 12 - Soldiers of Kakariko Village
|
||||||
|
; 13 - Black Mist
|
||||||
|
; 14 - Guessing Game House
|
||||||
|
; 15 - Dark Woods
|
||||||
|
; 16 - Majestic Castle
|
||||||
|
; 17 - Lost Ancient Ruins
|
||||||
|
; 18 - Dank Dungeons
|
||||||
|
; 19 - Great Victory!
|
||||||
|
; 20 - Safety in the Sanctuary
|
||||||
|
; 21 - Anger of the Guardians
|
||||||
|
; 22 - Dungeon of Shadows
|
||||||
|
; 23 - Fortune Teller
|
||||||
|
; 24 - Dank Dungeons (Copy)
|
||||||
|
; 25 - Princess Zelda's Rescue
|
||||||
|
; 26 - Meeting the Maidens
|
||||||
|
; 27 - The Goddess Appears
|
||||||
|
; 28 - Priest of the Dark Order
|
||||||
|
; 29 - Release of Ganon
|
||||||
|
; 30 - Ganon's Message
|
||||||
|
; 31 - The Prince of Darkness
|
||||||
|
; 32 - Power of the Gods
|
||||||
|
; 33 - Epilogue ~ Beautiful Hyrule
|
||||||
|
; 34 - Staff Roll
|
||||||
|
;
|
||||||
|
; Dungeon-specific tracks
|
||||||
|
;
|
||||||
|
; 35 - Eastern Palace
|
||||||
|
; 36 - Desert Palace
|
||||||
|
; 37 - Agahnim's Tower
|
||||||
|
; 38 - Swamp Palace
|
||||||
|
; 39 - Palace of Darkness
|
||||||
|
; 40 - Misery Mire
|
||||||
|
; 41 - Skull Woods
|
||||||
|
; 42 - Ice Palace
|
||||||
|
; 43 - Tower of Hera
|
||||||
|
; 44 - Thieves' Town
|
||||||
|
; 45 - Turtle Rock
|
||||||
|
; 46 - Ganon's Tower
|
||||||
|
; 59 - Ganon's Tower (Upstairs)
|
||||||
|
;
|
||||||
|
; Bosses
|
||||||
|
;
|
||||||
|
; 47 - Eastern Palace
|
||||||
|
; 48 - Desert Palace
|
||||||
|
; 49 - Agahnim's Tower
|
||||||
|
; 50 - Swamp Palace
|
||||||
|
; 51 - Palace of Darkness
|
||||||
|
; 52 - Misery Mire
|
||||||
|
; 53 - Skull Woods
|
||||||
|
; 54 - Ice Palace
|
||||||
|
; 55 - Tower of Hera
|
||||||
|
; 56 - Thieves' Town
|
||||||
|
; 57 - Turtle Rock
|
||||||
|
; 58 - Ganon's Tower
|
||||||
|
;
|
||||||
|
; Additional tracks
|
||||||
|
;
|
||||||
|
; 60 - Light World OW (after ped pull)
|
||||||
|
; 61 - Dark World OW (with all crystals)
|
||||||
;
|
;
|
||||||
;=======================================
|
;=======================================
|
||||||
|
|
||||||
@@ -52,18 +123,15 @@
|
|||||||
!FLAG_MSU_STATUS_DATA_BUSY = #$80
|
!FLAG_MSU_STATUS_DATA_BUSY = #$80
|
||||||
|
|
||||||
|
|
||||||
|
!REG_CURRENT_MSU_TRACK = $010B
|
||||||
!REG_CURRENT_VOLUME = $0127
|
!REG_CURRENT_VOLUME = $0127
|
||||||
!REG_TARGET_VOLUME = $0129
|
!REG_TARGET_VOLUME = $0129
|
||||||
!REG_CURRENT_MSU_TRACK = $012B
|
|
||||||
!REG_MUSIC_CONTROL = $012C
|
|
||||||
!REG_CURRENT_TRACK = $0130
|
!REG_CURRENT_TRACK = $0130
|
||||||
!REG_CURRENT_COMMAND = $0133
|
!REG_CURRENT_COMMAND = $0133
|
||||||
!REG_MSU_LOAD_FLAG = $7F509B
|
|
||||||
|
|
||||||
!REG_SPC_CONTROL = $2140
|
!REG_SPC_CONTROL = $2140
|
||||||
!REG_NMI_FLAGS = $4210
|
!REG_NMI_FLAGS = $4210
|
||||||
|
|
||||||
|
|
||||||
!VAL_COMMAND_FADE_OUT = #$F1
|
!VAL_COMMAND_FADE_OUT = #$F1
|
||||||
!VAL_COMMAND_FADE_HALF = #$F2
|
!VAL_COMMAND_FADE_HALF = #$F2
|
||||||
!VAL_COMMAND_FULL_VOLUME = #$F3
|
!VAL_COMMAND_FULL_VOLUME = #$F3
|
||||||
@@ -74,6 +142,218 @@
|
|||||||
!VAL_VOLUME_HALF = #$80
|
!VAL_VOLUME_HALF = #$80
|
||||||
!VAL_VOLUME_FULL = #$FF
|
!VAL_VOLUME_FULL = #$FF
|
||||||
|
|
||||||
|
CheckMusicLoadRequest:
|
||||||
|
PHP : REP #$10 : PHA : PHX : PHY
|
||||||
|
LDA !REG_MUSIC_CONTROL_REQUEST : BEQ .skip : BMI .skip : CMP !REG_CURRENT_COMMAND : BNE .continue
|
||||||
|
.skip
|
||||||
|
STA !REG_MUSIC_CONTROL : STZ !REG_MUSIC_CONTROL_REQUEST
|
||||||
|
PLY : PLX : PLA : PLP
|
||||||
|
RTL
|
||||||
|
|
||||||
|
.continue
|
||||||
|
; Shut down NMI until music loads
|
||||||
|
STZ $4200
|
||||||
|
|
||||||
|
LDA NoBGM : BEQ +
|
||||||
|
BRL .mute
|
||||||
|
+
|
||||||
|
|
||||||
|
LDX !REG_MSU_ID_01 : CPX !VAL_MSU_ID_01 : BEQ +
|
||||||
|
- : BRL .unmute
|
||||||
|
+
|
||||||
|
LDX !REG_MSU_ID_23 : CPX !VAL_MSU_ID_23 : BNE -
|
||||||
|
LDX !REG_MSU_ID_45 : CPX !VAL_MSU_ID_45 : BNE -
|
||||||
|
|
||||||
|
SEP #$10
|
||||||
|
; Load alternate or dungeon-specific tracks
|
||||||
|
LDA !REG_MUSIC_CONTROL_REQUEST
|
||||||
|
|
||||||
|
CMP.b #02 : BEQ .lightworld
|
||||||
|
CMP.b #09 : BEQ .darkworld
|
||||||
|
CMP.b #13 : BEQ .darkwoods
|
||||||
|
CMP.b #16 : BEQ .castle
|
||||||
|
CMP.b #17 : BEQ .dungeon
|
||||||
|
CMP.b #22 : BEQ .dungeon
|
||||||
|
CMP.b #21 : BNE .check_fallback
|
||||||
|
|
||||||
|
;.boss
|
||||||
|
LDA $040C : LSR : !ADD.b #45
|
||||||
|
BRA .check_fallback-3
|
||||||
|
.lightworld
|
||||||
|
PHA
|
||||||
|
LDA $7EF300 : AND.b #$40 : BEQ +
|
||||||
|
LDA.b #60 : BRA .check_fallback-3
|
||||||
|
+
|
||||||
|
- : PLA : BRA .check_fallback-3
|
||||||
|
.darkworld
|
||||||
|
PHA
|
||||||
|
LDA $7EF371 : CMP.b #$7F : BNE -
|
||||||
|
PLA
|
||||||
|
LDA.b #61 : BRA .check_fallback-3
|
||||||
|
.darkwoods
|
||||||
|
PHA
|
||||||
|
LDA $7EF3CA : BEQ -
|
||||||
|
LDA $8A : CMP #$40 : BNE -
|
||||||
|
PLA
|
||||||
|
LDA.b #15 : BRA .check_fallback-3
|
||||||
|
.castle
|
||||||
|
LDA $040C
|
||||||
|
CMP.b #$08 : BNE .check_fallback ; Hyrule Castle 2
|
||||||
|
.dungeon
|
||||||
|
LDA $040C : LSR : !ADD.b #33 : STA !REG_MUSIC_CONTROL_REQUEST
|
||||||
|
CMP.b #46 : BNE .check_fallback
|
||||||
|
|
||||||
|
; Ganon's Tower
|
||||||
|
LDA $7EF366 : AND.b #$04 : BEQ .check_fallback ; Check if we have the GT big key
|
||||||
|
LDA !REG_MSU_FALLBACK_TABLE+7 : AND.b #$04 : BEQ .check_fallback ; Check if the 2nd GT track exists
|
||||||
|
LDA.b #59
|
||||||
|
STA !REG_MUSIC_CONTROL_REQUEST
|
||||||
|
|
||||||
|
.check_fallback
|
||||||
|
LDA !REG_MUSIC_CONTROL_REQUEST : DEC : PHA
|
||||||
|
AND.b #$07 : TAY
|
||||||
|
PLA : LSR #3 : TAX
|
||||||
|
LDA !REG_MSU_FALLBACK_TABLE,X : BEQ .secondary_fallback : CMP.b #$FF : BEQ .mute
|
||||||
|
|
||||||
|
- : CPY #$00 : BEQ +
|
||||||
|
LSR : DEY : BRA -
|
||||||
|
+
|
||||||
|
|
||||||
|
AND.b #$01 : BEQ .secondary_fallback
|
||||||
|
|
||||||
|
.mute
|
||||||
|
LDA.b #$FF : STA $2140
|
||||||
|
LDA.b #SPCMutePayload : STA $00
|
||||||
|
LDA.b #SPCMutePayload>>8 : STA $01
|
||||||
|
LDA.b #SPCMutePayload>>16
|
||||||
|
BRA .load
|
||||||
|
|
||||||
|
.secondary_fallback
|
||||||
|
LDX !REG_MUSIC_CONTROL_REQUEST : LDA MSUExtendedFallbackList-1,X
|
||||||
|
CMP !REG_MUSIC_CONTROL_REQUEST : BEQ .unmute
|
||||||
|
CPX #35 : !BLT +
|
||||||
|
CPX #47 : !BLT .dungeon_fallback
|
||||||
|
+
|
||||||
|
|
||||||
|
STA !REG_MUSIC_CONTROL_REQUEST
|
||||||
|
BRA .check_fallback
|
||||||
|
|
||||||
|
.dungeon_fallback
|
||||||
|
PHB : REP #$10
|
||||||
|
LDX $040C
|
||||||
|
LDA.b #Music_Eastern>>16 : PHA : PLB ; Set bank to music pointers
|
||||||
|
LDY $00 : PHY
|
||||||
|
REP #$20
|
||||||
|
LDA MSUDungeonFallbackList,X : STA $00
|
||||||
|
SEP #$20
|
||||||
|
LDA ($00)
|
||||||
|
PLY : STY $00 : SEP #$10 : PLB
|
||||||
|
STA !REG_MUSIC_CONTROL_REQUEST
|
||||||
|
BRA .check_fallback
|
||||||
|
|
||||||
|
.unmute
|
||||||
|
LDA.b #$FF : STA $2140
|
||||||
|
LDA.b #SPCUnmutePayload : STA $00
|
||||||
|
LDA.b #SPCUnmutePayload>>8 : STA $01
|
||||||
|
LDA.b #SPCUnmutePayload>>16
|
||||||
|
|
||||||
|
.load
|
||||||
|
REP #$10
|
||||||
|
JSL Sound_LoadLightWorldSongBank_do_load
|
||||||
|
|
||||||
|
; Re-enable NMI and joypad
|
||||||
|
LDA.b #$81 : STA $4200
|
||||||
|
|
||||||
|
LDA !REG_MUSIC_CONTROL_REQUEST : CMP.b #08 : BEQ .done+3 ; No SFX during warp track
|
||||||
|
|
||||||
|
LDA $10
|
||||||
|
CMP.b #$07 : BEQ .sfx_indoors
|
||||||
|
CMP.b #$0E : BEQ .sfx_indoors
|
||||||
|
CMP.b #$09 : BNE .done
|
||||||
|
|
||||||
|
.sfx_outdoors
|
||||||
|
SEP #$10
|
||||||
|
LDX.b #$05
|
||||||
|
LDA $8A : CMP.b #$70 : BNE + ; Misery Mire
|
||||||
|
LDA $7EF2F0 : AND.b #$20 : BEQ .rain
|
||||||
|
+
|
||||||
|
|
||||||
|
LDA $7EF3C5 : CMP.b #$02 : BCS +
|
||||||
|
.rain
|
||||||
|
LDX.b #$01
|
||||||
|
+
|
||||||
|
STX $012D
|
||||||
|
REP #$10
|
||||||
|
|
||||||
|
.done
|
||||||
|
LDA !REG_MUSIC_CONTROL_REQUEST : STA !REG_MUSIC_CONTROL : STZ !REG_MUSIC_CONTROL_REQUEST
|
||||||
|
PLY : PLX : PLA : PLP
|
||||||
|
RTL
|
||||||
|
|
||||||
|
.sfx_indoors
|
||||||
|
LDA !REG_MUSIC_CONTROL_REQUEST : STA !REG_MUSIC_CONTROL : STZ !REG_MUSIC_CONTROL_REQUEST
|
||||||
|
PLY : PLX : PLA : PLP
|
||||||
|
JML Module_PreDungeon_setAmbientSfx
|
||||||
|
|
||||||
|
msu_init:
|
||||||
|
PHP : REP #$20
|
||||||
|
LDA.w #$0000
|
||||||
|
STA !REG_MSU_VOLUME
|
||||||
|
STA !REG_MSU_PACK_COUNT
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
; Count the number of available MSU-1 packs
|
||||||
|
LDA.w #$0000
|
||||||
|
LDX.b #$FF
|
||||||
|
LDY.b #$01
|
||||||
|
SEP #$20
|
||||||
|
|
||||||
|
.check_pack
|
||||||
|
TYA
|
||||||
|
REP #$20
|
||||||
|
STA !REG_MSU_TRACK
|
||||||
|
!ADD.w #100
|
||||||
|
INX
|
||||||
|
SEP #$20
|
||||||
|
TAY
|
||||||
|
.wait_pack
|
||||||
|
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
|
||||||
|
|
||||||
|
; Check the current MSU-1 pack for tracks that require SPC fallback
|
||||||
|
LDA.b #64
|
||||||
|
LDX.b #7
|
||||||
|
LDY.b #7
|
||||||
|
|
||||||
|
.check_track
|
||||||
|
STA !REG_MSU_TRACK_LO
|
||||||
|
STZ !REG_MSU_TRACK_HI
|
||||||
|
PHA
|
||||||
|
CLC
|
||||||
|
|
||||||
|
.wait_track
|
||||||
|
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_BUSY : BNE .wait_track
|
||||||
|
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_TRACK_MISSING : BNE +
|
||||||
|
SEC
|
||||||
|
+
|
||||||
|
LDA !REG_MSU_FALLBACK_TABLE,X : ROL : STA !REG_MSU_FALLBACK_TABLE,X
|
||||||
|
|
||||||
|
DEY : BPL .next_track
|
||||||
|
DEX : BPL +
|
||||||
|
PLA
|
||||||
|
.done
|
||||||
|
PLP
|
||||||
|
RTL
|
||||||
|
+
|
||||||
|
LDY.b #7
|
||||||
|
.next_track
|
||||||
|
PLA : DEC
|
||||||
|
BRA .check_track
|
||||||
|
|
||||||
msu_main:
|
msu_main:
|
||||||
SEP #$20 ; set 8-BIT accumulator
|
SEP #$20 ; set 8-BIT accumulator
|
||||||
LDA $4210 ; thing we wrote over
|
LDA $4210 ; thing we wrote over
|
||||||
@@ -87,29 +367,23 @@ msu_main:
|
|||||||
LDA !REG_MSU_ID_45 : CMP !VAL_MSU_ID_45 : BNE .nomsu
|
LDA !REG_MSU_ID_45 : CMP !VAL_MSU_ID_45 : BNE .nomsu
|
||||||
SEP #$30
|
SEP #$30
|
||||||
LDX !REG_MUSIC_CONTROL : BNE command_ff
|
LDX !REG_MUSIC_CONTROL : BNE command_ff
|
||||||
LDA !REG_MSU_LOAD_FLAG : BEQ do_fade
|
LDA !REG_MSU_DELAYED_COMMAND : BEQ do_fade
|
||||||
|
|
||||||
msu_check_busy:
|
msu_check_busy:
|
||||||
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_BUSY : BEQ .ready
|
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_BUSY : BEQ .ready
|
||||||
JML spc_continue
|
JML spc_continue
|
||||||
.ready
|
.ready
|
||||||
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_TRACK_MISSING : BNE spc_fallback
|
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_TRACK_MISSING : BEQ .start
|
||||||
|
JML spc_continue
|
||||||
|
.start
|
||||||
LDA !VAL_VOLUME_FULL
|
LDA !VAL_VOLUME_FULL
|
||||||
STA !REG_TARGET_VOLUME
|
STA !REG_TARGET_VOLUME
|
||||||
STA !REG_CURRENT_VOLUME
|
STA !REG_CURRENT_VOLUME
|
||||||
STA !REG_MSU_VOLUME
|
STA !REG_MSU_VOLUME
|
||||||
LDA !REG_MSU_LOAD_FLAG
|
LDA !REG_MSU_DELAYED_COMMAND
|
||||||
STA !REG_MSU_CONTROL
|
STA !REG_MSU_CONTROL
|
||||||
LDA #$00
|
LDA.b #$00
|
||||||
STA !REG_MSU_LOAD_FLAG
|
STA !REG_MSU_DELAYED_COMMAND
|
||||||
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
|
JML spc_continue
|
||||||
|
|
||||||
do_fade:
|
do_fade:
|
||||||
@@ -157,16 +431,73 @@ command_f1:
|
|||||||
JML spc_continue
|
JML spc_continue
|
||||||
|
|
||||||
load_track:
|
load_track:
|
||||||
CPX !REG_CURRENT_MSU_TRACK : BNE .continue
|
CPX !REG_CURRENT_MSU_TRACK : BNE +
|
||||||
CPX #$1B : BEQ .continue
|
- : CPX #27 : BEQ +
|
||||||
JML spc_continue
|
JML spc_continue
|
||||||
.continue
|
+
|
||||||
STX !REG_MSU_TRACK_LO
|
CPX !REG_CURRENT_COMMAND : BEQ -
|
||||||
STZ !REG_MSU_TRACK_HI
|
LDA.b #$00 : XBA
|
||||||
|
LDA !REG_MSU_PACK_CURRENT : BEQ +
|
||||||
|
- : CMP !REG_MSU_PACK_COUNT : !BLT +
|
||||||
|
!SUB !REG_MSU_PACK_COUNT : BRA -
|
||||||
|
+
|
||||||
|
|
||||||
|
PHX : PHA : TXA : PLX
|
||||||
|
REP #$20
|
||||||
|
BEQ +
|
||||||
|
-
|
||||||
|
!ADD.w #100
|
||||||
|
DEX : BNE -
|
||||||
|
+
|
||||||
|
STA !REG_MSU_TRACK
|
||||||
|
SEP #$20
|
||||||
|
|
||||||
STZ !REG_MSU_CONTROL
|
STZ !REG_MSU_CONTROL
|
||||||
LDA.l MSUTrackList,x
|
PLX
|
||||||
STA !REG_MSU_LOAD_FLAG
|
|
||||||
STX !REG_CURRENT_MSU_TRACK
|
STX !REG_CURRENT_MSU_TRACK
|
||||||
|
LDA MSUTrackList,X
|
||||||
|
STA !REG_MSU_DELAYED_COMMAND
|
||||||
|
LDA MSUExtendedFallbackList-1,X : CMP.b #35 : !BLT .done : CMP.b #47 : !BGE .done
|
||||||
|
|
||||||
|
PHB : REP #$10
|
||||||
|
LDX $040C
|
||||||
|
LDA.b #Music_Eastern>>16 : PHA : PLB ; Set bank to music pointers
|
||||||
|
LDY $00 : PHY
|
||||||
|
REP #$20
|
||||||
|
LDA MSUDungeonFallbackList,X : STA $00
|
||||||
|
SEP #$20
|
||||||
|
LDA ($00)
|
||||||
|
PLY : STY $00 : SEP #$10 : PLB
|
||||||
|
|
||||||
|
.done
|
||||||
|
STA !REG_MUSIC_CONTROL
|
||||||
|
JML spc_continue
|
||||||
|
|
||||||
|
|
||||||
|
; No longer used, keeping as a reference for
|
||||||
|
; multi-pack fallback with the new lookup table
|
||||||
|
; Delete this once lookup fallback supports multi-pack
|
||||||
|
.fallback
|
||||||
|
STA !REG_CURRENT_MSU_TRACK
|
||||||
|
TAX
|
||||||
|
|
||||||
|
LDA.b #$00 : XBA
|
||||||
|
LDA !REG_MSU_PACK_CURRENT : BEQ +
|
||||||
|
|
||||||
|
-
|
||||||
|
CMP !REG_MSU_PACK_COUNT : !BLT +
|
||||||
|
!SUB !REG_MSU_PACK_COUNT : BRA -
|
||||||
|
+
|
||||||
|
|
||||||
|
PHA : TXA : PLX
|
||||||
|
REP #$20
|
||||||
|
BEQ +
|
||||||
|
-
|
||||||
|
!ADD.w #100
|
||||||
|
DEX : BNE -
|
||||||
|
+
|
||||||
|
STA !REG_MSU_TRACK
|
||||||
|
SEP #$20
|
||||||
JML spc_continue
|
JML spc_continue
|
||||||
|
|
||||||
pendant_fanfare:
|
pendant_fanfare:
|
||||||
@@ -177,12 +508,13 @@ pendant_fanfare:
|
|||||||
LDA !REG_MSU_ID_45 : CMP !VAL_MSU_ID_45 : BNE .spc
|
LDA !REG_MSU_ID_45 : CMP !VAL_MSU_ID_45 : BNE .spc
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_TRACK_MISSING : BNE .spc
|
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_TRACK_MISSING : BNE .spc
|
||||||
LDA !REG_MSU_LOAD_FLAG : BNE .continue
|
LDA !REG_MSU_DELAYED_COMMAND : BNE .continue
|
||||||
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_PLAYING : BEQ .done
|
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_PLAYING : BEQ .done
|
||||||
.continue
|
.continue
|
||||||
jml pendant_continue
|
jml pendant_continue
|
||||||
.spc
|
.spc
|
||||||
SEP #$20
|
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 .continue
|
||||||
.done
|
.done
|
||||||
jml pendant_done
|
jml pendant_done
|
||||||
@@ -196,12 +528,13 @@ crystal_fanfare:
|
|||||||
LDA !REG_MSU_ID_45 : CMP !VAL_MSU_ID_45 : BNE .spc
|
LDA !REG_MSU_ID_45 : CMP !VAL_MSU_ID_45 : BNE .spc
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_TRACK_MISSING : BNE .spc
|
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_TRACK_MISSING : BNE .spc
|
||||||
LDA !REG_MSU_LOAD_FLAG : BNE .continue
|
LDA !REG_MSU_DELAYED_COMMAND : BNE .continue
|
||||||
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_PLAYING : BEQ .done
|
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_PLAYING : BEQ .done
|
||||||
.continue
|
.continue
|
||||||
jml crystal_continue
|
jml crystal_continue
|
||||||
.spc
|
.spc
|
||||||
SEP #$20
|
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 .continue
|
||||||
.done
|
.done
|
||||||
jml crystal_done
|
jml crystal_done
|
||||||
@@ -217,5 +550,5 @@ ending_wait:
|
|||||||
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_PLAYING : BNE .wait
|
LDA !REG_MSU_STATUS : BIT !FLAG_MSU_STATUS_AUDIO_PLAYING : BNE .wait
|
||||||
.done
|
.done
|
||||||
SEP #$20
|
SEP #$20
|
||||||
LDA #$22
|
LDA.b #$22
|
||||||
RTL
|
RTL
|
||||||
|
|||||||
163
music.asm
163
music.asm
@@ -52,16 +52,24 @@ PreOverworld_LoadProperties_ChooseMusic:
|
|||||||
|
|
||||||
.endOfLightWorldChecks
|
.endOfLightWorldChecks
|
||||||
; if we are in the light world go ahead and set chosen selection
|
; if we are in the light world go ahead and set chosen selection
|
||||||
LDA $7EF3CA : BEQ .lastCheck
|
LDA $7EF3CA : BEQ .checkInverted+4
|
||||||
|
|
||||||
LDX.b #$0D ; dark woods theme
|
LDX.b #$0F ; dark woods theme
|
||||||
|
|
||||||
; This music is used in dark woods, and dark death mountain
|
; This music is used in dark woods
|
||||||
LDA $8A
|
LDA $8A
|
||||||
CMP.b #$40 : BEQ + : CMP.b #$43 : BEQ + : CMP.b #$45 : BEQ + : CMP.b #$47 : BEQ +
|
CMP.b #$40 : BEQ +
|
||||||
|
LDX.b #$0D ; dark death mountain theme
|
||||||
|
|
||||||
|
; This music is used in dark death mountain
|
||||||
|
CMP.b #$43 : BEQ + : CMP.b #$45 : BEQ + : CMP.b #$47 : BEQ +
|
||||||
LDX.b #$09 ; dark overworld theme
|
LDX.b #$09 ; dark overworld theme
|
||||||
+
|
+
|
||||||
|
|
||||||
|
; if not inverted and light world, or inverted and dark world, skip moon pearl check
|
||||||
|
.checkInverted
|
||||||
|
LDA $7EF3CA : CLC : ROL #$03 : CMP InvertedMode : BEQ .lastCheck
|
||||||
|
|
||||||
; Does Link have a moon pearl?
|
; Does Link have a moon pearl?
|
||||||
LDA $7EF357 : BNE +
|
LDA $7EF357 : BNE +
|
||||||
LDX.b #$04 ; bunny theme
|
LDX.b #$04 ; bunny theme
|
||||||
@@ -79,6 +87,153 @@ PreOverworld_LoadProperties_ChooseMusic:
|
|||||||
JML.l PreOverworld_LoadProperties_SetSong
|
JML.l PreOverworld_LoadProperties_SetSong
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
Overworld_FinishMirrorWarp:
|
||||||
|
REP #$20
|
||||||
|
|
||||||
|
LDA.w #$2641 : STA $4370
|
||||||
|
|
||||||
|
LDX.b #$3E
|
||||||
|
|
||||||
|
LDA.w #$FF00
|
||||||
|
|
||||||
|
.clear_hdma_table
|
||||||
|
|
||||||
|
STA $1B00, X : STA $1B40, X
|
||||||
|
STA $1B80, X : STA $1BC0, X
|
||||||
|
STA $1C00, X : STA $1C40, X
|
||||||
|
STA $1C80, X
|
||||||
|
|
||||||
|
DEX #2 : BPL .clear_hdma_table
|
||||||
|
|
||||||
|
LDA.w #$0000 : STA $7EC007 : STA $7EC009
|
||||||
|
|
||||||
|
SEP #$20
|
||||||
|
|
||||||
|
JSL $00D7C8 ; $57C8 IN ROM
|
||||||
|
|
||||||
|
LDA.b #$80 : STA $9B
|
||||||
|
|
||||||
|
LDX.b #$04 ; bunny theme
|
||||||
|
|
||||||
|
; if not inverted and light world, or inverted and dark world, skip moon pearl check
|
||||||
|
LDA $7EF3CA : CLC : ROL #$03 : CMP InvertedMode : BEQ +
|
||||||
|
LDA $7EF357 : BEQ .endOfLightWorldChecks
|
||||||
|
+
|
||||||
|
|
||||||
|
LDX.b #$09 ; default dark world theme
|
||||||
|
|
||||||
|
LDA $8A : CMP.b #$40 : !BGE .endOfLightWorldChecks
|
||||||
|
|
||||||
|
LDX.b #$02 ; hyrule field theme
|
||||||
|
|
||||||
|
; 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
|
||||||
|
LDX.b #$07 ; Default village theme (phase <3)
|
||||||
|
|
||||||
|
.endOfLightWorldChecks
|
||||||
|
STX $012C
|
||||||
|
|
||||||
|
LDA $8A : CMP.b #$40 : BNE +
|
||||||
|
LDX #$0F ; dark woods theme
|
||||||
|
BRA .bunny
|
||||||
|
+
|
||||||
|
|
||||||
|
CMP.b #$43 : BEQ .darkMountain
|
||||||
|
CMP.b #$45 : BEQ .darkMountain
|
||||||
|
CMP.b #$47 : BNE .notDarkMountain
|
||||||
|
|
||||||
|
.darkMountain
|
||||||
|
LDA.b #$09 : STA $012D ; set storm ambient SFX
|
||||||
|
LDX.b #$0D ; dark mountain theme
|
||||||
|
|
||||||
|
.bunny
|
||||||
|
LDA $7EF357 : ORA InvertedMode : BNE +
|
||||||
|
LDX #$04 ; bunny theme
|
||||||
|
+
|
||||||
|
|
||||||
|
STX $012C
|
||||||
|
|
||||||
|
.notDarkMountain
|
||||||
|
|
||||||
|
LDA $11 : STA $010C
|
||||||
|
|
||||||
|
STZ $11
|
||||||
|
STZ $B0
|
||||||
|
STZ $0200
|
||||||
|
STZ $0710
|
||||||
|
|
||||||
|
RTL
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
BirdTravel_LoadTargetAreaMusic:
|
||||||
|
; Skip village and lost woods checks if entering dark world or a special area
|
||||||
|
LDA $8A : CMP.b #$40 : !BGE .notVillageOrWoods
|
||||||
|
|
||||||
|
LDX.b #$07 ; Default village theme
|
||||||
|
|
||||||
|
; Check what phase we're in
|
||||||
|
LDA $7EF3C5 : CMP.b #$03 : !BLT +
|
||||||
|
LDX.b #$02 ; Default light world theme (phase >=3)
|
||||||
|
+
|
||||||
|
|
||||||
|
; Check if we're entering the village
|
||||||
|
LDA $8A : CMP.b #$18 : BEQ .endOfLightWorldChecks
|
||||||
|
; For NA release would we also branch on indexes #$22 #$28 #$29
|
||||||
|
|
||||||
|
LDX.b #$05 ; Lost woods theme
|
||||||
|
|
||||||
|
; check if we've pulled from the master sword pedestal
|
||||||
|
LDA $7EF300 : AND.b #$40 : BEQ +
|
||||||
|
LDX.b #$02 ; Default light world theme
|
||||||
|
+
|
||||||
|
|
||||||
|
; check if we are entering lost woods
|
||||||
|
LDA $8A : BEQ .endOfLightWorldChecks
|
||||||
|
|
||||||
|
.notVillageOrWoods
|
||||||
|
; Use the normal overworld (light world) music
|
||||||
|
LDX.b #$02
|
||||||
|
|
||||||
|
; Check phase ; In phase >= 2
|
||||||
|
LDA $7EF3C5 : CMP.b #$02 : !BGE +
|
||||||
|
; If phase < 2, play the legend music
|
||||||
|
LDX.b #$03
|
||||||
|
+
|
||||||
|
|
||||||
|
.endOfLightWorldChecks
|
||||||
|
; if we are in the light world go ahead and set chosen selection
|
||||||
|
LDA $7EF3CA : BEQ .checkInverted+4
|
||||||
|
|
||||||
|
LDX.b #$0F ; dark woods theme
|
||||||
|
|
||||||
|
; This music is used in dark woods
|
||||||
|
LDA $8A
|
||||||
|
CMP.b #$40 : BEQ +
|
||||||
|
LDX.b #$0D ; dark death mountain theme
|
||||||
|
|
||||||
|
; This music is used in dark death mountain
|
||||||
|
CMP.b #$43 : BEQ + : CMP.b #$45 : BEQ + : CMP.b #$47 : BEQ +
|
||||||
|
LDX.b #$09 ; dark overworld theme
|
||||||
|
+
|
||||||
|
|
||||||
|
; if not inverted and light world, or inverted and dark world, skip moon pearl check
|
||||||
|
.checkInverted
|
||||||
|
LDA $7EF3CA : CLC : ROL #$03 : CMP InvertedMode : BEQ .lastCheck
|
||||||
|
|
||||||
|
; Does Link have a moon pearl?
|
||||||
|
LDA $7EF357 : BNE +
|
||||||
|
LDX.b #$04 ; bunny theme
|
||||||
|
+
|
||||||
|
|
||||||
|
.lastCheck
|
||||||
|
RTL
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
;0 = Is Kakariko Overworld
|
;0 = Is Kakariko Overworld
|
||||||
;1 = Not Kakariko Overworld
|
;1 = Not Kakariko Overworld
|
||||||
|
|||||||
95
tables.asm
95
tables.asm
@@ -721,6 +721,10 @@ org $06C93B ; PC 0x3493B
|
|||||||
PyramidPotion:
|
PyramidPotion:
|
||||||
db #$2C ; #$2C = Green Potion
|
db #$2C ; #$2C = Green Potion
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
; Change track 15 (unused) to point to 13 (Death Mountain) so dark woods can be track 15
|
||||||
|
org $1A9F15 ; PC 0xD1F15
|
||||||
|
dw #$2B00 ; Set track 15 pointer to track 13's data
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
org $308140 ; PC 0x180140 - 0x18014A [encrypted]
|
org $308140 ; PC 0x180140 - 0x18014A [encrypted]
|
||||||
HeartPieceOutdoorValues:
|
HeartPieceOutdoorValues:
|
||||||
HeartPiece_Spectacle:
|
HeartPiece_Spectacle:
|
||||||
@@ -968,7 +972,11 @@ org $308215 ; PC 0x180215
|
|||||||
SeedHash:
|
SeedHash:
|
||||||
db $00, $01, $02, $03, $04
|
db $00, $01, $02, $03, $04
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
; 0x18021A - 0x18021F (unused)
|
org $30821A ; PC 0x18021A
|
||||||
|
NoBGM:
|
||||||
|
db $00 ; $00 = BGM enabled (default) $01 = BGM disabled
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
; 0x18021B - 0x18021F (unused)
|
||||||
;================================================================================
|
;================================================================================
|
||||||
; $308220 (0x180220) - $30823F (0x18023F)
|
; $308220 (0x180220) - $30823F (0x18023F)
|
||||||
; Plandomizer Author Name (ASCII) - Leave unused chars as 0
|
; Plandomizer Author Name (ASCII) - Leave unused chars as 0
|
||||||
@@ -1468,7 +1476,7 @@ dw #9999 ; Rupee Limit
|
|||||||
; $7F5098 - Water Entry Index
|
; $7F5098 - Water Entry Index
|
||||||
; $7F5099 - Last Entered Overworld Door ID
|
; $7F5099 - Last Entered Overworld Door ID
|
||||||
; $7F509A - (Reserved)
|
; $7F509A - (Reserved)
|
||||||
; $7F509B - MSU Flag
|
; $7F509B - Unused
|
||||||
; $7F509C - Inverted Mode Duck Map Temporary
|
; $7F509C - Inverted Mode Duck Map Temporary
|
||||||
; $7F509D - Stalfos Bomb Damage Value
|
; $7F509D - Stalfos Bomb Damage Value
|
||||||
; $7F509E - Valid Key Loaded
|
; $7F509E - Valid Key Loaded
|
||||||
@@ -1598,18 +1606,89 @@ LowHeartFix:
|
|||||||
db $08, $08, $10
|
db $08, $08, $10
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
org $30D000 ; PC 0x185000 - 0x18503F
|
org $30D000 ; PC 0x185000 - 0x18505F
|
||||||
MSUTrackList:
|
MSUTrackList:
|
||||||
db $00,$01,$03,$03,$03,$03,$03,$03
|
db $00,$01,$03,$03,$03,$03,$03,$03
|
||||||
db $01,$03,$01,$03,$03,$03,$03,$03
|
db $01,$03,$01,$03,$03,$03,$03,$03
|
||||||
db $03,$03,$03,$01,$03,$03,$03,$03
|
db $03,$03,$03,$01,$03,$03,$03,$03
|
||||||
db $03,$03,$03,$03,$03,$01,$03,$03
|
db $03,$03,$03,$03,$03,$01,$03,$03
|
||||||
db $03,$01,$01,$FF,$FF,$FF,$FF,$FF
|
db $03,$01,$01,$03,$03,$03,$03,$03
|
||||||
db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
db $03,$03,$03,$03,$03,$03,$03,$03
|
||||||
db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
db $03,$03,$03,$03,$03,$03,$03,$03
|
||||||
db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
|
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 $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
|
||||||
|
db $16,$16,$11,$16,$16,$16,$15,$15
|
||||||
|
db $15,$15,$15,$15,$15,$15,$15,$15
|
||||||
|
db $15,$15,$16,$02,$09,$00,$00,$00
|
||||||
|
|
||||||
|
MSUDungeonFallbackList:
|
||||||
|
dw $0000 ; Sewer Escape
|
||||||
|
dw $0000 ; Hyrule Castle
|
||||||
|
dw Music_Eastern
|
||||||
|
dw Music_Desert
|
||||||
|
dw $0000 ; Agahnim's Tower
|
||||||
|
dw Music_Swamp
|
||||||
|
dw Music_Darkness
|
||||||
|
dw Music_Mire
|
||||||
|
dw Music_Skull
|
||||||
|
dw Music_Ice
|
||||||
|
dw Music_Hera
|
||||||
|
dw Music_Thieves
|
||||||
|
dw Music_TRock
|
||||||
|
dw Music_GTower
|
||||||
|
dw $0000
|
||||||
|
dw $0000
|
||||||
|
|
||||||
|
SPCMutePayload:
|
||||||
|
dw $0001 ; Transfer size
|
||||||
|
dw $0A4A ; Transfer destination
|
||||||
|
db $00 ; mov a,#$70 -> mov a,#$00
|
||||||
|
|
||||||
|
dw $0001 ; Transfer size
|
||||||
|
dw $0AF3 ; Transfer destination
|
||||||
|
db $00 ; mov $059,#$c0 -> mov $059,#$00
|
||||||
|
|
||||||
|
dw $0002 ; Transfer size
|
||||||
|
dw $0C32 ; Transfer destination
|
||||||
|
db $00, $00 ; movw $058,ya -> nop #2
|
||||||
|
|
||||||
|
dw $0001 ; Transfer size
|
||||||
|
dw $0D19 ; Transfer destination
|
||||||
|
db $34 ; movw $058,ya -> mov $058,a
|
||||||
|
|
||||||
|
dw $0000 ; Transfer size (end of transfer)
|
||||||
|
dw $FFFF ; Dummy destination
|
||||||
|
db $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Padding
|
||||||
|
|
||||||
|
SPCUnmutePayload:
|
||||||
|
dw $0001 ; Transfer size
|
||||||
|
dw $0A4A ; Transfer destination
|
||||||
|
db $70 ; mov a,#$70
|
||||||
|
|
||||||
|
dw $0001 ; Transfer size
|
||||||
|
dw $0AF3 ; Transfer destination
|
||||||
|
db $C0 ; mov $059,#$c0
|
||||||
|
|
||||||
|
dw $0002 ; Transfer size
|
||||||
|
dw $0C32 ; Transfer destination
|
||||||
|
db $da, $58 ; movw $058,ya
|
||||||
|
|
||||||
|
dw $0001 ; Transfer size
|
||||||
|
dw $0D19 ; Transfer destination
|
||||||
|
db $34 ; movw $058,ya
|
||||||
|
|
||||||
|
dw $0000 ; Transfer size (end of transfer)
|
||||||
|
dw $FFFF ; Dummy destination
|
||||||
|
db $FF, $FF, $FF, $FF, $FF, $FF, $FF ; Padding
|
||||||
|
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
; 0x185040 - 1850FF (unused)
|
; 0x185060 - 1850FF (unused)
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $30D100 ; PC 0x185100 - 0x18513F
|
org $30D100 ; PC 0x185100 - 0x18513F
|
||||||
UnusedTable: ; please do not move this - kkat
|
UnusedTable: ; please do not move this - kkat
|
||||||
|
|||||||
Reference in New Issue
Block a user