Merge branch 'master' of https://github.com/mmxbass/z3randomizer
This commit is contained in:
@@ -26,7 +26,7 @@ org $3FFFFF ; <- 1FFFFF
|
|||||||
db #$00 ; expand file to 2mb
|
db #$00 ; expand file to 2mb
|
||||||
|
|
||||||
org $1FFFF8 ; <- FFFF8 timestamp rom
|
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
|
org $02B861
|
||||||
Dungeon_SaveRoomQuadrantData:
|
Dungeon_SaveRoomQuadrantData:
|
||||||
|
|
||||||
|
org $02FD8A ; 17D8A - Bank07.asm: 3732 Note: Different bank
|
||||||
|
LoadGearPalettes_bunny:
|
||||||
|
|
||||||
org $05A51D
|
org $05A51D
|
||||||
Sprite_SpawnFallingItem:
|
Sprite_SpawnFallingItem:
|
||||||
|
|
||||||
|
|||||||
35
bugfixes.asm
35
bugfixes.asm
@@ -43,3 +43,38 @@ RTL
|
|||||||
; LDA $7EF340, X
|
; LDA $7EF340, X
|
||||||
;RTL
|
;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
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|||||||
16
hooks.asm
16
hooks.asm
@@ -1066,6 +1066,9 @@ spc_nmi:
|
|||||||
JML msu_main
|
JML msu_main
|
||||||
NOP
|
NOP
|
||||||
spc_continue:
|
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
|
; Permabunny Fix
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
org $078F32 ; <- 38F32 - Bank07.asm:2420 - (LDA $7EF357)
|
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
|
org $00DF6E ; <- A few instructions later, right after JSR Do3To4High16Bit
|
||||||
ReloadingFloorsCancel:
|
ReloadingFloorsCancel:
|
||||||
;================================================================================
|
;================================================================================
|
||||||
|
|
||||||
|
|||||||
@@ -830,7 +830,6 @@ RTL
|
|||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
ClearOWKeys:
|
ClearOWKeys:
|
||||||
PHA
|
PHA
|
||||||
JSL.l FakeWorldFix
|
|
||||||
LDA.l GenericKeys : BEQ +
|
LDA.l GenericKeys : BEQ +
|
||||||
PLA : LDA $7EF38B : STA $7EF36F
|
PLA : LDA $7EF38B : STA $7EF36F
|
||||||
RTL
|
RTL
|
||||||
|
|||||||
77
msu.asm
77
msu.asm
@@ -58,6 +58,7 @@
|
|||||||
!REG_MUSIC_CONTROL = $012C
|
!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
|
||||||
@@ -93,6 +94,35 @@ msu_main:
|
|||||||
SEP #$30
|
SEP #$30
|
||||||
LDX !REG_MUSIC_CONTROL
|
LDX !REG_MUSIC_CONTROL
|
||||||
BNE command_ff
|
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:
|
do_fade:
|
||||||
LDA !REG_CURRENT_VOLUME
|
LDA !REG_CURRENT_VOLUME
|
||||||
@@ -156,28 +186,29 @@ load_track:
|
|||||||
STX !REG_MSU_TRACK_LO
|
STX !REG_MSU_TRACK_LO
|
||||||
STZ !REG_MSU_TRACK_HI
|
STZ !REG_MSU_TRACK_HI
|
||||||
STZ !REG_MSU_CONTROL
|
STZ !REG_MSU_CONTROL
|
||||||
LDA !VAL_VOLUME_FULL
|
LDA.l MSUTrackList,x
|
||||||
STA !REG_TARGET_VOLUME
|
STA !REG_MSU_LOAD_FLAG
|
||||||
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
|
|
||||||
JML spc_continue
|
|
||||||
|
|
||||||
msu_play:
|
|
||||||
LDA.l MSUTrackList, X
|
|
||||||
STA !REG_MSU_CONTROL
|
|
||||||
STX !REG_CURRENT_MSU_TRACK
|
STX !REG_CURRENT_MSU_TRACK
|
||||||
JML spc_continue
|
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
|
||||||
|
|||||||
35
tables.asm
35
tables.asm
@@ -1374,22 +1374,22 @@ dw $0000, $0000, $0000, $0000, $0000, $0000, $0000, $0000
|
|||||||
dw $0000, $0AA8, $07AA, $0000, $0000, $0000, $0000, $0000
|
dw $0000, $0AA8, $07AA, $0000, $0000, $0000, $0000, $0000
|
||||||
dw $0000, $0000, $0000, $0000, $0000, $0000
|
dw $0000, $0000, $0000, $0000, $0000, $0000
|
||||||
EntranceAltDoorFrameTable:
|
EntranceAltDoorFrameTable:
|
||||||
dw $0000, $01aa, $8124, $87be, $8158, $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, $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, $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, $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
|
dw $0000
|
||||||
;===============================================================================
|
;===============================================================================
|
||||||
org $30B000 ; PC 0x183000 - 0x183054
|
org $30B000 ; PC 0x183000 - 0x183054
|
||||||
@@ -1410,10 +1410,11 @@ db $FF, $FF, $FF, $FF
|
|||||||
;shop_config - t--- --qq
|
;shop_config - t--- --qq
|
||||||
; t - 0=Shop - 1=TakeAny
|
; t - 0=Shop - 1=TakeAny
|
||||||
; qq - # of items for sale
|
; qq - # of items for sale
|
||||||
org $30C800 ; PC 0x184800 - 0x184FFF
|
org $30C800 ; PC 0x184800 - 0x18487F - max 16 shops
|
||||||
ShopTable:
|
ShopTable:
|
||||||
;db [id][roomID-low][roomID-high][doorID][zero][shop_config][pad][pad]
|
;db [id][roomID-low][roomID-high][doorID][zero][shop_config][pad][pad]
|
||||||
db $FF, $FF, $FF, $FF, $00, $03, $00, $00
|
db $FF, $FF, $FF, $FF, $00, $03, $00, $00
|
||||||
|
org $30C880 ; PC 0x184880 - 0x184FFF - max 240 entries
|
||||||
ShopContentsTable:
|
ShopContentsTable:
|
||||||
;db [id][item][price-low][price-high][max][repl_id][repl_price-low][repl_price-high]
|
;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
|
db $FF, $AF, $50, $00, $00, $FF, $00, $00
|
||||||
|
|||||||
Reference in New Issue
Block a user