This commit is contained in:
Karkat
2018-04-25 23:36:49 -04:00
17 changed files with 219 additions and 223 deletions

View File

@@ -218,6 +218,11 @@ GFX_Hash_Alphabet:
incbin hashalphabet.chr.gfx
warnpc $31C001
org $31C000
IcePalaceFloorGfx:
incbin ice_palace_floor.bin
warnpc $31C801
org $338000
GFX_HUD_Palette:
incbin hudpalette.pal
@@ -327,6 +332,9 @@ db GFX_HUD_Main
org $008781
UseImplicitRegIndexedLocalJumpTable:
org $00879c
UseImplicitRegIndexedLongJumpTable:
org $008333
Vram_EraseTilemaps_triforce:

View File

@@ -27,14 +27,14 @@ RTS
SmithDoorCheck:
LDA.l SmithTravelsFreely : AND.w #$00FF : BEQ .orig
;If SmithTravelsFreely is set Frog/Smith can enter multi-entrance overworld doors
JMP.l Overworld_Entrance_BRANCH_RHO
JML.l Overworld_Entrance_BRANCH_RHO
.orig ; The rest is equivlent to what we overwrote
CPX.w #$0076 : !BGE +
JMP.l Overworld_Entrance_BRANCH_LAMBDA
JML.l Overworld_Entrance_BRANCH_LAMBDA
+
JMP.l Overworld_Entrance_BRANCH_RHO
JML.l Overworld_Entrance_BRANCH_RHO
;--------------------------------------------------------------------------------
AllowStartFromSingleEntranceCave:
; 16 Bit A, 16 bit XY

View File

@@ -54,8 +54,8 @@ RTL
FluteBoy:
LDA $10 : CMP.b #$1A : BEQ +
LDA.b #$01 : STA $0FDD
JMP.l FluteBoy_Abort
JML.l FluteBoy_Abort
+
LDA $0D80, X : CMP.b #$03 ; thing we wrote over
JMP.l FluteBoy_Continue
;--------------------------------------------------------------------------------
JML.l FluteBoy_Continue
;--------------------------------------------------------------------------------

View File

@@ -29,9 +29,9 @@ DrawGoalIndicator:
BRA .done
.skip
LDA.w #$207F
STA !DRAW_ADDRESS, X : INX #
STA !DRAW_ADDRESS, X : INX #
STA !DRAW_ADDRESS, X : INX #
STA !DRAW_ADDRESS, X : INX #2
STA !DRAW_ADDRESS, X : INX #2
STA !DRAW_ADDRESS, X : INX #2
.done
PLX
RTL

View File

@@ -184,8 +184,8 @@ LoadAlphabetTilemap:
INX #6 : INY
CPX #25 : !BLT -
JSR DMAAlphabetTilemap:
JSR DMAAlphabetTilemap
PLP : PLY : PLX : PLA
RTL
;--------------------------------------------------------------------------------

View File

@@ -146,9 +146,6 @@ org $0288D1 ; <- 108D1 - Bank02.asm : 1690 (STZ $0646)
JSL.l IndoorSubtileTransitionCounter
NOP #2
;--------------------------------------------------------------------------------
org $02895D ; <- 1095D - Bank02.asm : 1812 (JSL Dungeon_LoadRoom)
JSL.l IndoorTileTransitionCounter
;--------------------------------------------------------------------------------
org $07B574 ; <- 3B574 - Bank07.asm : 8519 (LDA.b #$01 : STA $02E9)
JSL.l IncrementChestCounter
NOP
@@ -414,7 +411,7 @@ dl $080116, $070116; <- E97E
;org $06C9BC ; <- 349BC - sprite_ponds.asm : 1066
;org $06C9C0 ; <- 349C0 - sprite_ponds.asm : 1068
;org $06C926 ; <- 34926 - sprite_ponds.asm : 945
;JMP.l GetFairySword
;JML.l GetFairySword
;NOP #12
org $06C936 ; <- 34936 - sprite_ponds.asm : 952
PyramidFairy_BRANCH_IOTA:
@@ -432,7 +429,7 @@ org $068A14 ; <- 30A14 - sprite_prep.asm : 716
NOP #8 ; fix bomb shop spawn for dwarfless big bomb
;--------------------------------------------------------------------------------
org $06B489 ; <- 33489 - sprite_smithy_bros.asm : 473 (LDA $7EF359 : CMP.b #$03 : BCS .tempered_sword_or_better)
JMP.l GetSmithSword
JML.l GetSmithSword
NOP #4
Smithy_DoesntHaveSword:
org $06B49D ; <- 3349D - sprite_smithy_bros.asm : 485 (.tempered_sword_or_better)
@@ -489,7 +486,7 @@ org $07B57B ; <- 3B57B - Bank07.asm : 8523 (BMI .cantOpen)
NOP #2
;--------------------------------------------------------------------------------
org $00D531 ; 5531 - Bank00.asm:3451 (LDY.b #$5D)
JMP.l GetAnimatedSpriteGfxFile
JML.l GetAnimatedSpriteGfxFile
org $00D547 ; 5547 - Bank00.asm:3467 (JSR Decomp_spr_high)
GetAnimatedSpriteGfxFile_return:
@@ -849,7 +846,7 @@ org $08C6F9 ; 446F9 - ancilla_receive_item.asm : 538 - (LDA AddReceiveItem.prope
LDA AddReceivedItemExpanded_properties, X
;--------------------------------------------------------------------------------
org $08C70F ; 4470F - ancilla_receive_item.asm : 550 - (LDA .wide_item_flag, X : STA ($92), Y ; AddReceiveItem.wide_item_flag? ; LDA.b #$00 : STA ($92), Y in the japanese version)
JMP.l LoadNarrowObject
JML.l LoadNarrowObject
NOP
LoadNarrowObjectReturn:
;--------------------------------------------------------------------------------
@@ -1433,10 +1430,10 @@ org $05ED10 ; <- 2ED10 - sprite_zelda.asm : 233 - (LDA.b #$19 : STA $012C)
NOP #5
;--------------------------------------------------------------------------------
org $1ECE47 ; <- F4E47 - sprite_crystal_maiden.asm : 220
JMP.l MaidenCrystalScript
JML.l MaidenCrystalScript
;--------------------------------------------------------------------------------
org $1ECCEB ; <- F4CEB - sprite_crystal_maiden.asm : 25 ; skip all palette nonsense
JMP.l SkipCrystalPalette
JML.l SkipCrystalPalette
org $1ECD39
SkipCrystalPalette:
;--------------------------------------------------------------------------------
@@ -1836,7 +1833,7 @@ org $06B048 ; <- 33048
JSL.l ItemCheck_TreeKid3
org $06AF59 ; <- 32F59 - sprite_flute_boy.asm : 36 (LDA $0D80, X : CMP.b #$03 : BEQ .invisible)
JMP.l FluteBoy
JML.l FluteBoy
FluteBoy_Abort:
RTS
FluteBoy_Continue:
@@ -2092,13 +2089,13 @@ org $02895D ; <- Bank02.asm:1812 (JSL Dungeon_LoadRoom)
JSL LoadRoomHook
;--------------------------------------------------------------------------------
org $028BE7 ; <- Bank02.asm:2299 (JSL Dungeon_LoadRoom)
JSL LoadRoomHook
JSL LoadRoomHook_noStats
;--------------------------------------------------------------------------------
org $029309 ; <- Bank02.asm:3533 (JSL Dungeon_LoadRoom)
JSL LoadRoomHook
JSL LoadRoomHook_noStats
;--------------------------------------------------------------------------------
org $02C2F3 ; <- Bank02.asm:10391 (JSL Dungeon_LoadRoom)
JSL LoadRoomHook
JSL LoadRoomHook_noStats
;================================================================================
;================================================================================
@@ -2129,7 +2126,7 @@ org $07A055 ; <- Bank07.asm:5205 (LDA $0B99 : BEQ BRANCH_DELTA)
JSL.l ArrowGame : NOP #14
org $07A06C ; <- Bank07.asm:5215 (LDA $7EF377 : BEQ BRANCH_EPSILON)
JSL.l DecrementArrows : SKIP #2 : NOP : LDA $7EF377
JSL.l DecrementArrows : SKIP 2 : NOP : LDA $7EF377
;================================================================================
;================================================================================

View File

@@ -70,7 +70,7 @@ ReloadingFloors:
LDA.w #$0800 ; Length
PHB
;MVN $7F, IcePalaceFloorGfx>>16
MVN $A07F ; CHANGE THIS IF YOU MOVE THE FILE - kkat
MVN $B17F ; CHANGE THIS IF YOU MOVE THE GRAPHICS FILE - kkat
PLB
; Pretend that we ran the original routine
@@ -79,6 +79,3 @@ ReloadingFloors:
STA $03
JML ReloadingFloorsCancel
IcePalaceFloorGfx:
incbin ice_palace_floor.bin

View File

@@ -888,32 +888,32 @@ RTL
; out: A - Loot OAM Table Index
; check if this is even still referenced anywhere
;--------------------------------------------------------------------------------
GetWitchLootOAMTableIndex:
PHX
PHB : PHK : PLB
;--------
TAX : LDA .gfxSlots, X ; look up item gfx
PLB : PLX
RTL
;DATA - Loot Identifier to Sprite ID
{
.gfxSlots
db $FF, $FF, $FF, $FF, $05, $06, $FF, $0C
db $0B, $0D, $0A, $07, $13, $0E, $FF, $FF
db $FF, $FF, $FF, $FF, $FF, $09, $FF, $FF
db $08, $FF, $FF, $10, $11, $12, $FF, $FF
db $FF, $FF, $03, $04, $FF, $FF, $02, $FF
db $FF, $FF, $14, $15, $17, $16, $15, $17
db $16, $0F, $FF, $FF, $FF, $FF, $FF, $FF
db $FF, $FF, $FF, $FF, $FF, $FF, $02, $02
db $FF, $FF, $FF, $FF, $01, $FF, $FF, $FF
db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
}
;GetWitchLootOAMTableIndex:
; PHX
; PHB : PHK : PLB
; ;--------
; TAX : LDA .gfxSlots, X ; look up item gfx
; PLB : PLX
;RTL
;
;;DATA - Loot Identifier to Sprite ID
;{
; .gfxSlots
; db $FF, $FF, $FF, $FF, $05, $06, $FF, $0C
; db $0B, $0D, $0A, $07, $13, $0E, $FF, $FF
;
; db $FF, $FF, $FF, $FF, $FF, $09, $FF, $FF
; db $08, $FF, $FF, $10, $11, $12, $FF, $FF
;
; db $FF, $FF, $03, $04, $FF, $FF, $02, $FF
; db $FF, $FF, $14, $15, $17, $16, $15, $17
;
; db $16, $0F, $FF, $FF, $FF, $FF, $FF, $FF
; db $FF, $FF, $FF, $FF, $FF, $FF, $02, $02
;
; db $FF, $FF, $FF, $FF, $01, $FF, $FF, $FF
; db $FF, $FF, $FF, $FF, $FF, $FF, $FF, $FF
;}
;--------------------------------------------------------------------------------
;--------------------------------------------------------------------------------

View File

@@ -23,5 +23,5 @@ MaidenCrystalScript:
JSL.l MaybeWriteSRAMTrace
JMP $1ECF35 ; <- F4F35 - sprite_crystal_maiden.asm : 426
;--------------------------------------------------------------------------------
JML.l $1ECF35 ; <- F4F35 - sprite_crystal_maiden.asm : 426
;--------------------------------------------------------------------------------

View File

@@ -463,7 +463,7 @@ AddReceivedItemExpanded:
PLX : PLA
PHB : PHK ; we're skipping the corresponding instructions to grab the data bank
JMP.l AddReceivedItem+2
JML.l AddReceivedItem+2
}
;--------------------------------------------------------------------------------
;DATA AddReceivedItemExpanded
@@ -1044,5 +1044,5 @@ RTS
ActivateGoal:
STZ $11
STZ $B0
JMP.l StatsFinalPrep
JML.l StatsFinalPrep
;--------------------------------------------------------------------------------

View File

@@ -397,22 +397,22 @@ DrawHUDDungeonItems:
LDA.w #$2810 : STA $1684 ; small keys icon
SEP #$20 ; set 8-bit accumulator
; Small Keys
LDA.b #$16 : !ADD $7EF37D : STA $1686 : LDA.b #$28 : ADC #$00 : sta $1686+1 ; Hyrule Castle
LDA.b #$16 : !ADD $7EF380 : STA $1688 : LDA.b #$28 : ADC #$00 : sta $1688+1 ; Agahnims Tower
LDA.b #$16 : !ADD $7EF37D : STA $1686 : LDA.b #$28 : ADC #$00 : sta.w $1686+1 ; Hyrule Castle
LDA.b #$16 : !ADD $7EF380 : STA $1688 : LDA.b #$28 : ADC #$00 : sta.w $1688+1 ; Agahnims Tower
LDA.b #$16 : !ADD $7EF37E : STA $168C : LDA.b #$28 : ADC #$00 : sta $168C+1 ; Eastern
LDA.b #$16 : !ADD $7EF37F : STA $168E : LDA.b #$28 : ADC #$00 : sta $168E+1 ; Desert
LDA.b #$16 : !ADD $7EF386 : STA $1690 : LDA.b #$28 : ADC #$00 : sta $1690+1 ; Hera
LDA.b #$16 : !ADD $7EF37E : STA $168C : LDA.b #$28 : ADC #$00 : sta.w $168C+1 ; Eastern
LDA.b #$16 : !ADD $7EF37F : STA $168E : LDA.b #$28 : ADC #$00 : sta.w $168E+1 ; Desert
LDA.b #$16 : !ADD $7EF386 : STA $1690 : LDA.b #$28 : ADC #$00 : sta.w $1690+1 ; Hera
LDA.b #$16 : !ADD $7EF382 : STA $1694 : LDA.b #$28 : ADC #$00 : sta $1694+1 ; PoD
LDA.b #$16 : !ADD $7EF381 : STA $1696 : LDA.b #$28 : ADC #$00 : sta $1696+1 ; Swamp
LDA.b #$16 : !ADD $7EF384 : STA $1698 : LDA.b #$28 : ADC #$00 : sta $1698+1 ; Skull Woods
LDA.b #$16 : !ADD $7EF387 : STA $169A : LDA.b #$28 : ADC #$00 : sta $169A+1 ; Thieves Town
LDA.b #$16 : !ADD $7EF385 : STA $169C : LDA.b #$28 : ADC #$00 : sta $169C+1 ; Ice
LDA.b #$16 : !ADD $7EF383 : STA $169E : LDA.b #$28 : ADC #$00 : sta $169E+1 ; Mire
LDA.b #$16 : !ADD $7EF388 : STA $16A0 : LDA.b #$28 : ADC #$00 : sta $16A0+1 ; Turtle Rock
LDA.b #$16 : !ADD $7EF382 : STA $1694 : LDA.b #$28 : ADC #$00 : sta.w $1694+1 ; PoD
LDA.b #$16 : !ADD $7EF381 : STA $1696 : LDA.b #$28 : ADC #$00 : sta.w $1696+1 ; Swamp
LDA.b #$16 : !ADD $7EF384 : STA $1698 : LDA.b #$28 : ADC #$00 : sta.w $1698+1 ; Skull Woods
LDA.b #$16 : !ADD $7EF387 : STA $169A : LDA.b #$28 : ADC #$00 : sta.w $169A+1 ; Thieves Town
LDA.b #$16 : !ADD $7EF385 : STA $169C : LDA.b #$28 : ADC #$00 : sta.w $169C+1 ; Ice
LDA.b #$16 : !ADD $7EF383 : STA $169E : LDA.b #$28 : ADC #$00 : sta.w $169E+1 ; Mire
LDA.b #$16 : !ADD $7EF388 : STA $16A0 : LDA.b #$28 : ADC #$00 : sta.w $16A0+1 ; Turtle Rock
LDA.b #$16 : !ADD $7EF389 : STA $16A4 : LDA.b #$28 : ADC #$00 : sta $16A4+1 ; Ganon's Tower
LDA.b #$16 : !ADD $7EF389 : STA $16A4 : LDA.b #$28 : ADC #$00 : sta.w $16A4+1 ; Ganon's Tower
REP #$20 ; set 16-bit accumulator
++

View File

@@ -1,10 +1,13 @@
LoadRoomHook:
JSL $01873A ; Dungeon_LoadRoom (Bank01.asm:726)
JSL.l IndoorTileTransitionCounter
.noStats
JSL Dungeon_LoadRoom
REP #$10 ; 16 bit XY
LDX $A0 ; Room ID
LDA RoomCallbackTable, X
SEP #$10 ; 8 bit XY
JSL $00879c ; UseImplicitRegIndexedLocalJumpTable
JSL UseImplicitRegIndexedLongJumpTable
; Callback routines:
dl NoCallback ; 00
dl IcePalaceBombosSE ; 01

View File

@@ -77,7 +77,7 @@ macro DrawDigit(value,offset)
+
LDA $0E : STA !BIGRAM, X : INX : INX
LDA.w #56 : STA !BIGRAM, X : INX : INX
LDY $0A : TYA : ASL : TAY : LDA .digit_properties, Y : STA !BIGRAM, X : INX : INX
LDY $0A : TYA : ASL : TAY : LDA.w .digit_properties, Y : STA !BIGRAM, X : INX : INX
LDA.w #$0000 : STA !BIGRAM, X : INX : INX
LDA $0E : !ADD.w #$0008 : STA $0E ; move offset 8px right

View File

@@ -232,7 +232,7 @@ RenderCreditsStatCounter:
; XXXX X00L LLLL LLLL BBBB SSSS CCC- ---- ---- ---- AAAA AAAA AAAA AAAA AAAA AAAA
; == Determine stat type ==
LDA CreditsStats,y ; LLLL LLLL XXXX XTTL
LDA.w CreditsStats,y ; LLLL LLLL XXXX XTTL
LSR
AND #$0003 ; TT
CMP.w #$0000
@@ -241,7 +241,7 @@ RenderCreditsStatCounter:
.normalStat
; == Write Stripe header (VRAM address, i.e. tile coordinates) ==
LDA CreditsStats,y ; LLLL LLLL XXXX XTTL
LDA.w CreditsStats,y ; LLLL LLLL XXXX XTTL
LSR #3
AND #$001F ; X XXXX
CLC
@@ -272,7 +272,7 @@ RenderCreditsStatCounter:
STA !ValueLow
; == Shift value ==
LDA CreditsStats+2,y; CCC- ---- BBBB SSSS
LDA.w CreditsStats+2,y; CCC- ---- BBBB SSSS
AND.w #$000F ; SSSS
BEQ +
TAX
@@ -283,7 +283,7 @@ RenderCreditsStatCounter:
STA !ValueLow
+
; == Mask value ==
LDA CreditsStats+2,y; CCC- ---- BBBB SSSS
LDA.w CreditsStats+2,y; CCC- ---- BBBB SSSS
;LSR #4
;AND.w #$000F ; BBBB
LSR #3
@@ -294,7 +294,7 @@ RenderCreditsStatCounter:
STA !ValueLow
; == Cap value ==
LDA CreditsStats+3,y; ---- ---- CCC- ----
LDA.w CreditsStats+3,y; ---- ---- CCC- ----
LSR #5
AND.w #$0007 ; CCC
BEQ +
@@ -361,7 +361,7 @@ RenderCreditsStatCounter:
; Output format: HH:MM:SS.FF
; == Write Stripe header (VRAM address, i.e. tile coordinates) ==
LDA CreditsStats,y ; LLLL LLLL XXXX XTTL
LDA.w CreditsStats,y ; LLLL LLLL XXXX XTTL
LSR #3
AND #$001F ; X XXXX
CLC

View File

@@ -6,18 +6,18 @@
;GetFairySword:
; CMP.b #$49 : BNE + : LDA.b #$00 : + ; convert single fighter sword to low id one
; CMP.b #$50 : BNE + : LDA.b #$01 : + ; convert safe master sword to normal one
; CMP #$04 : !BLT + : JMP.l PyramidFairy_BRANCH_IOTA : + ; for any sword, incl newer
; JSL ItemCheck_FairySword : BEQ + : JMP.l PyramidFairy_BRANCH_IOTA : + ; skip if we already flagged getting this
; CMP #$04 : !BLT + : JML.l PyramidFairy_BRANCH_IOTA : + ; for any sword, incl newer
; JSL ItemCheck_FairySword : BEQ + : JML.l PyramidFairy_BRANCH_IOTA : + ; skip if we already flagged getting this
; JSL ItemSet_FairySword ; mark as got
; LDA FairySword : STA $0DC0, X ; whichever sword
; LDA.b #$05 : STA $0EB0, X ; something we overwrote, documentation unclear on purpose
;
;JMP.l PyramidFairy_BRANCH_GAMMA
;JML.l PyramidFairy_BRANCH_GAMMA
;================================================================================
;GetSmithSword:
; JSL ItemCheck_SmithSword : BEQ + : JMP.l Smithy_AlreadyGotSword : + ; check if we're not already done
; JSL ItemCheck_SmithSword : BEQ + : JML.l Smithy_AlreadyGotSword : + ; check if we're not already done
; ;JSL ItemSet_SmithSword - too early
;JMP.l Smithy_DoesntHaveSword
;JML.l Smithy_DoesntHaveSword
;================================================================================
;LoadSwordForDamage:
; LDA $7EF359 : CMP #$04 : BNE .done ; skip if not gold sword
@@ -111,16 +111,16 @@ RTL
RTL
;================================================================================
GetSmithSword:
JSL ItemCheck_SmithSword : BEQ + : JMP.l Smithy_AlreadyGotSword : +
JSL ItemCheck_SmithSword : BEQ + : JML.l Smithy_AlreadyGotSword : +
LDA.l SmithItemMode : BNE +
JMP.l Smithy_DoesntHaveSword ; Classic Smithy
JML.l Smithy_DoesntHaveSword ; Classic Smithy
+
LDA.l SmithItem : TAY
STZ $02E9 ; Item from NPC
PHX : JSL Link_ReceiveItem : PLX
REP #$20 : LDA $7EF360 : !SUB.w #$000A : STA $7EF360 : SEP #$20 ; Take 10 rupees
JSL ItemSet_SmithSword
JMP.l Smithy_AlreadyGotSword
JML.l Smithy_AlreadyGotSword
;================================================================================
CheckMedallionSword:
PHB : PHX : PHY
@@ -130,16 +130,16 @@ CheckMedallionSword:
REP #$20 ; set 16-bit accumulator
LDA $A0 ; load room ID
CMP.w #$000E : BNE ++ : .freezor1
LDA $22 : AND.w #$01FF : CMP #368-8 : !BLT .normal : CMP #368+32-8 : !BGE .normal ; check x-coord
LDA $20 : AND.w #$01FF : CMP #400-22 : !BLT .normal : CMP #400+32-22 : !BGE .normal ; check y-coord
LDA $22 : AND.w #$01FF : CMP.w #368-8 : !BLT .normal : CMP.w #368+32-8 : !BGE .normal ; check x-coord
LDA $20 : AND.w #$01FF : CMP.w #400-22 : !BLT .normal : CMP.w #400+32-22 : !BGE .normal ; check y-coord
BRL .permit
++ : CMP.w #$007E : BNE ++ : .freezor2
LDA $22 : AND.w #$01FF : CMP #112-8 : !BLT .normal : CMP #112+32-8 : !BGE .normal ; check x-coord
LDA $20 : AND.w #$01FF : CMP #400-22 : !BLT .normal : CMP #400+32-22 : !BGE .normal ; check y-coord
LDA $22 : AND.w #$01FF : CMP.w #112-8 : !BLT .normal : CMP.w #112+32-8 : !BGE .normal ; check x-coord
LDA $20 : AND.w #$01FF : CMP.w #400-22 : !BLT .normal : CMP.w #400+32-22 : !BGE .normal ; check y-coord
BRL .permit
++ : CMP.w #$00DE : BNE ++ : .kholdstare
LDA $22 : AND.w #$01FF : CMP #368-8 : !BLT .normal : CMP #368+32-8 : !BGE .normal ; check x-coord
LDA $20 : AND.w #$01FF : CMP #144-22 : !BLT .normal : CMP #144+32-22 : !BGE .normal ; check y-coord
LDA $22 : AND.w #$01FF : CMP.w #368-8 : !BLT .normal : CMP.w #368+32-8 : !BGE .normal ; check x-coord
LDA $20 : AND.w #$01FF : CMP.w #144-22 : !BLT .normal : CMP.w #144+32-22 : !BGE .normal ; check y-coord
BRA .permit
++ : .normal
SEP #$20 ; set 8-bit accumulator

View File

@@ -231,15 +231,104 @@ org $30804F ; PC 0x18004F
ByrnaInvulnerability:
db #$01 ; #$00 = Off - #$01 = On (default)
;--------------------------------------------------------------------------------
; Out of order 0x180050-0x18005C (CrystalPendantFlags_2)
org $308050 ; PC 0x180050 - 0x18005C
CrystalPendantFlags_2:
db $00 ; Sewers
db $00 ; Hyrule Castle
db $00 ; Eastern Palace
db $00 ; Desert Palace
db $00 ; Agahnim's Tower
db $40 ; Swamp Palace
db $40 ; Palace of Darkness
db $40 ; Misery Mire
db $40 ; Skull Woods
db $40 ; Ice Palace
.hera
db $00 ; Tower of Hera
db $40 ; Thieves' Town
db $40 ; Turtle Rock
;Pendant: $00
;Crystal: $40
;--------------------------------------------------------------------------------
; 0x18005D - 0x18005F (unused)
;--------------------------------------------------------------------------------
; Out of order 0x180060 - 0x18007E (ProgrammableItemLogicJump_1)
org $308060 ; PC 0x180060 - 0x18007E
ProgrammableItemLogicJump_1:
JSL.l $000000 : RTL
ProgrammableItemLogicJump_2:
JSL.l $000000 : RTL
ProgrammableItemLogicJump_3:
JSL.l $000000 : RTL
org $308061 ; PC 0x180061
ProgrammableItemLogicPointer_1:
dl #$000000
org $308066 ; PC 0x180066
ProgrammableItemLogicPointer_2:
dl #$000000
org $30806B ; PC 0x18006B
ProgrammableItemLogicPointer_3:
dl #$000000
;--------------------------------------------------------------------------------
; 0x18007F (unused)
;--------------------------------------------------------------------------------
; Out of order 0x180070-0x18007F (CrystalNumberTable)
org $308070 ; PC 0x180070 - 0x18007F
CrystalNumberTable:
db $00 ;
db $79 ; Swamp
db $00 ;
db $6E ; Ice
db $00 ;
db $6F ; Mire
db $00 ;
db $6D ; Thieves
db $69 ; Desert
db $7C ; TRock
db $69 ; Hera
db $6C ; Skull
db $69 ; Eastern
db $7F ; Darkness
db $00 ;
db $00 ;
;1 Indicator : 7F
;2 Indicator : 79
;3 Indicator : 6C
;4 Indicator : 6D
;5 Indicator : 6E
;6 Indicator : 6F
;7 Indicator : 7C
;8 Indicator : 7D
;9 Indicator : 7E
;Dark Red X : 69
;Light Red X : 78
;White X : 68
;Pendant UL : 60
;Pendant UR : 61
;Pendant BL : 70
;Pendant BR : 71
;Sword UL : 62
;Sword UR : 63
;Sword BL : 72
;Sword BR : 73
;Crystal UL : 64
;Crystal UR : 65
;Crystal BL : 74
;Crystal BR : 75
;Skull UL : 66
;Skull UR : 67
;Skull BL : 76
;Skull BR : 77
;Warp UL : 6A
;Warp UR : 6B
;Warp BL : 7A
;Warp BR : 7B
;--------------------------------------------------------------------------------
org $308080 ; PC 0x180080 - 0x180083
Upgrade5BombsRefill:
@@ -283,7 +372,15 @@ db #$47 ; #$47 - 20 Rupees (default)
;--------------------------------------------------------------------------------
; 0x180098 - 0x18009F (unused)
;--------------------------------------------------------------------------------
; Out of order 0x1800A0 - 0x1800A3 (Bugfix_MirrorlessSQToLW)
org $3080A0 ; PC 0x1800A0 - 0x1800A3
Bugfix_MirrorlessSQToLW:
db #$01 ; #$00 = Original Behavior - #$01 = Randomizer Behavior (Default)
Bugfix_SwampWaterLevel:
db #$01 ; #$00 = Original Behavior - #$01 = Randomizer Behavior (Default)
Bugfix_PreAgaDWDungeonDeathToFakeDW:
db #$01 ; #$00 = Original Behavior - #$01 = Randomizer Behavior (Default)
Bugfix_SetWorldOnAgahnimDeath:
db #$01 ; #$00 = Original Behavior - #$01 = Randomizer Behavior (Default)
;--------------------------------------------------------------------------------
; 0x1800A4- 0x1800FF (unused)
;--------------------------------------------------------------------------------
@@ -476,64 +573,6 @@ org $0ABF24 ; PC 0x53F24
MapObject_TRock:
dw $6434 ; #6434 - Crystal
;--------------------------------------------------------------------------------
org $308070 ; PC 0x180070 - 0x18007F (Out of order)
CrystalNumberTable:
db $00 ;
db $79 ; Swamp
db $00 ;
db $6E ; Ice
db $00 ;
db $6F ; Mire
db $00 ;
db $6D ; Thieves
db $69 ; Desert
db $7C ; TRock
db $69 ; Hera
db $6C ; Skull
db $69 ; Eastern
db $7F ; Darkness
db $00 ;
db $00 ;
;1 Indicator : 7F
;2 Indicator : 79
;3 Indicator : 6C
;4 Indicator : 6D
;5 Indicator : 6E
;6 Indicator : 6F
;7 Indicator : 7C
;8 Indicator : 7D
;9 Indicator : 7E
;Dark Red X : 69
;Light Red X : 78
;White X : 68
;Pendant UL : 60
;Pendant UR : 61
;Pendant BL : 70
;Pendant BR : 71
;Sword UL : 62
;Sword UR : 63
;Sword BL : 72
;Sword BR : 73
;Crystal UL : 64
;Crystal UR : 65
;Crystal BL : 74
;Crystal BR : 75
;Skull UL : 66
;Skull UR : 67
;Skull BL : 76
;Skull BR : 77
;Warp UL : 6A
;Warp UR : 6B
;Warp BL : 7A
;Warp BR : 7B
;--------------------------------------------------------------------------------
org $02A09B ; PC 0x1209B - Bank02.asm:5802 - (pool MilestoneItem_Flags:)
CrystalPendantFlags:
@@ -562,24 +601,6 @@ CrystalPendantFlags:
;Crystal 6: $01
;Crystal 7: $08
;--------------------------------------------------------------------------------
org $308050 ; PC 0x180050 - 0x18005C (Out of order)
CrystalPendantFlags_2:
db $00 ; Sewers
db $00 ; Hyrule Castle
db $00 ; Eastern Palace
db $00 ; Desert Palace
db $00 ; Agahnim's Tower
db $40 ; Swamp Palace
db $40 ; Palace of Darkness
db $40 ; Misery Mire
db $40 ; Skull Woods
db $40 ; Ice Palace
.hera
db $00 ; Tower of Hera
db $40 ; Thieves' Town
db $40 ; Turtle Rock
;Pendant: $00
;Crystal: $40
;Dungeons with no drops should match their respective world's normal vanilla prize ;xxx
;--------------------------------------------------------------------------------
org $01C6FC ; PC 0xC6FC - Bank01.asm:10344 - (db $00, $00, $01, $02, $00, $06, $06, $06, $06, $06, $03, $06, $06)
@@ -646,34 +667,6 @@ org $07B53B ; PC 0x3B53B
RedBoomerangSubstitution:
db #$FF ; no substitution
;--------------------------------------------------------------------------------
org $308060 ; PC 0x180060 - 0x18007E (Out of order)
ProgrammableItemLogicJump_1:
JSL.l $000000 : RTL
ProgrammableItemLogicJump_2:
JSL.l $000000 : RTL
ProgrammableItemLogicJump_3:
JSL.l $000000 : RTL
org $308061 ; PC 0x180061
ProgrammableItemLogicPointer_1:
dl #$000000
org $308066 ; PC 0x180066
ProgrammableItemLogicPointer_2:
dl #$000000
org $30806B ; PC 0x18006B
ProgrammableItemLogicPointer_3:
dl #$000000
;--------------------------------------------------------------------------------
org $3080A0 ; PC 0x1800A0 - 0x1800A3 (Out of order)
Bugfix_MirrorlessSQToLW:
db #$01 ; #$00 = Original Behavior - #$01 = Randomizer Behavior (Default)
Bugfix_SwampWaterLevel:
db #$01 ; #$00 = Original Behavior - #$01 = Randomizer Behavior (Default)
Bugfix_PreAgaDWDungeonDeathToFakeDW:
db #$01 ; #$00 = Original Behavior - #$01 = Randomizer Behavior (Default)
Bugfix_SetWorldOnAgahnimDeath:
db #$01 ; #$00 = Original Behavior - #$01 = Randomizer Behavior (Default)
;--------------------------------------------------------------------------------
;org $08D01A ; PC 0x4501A - ancilla_flute.asm - 42
;OldHauntedGroveItem:
; db #$14 ; #$14 = Flute
@@ -1499,25 +1492,6 @@ dw #9999 ; Rupee Limit
!BIGRAM = "$7EC900";
; $7EC900 - Big RAM Buffer ($1F00)
;================================================================================
org $30FF00 ; PC 0x187F00 - PC 0x187FFF (out of order)
NameHashTable: ; change this for each new version - MOVE THIS TO BANK $30
db $57, $41, $D6, $7A, $E0, $10, $8A, $97, $A2, $89, $82, $45, $46, $1C, $DF, $F7
db $55, $0F, $1D, $56, $AC, $29, $DC, $D1, $25, $2A, $C5, $92, $42, $B7, $BE, $50
db $64, $62, $31, $E8, $49, $63, $40, $5F, $C9, $47, $F6, $0B, $FA, $FC, $E4, $F0
db $E6, $8F, $6D, $B1, $68, $A4, $D3, $0E, $54, $5D, $6B, $CF, $20, $69, $33, $07
db $2C, $4D, $32, $77, $C1, $95, $7B, $DE, $66, $8C, $35, $84, $86, $7C, $44, $1A
db $3E, $15, $D4, $0C, $B5, $90, $4C, $B2, $26, $1E, $38, $C0, $76, $9C, $2B, $7F
db $5E, $D5, $75, $B6, $E3, $7D, $8D, $72, $3A, $CB, $6F, $5B, $AD, $BD, $F1, $BB
db $05, $9A, $F4, $03, $02, $FF, $DA, $4F, $93, $B3, $14, $EC, $EE, $D7, $F9, $96
db $A7, $13, $CA, $BF, $88, $19, $A3, $78, $24, $87, $3C, $9E, $B4, $27, $C2, $AF
db $80, $C4, $C8, $6C, $E9, $94, $F8, $8B, $3D, $34, $A6, $53, $17, $22, $F3, $A5
db $1B, $2E, $06, $39, $D2, $43, $73, $12, $09, $58, $30, $5C, $99, $98, $9F, $ED
db $37, $67, $EA, $BA, $E7, $D9, $81, $08, $7E, $BC, $70, $5A, $51, $C3, $B9, $61
db $36, $4B, $A8, $01, $65, $3B, $EF, $59, $04, $18, $79, $0D, $DD, $CE, $CC, $AE
db $83, $21, $EB, $6E, $0A, $71, $B0, $11, $85, $C7, $A1, $FD, $E5, $16, $48, $FB
db $F2, $23, $2F, $28, $9B, $AA, $AB, $D0, $6A, $9D, $C6, $2D, $00, $FE, $E1, $3F
db $A0, $4A, $B8, $4E, $74, $1F, $8E, $A9, $F5, $CD, $60, $91, $DB, $D8, $52, $E2
;================================================================================
org $30A100 ; PC 0x182100 - 0x182304
EntranceDoorFrameTable:
; data for multi-entrance caves
@@ -1641,5 +1615,22 @@ db $FF,$FF,$FF,$FF,$FF,$FF,$FF,$FF
;--------------------------------------------------------------------------------
; 0x185140 - 187EFF (unused)
;--------------------------------------------------------------------------------
; Out of order 0x187F00 - PC 0x187FFF (NameHashTable)
org $30FF00 ; PC 0x187F00 - PC 0x187FFF
NameHashTable: ; change this for each new version - MOVE THIS TO BANK $30
db $57, $41, $D6, $7A, $E0, $10, $8A, $97, $A2, $89, $82, $45, $46, $1C, $DF, $F7
db $55, $0F, $1D, $56, $AC, $29, $DC, $D1, $25, $2A, $C5, $92, $42, $B7, $BE, $50
db $64, $62, $31, $E8, $49, $63, $40, $5F, $C9, $47, $F6, $0B, $FA, $FC, $E4, $F0
db $E6, $8F, $6D, $B1, $68, $A4, $D3, $0E, $54, $5D, $6B, $CF, $20, $69, $33, $07
db $2C, $4D, $32, $77, $C1, $95, $7B, $DE, $66, $8C, $35, $84, $86, $7C, $44, $1A
db $3E, $15, $D4, $0C, $B5, $90, $4C, $B2, $26, $1E, $38, $C0, $76, $9C, $2B, $7F
db $5E, $D5, $75, $B6, $E3, $7D, $8D, $72, $3A, $CB, $6F, $5B, $AD, $BD, $F1, $BB
db $05, $9A, $F4, $03, $02, $FF, $DA, $4F, $93, $B3, $14, $EC, $EE, $D7, $F9, $96
db $A7, $13, $CA, $BF, $88, $19, $A3, $78, $24, $87, $3C, $9E, $B4, $27, $C2, $AF
db $80, $C4, $C8, $6C, $E9, $94, $F8, $8B, $3D, $34, $A6, $53, $17, $22, $F3, $A5
db $1B, $2E, $06, $39, $D2, $43, $73, $12, $09, $58, $30, $5C, $99, $98, $9F, $ED
db $37, $67, $EA, $BA, $E7, $D9, $81, $08, $7E, $BC, $70, $5A, $51, $C3, $B9, $61
db $36, $4B, $A8, $01, $65, $3B, $EF, $59, $04, $18, $79, $0D, $DD, $CE, $CC, $AE
db $83, $21, $EB, $6E, $0A, $71, $B0, $11, $85, $C7, $A1, $FD, $E5, $16, $48, $FB
db $F2, $23, $2F, $28, $9B, $AA, $AB, $D0, $6A, $9D, $C6, $2D, $00, $FE, $E1, $3F
db $A0, $4A, $B8, $4E, $74, $1F, $8E, $A9, $F5, $CD, $60, $91, $DB, $D8, $52, $E2
;--------------------------------------------------------------------------------

View File

@@ -96,7 +96,7 @@ LoadNarrowObject:
LDA AddReceivedItemExpanded_wide_item_flag, X : STA ($92), Y ; AddReceiveItem.wide_item_flag? ; LDA.b #$00 : STA ($92), Y in the japanese version
PLY
;JSL.l DrawNarrowDroppedObject
JMP.l LoadNarrowObjectReturn
JML.l LoadNarrowObjectReturn
;--------------------------------------------------------------------------------
DrawNarrowDroppedObject:
; If it's a 16x16 sprite, we'll only draw one, otherwise we'll end up drawing