This commit is contained in:
Karkat
2018-02-07 21:48:23 -05:00
6 changed files with 129 additions and 48 deletions

View File

@@ -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
;================================================================================
@@ -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:

View File

@@ -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,39 @@ RTL
; CPX.b #$1B : BNE + : LDA.b #$01 : RTL : +
; LDA $7EF340, X
;RTL
;--------------------------------------------------------------------------------
;--------------------------------------------------------------------------------
;--------------------------------------------------------------------------------
FixBunnyOnExitToLightWorld:
JSL.l FakeWorldFix
LDA.w $02E0 : BEQ +
JMP.w DecideIfBunny
+
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
;--------------------------------------------------------------------------------

View File

@@ -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
;--------------------------------------------------------------------------------
;================================================================================
@@ -1091,7 +1094,17 @@ 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
;--------------------------------------------------------------------------------
;================================================================================
; Other bunny Fixes
;--------------------------------------------------------------------------------
org $029E7C; <- 11E7C - module_ganon_emerges.asm:127 - (LDA.b #$09 : STA $012C)
JSL.l FixAga2Bunny : NOP
;--------------------------------------------------------------------------------
;================================================================================
@@ -2018,4 +2031,3 @@ org $00DF62 ; <- Bank00.asm:4672 (LDX.w #$0000 : LDY.w #$0040)
org $00DF6E ; <- A few instructions later, right after JSR Do3To4High16Bit
ReloadingFloorsCancel:
;================================================================================

View File

@@ -830,7 +830,6 @@ RTL
;--------------------------------------------------------------------------------
ClearOWKeys:
PHA
JSL.l FakeWorldFix
LDA.l GenericKeys : BEQ +
PLA : LDA $7EF38B : STA $7EF36F
RTL

81
msu.asm
View File

@@ -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
@@ -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,7 +94,36 @@ 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
CMP !REG_TARGET_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 MSUTrackList,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
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

View File

@@ -1374,22 +1374,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
@@ -1410,10 +1410,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