2 byte compass counts
This commit is contained in:
@@ -185,10 +185,7 @@ DrHudDungeonItemsAdditions:
|
|||||||
tya : !add #$003c : tay
|
tya : !add #$003c : tay
|
||||||
+ lda CompassField : and.l $0098c0, x : beq + ; must have compass
|
+ lda CompassField : and.l $0098c0, x : beq + ; must have compass
|
||||||
phx ; total chest counts
|
phx ; total chest counts
|
||||||
txa : lsr : tax
|
lda.l CompassTotalsWRAM, x : !sub DungeonLocationsChecked, x : JSR HudHexToDec2DigitCopy
|
||||||
sep #$30
|
|
||||||
lda.l TotalLocations, x : !sub DungeonLocationsChecked, x : JSR HudHexToDec2DigitCopy
|
|
||||||
rep #$30
|
|
||||||
lda $06 : jsr ConvertToDisplay2 : sta $1644, y : iny #2
|
lda $06 : jsr ConvertToDisplay2 : sta $1644, y : iny #2
|
||||||
lda $07 : jsr ConvertToDisplay2 : sta $1644, y
|
lda $07 : jsr ConvertToDisplay2 : sta $1644, y
|
||||||
plx
|
plx
|
||||||
@@ -252,11 +249,7 @@ ConvertToDisplay2:
|
|||||||
++ lda #$2827 : rts ; 0/O for 0 or placeholder digit ;2483
|
++ lda #$2827 : rts ; 0/O for 0 or placeholder digit ;2483
|
||||||
|
|
||||||
CountAbsorbedKeys:
|
CountAbsorbedKeys:
|
||||||
jsl IncrementSmallKeysNoPrimary : phx
|
JML IncrementSmallKeysNoPrimary
|
||||||
lda $040c : cmp #$ff : beq +
|
|
||||||
lsr : tax
|
|
||||||
lda DungeonAbsorbedKeys, x : inc : sta DungeonAbsorbedKeys, x
|
|
||||||
+ plx : rtl
|
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
; 8-bit registers
|
; 8-bit registers
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ JML.l InitializeSaveFile_checksum_done
|
|||||||
OnFileLoad:
|
OnFileLoad:
|
||||||
REP #$10 ; set 16 bit index registers
|
REP #$10 ; set 16 bit index registers
|
||||||
JSL.l EnableForceBlank ; what we wrote over
|
JSL.l EnableForceBlank ; what we wrote over
|
||||||
REP #$20 : LDA.l $30F010 : STA.l MultiClientFlagsWRAM+1 : SEP #$20
|
REP #$20 : LDA.l TotalItemCount : STA.l MultiClientFlagsWRAM+1 : SEP #$20
|
||||||
LDA MultiClientFlagsROM : STA.l MultiClientFlagsWRAM
|
LDA MultiClientFlagsROM : STA.l MultiClientFlagsWRAM
|
||||||
|
|
||||||
LDA.b #$07 : STA.w BG34NBA ; Restore screen 3 to normal tile area
|
LDA.b #$07 : STA.w BG34NBA ; Restore screen 3 to normal tile area
|
||||||
|
|||||||
2
init.asm
2
init.asm
@@ -77,10 +77,12 @@ JML $80D463 ; The original target of the jump table that we hijacked
|
|||||||
InitDungeonCounts:
|
InitDungeonCounts:
|
||||||
PHB
|
PHB
|
||||||
LDX.b #$0F
|
LDX.b #$0F
|
||||||
|
REP #$20
|
||||||
-
|
-
|
||||||
LDA.l CompassTotalsROM, X : STA.l CompassTotalsWRAM, X
|
LDA.l CompassTotalsROM, X : STA.l CompassTotalsWRAM, X
|
||||||
DEX
|
DEX
|
||||||
BPL -
|
BPL -
|
||||||
|
SEP #$20
|
||||||
LDX.b #$0F
|
LDX.b #$0F
|
||||||
-
|
-
|
||||||
LDA.l ChestKeys, X : STA.l MapTotalsWRAM, X
|
LDA.l ChestKeys, X : STA.l MapTotalsWRAM, X
|
||||||
|
|||||||
@@ -216,10 +216,10 @@ DungeonIncrement:
|
|||||||
CPY.b #$32 : BEQ .ballchain_bigkey
|
CPY.b #$32 : BEQ .ballchain_bigkey
|
||||||
+
|
+
|
||||||
CMP.b #$04 : BCS +
|
CMP.b #$04 : BCS +
|
||||||
LDA.l SewersLocations : INC : STA.l SewersLocations : STA.l HCLocations
|
REP #$20 : LDA.l SewersLocations : INC : STA.l SewersLocations : STA.l HCLocations : SEP #$20
|
||||||
BRA .done
|
BRA .done
|
||||||
+
|
+
|
||||||
LSR : TAX : LDA.l DungeonLocationsChecked, X : INC : STA.l DungeonLocationsChecked, X
|
TAX : REP #$20 : LDA.l DungeonLocationsChecked, X : INC : STA.l DungeonLocationsChecked, X : SEP #$20
|
||||||
CPX.b #$0D : BNE +
|
CPX.b #$0D : BNE +
|
||||||
LDA.l BigKeyField : BIT.b #$04 : BNE ++
|
LDA.l BigKeyField : BIT.b #$04 : BNE ++
|
||||||
LDA.l PreGTBKLocations : INC : STA.l PreGTBKLocations
|
LDA.l PreGTBKLocations : INC : STA.l PreGTBKLocations
|
||||||
|
|||||||
@@ -221,14 +221,14 @@ RevealPotItem:
|
|||||||
LDA.l RoomPotData, X : BIT $0A : BNE .obtained
|
LDA.l RoomPotData, X : BIT $0A : BNE .obtained
|
||||||
ORA $0A : STA RoomPotData, X
|
ORA $0A : STA RoomPotData, X
|
||||||
; increment dungeon counts
|
; increment dungeon counts
|
||||||
SEP #$30
|
SEP #$10
|
||||||
LDA $040C : CMP #$FF : BEQ +
|
LDX.w $040C : CPX.b #$FF : BEQ +
|
||||||
CMP.b #$00 : BNE ++
|
CPX.b #$00 : BNE ++
|
||||||
INC #2 ; treat sewers as HC
|
INX #2 ; treat sewers as HC
|
||||||
++ LSR : TAX : LDA DungeonLocationsChecked, X : INC : STA DungeonLocationsChecked, X
|
++ LDA.l DungeonLocationsChecked, X : INC : STA.l DungeonLocationsChecked, X
|
||||||
INC.w UpdateHUD
|
INC.w UpdateHUD
|
||||||
; Could increment GT Tower Pre Big Key but we aren't showing that stat right now
|
; Could increment GT Tower Pre Big Key but we aren't showing that stat right now
|
||||||
+ REP #$30
|
+ REP #$10
|
||||||
LDA TotalItemCounter : INC : STA TotalItemCounter ; Increment Item Total
|
LDA TotalItemCounter : INC : STA TotalItemCounter ; Increment Item Total
|
||||||
.obtained
|
.obtained
|
||||||
PLY : PLX
|
PLY : PLX
|
||||||
@@ -314,17 +314,17 @@ IncrementCountsForSubstitute:
|
|||||||
LDA.b $A0 : ASL : TAX
|
LDA.b $A0 : ASL : TAX
|
||||||
LDA.l RoomPotData, X : BIT $0A : BNE .obtained
|
LDA.l RoomPotData, X : BIT $0A : BNE .obtained
|
||||||
ORA $0A : STA RoomPotData, X
|
ORA $0A : STA RoomPotData, X
|
||||||
SEP #$30
|
SEP #$10
|
||||||
LDA $040C : CMP #$FF : BEQ +
|
LDX.w $040C : CPX.b #$FF : BEQ +
|
||||||
CMP.b #$00 : BNE ++
|
CPX.b #$00 : BNE ++
|
||||||
INC #2 ; treat sewers as HC
|
INX #2 ; treat sewers as HC
|
||||||
++ LSR : TAX : LDA DungeonLocationsChecked, X : INC : STA DungeonLocationsChecked, X
|
++ LDA.l DungeonLocationsChecked, X : INC : STA.l DungeonLocationsChecked, X
|
||||||
INC.w UpdateHUD
|
INC.w UpdateHUD
|
||||||
; Could increment GT Tower Pre Big Key but we aren't showing that stat right now
|
; Could increment GT Tower Pre Big Key but we aren't showing that stat right now
|
||||||
+ REP #$30
|
+
|
||||||
LDA TotalItemCounter : INC : STA TotalItemCounter ; Increment Item Total
|
LDA TotalItemCounter : INC : STA TotalItemCounter ; Increment Item Total
|
||||||
.obtained
|
.obtained
|
||||||
SEP #$30 : PLX
|
SEP #$20 : PLX
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
ClearSpriteData:
|
ClearSpriteData:
|
||||||
@@ -514,15 +514,15 @@ IncrementCountForMinor:
|
|||||||
LDA.b $A0 : ASL : TAX
|
LDA.b $A0 : ASL : TAX
|
||||||
LDA.l SpriteDropData, X : BIT $0A : BNE .obtained
|
LDA.l SpriteDropData, X : BIT $0A : BNE .obtained
|
||||||
ORA $0A : STA SpriteDropData, X
|
ORA $0A : STA SpriteDropData, X
|
||||||
SEP #$30
|
SEP #$10
|
||||||
JSR SetupEnemyDropIndicator
|
JSR SetupEnemyDropIndicator
|
||||||
LDA $040C : CMP #$FF : BEQ +
|
LDX.w $040C : CPX.b #$FF : BEQ +
|
||||||
CMP.b #$00 : BNE ++
|
CPX.b #$00 : BNE ++
|
||||||
INC #2 ; treat sewers as HC
|
INX #2 ; treat sewers as HC
|
||||||
++ LSR : TAX : LDA DungeonLocationsChecked, X : INC : STA DungeonLocationsChecked, X
|
++ LDA.l DungeonLocationsChecked, X : INC : STA.l DungeonLocationsChecked, X
|
||||||
INC.w UpdateHUD
|
INC.w UpdateHUD
|
||||||
; Could increment GT Tower Pre Big Key but we aren't showing that stat right now
|
; Could increment GT Tower Pre Big Key but we aren't showing that stat right now
|
||||||
+ REP #$30
|
+ REP #$10
|
||||||
LDA TotalItemCounter : INC : STA TotalItemCounter ; Increment Item Total
|
LDA TotalItemCounter : INC : STA TotalItemCounter ; Increment Item Total
|
||||||
.obtained
|
.obtained
|
||||||
SEP #$30 : PLX
|
SEP #$30 : PLX
|
||||||
|
|||||||
@@ -87,8 +87,11 @@ PHX
|
|||||||
CLC : BRA .done
|
CLC : BRA .done
|
||||||
|
|
||||||
; see if hyrule castle has been completely cleared
|
; see if hyrule castle has been completely cleared
|
||||||
.hyrule_castle
|
.hyrule_castle
|
||||||
LDA.l CompassTotalsWRAM, X : SEC : SBC DungeonLocationsChecked, X : BEQ .fail
|
REP #$20
|
||||||
|
LDA.l CompassTotalsWRAM, X : SEC : SBC.l DungeonLocationsChecked, X
|
||||||
|
SEP #$20
|
||||||
|
BEQ .fail
|
||||||
CLC : BRA .done
|
CLC : BRA .done
|
||||||
|
|
||||||
.fail
|
.fail
|
||||||
|
|||||||
80
newhud.asm
80
newhud.asm
@@ -78,10 +78,14 @@ NewHUD_DrawGoal:
|
|||||||
LDA.b Scrap07 : TAX : STX.w HUDGoalIndicator+6 ; draw 1's digit
|
LDA.b Scrap07 : TAX : STX.w HUDGoalIndicator+6 ; draw 1's digit
|
||||||
|
|
||||||
REP #$20
|
REP #$20
|
||||||
|
LDX.w #!BlankTile
|
||||||
|
LDA.w GoalCounter
|
||||||
|
CMP.w #100 : BCS .req : STX.w HUDGoalIndicator+$02
|
||||||
|
CMP.w #10 : BCS .req : STX.w HUDGoalIndicator+$04
|
||||||
|
|
||||||
|
.req
|
||||||
LDA.l GoalItemRequirement : CMP.w #$FFFF : BNE .real_goal
|
LDA.l GoalItemRequirement : CMP.w #$FFFF : BNE .real_goal
|
||||||
|
|
||||||
LDX.w #!BlankTile
|
|
||||||
STX.w HUDGoalIndicator+10
|
STX.w HUDGoalIndicator+10
|
||||||
STX.w HUDGoalIndicator+12
|
STX.w HUDGoalIndicator+12
|
||||||
STX.w HUDGoalIndicator+14
|
STX.w HUDGoalIndicator+14
|
||||||
@@ -197,8 +201,11 @@ NewHUD_DrawPrizeIcon:
|
|||||||
;================================================================================
|
;================================================================================
|
||||||
NewHUD_DrawItemCounter:
|
NewHUD_DrawItemCounter:
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA.w UpdateHUD : BEQ NewHUD_DrawMagicMeter
|
LDA.w UpdateHUD : BNE .continue
|
||||||
LDA.l ItemCounterHUD : AND.w #$00FF : BEQ NewHUD_DrawMagicMeter
|
.early_exit
|
||||||
|
JMP NewHUD_DrawMagicMeter
|
||||||
|
.continue
|
||||||
|
LDA.l ItemCounterHUD : AND.w #$00FF : BEQ .early_exit
|
||||||
LDA.w #!SlashTile : STA.w HUDGoalIndicator+$08
|
LDA.w #!SlashTile : STA.w HUDGoalIndicator+$08
|
||||||
LDA.l TotalItemCount : CMP.w #1000 : BCS .item_four_digits
|
LDA.l TotalItemCount : CMP.w #1000 : BCS .item_four_digits
|
||||||
LDA.w TotalItemCountTiles+$02 : STA.w HUDGoalIndicator+$0A
|
LDA.w TotalItemCountTiles+$02 : STA.w HUDGoalIndicator+$0A
|
||||||
@@ -210,6 +217,10 @@ NewHUD_DrawItemCounter:
|
|||||||
LDA.b $05 : TAX : STX.w HUDGoalIndicator+$02
|
LDA.b $05 : TAX : STX.w HUDGoalIndicator+$02
|
||||||
LDA.b $06 : TAX : STX.w HUDGoalIndicator+$04
|
LDA.b $06 : TAX : STX.w HUDGoalIndicator+$04
|
||||||
LDA.b $07 : TAX : STX.w HUDGoalIndicator+$06
|
LDA.b $07 : TAX : STX.w HUDGoalIndicator+$06
|
||||||
|
REP #$20 : LDA.w TotalItemCounter
|
||||||
|
LDX.w #!BlankTile
|
||||||
|
CMP.w #100 : BCS NewHUD_DrawMagicMeter : STX.w HUDGoalIndicator+$02
|
||||||
|
CMP.w #10 : BCS NewHUD_DrawMagicMeter : STX.w HUDGoalIndicator+$04
|
||||||
BRA NewHUD_DrawMagicMeter
|
BRA NewHUD_DrawMagicMeter
|
||||||
|
|
||||||
.item_four_digits
|
.item_four_digits
|
||||||
@@ -224,6 +235,11 @@ NewHUD_DrawItemCounter:
|
|||||||
LDA.b $05 : TAX : STX.w HUDGoalIndicator+$02
|
LDA.b $05 : TAX : STX.w HUDGoalIndicator+$02
|
||||||
LDA.b $06 : TAX : STX.w HUDGoalIndicator+$04
|
LDA.b $06 : TAX : STX.w HUDGoalIndicator+$04
|
||||||
LDA.b $07 : TAX : STX.w HUDGoalIndicator+$06
|
LDA.b $07 : TAX : STX.w HUDGoalIndicator+$06
|
||||||
|
REP #$20 : LDA.w TotalItemCounter
|
||||||
|
LDX.w #!BlankTile
|
||||||
|
CMP.w #1000 : BCS NewHUD_DrawMagicMeter : STX.w HUDGoalIndicator+$00
|
||||||
|
CMP.w #100 : BCS NewHUD_DrawMagicMeter : STX.w HUDGoalIndicator+$02
|
||||||
|
CMP.w #10 : BCS NewHUD_DrawMagicMeter : STX.w HUDGoalIndicator+$04
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
DrawMagicMeter_mp_tilemap = $0DFE0F
|
DrawMagicMeter_mp_tilemap = $0DFE0F
|
||||||
@@ -275,37 +291,65 @@ MagicMeterColorMasks:
|
|||||||
dw $EBFF ; yellow
|
dw $EBFF ; yellow
|
||||||
dw $E3FF ; orange
|
dw $E3FF ; orange
|
||||||
|
|
||||||
|
|
||||||
; todo: re-do this section
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
DrawCompassCounts:
|
DrawCompassCounts:
|
||||||
LDA.l CompassMode : AND #$0F : BEQ .done
|
LDA.l CompassMode : AND.b #$0F : BNE .continue
|
||||||
|
.early_exit
|
||||||
|
JMP .done
|
||||||
|
.continue
|
||||||
|
|
||||||
; no compass needed if this bit is set
|
; no compass needed if this bit is set
|
||||||
BIT.b #$02 : BNE .draw_compass_count
|
BIT.b #$02 : BNE .draw_compass_count
|
||||||
|
TYX : LDA.l ExistsTransfer, X : TAX : LDA.l CompassExists, X : BEQ .draw_compass_count
|
||||||
REP #$20
|
REP #$20
|
||||||
LDA.l CompassField : AND.l DungeonItemMasks,X : BEQ .done
|
LDX.w DungeonID : LDA.l CompassField : AND.l DungeonItemMasks,X : BEQ .early_exit
|
||||||
|
|
||||||
.draw_compass_count
|
.draw_compass_count
|
||||||
SEP #$20
|
LDX.w DungeonID
|
||||||
TYX : BNE .not_sewers
|
CPX.b #$00 : BNE .not_sewers
|
||||||
INX
|
INX #2
|
||||||
|
|
||||||
.not_sewers
|
.not_sewers
|
||||||
|
REP #$20
|
||||||
LDA.l DungeonLocationsChecked, X
|
LDA.l DungeonLocationsChecked, X
|
||||||
PHA
|
PHA
|
||||||
|
|
||||||
|
LDA.w #!SlashTile : STA.w HUDTileMapBuffer+$98 ; always slash
|
||||||
LDA.l CompassTotalsWRAM,X
|
LDA.l CompassTotalsWRAM,X
|
||||||
|
CMP.w #100 : BCS .three_digits
|
||||||
|
CMP.w #10 : BCS .two_digits
|
||||||
|
|
||||||
JSR HUDHex2Digit
|
LDA.l CompassTotalsOneDigit, X : STA.w HUDTileMapBuffer+$9C
|
||||||
STY.w HUDTileMapBuffer+$9A : STX.w HUDTileMapBuffer+$9C
|
PLA
|
||||||
|
JSR HUDHex2Digit
|
||||||
LDX.w #!BlankTile : STX.w HUDTileMapBuffer+$92
|
STX.w HUDTileMapBuffer+$96
|
||||||
LDX.w #!SlashTile : STX.w HUDTileMapBuffer+$98
|
BRA .done
|
||||||
|
|
||||||
|
.two_digits
|
||||||
|
LDA.l CompassTotalsTensDigit, X : STA.w HUDTileMapBuffer+$9A
|
||||||
|
LDA.l CompassTotalsOneDigit, X : STA.w HUDTileMapBuffer+$9C
|
||||||
PLA
|
PLA
|
||||||
JSR HUDHex2Digit
|
JSR HUDHex2Digit
|
||||||
STY.w HUDTileMapBuffer+$94 : STX.w HUDTileMapBuffer+$96
|
CPY.w #$2490 : BEQ +
|
||||||
|
STY.w HUDTileMapBuffer+$94
|
||||||
|
+ STX.w HUDTileMapBuffer+$96
|
||||||
|
BRA .done
|
||||||
|
|
||||||
|
.three_digits
|
||||||
|
LDA.l CompassTotalsHundredsDigit, X : STA.w HUDTileMapBuffer+$9A
|
||||||
|
LDA.l CompassTotalsTensDigit, X : STA.w HUDTileMapBuffer+$9C
|
||||||
|
LDA.l CompassTotalsOneDigit, X : STA.w HUDTileMapBuffer+$9E
|
||||||
|
PLA : PHA
|
||||||
|
JSR HUDHex4Digit
|
||||||
|
LDA.b Scrap05 : TAX : STX.w HUDTileMapBuffer+$92
|
||||||
|
LDA.b Scrap06 : TAX : STX.w HUDTileMapBuffer+$94
|
||||||
|
LDA.b Scrap07 : TAX : STX.w HUDTileMapBuffer+$96
|
||||||
|
REP #$20 : PLA
|
||||||
|
LDX.w #!BlankTile
|
||||||
|
CMP.w #100 : BCS .done
|
||||||
|
STX.w HUDTileMapBuffer+$92
|
||||||
|
CMP.w #10 : BCS .done
|
||||||
|
STX.w HUDTileMapBuffer+$94
|
||||||
|
|
||||||
.done
|
.done
|
||||||
SEP #$20
|
SEP #$20
|
||||||
|
|||||||
6
ram.asm
6
ram.asm
@@ -609,9 +609,9 @@ RxStatus: skip 1 ;
|
|||||||
TxBuffer: skip $7F ;
|
TxBuffer: skip $7F ;
|
||||||
TxStatus: skip 1 ;
|
TxStatus: skip 1 ;
|
||||||
skip $10 ; Unused
|
skip $10 ; Unused
|
||||||
CompassTotalsWRAM: skip $10 ; \ Compass and map dungeon HUD display totals. Placed in WRAM
|
CompassTotalsWRAM: skip $20 ; \ Compass and map dungeon HUD display totals. Placed in WRAM
|
||||||
MapTotalsWRAM: skip $10 ; / on boot for tracking.
|
MapTotalsWRAM: skip $10 ; / on boot for tracking.
|
||||||
skip $30 ; Reserved for general dungeon tracking data. May have over
|
skip $20 ; Reserved for general dungeon tracking data. May have over
|
||||||
; allocated here. Feel free to reassign.
|
; allocated here. Feel free to reassign.
|
||||||
MapCompassFlag: skip 2 ; Used to flag overworld map drawing.
|
MapCompassFlag: skip 2 ; Used to flag overworld map drawing.
|
||||||
skip $3E ; Unused
|
skip $3E ; Unused
|
||||||
@@ -1004,7 +1004,7 @@ endmacro
|
|||||||
%assertRAM(TxBuffer, $7F5380)
|
%assertRAM(TxBuffer, $7F5380)
|
||||||
%assertRAM(TxStatus, $7F53FF)
|
%assertRAM(TxStatus, $7F53FF)
|
||||||
%assertRAM(CompassTotalsWRAM, $7F5410)
|
%assertRAM(CompassTotalsWRAM, $7F5410)
|
||||||
%assertRAM(MapTotalsWRAM, $7F5420)
|
%assertRAM(MapTotalsWRAM, $7F5430)
|
||||||
%assertRAM(MapCompassFlag, $7F5460)
|
%assertRAM(MapCompassFlag, $7F5460)
|
||||||
%assertRAM(DialogBuffer, $7F5700)
|
%assertRAM(DialogBuffer, $7F5700)
|
||||||
%assertRAM(MiniGameTime, $7FFE00)
|
%assertRAM(MiniGameTime, $7FFE00)
|
||||||
|
|||||||
95
sram.asm
95
sram.asm
@@ -327,38 +327,22 @@ skip 40 ; Unused
|
|||||||
ServiceSequence: ; See servicerequest.asm
|
ServiceSequence: ; See servicerequest.asm
|
||||||
ServiceSequenceRx: skip 8 ; Service sequence receive
|
ServiceSequenceRx: skip 8 ; Service sequence receive
|
||||||
ServiceSequenceTx: skip 8 ; Service sequence transmit
|
ServiceSequenceTx: skip 8 ; Service sequence transmit
|
||||||
DungeonAbsorbedKeys: ; \ Absorbed key counters (integers)
|
DungeonLocationsChecked: ; \ Dungeon locations checked counters (integers, word size)
|
||||||
SewerAbsorbedKeys: skip 1 ; | Sewer Passage
|
SewersLocations: skip 2 ; | Sewer Passage
|
||||||
HCAbsorbedKeys: skip 1 ; | Hyrule Castle
|
HCLocations: skip 2 ; | Hyrule Castle
|
||||||
EPAbsorbedKeys: skip 1 ; | Eastern Palace
|
EPLocations: skip 2 ; | Eastern Palace
|
||||||
DPAbsorbedKeys: skip 1 ; | Desert Palace
|
DPLocations: skip 2 ; | Desert Palace
|
||||||
CTAbsorbedKeys: skip 1 ; | Agahnim's Tower
|
CTLocations: skip 2 ; | Agahnim's Tower
|
||||||
SPAbsorbedKeys: skip 1 ; | Swamp Palace
|
SPLocations: skip 2 ; | Swamp Palace
|
||||||
PDAbsorbedKeys: skip 1 ; | Palace of Darkness
|
PDLocations: skip 2 ; | Palace of Darkness
|
||||||
MMAbsorbedKeys: skip 1 ; | Misery Mire
|
MMLocations: skip 2 ; | Misery Mire
|
||||||
SWAbsorbedKeys: skip 1 ; | Skull Woods
|
SWLocations: skip 2 ; | Skull Woods
|
||||||
IPAbsorbedKeys: skip 1 ; | Ice Palace
|
IPLocations: skip 2 ; | Ice Palace
|
||||||
THAbsorbedKeys: skip 1 ; | Tower of Hera
|
THLocations: skip 2 ; | Tower of Hera
|
||||||
TTAbsorbedKeys: skip 1 ; | Thieves' Town
|
TTLocations: skip 2 ; | Thieves' Town
|
||||||
TRAbsorbedKeys: skip 1 ; | Turtle Rock
|
TRLocations: skip 2 ; | Turtle Rock
|
||||||
GTAbsorbedKeys: skip 1 ; / Ganon's Tower
|
GTLocations: skip 2 ; / Ganon's Tower:
|
||||||
skip 2 ; Reserved for previous table
|
skip 4 ; Reserved for previous table
|
||||||
DungeonLocationsChecked: ; \ Dungeon locations checked counters (integers)
|
|
||||||
SewersLocations: skip 1 ; | Sewer Passage
|
|
||||||
HCLocations: skip 1 ; | Hyrule Castle
|
|
||||||
EPLocations: skip 1 ; | Eastern Palace
|
|
||||||
DPLocations: skip 1 ; | Desert Palace
|
|
||||||
CTLocations: skip 1 ; | Agahnim's Tower
|
|
||||||
SPLocations: skip 1 ; | Swamp Palace
|
|
||||||
PDLocations: skip 1 ; | Palace of Darkness
|
|
||||||
MMLocations: skip 1 ; | Misery Mire
|
|
||||||
SWLocations: skip 1 ; | Skull Woods
|
|
||||||
IPLocations: skip 1 ; | Ice Palace
|
|
||||||
THLocations: skip 1 ; | Tower of Hera
|
|
||||||
TTLocations: skip 1 ; | Thieves' Town
|
|
||||||
TRLocations: skip 1 ; | Turtle Rock
|
|
||||||
GTLocations: skip 1 ; / Ganon's Tower:
|
|
||||||
skip 2 ; Reserved for previous table
|
|
||||||
skip 16 ; Currently occupied by multiworld stuff in DR, can be reclaimed
|
skip 16 ; Currently occupied by multiworld stuff in DR, can be reclaimed
|
||||||
DungeonCollectedKeys: ; \ Chest Key Counters. Only counts keys placed in chests. (integers)
|
DungeonCollectedKeys: ; \ Chest Key Counters. Only counts keys placed in chests. (integers)
|
||||||
SewerCollectedKeys: skip 1 ; | Sewer Passage
|
SewerCollectedKeys: skip 1 ; | Sewer Passage
|
||||||
@@ -393,6 +377,8 @@ RoomPotData: skip 592 ; Table for expanded pot shuffle. One word per
|
|||||||
SpriteDropData: skip 592 ; Table for expanded drop shuffle. One word per room.
|
SpriteDropData: skip 592 ; Table for expanded drop shuffle. One word per room.
|
||||||
PurchaseCounts: skip 96 ; Keeps track of shop purchases
|
PurchaseCounts: skip 96 ; Keeps track of shop purchases
|
||||||
PrivateBlockPersistent: skip 513 ; Reserved for 3rd party developers
|
PrivateBlockPersistent: skip 513 ; Reserved for 3rd party developers
|
||||||
|
skip 231
|
||||||
|
DungeonLocationsCheckedBCD:
|
||||||
|
|
||||||
;================================================================================
|
;================================================================================
|
||||||
; Direct SRAM Assignments ($700000 - $7080000)
|
; Direct SRAM Assignments ($700000 - $7080000)
|
||||||
@@ -607,36 +593,21 @@ endmacro
|
|||||||
%assertSRAM(ServiceSequenceRx, $7EF4A0)
|
%assertSRAM(ServiceSequenceRx, $7EF4A0)
|
||||||
%assertSRAM(ServiceSequenceTx, $7EF4A8)
|
%assertSRAM(ServiceSequenceTx, $7EF4A8)
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
%assertSRAM(DungeonAbsorbedKeys, $7EF4B0)
|
%assertSRAM(DungeonLocationsChecked, $7EF4B0)
|
||||||
%assertSRAM(SewerAbsorbedKeys, $7EF4B0)
|
%assertSRAM(SewersLocations, $7EF4B0)
|
||||||
%assertSRAM(HCAbsorbedKeys, $7EF4B1)
|
%assertSRAM(HCLocations, $7EF4B2)
|
||||||
%assertSRAM(EPAbsorbedKeys, $7EF4B2)
|
%assertSRAM(EPLocations, $7EF4B4)
|
||||||
%assertSRAM(DPAbsorbedKeys, $7EF4B3)
|
%assertSRAM(DPLocations, $7EF4B6)
|
||||||
%assertSRAM(CTAbsorbedKeys, $7EF4B4)
|
%assertSRAM(CTLocations, $7EF4B8)
|
||||||
%assertSRAM(SPAbsorbedKeys, $7EF4B5)
|
%assertSRAM(SPLocations, $7EF4BA)
|
||||||
%assertSRAM(PDAbsorbedKeys, $7EF4B6)
|
%assertSRAM(PDLocations, $7EF4BC)
|
||||||
%assertSRAM(MMAbsorbedKeys, $7EF4B7)
|
%assertSRAM(MMLocations, $7EF4BE)
|
||||||
%assertSRAM(SWAbsorbedKeys, $7EF4B8)
|
%assertSRAM(SWLocations, $7EF4C0)
|
||||||
%assertSRAM(IPAbsorbedKeys, $7EF4B9)
|
%assertSRAM(IPLocations, $7EF4C2)
|
||||||
%assertSRAM(THAbsorbedKeys, $7EF4BA)
|
%assertSRAM(THLocations, $7EF4C4)
|
||||||
%assertSRAM(TTAbsorbedKeys, $7EF4BB)
|
%assertSRAM(TTLocations, $7EF4C6)
|
||||||
%assertSRAM(TRAbsorbedKeys, $7EF4BC)
|
%assertSRAM(TRLocations, $7EF4C8)
|
||||||
%assertSRAM(GTAbsorbedKeys, $7EF4BD)
|
%assertSRAM(GTLocations, $7EF4CA)
|
||||||
%assertSRAM(DungeonLocationsChecked, $7EF4C0)
|
|
||||||
%assertSRAM(SewersLocations, $7EF4C0)
|
|
||||||
%assertSRAM(HCLocations, $7EF4C1)
|
|
||||||
%assertSRAM(EPLocations, $7EF4C2)
|
|
||||||
%assertSRAM(DPLocations, $7EF4C3)
|
|
||||||
%assertSRAM(CTLocations, $7EF4C4)
|
|
||||||
%assertSRAM(SPLocations, $7EF4C5)
|
|
||||||
%assertSRAM(PDLocations, $7EF4C6)
|
|
||||||
%assertSRAM(MMLocations, $7EF4C7)
|
|
||||||
%assertSRAM(SWLocations, $7EF4C8)
|
|
||||||
%assertSRAM(IPLocations, $7EF4C9)
|
|
||||||
%assertSRAM(THLocations, $7EF4CA)
|
|
||||||
%assertSRAM(TTLocations, $7EF4CB)
|
|
||||||
%assertSRAM(TRLocations, $7EF4CC)
|
|
||||||
%assertSRAM(GTLocations, $7EF4CD)
|
|
||||||
%assertSRAM(DungeonCollectedKeys, $7EF4E0)
|
%assertSRAM(DungeonCollectedKeys, $7EF4E0)
|
||||||
%assertSRAM(SewerCollectedKeys, $7EF4E0)
|
%assertSRAM(SewerCollectedKeys, $7EF4E0)
|
||||||
%assertSRAM(HCCollectedKeys, $7EF4E1)
|
%assertSRAM(HCCollectedKeys, $7EF4E1)
|
||||||
|
|||||||
32
tables.asm
32
tables.asm
@@ -2757,9 +2757,10 @@ CrystalPendantFlags_3:
|
|||||||
db $07 ; Turtle Rock
|
db $07 ; Turtle Rock
|
||||||
db $00 ; Ganons Tower
|
db $00 ; Ganons Tower
|
||||||
; 00 - No Prize. 01 - 07 Crystal Number 08 - Green Pendant 09 - Blue Pendant, 0A - Red Pendant
|
; 00 - No Prize. 01 - 07 Crystal Number 08 - Green Pendant 09 - Blue Pendant, 0A - Red Pendant
|
||||||
org $B0F000 ; PC 0x187000-0x18700F
|
|
||||||
CompassTotalsROM:
|
;--------------------------------------------------------------------------------
|
||||||
db $08, $08, $06, $06, $02, $0A, $0E, $08, $08, $08, $06, $08, $0C, $1B, $00, $00
|
; 0x187000 - 18700F (unused)
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
org $B0F010
|
org $B0F010
|
||||||
ChestKeys: ; PC 0x187010-0x18701F
|
ChestKeys: ; PC 0x187010-0x18701F
|
||||||
@@ -2784,10 +2785,31 @@ org $B0F032 ; PC 0x187032
|
|||||||
RomSpeed:
|
RomSpeed:
|
||||||
db $01 ; $01 = FastROM (default) | $00 = SlowROM
|
db $01 ; $01 = FastROM (default) | $00 = SlowROM
|
||||||
|
|
||||||
org $B0F033 ; PC 0x187033
|
;--------------------------------------------------------------------------------
|
||||||
|
; 0x187033 - 18703F (unused)
|
||||||
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
org $B0F040 ; PC 0x187040
|
||||||
|
CompassTotalsROM:
|
||||||
|
dw $0008, $0008, $0006, $0006, $0002, $000A, $000E, $0008
|
||||||
|
dw $0008, $0008, $0006, $0008, $000C, $001B, $0000, $0000
|
||||||
|
org $B0F060 ; PC 0x187060
|
||||||
|
CompassTotalsHundredsDigit:
|
||||||
|
dw !BlankTile, !BlankTile, !BlankTile, !BlankTile, !BlankTile, !BlankTile, !BlankTile, !BlankTile
|
||||||
|
dw !BlankTile, !BlankTile, !BlankTile, !BlankTile, !BlankTile, !BlankTile, !BlankTile, !BlankTile
|
||||||
|
org $B0F080 ; PC 0x187080
|
||||||
|
CompassTotalsTensDigit:
|
||||||
|
dw !BlankTile, !BlankTile, !BlankTile, !BlankTile, !BlankTile, $2491, $2491, !BlankTile
|
||||||
|
dw !BlankTile, !BlankTile, !BlankTile, !BlankTile, $2491, $2492, !BlankTile, !BlankTile
|
||||||
|
org $B0F0A0 ; PC 0x1870A0
|
||||||
|
CompassTotalsOneDigit:
|
||||||
|
dw $2498, $2498, $2496, $2496, $2492, $2490, $2494, $2498
|
||||||
|
dw $2498, $2498, $2496, $2498, $2492, $2497, $2490, $2490
|
||||||
|
|
||||||
|
org $B0F0C0 ; PC 0x1870C0
|
||||||
|
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
; 0x187033 - 187FFF (unused)
|
; 0x1870C0 - 187FFF (unused)
|
||||||
;--------------------------------------------------------------------------------
|
;--------------------------------------------------------------------------------
|
||||||
|
|
||||||
pushpc
|
pushpc
|
||||||
|
|||||||
Reference in New Issue
Block a user