@@ -65,7 +65,7 @@ GiveBonkItem:
|
||||
PHY : LDY.b #$24 : JSL.l AddInventory : PLY ; do inventory processing for a small key
|
||||
LDA.l CurrentSmallKeys : INC A : STA.l CurrentSmallKeys
|
||||
LDA.b #$2F : JSL.l Sound_SetSfx3PanLong
|
||||
INC.w UpdateHUDFlag
|
||||
LDA.b #$01 : STA.l UpdateHUDFlag
|
||||
RTL
|
||||
.notKey
|
||||
PHY : TAY : JSL.l Link_ReceiveItem : PLY
|
||||
|
||||
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 4.1 KiB |
50
dialog.asm
50
dialog.asm
@@ -61,7 +61,7 @@ LoadDialogAddressIndirect:
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
FreeDungeonItemNotice:
|
||||
STA.w ScratchBufferV
|
||||
STA.l ScratchBufferV
|
||||
|
||||
PHA : PHX : PHY
|
||||
PHP
|
||||
@@ -70,59 +70,59 @@ FreeDungeonItemNotice:
|
||||
REP #$10 ; set 16-bit index registers
|
||||
PEI.b (Scrap00)
|
||||
LDA.b Scrap02 : PHA
|
||||
LDA.w ScratchBufferNV : PHA
|
||||
LDA.w ScratchBufferNV+1 : PHA
|
||||
LDA.l ScratchBufferNV : PHA
|
||||
LDA.l ScratchBufferNV+1 : PHA
|
||||
;--------------------------------
|
||||
|
||||
LDA.l FreeItemText : BNE + : JMP .skip : +
|
||||
|
||||
LDA.b #$00 : STA.w ScratchBufferNV ; initialize scratch
|
||||
LDA.b #$00 : STA.l ScratchBufferNV ; initialize scratch
|
||||
LDA.l FreeItemText : AND.b #$01 : BEQ + ; show message for general small key
|
||||
LDA.w ScratchBufferV : CMP.b #$24 : BNE + ; general small key
|
||||
LDA.l ScratchBufferV : CMP.b #$24 : BNE + ; general small key
|
||||
%CopyDialog(Notice_SmallKeyOf)
|
||||
LDA.l DialogReturnPointer : DEC #2 : STA.l DialogOffsetPointer
|
||||
%CopyDialog(Notice_Self)
|
||||
JMP .done
|
||||
+ : LDA.l FreeItemText : AND.b #$02 : BEQ + ; show message for general compass
|
||||
LDA.w ScratchBufferV : CMP.b #$25 : BNE + ; general compass
|
||||
LDA.l ScratchBufferV : CMP.b #$25 : BNE + ; general compass
|
||||
%CopyDialog(Notice_CompassOf)
|
||||
LDA.l DialogReturnPointer : DEC #2 : STA.l DialogOffsetPointer
|
||||
%CopyDialog(Notice_Self)
|
||||
JMP .done
|
||||
+ : LDA.l FreeItemText : AND.b #$04 : BEQ + ; show message for general map
|
||||
LDA.w ScratchBufferV : CMP.b #$33 : BNE + ; general map
|
||||
LDA.l ScratchBufferV : CMP.b #$33 : BNE + ; general map
|
||||
%CopyDialog(Notice_MapOf)
|
||||
LDA.l DialogReturnPointer : DEC #2 : STA.l DialogOffsetPointer
|
||||
%CopyDialog(Notice_Self)
|
||||
JMP .done
|
||||
+ : LDA.l FreeItemText : AND.b #$08 : BEQ + ; show message for general big key
|
||||
LDA.w ScratchBufferV : CMP.b #$32 : BNE + ; general big key
|
||||
LDA.l ScratchBufferV : CMP.b #$32 : BNE + ; general big key
|
||||
%CopyDialog(Notice_BigKeyOf)
|
||||
LDA.l DialogReturnPointer : DEC #2 : STA.l DialogOffsetPointer
|
||||
%CopyDialog(Notice_Self)
|
||||
JMP .done
|
||||
+
|
||||
LDA.l FreeItemText : AND.b #$04 : BEQ + ; show message for dungeon map
|
||||
LDA.w ScratchBufferV : AND.b #$F0 ; looking at high bits only
|
||||
LDA.l ScratchBufferV : AND.b #$F0 ; looking at high bits only
|
||||
CMP.b #$70 : BNE + ; map of...
|
||||
%CopyDialog(Notice_MapOf)
|
||||
JMP .dungeon
|
||||
+ : LDA.l FreeItemText : AND.b #$02 : BEQ + ; show message for dungeon compass
|
||||
LDA.w ScratchBufferV : AND.b #$F0 : CMP.b #$80 : BNE + ; compass of...
|
||||
LDA.l ScratchBufferV : AND.b #$F0 : CMP.b #$80 : BNE + ; compass of...
|
||||
%CopyDialog(Notice_CompassOf)
|
||||
JMP .dungeon
|
||||
+ : LDA.l FreeItemText : AND.b #$08 : BEQ + ; show message for dungeon big key
|
||||
LDA.w ScratchBufferV : AND.b #$F0 : CMP.b #$90 : BNE + ; big key of...
|
||||
LDA.l ScratchBufferV : AND.b #$F0 : CMP.b #$90 : BNE + ; big key of...
|
||||
%CopyDialog(Notice_BigKeyOf)
|
||||
JMP .dungeon
|
||||
+ : LDA.l FreeItemText : AND.b #$01 : BEQ + ; show message for dungeon small key
|
||||
LDA.w ScratchBufferV : AND.b #$F0 : CMP.b #$A0 : BNE + ; small key of...
|
||||
LDA.w ScratchBufferV : CMP.b #$AF : BNE ++ : JMP .skip : ++
|
||||
LDA.l ScratchBufferV : AND.b #$F0 : CMP.b #$A0 : BNE + ; small key of...
|
||||
LDA.l ScratchBufferV : CMP.b #$AF : BNE ++ : JMP .skip : ++
|
||||
%CopyDialog(Notice_SmallKeyOf)
|
||||
LDA.b #$01 : STA.w ScratchBufferNV ; set up a flip for small keys
|
||||
LDA.b #$01 : STA.l ScratchBufferNV ; set up a flip for small keys
|
||||
BRA .dungeon
|
||||
+ : LDA.l FreeItemText : AND.b #$20 : BEQ + ; show message for crystal
|
||||
LDA.w ScratchBufferV : CMP.b #$B0 : !BLT + ; crystal #
|
||||
LDA.l ScratchBufferV : CMP.b #$B0 : !BLT + ; crystal #
|
||||
CMP.b #$B7 : !BGE +
|
||||
%CopyDialog(Notice_Crystal)
|
||||
JMP .crystal
|
||||
@@ -131,14 +131,14 @@ FreeDungeonItemNotice:
|
||||
|
||||
.dungeon
|
||||
LDA.l DialogReturnPointer : DEC #2 : STA.l DialogOffsetPointer
|
||||
LDA.w ScratchBufferV
|
||||
LDA.l ScratchBufferV
|
||||
AND.b #$0F
|
||||
STA.w ScratchBufferNV+1
|
||||
LDA.w ScratchBufferNV : BEQ +
|
||||
LDA.w ScratchBufferNV
|
||||
LDA.b #$0F : !SUB.w ScratchBufferNV+1 : STA.w ScratchBufferNV+1 ; flip the values for small keys
|
||||
STA.l ScratchBufferNV+1
|
||||
LDA.l ScratchBufferNV : BEQ +
|
||||
LDA.l ScratchBufferNV
|
||||
LDA.b #$0F : !SUB.l ScratchBufferNV+1 : STA.l ScratchBufferNV+1 ; flip the values for small keys
|
||||
+
|
||||
LDA.w ScratchBufferNV+1
|
||||
LDA.l ScratchBufferNV+1
|
||||
ASL : TAX
|
||||
REP #$20
|
||||
LDA.l DungeonItemIDMap,X : CMP.w #$0003 : BCC .hc_sewers
|
||||
@@ -152,7 +152,7 @@ FreeDungeonItemNotice:
|
||||
JMP.w .done
|
||||
+
|
||||
SEP #$20
|
||||
LDA.w ScratchBufferNV+1
|
||||
LDA.l ScratchBufferNV+1
|
||||
CMP.b #$00 : BNE + ; ...light world
|
||||
%CopyDialog(Notice_LightWorld) : JMP .done
|
||||
+ : CMP.b #$01 : BNE + ; ...dark world
|
||||
@@ -190,7 +190,7 @@ FreeDungeonItemNotice:
|
||||
|
||||
.crystal
|
||||
LDA.l DialogReturnPointer : DEC #2 : STA.l DialogOffsetPointer
|
||||
LDA.w ScratchBufferV
|
||||
LDA.l ScratchBufferV
|
||||
AND.b #$0F ; looking at low bits only
|
||||
CMP.b #$00 : BNE +
|
||||
%CopyDialog(Notice_Six) : JMP .done
|
||||
@@ -216,8 +216,8 @@ FreeDungeonItemNotice:
|
||||
|
||||
;--------------------------------
|
||||
.skip
|
||||
PLA : STA.w ScratchBufferNV+1
|
||||
PLA : STA.w ScratchBufferNV
|
||||
PLA : STA.l ScratchBufferNV+1
|
||||
PLA : STA.l ScratchBufferNV
|
||||
PLA : STA.b Scrap02
|
||||
REP #$20
|
||||
PLA : STA.b Scrap00
|
||||
|
||||
@@ -155,7 +155,7 @@ JML.l AllowStartFromExitReturn
|
||||
STZ.b SubSubModule
|
||||
STZ.w DeathReloadFlag
|
||||
STZ.w RespawnFlag
|
||||
INC.w UpdateHUDFlag
|
||||
LDA.b #$01 : STA.l UpdateHUDFlag
|
||||
|
||||
JSL Equipment_SearchForEquippedItemLong
|
||||
JSL HUD_RebuildLong2
|
||||
|
||||
@@ -22,7 +22,7 @@ JML.l ReturnFromOnDrawHud
|
||||
OnDungeonEntrance:
|
||||
STA.l PegColor ; thing we wrote over
|
||||
JSL MaybeFlagDungeonTotalsEntrance
|
||||
INC.w UpdateHUDFlag
|
||||
LDA.b #$01 : STA.l UpdateHUDFlag
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
OnDungeonBossExit:
|
||||
@@ -46,7 +46,7 @@ OnDungeonExit:
|
||||
STA.w DungeonID : STZ.w Map16ChangeIndex ; thing we wrote over
|
||||
|
||||
PHA : PHP
|
||||
INC.w UpdateHUDFlag
|
||||
LDA.b #$01 : STA.l UpdateHUDFlag
|
||||
JSL.l HUD_RebuildLong
|
||||
JSL.l FloodGateResetInner
|
||||
JSL.l SetSilverBowMode
|
||||
@@ -226,7 +226,7 @@ OnOWTransition:
|
||||
PHP
|
||||
SEP #$20 ; set 8-bit accumulator
|
||||
LDA.b #$FF : STA.l RNGLockIn ; clear lock-in
|
||||
INC.w UpdateHUDFlag
|
||||
LDA.b #$01 : STA.l UpdateHUDFlag
|
||||
PLP
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
|
||||
@@ -1420,7 +1420,7 @@ RebuildHUD_update_long:
|
||||
JSR.w RebuildHUD_update : RTL
|
||||
|
||||
RefreshIcon_UpdateHUD:
|
||||
INC.w UpdateHUDFlag
|
||||
LDA.b #$01 : STA.l UpdateHUDFlag
|
||||
JSR.w RebuildHUD
|
||||
JSR.w UpdateEquippedItem
|
||||
RTS
|
||||
|
||||
@@ -364,7 +364,7 @@ Link_ReceiveItem_HUDRefresh:
|
||||
+
|
||||
|
||||
JSL.l HUD_RefreshIconLong ; thing we wrote over
|
||||
INC.w UpdateHUDFlag
|
||||
LDA.b #$01 : STA.l UpdateHUDFlag
|
||||
JSL.l PostItemGet
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
@@ -379,7 +379,7 @@ HandleBombAbsorbtion:
|
||||
LDA.b #$04 : STA.w ItemCursor ; set selected item to bombs
|
||||
LDA.b #$01 : STA.w CurrentYItem ; set selected item to bombs
|
||||
JSL.l HUD_RebuildLong
|
||||
INC.w UpdateHUDFlag
|
||||
LDA.b #$01 : STA.l UpdateHUDFlag
|
||||
+
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
|
||||
90
msu.asm
90
msu.asm
@@ -164,27 +164,27 @@ CheckMusicLoadRequest:
|
||||
|
||||
.continue
|
||||
LDA.l TournamentSeed : BNE +++
|
||||
LDA.w MSUPackRequest
|
||||
CMP.w MSUPackCurrent : BEQ +++
|
||||
CMP.w MSUPackCount : !BLT ++
|
||||
LDA.l MSUPackRequest
|
||||
CMP.l MSUPackCurrent : BEQ +++
|
||||
CMP.l MSUPackCount : !BLT ++
|
||||
CMP.b #$FE : !BLT +
|
||||
STA.w MSUPackCurrent
|
||||
STA.l MSUPackCurrent
|
||||
SEP #$10
|
||||
LDA.b #$00
|
||||
LDX.b #$07
|
||||
-
|
||||
STA.w MSUFallbackTable,X
|
||||
STA.l MSUFallbackTable,X
|
||||
DEX : BPL -
|
||||
REP #$10
|
||||
BRA +++
|
||||
+ : LDA.w MSUPackCurrent : STA.w MSUPackRequest
|
||||
++ : STA.w MSUPackCurrent
|
||||
+ : LDA.l MSUPackCurrent : STA.l MSUPackRequest
|
||||
++ : STA.l MSUPackCurrent
|
||||
JSL MSUInit_check_fallback
|
||||
+++
|
||||
|
||||
LDA.w MusicControlRequest : CMP.b #$08 : BEQ ++ ; Mirror SFX is not affected by NoBGM or pack $FE
|
||||
LDA.l NoBGM : BNE +
|
||||
LDA.w MSUPackCurrent : CMP.b #$FE : BNE ++
|
||||
LDA.l MSUPackCurrent : CMP.b #$FE : BNE ++
|
||||
+ : JMP .mute
|
||||
++
|
||||
|
||||
@@ -240,7 +240,7 @@ CheckMusicLoadRequest:
|
||||
LDA.l MusicShuffleTable-1,X : DEC : PHA
|
||||
AND.b #$07 : TAY
|
||||
PLA : LSR #3 : TAX
|
||||
LDA.w MSUFallbackTable,X : BEQ .secondary_fallback : CMP.b #$FF : BEQ .mute
|
||||
LDA.l MSUFallbackTable,X : BEQ .secondary_fallback : CMP.b #$FF : BEQ .mute
|
||||
|
||||
- : CPY #$00 : BEQ +
|
||||
LSR : DEY : BRA -
|
||||
@@ -348,7 +348,7 @@ SpiralStairsPreCheck:
|
||||
+
|
||||
|
||||
LDA.l BigKeyField : AND.w #$0004 : BEQ .done ; Check that we have the GT big key
|
||||
LDA.w MSUFallbackTable+7 : AND.w #$0004 : BEQ .done ; Check that we have the extended track
|
||||
LDA.l MSUFallbackTable+7 : AND.w #$0004 : BEQ .done ; Check that we have the extended track
|
||||
|
||||
.fade
|
||||
LDX.b #$F1 : STX.w MusicControlRequest
|
||||
@@ -401,10 +401,10 @@ MSUInit:
|
||||
PHP
|
||||
|
||||
LDA.b #$00
|
||||
STA.w MSULoadedTrack
|
||||
STA.w MSUResumeTrack
|
||||
STA.w MSUResumeTime : STA.w MSUResumeTime+1 : STA.w MSUResumeTime+2 : STA.w MSUResumeTime+3
|
||||
STA.w MSUResumeControl
|
||||
STA.l MSULoadedTrack
|
||||
STA.l MSUResumeTrack
|
||||
STA.l MSUResumeTime : STA.l MSUResumeTime+1 : STA.l MSUResumeTime+2 : STA.l MSUResumeTime+3
|
||||
STA.l MSUResumeControl
|
||||
|
||||
LDA.l NoBGM : BNE .done
|
||||
|
||||
@@ -431,7 +431,7 @@ MSUInit:
|
||||
.wait_pack
|
||||
LDA.w MSUSTATUS : BIT.b #!FLAG_MSU_STATUS_AUDIO_BUSY : BNE .wait_pack
|
||||
LDA.w MSUSTATUS : BIT.b #!FLAG_MSU_STATUS_TRACK_MISSING : BEQ .check_pack
|
||||
TXA : STA.w MSUPackCount
|
||||
TXA : STA.l MSUPackCount
|
||||
BRA +
|
||||
|
||||
; Check the current MSU-1 pack for tracks that require SPC fallback
|
||||
@@ -453,7 +453,7 @@ MSUInit:
|
||||
LDA.w MSUSTATUS : BIT.b #!FLAG_MSU_STATUS_TRACK_MISSING : BNE +
|
||||
SEC
|
||||
+
|
||||
LDA.w MSUFallbackTable,X : ROL : STA.w MSUFallbackTable,X
|
||||
LDA.l MSUFallbackTable,X : ROL : STA.l MSUFallbackTable,X
|
||||
|
||||
DEY : BPL .next_track
|
||||
DEX : BPL +
|
||||
@@ -474,11 +474,11 @@ MSUInit:
|
||||
;--------------------------------------------------------------------------------
|
||||
MSUStopPlaying:
|
||||
PHA : XBA : PHA
|
||||
LDA.w MSULoadedTrack
|
||||
LDA.l MSULoadedTrack
|
||||
JSR IsResumableTrack : BCC +
|
||||
; dont save if we already saved recently
|
||||
REP #$20
|
||||
LDA.w MSUResumeTrack : AND #$00FF : BEQ ++
|
||||
LDA.l MSUResumeTrack : AND #$00FF : BEQ ++
|
||||
LDA.l NMIFrames : !SUB MSUResumeTime : PHA
|
||||
LDA.l NMIFrames+2 : SBC MSUResumeTime+2 : BNE +++
|
||||
PLA : CMP.l MSUResumeTimer : !BLT .too_early
|
||||
@@ -487,12 +487,12 @@ PHA : XBA : PHA
|
||||
PLA
|
||||
++
|
||||
; saving
|
||||
LDA.l NMIFrames : STA.w MSUResumeTime
|
||||
LDA.l NMIFrames+2 : STA.w MSUResumeTime+2
|
||||
LDA.l NMIFrames : STA.l MSUResumeTime
|
||||
LDA.l NMIFrames+2 : STA.l MSUResumeTime+2
|
||||
SEP #$20
|
||||
|
||||
LDA.w MSULoadedTrack : STA.w MSUResumeTrack
|
||||
LDA.b #$00 : STA.w MSULoadedTrack ; dont take this path if we're calling again
|
||||
LDA.l MSULoadedTrack : STA.l MSUResumeTrack
|
||||
LDA.b #$00 : STA.l MSULoadedTrack ; dont take this path if we're calling again
|
||||
LDA.b #!FLAG_MSU_RESUME : STA.w MSUCTL ; save this track's position
|
||||
PLA : XBA : PLA
|
||||
RTS
|
||||
@@ -523,23 +523,23 @@ MSUMain:
|
||||
LDX.w MusicControl : BEQ +
|
||||
JMP .command_ff
|
||||
+
|
||||
LDA.w MSUDelayedCommand : BEQ .do_fade
|
||||
LDA.l MSUDelayedCommand : BEQ .do_fade
|
||||
|
||||
.check_busy
|
||||
LDA.w MSUSTATUS : BIT.b #!FLAG_MSU_STATUS_AUDIO_BUSY : BNE -
|
||||
.ready
|
||||
LDA.w MSUSTATUS : BIT.b #!FLAG_MSU_STATUS_TRACK_MISSING : BNE -
|
||||
.start
|
||||
LDA.w MSUResumeControl : BIT.b #!FLAG_RESUME_CANCEL : BEQ +
|
||||
EOR.b #!FLAG_RESUME_CANCEL : STA.w MSUResumeControl
|
||||
REP #$20 : LDA.w MSULoadedTrack : STA.w MSUTRACK : SEP #$20
|
||||
LDA.l MSUResumeControl : BIT.b #!FLAG_RESUME_CANCEL : BEQ +
|
||||
EOR.b #!FLAG_RESUME_CANCEL : STA.l MSUResumeControl
|
||||
REP #$20 : LDA.l MSULoadedTrack : STA.w MSUTRACK : SEP #$20
|
||||
BRA -
|
||||
+
|
||||
LDA.b #!VAL_VOLUME_FULL
|
||||
STA.w TargetVolume
|
||||
|
||||
LDA.w MSUResumeControl : BIT.b #!FLAG_RESUME_FADEIN : BEQ +
|
||||
EOR.b #!FLAG_RESUME_FADEIN : STA.w MSUResumeControl
|
||||
LDA.l MSUResumeControl : BIT.b #!FLAG_RESUME_FADEIN : BEQ +
|
||||
EOR.b #!FLAG_RESUME_FADEIN : STA.l MSUResumeControl
|
||||
LDA.b #$00
|
||||
BRA ++
|
||||
+
|
||||
@@ -551,17 +551,17 @@ MSUMain:
|
||||
LDA.w CurrentMSUTrack : DEC : PHA
|
||||
AND.b #$07 : TAY
|
||||
PLA : LSR #3 : TAX
|
||||
LDA.w MSUFallbackTable,X : BEQ +++ : CMP.b #$FF : BEQ ++
|
||||
LDA.l MSUFallbackTable,X : BEQ +++ : CMP.b #$FF : BEQ ++
|
||||
|
||||
- : CPY #$00 : BEQ +
|
||||
LSR : DEY : BRA -
|
||||
+
|
||||
|
||||
AND.b #$01 : BEQ +++
|
||||
++ : LDA.w MSUDelayedCommand
|
||||
++ : LDA.l MSUDelayedCommand
|
||||
+++ : STA.w MSUCTL
|
||||
LDA.b #$00
|
||||
STA.w MSUDelayedCommand
|
||||
STA.l MSUDelayedCommand
|
||||
JML SPCContinue
|
||||
|
||||
.do_fade:
|
||||
@@ -624,9 +624,9 @@ MSUMain:
|
||||
+
|
||||
CPX.w CurrentControlRequest : BEQ -
|
||||
LDA.b #$00 : XBA
|
||||
LDA.w MSUPackCurrent : BEQ +
|
||||
- : CMP.w MSUPackCount : !BLT +
|
||||
!SUB.w MSUPackCount : BRA -
|
||||
LDA.l MSUPackCurrent : BEQ +
|
||||
- : CMP.l MSUPackCount : !BLT +
|
||||
!SUB.l MSUPackCount : BRA -
|
||||
+
|
||||
|
||||
JSR MSUStopPlaying
|
||||
@@ -639,11 +639,11 @@ MSUMain:
|
||||
DEX : BNE -
|
||||
+
|
||||
STA.w MSUTRACK
|
||||
STA.w MSULoadedTrack
|
||||
STA.l MSULoadedTrack
|
||||
SEP #$20
|
||||
|
||||
PLX
|
||||
TXA : CMP.w MSUResumeTrack : BNE + ; dont resume if too late
|
||||
TXA : CMP.l MSUResumeTrack : BNE + ; dont resume if too late
|
||||
REP #$20
|
||||
LDA.l NMIFrames : !SUB MSUResumeTime : PHA
|
||||
LDA.l NMIFrames+2 : SBC MSUResumeTime+2 : BNE ++
|
||||
@@ -656,8 +656,8 @@ MSUMain:
|
||||
SEP #$20
|
||||
LDA.b #!FLAG_RESUME_CANCEL
|
||||
.done_resume:
|
||||
STA.w MSUResumeControl
|
||||
LDA.b #$00 : STA.w MSUResumeTrack
|
||||
STA.l MSUResumeControl
|
||||
LDA.b #$00 : STA.l MSUResumeTrack
|
||||
+
|
||||
CPX #07 : BNE + ; Kakariko Village
|
||||
LDA.b GameMode : CMP #$07 : BNE +
|
||||
@@ -667,12 +667,12 @@ MSUMain:
|
||||
+
|
||||
TXA
|
||||
++
|
||||
STA.w MSULoadedTrack
|
||||
STA.l MSULoadedTrack
|
||||
STX.w CurrentMSUTrack
|
||||
LDA.w MSUPackCurrent : CMP #$FE : !BLT +
|
||||
LDA.l MSUPackCurrent : CMP #$FE : !BLT +
|
||||
LDA.b #$00 : BRA ++
|
||||
+ : LDA.l MSUTrackList-1,X
|
||||
++ : STA.w MSUDelayedCommand
|
||||
++ : STA.l MSUDelayedCommand
|
||||
LDA.l MSUExtendedFallbackList-1,X
|
||||
CMP.b #17 : BEQ +
|
||||
CMP.b #22 : BEQ +
|
||||
@@ -722,9 +722,9 @@ PendantFanfareWait:
|
||||
LDA.w MSUID+2 : CMP.w #!VAL_MSU_ID_23 : BNE .spc
|
||||
LDA.w MSUID+4 : CMP.w #!VAL_MSU_ID_45 : BNE .spc
|
||||
SEP #$20
|
||||
LDA.w MSUPackCurrent : CMP #$FE : !BGE .spc
|
||||
LDA.l MSUPackCurrent : CMP #$FE : !BGE .spc
|
||||
LDA.w MSUSTATUS : BIT.b #!FLAG_MSU_STATUS_TRACK_MISSING : BNE .spc
|
||||
LDA.w MSUDelayedCommand : BNE .continue
|
||||
LDA.l MSUDelayedCommand : BNE .continue
|
||||
LDA.w MSUSTATUS : BIT.b #!FLAG_MSU_STATUS_AUDIO_PLAYING : BEQ .done
|
||||
.continue
|
||||
jml PendantFanfareContinue
|
||||
@@ -746,9 +746,9 @@ CrystalFanfareWait:
|
||||
LDA.w MSUID+2 : CMP.w #!VAL_MSU_ID_23 : BNE .spc
|
||||
LDA.w MSUID+4 : CMP.w #!VAL_MSU_ID_45 : BNE .spc
|
||||
SEP #$20
|
||||
LDA.w MSUPackCurrent : CMP.b #$FE : !BGE .spc
|
||||
LDA.l MSUPackCurrent : CMP.b #$FE : !BGE .spc
|
||||
LDA.w MSUSTATUS : BIT.b #!FLAG_MSU_STATUS_TRACK_MISSING : BNE .spc
|
||||
LDA.w MSUDelayedCommand : BNE .continue
|
||||
LDA.l MSUDelayedCommand : BNE .continue
|
||||
LDA.w MSUSTATUS : BIT.b #!FLAG_MSU_STATUS_AUDIO_PLAYING : BEQ .done
|
||||
.continue
|
||||
jml CrystalFanfareContinue
|
||||
|
||||
10
newhud.asm
10
newhud.asm
@@ -65,7 +65,7 @@ NewHUD_DrawArrows:
|
||||
;================================================================================
|
||||
NewHUD_DrawGoal:
|
||||
REP #$20
|
||||
LDA.w UpdateHUDFlag : BEQ .no_goal
|
||||
LDA.l UpdateHUDFlag : BEQ .no_goal
|
||||
LDA.l GoalItemRequirement : BEQ .no_goal
|
||||
|
||||
LDA.l GoalItemIcon : STA.w HUDGoalIndicator
|
||||
@@ -122,7 +122,7 @@ NewHUD_DrawKeys:
|
||||
|
||||
;================================================================================
|
||||
NewHUD_DrawDungeonCounters:
|
||||
LDA.w UpdateHUDFlag : BEQ NewHUD_DrawPrizeIcon
|
||||
LDA.l UpdateHUDFlag : BEQ NewHUD_DrawPrizeIcon
|
||||
LDA.l CompassMode : ORA.l MapHUDMode : BIT.b #$03 : BEQ NewHUD_DrawPrizeIcon
|
||||
LDX.b IndoorsFlag : BNE +
|
||||
JMP.w NewHUD_DrawMagicMeter
|
||||
@@ -147,7 +147,7 @@ NewHUD_DrawPrizeIcon:
|
||||
LDA.b GameMode
|
||||
CMP.b #$12 : BEQ .no_prize
|
||||
CMP.b #$0E : BEQ +
|
||||
LDA.w UpdateHUDFlag : BEQ NewHUD_DrawItemCounter
|
||||
LDA.l UpdateHUDFlag : BEQ NewHUD_DrawItemCounter
|
||||
+
|
||||
LDA.w DungeonID
|
||||
CMP.b #$1A : BCS .no_prize
|
||||
@@ -197,7 +197,7 @@ NewHUD_DrawPrizeIcon:
|
||||
;================================================================================
|
||||
NewHUD_DrawItemCounter:
|
||||
REP #$20
|
||||
LDA.w UpdateHUDFlag : BEQ NewHUD_DrawMagicMeter
|
||||
LDA.l UpdateHUDFlag : BEQ NewHUD_DrawMagicMeter
|
||||
LDA.l ItemCounterHUD : AND.w #$00FF : BEQ NewHUD_DrawMagicMeter
|
||||
LDA.w #!SlashTile : STA.w HUDGoalIndicator+$08
|
||||
LDA.l TotalItemCount : CMP.w #1000 : BCS .item_four_digits
|
||||
@@ -263,7 +263,7 @@ NewHUD_DrawMagicMeter:
|
||||
|
||||
;================================================================================
|
||||
NewHUD_DoneDrawing:
|
||||
STZ.w UpdateHUDFlag
|
||||
LDA.b #$00 : STA.l UpdateHUDFlag
|
||||
PLB
|
||||
RTL
|
||||
|
||||
|
||||
36
newitems.asm
36
newitems.asm
@@ -429,7 +429,7 @@ ItemBehavior:
|
||||
.single_arrow
|
||||
LDA.l ArrowMode : BEQ +
|
||||
LDA.l CurrentArrows : INC : STA.l CurrentArrows ; Should be sole write to this address
|
||||
INC.w UpdateHUDFlag ; in retro/rupee bow mode.
|
||||
LDA.b #$01 : STA.l UpdateHUDFlag ; in retro/rupee bow mode.
|
||||
+
|
||||
RTS
|
||||
|
||||
@@ -806,15 +806,15 @@ ResolveLootID:
|
||||
JMP.w .have_item
|
||||
|
||||
.rng_single
|
||||
JSL.l GetRNGItemSingle : STA.w ScratchBufferV+6
|
||||
JSL.l GetRNGItemSingle : STA.l ScratchBufferV+6
|
||||
XBA : JSR.w MarkRNGItemSingle
|
||||
LDA.b #$FF : STA.l RNGLockIn ; clear lock-in
|
||||
LDA.w ScratchBufferV+6 : JMP.w .get_item
|
||||
LDA.l ScratchBufferV+6 : JMP.w .get_item
|
||||
|
||||
.rng_multi
|
||||
JSL.l GetRNGItemMulti : STA.w ScratchBufferV+6
|
||||
JSL.l GetRNGItemMulti : STA.l ScratchBufferV+6
|
||||
LDA.b #$FF : STA.l RNGLockIn ; clear lock-in
|
||||
LDA.w ScratchBufferV+6 : JMP.w .get_item
|
||||
LDA.l ScratchBufferV+6 : JMP.w .get_item
|
||||
|
||||
;--------------------------------------------------------------------------------
|
||||
DungeonItemMasks:
|
||||
@@ -939,32 +939,32 @@ GetRNGItemSingle:
|
||||
CMP.l RNGSingleTableSize : !BGE .single_reroll
|
||||
+++
|
||||
|
||||
STA.w ScratchBufferV ; put our index value here
|
||||
STA.l ScratchBufferV ; put our index value here
|
||||
LDX.b #$00
|
||||
TAY
|
||||
.recheck
|
||||
TYA
|
||||
JSR.w CheckSingleItem : BEQ .single_unused ; already used
|
||||
LDA.w ScratchBufferV : INC ; increment index
|
||||
LDA.l ScratchBufferV : INC ; increment index
|
||||
CMP.l RNGSingleTableSize : BCC +++ : LDA.b #$00 : +++ ; rollover index if needed
|
||||
STA.w ScratchBufferV ; store index
|
||||
STA.l ScratchBufferV ; store index
|
||||
INX : TAY : TXA : CMP.l RNGSingleTableSize : BCC .recheck
|
||||
LDA.b #$5A ; everything is gone, default to null item - MAKE THIS AN OPTION FOR THIS AND THE OTHER ONE
|
||||
BRA .single_done
|
||||
.single_unused
|
||||
LDA.w ScratchBufferV
|
||||
LDA.l ScratchBufferV
|
||||
.single_done
|
||||
TAX : LDA.l RNGSingleItemTable, X
|
||||
XBA : LDA.w ScratchBufferV : STA.l RNGLockIn : XBA
|
||||
XBA : LDA.l ScratchBufferV : STA.l RNGLockIn : XBA
|
||||
PLY
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
CheckSingleItem:
|
||||
LSR #3 : TAX
|
||||
LDA.l RNGItem, X : STA.w ScratchBufferV+2 ; load value to temporary
|
||||
LDA.l RNGItem, X : STA.l ScratchBufferV+2 ; load value to temporary
|
||||
PHX
|
||||
LDA.w ScratchBufferV : AND.b #$07 : TAX ; load 0-7 part into X
|
||||
LDA.w ScratchBufferV+2
|
||||
LDA.l ScratchBufferV : AND.b #$07 : TAX ; load 0-7 part into X
|
||||
LDA.l ScratchBufferV+2
|
||||
---
|
||||
CPX.b #$00 : BEQ +++
|
||||
LSR
|
||||
@@ -976,10 +976,10 @@ CheckSingleItem:
|
||||
RTS
|
||||
;--------------------------------------------------------------------------------
|
||||
MarkRNGItemSingle:
|
||||
LSR #3 : STA.w ScratchBufferV+1 : TAX
|
||||
LSR #3 : STA.l ScratchBufferV+1 : TAX
|
||||
LDA.l RNGItem, X
|
||||
STA.w ScratchBufferV+2
|
||||
LDA.w ScratchBufferV : AND.b #$07 : TAX ; load 0-7 part into X
|
||||
STA.l ScratchBufferV+2
|
||||
LDA.l ScratchBufferV : AND.b #$07 : TAX ; load 0-7 part into X
|
||||
LDA.b #01
|
||||
---
|
||||
CPX.b #$00 : BEQ +++
|
||||
@@ -989,9 +989,9 @@ MarkRNGItemSingle:
|
||||
+++
|
||||
|
||||
PHA
|
||||
LDA.w ScratchBufferV+1 : TAX
|
||||
LDA.l ScratchBufferV+1 : TAX
|
||||
PLA
|
||||
ORA.w ScratchBufferV+2
|
||||
ORA.l ScratchBufferV+2
|
||||
STA.l RNGItem, X
|
||||
RTS
|
||||
;--------------------------------------------------------------------------------
|
||||
|
||||
@@ -17,7 +17,7 @@ RTL
|
||||
;================================================================================
|
||||
HUDRebuildIndoorHole:
|
||||
PHA
|
||||
INC.w UpdateHUDFlag
|
||||
LDA.b #$01 : STA.l UpdateHUDFlag
|
||||
LDA.l GenericKeys : BEQ .normal
|
||||
.generic
|
||||
PLA
|
||||
@@ -30,7 +30,7 @@ RTL
|
||||
RTL
|
||||
;================================================================================
|
||||
HUDRebuildIndoor:
|
||||
INC.w UpdateHUDFlag
|
||||
LDA.b #$01 : STA.l UpdateHUDFlag
|
||||
LDA.l GenericKeys : BEQ .normal
|
||||
.generic
|
||||
LDA.b #$00 : STA.l RoomDarkness
|
||||
|
||||
@@ -10,7 +10,7 @@ QuickSwap:
|
||||
|
||||
LDA.l QuickSwapFlag : BEQ .done
|
||||
LDA.w ItemCursor : BEQ .done ; Skip everything if we don't have any items
|
||||
INC.w UpdateHUDFlag
|
||||
LDA.b #$01 : STA.l UpdateHUDFlag
|
||||
LDY.b #$14
|
||||
PHX
|
||||
XBA ; restore the stashed value
|
||||
|
||||
82
ram.asm
82
ram.asm
@@ -376,6 +376,13 @@ SpriteCoordCacheY = $7E0FDA ;
|
||||
;
|
||||
NoMenu = $7E0FFC ; When set prevents menu, mirror, medallions
|
||||
;
|
||||
;===================================================================================================
|
||||
;===================================================================================================
|
||||
; DO NOT ADD ANY RANDOMIZER VARIABLES TO THE SPACE FROM $1100 to $1FFF
|
||||
;---------------------------------------------------------------------------------------------------
|
||||
; It causes isses with major glitches
|
||||
;===================================================================================================
|
||||
;===================================================================================================
|
||||
GFXStripes = $7E1000 ; Used by stripes for arbitrary VRAM transfers. $100 bytes.
|
||||
RoomStripes = $7E1100 ; Used for room drawing.
|
||||
;
|
||||
@@ -388,26 +395,7 @@ DelayTimer = $7E1CE9 ;
|
||||
;
|
||||
TextID = $7E1CF0 ; Message ID and page. Word length.
|
||||
;
|
||||
UpdateHUDFlag = $7E1E03 ; Flag used to mark HUD updates and avoid heavy code segments.
|
||||
;
|
||||
ToastBuffer = $7E1E0E ; Multiworld buffer. Word length.
|
||||
;
|
||||
MSUResumeTime = $7E1E6B ; Mirrored MSU block
|
||||
MSUResumeControl = $7E1E6F ;
|
||||
MSUFallbackTable = $7E1E70 ;
|
||||
MSUDelayedCommand = $7E1E79 ;
|
||||
MSUPackCount = $7E1E7A ;
|
||||
MSUPackCurrent = $7E1E7B ;
|
||||
MSUPackRequest = $7E1E7C ;
|
||||
MSULoadedTrack = $7E1E7D ;
|
||||
MSUResumeTrack = $7E1E7F ;
|
||||
|
||||
ClockHours = $7E1E90 ; Clock Hours
|
||||
ClockMinutes = $7E1E94 ; Clock Minutes
|
||||
ClockSeconds = $7E1E98 ; Clock Seconds
|
||||
ClockBuffer = $7E1E9C ; Clock Temporary
|
||||
ScratchBufferNV = $7E1EA0 ; Non-volatile scratch buffer. Must preserve values through return.
|
||||
ScratchBufferV = $7E1EB0 ; Volatile scratch buffer. Can clobber at will.
|
||||
|
||||
;================================================================================
|
||||
; UNMIRRORED WRAM
|
||||
@@ -419,6 +407,28 @@ TileUploadBuffer = $7EA180 ; 0x300 bytes
|
||||
;
|
||||
ItemGetGFX = $7EBD40 ; Item receipt graphics location
|
||||
;
|
||||
UpdateHUDFlag = $7EBE00 ; Flag used to mark HUD updates and avoid heavy code segments.
|
||||
;
|
||||
ToastBuffer = $7EBE02 ; Multiworld buffer. Word length.
|
||||
;
|
||||
|
||||
MSUResumeTime = $7EBE6B ; Mirrored MSU block
|
||||
MSUResumeControl = $7EBE6F ;
|
||||
MSUFallbackTable = $7EBE70 ;
|
||||
MSUDelayedCommand = $7EBE79 ;
|
||||
MSUPackCount = $7EBE7A ;
|
||||
MSUPackCurrent = $7EBE7B ;
|
||||
MSUPackRequest = $7EBE7C ;
|
||||
MSULoadedTrack = $7EBE7D ;
|
||||
MSUResumeTrack = $7EBE7F ;
|
||||
|
||||
ClockHours = $7EBE90 ; Clock Hours
|
||||
ClockMinutes = $7EBE94 ; Clock Minutes
|
||||
ClockSeconds = $7EBE98 ; Clock Seconds
|
||||
ClockBuffer = $7EBE9C ; Clock Temporary
|
||||
ScratchBufferNV = $7EBEA0 ; Non-volatile scratch buffer. Must preserve values through return.
|
||||
ScratchBufferV = $7EBEB0 ; Volatile scratch buffer. Can clobber at will.
|
||||
|
||||
RoomFade = $7EC005 ; Flags fade to black on room transitions. Word length.
|
||||
FadeTimer = $7EC007 ; Timer for transition fading and mosaics. Word length.
|
||||
FadeDirection = $7EC009 ; Word length
|
||||
@@ -861,23 +871,23 @@ endmacro
|
||||
%assertRAM(MessageSubModule, $7E1CD8)
|
||||
%assertRAM(MessageCursor, $7E1CE8)
|
||||
%assertRAM(DelayTimer, $7E1CE9)
|
||||
%assertRAM(TextID, $7E1CF0)
|
||||
%assertRAM(ToastBuffer, $7E1E0E)
|
||||
%assertRAM(MSUResumeTime, $7E1E6B)
|
||||
%assertRAM(MSUResumeControl, $7E1E6F)
|
||||
%assertRAM(MSUFallbackTable, $7E1E70)
|
||||
%assertRAM(MSUDelayedCommand, $7E1E79)
|
||||
%assertRAM(MSUPackCount, $7E1E7A)
|
||||
%assertRAM(MSUPackCurrent, $7E1E7B)
|
||||
%assertRAM(MSUPackRequest, $7E1E7C)
|
||||
%assertRAM(MSULoadedTrack, $7E1E7D)
|
||||
%assertRAM(MSUResumeTrack, $7E1E7F)
|
||||
%assertRAM(ClockHours, $7E1E90)
|
||||
%assertRAM(ClockMinutes, $7E1E94)
|
||||
%assertRAM(ClockSeconds, $7E1E98)
|
||||
%assertRAM(ClockBuffer, $7E1E9C)
|
||||
%assertRAM(ScratchBufferNV, $7E1EA0)
|
||||
%assertRAM(ScratchBufferV, $7E1EB0)
|
||||
;%assertRAM(TextID, $7E1CF0)
|
||||
;%assertRAM(ToastBuffer, $7E1E0E)
|
||||
;%assertRAM(MSUResumeTime, $7E1E6B)
|
||||
;%assertRAM(MSUResumeControl, $7E1E6F)
|
||||
;%assertRAM(MSUFallbackTable, $7E1E70)
|
||||
;%assertRAM(MSUDelayedCommand, $7E1E79)
|
||||
;%assertRAM(MSUPackCount, $7E1E7A)
|
||||
;%assertRAM(MSUPackCurrent, $7E1E7B)
|
||||
;%assertRAM(MSUPackRequest, $7E1E7C)
|
||||
;%assertRAM(MSULoadedTrack, $7E1E7D)
|
||||
;%assertRAM(MSUResumeTrack, $7E1E7F)
|
||||
;%assertRAM(ClockHours, $7E1E90)
|
||||
;%assertRAM(ClockMinutes, $7E1E94)
|
||||
;%assertRAM(ClockSeconds, $7E1E98)
|
||||
;%assertRAM(ClockBuffer, $7E1E9C)
|
||||
;%assertRAM(ScratchBufferNV, $7E1EA0)
|
||||
;%assertRAM(ScratchBufferV, $7E1EB0)
|
||||
%assertRAM(TileUploadBuffer, $7EA180)
|
||||
%assertRAM(RoomFade, $7EC005)
|
||||
%assertRAM(FadeTimer, $7EC007)
|
||||
|
||||
@@ -11,7 +11,7 @@ LoadBombCount16:
|
||||
.infinite
|
||||
RTL
|
||||
StoreBombCount:
|
||||
INC.w UpdateHUDFlag
|
||||
LDA.b #$01 : STA.l UpdateHUDFlag
|
||||
PHA : LDA.l InfiniteBombs : BEQ .finite
|
||||
.infinite
|
||||
PLA : LDA.b #$01 : RTL
|
||||
|
||||
@@ -78,12 +78,12 @@ IncrementSmallKeys:
|
||||
STA.l CurrentSmallKeys ; thing we wrote over, write small key count
|
||||
PHX
|
||||
LDA.l StatsLocked : BNE +
|
||||
LDA.l SmallKeyCounter : INC : STA.l SmallKeyCounter
|
||||
LDA.l SmallKeyCounter : INC : STA.l SmallKeyCounter
|
||||
+
|
||||
JSL.l UpdateKeys
|
||||
PHY : LDY.b #24 : JSL.l AddInventory : PLY
|
||||
JSL.l HUD_RebuildLong
|
||||
INC.w UpdateHUDFlag
|
||||
LDA.b #$01 : STA.l UpdateHUDFlag
|
||||
PLX
|
||||
RTL
|
||||
;--------------------------------------------------------------------------------
|
||||
@@ -106,7 +106,7 @@ IncrementSmallKeysNoPrimary:
|
||||
++
|
||||
PLP
|
||||
+
|
||||
INC.w UpdateHUDFlag
|
||||
LDA.b #$01 : STA.l UpdateHUDFlag
|
||||
JSL.l HUD_RebuildLong
|
||||
PLX
|
||||
RTL
|
||||
|
||||
45
timer.asm
45
timer.asm
@@ -36,12 +36,12 @@ endmacro
|
||||
;--------------------------------------------------------------------------------
|
||||
CalculateTimer:
|
||||
LDA.w #$0000
|
||||
STA.w ClockHours ; clear digit storage
|
||||
STA.w ClockHours+2
|
||||
STA.w ClockMinutes
|
||||
STA.w ClockMinutes+2
|
||||
STA.w ClockSeconds
|
||||
STA.w ClockSeconds+2
|
||||
STA.l ClockHours ; clear digit storage
|
||||
STA.l ClockHours+2
|
||||
STA.l ClockMinutes
|
||||
STA.l ClockMinutes+2
|
||||
STA.l ClockSeconds
|
||||
STA.l ClockSeconds+2
|
||||
|
||||
LDA.l TimerStyle : AND.w #$00FF : CMP.w #$0002 : BNE + ; Stopwatch Mode
|
||||
%Sub32(NMIFrames,ChallengeTimer,ClockBuffer)
|
||||
@@ -57,8 +57,8 @@ CalculateTimer:
|
||||
LDA.l NMIFrames+2 : STA.l ChallengeTimer+2
|
||||
RTS
|
||||
++ CMP.w #$0001 : BNE ++ ; Negative Time
|
||||
LDA.w ClockBuffer : EOR.w #$FFFF : !ADD.w #$0001 : STA.w ClockBuffer
|
||||
LDA.w ClockBuffer+2 : EOR.w #$FFFF : ADC.w #$0000 : STA.w ClockBuffer+2
|
||||
LDA.l ClockBuffer : EOR.w #$FFFF : !ADD.w #$0001 : STA.l ClockBuffer
|
||||
LDA.l ClockBuffer+2 : EOR.w #$FFFF : ADC.w #$0000 : STA.l ClockBuffer+2
|
||||
LDA.w #$0001 : STA.l ClockStatus ; Set Negative Mode
|
||||
BRA .prepDigits
|
||||
++ CMP.w #$0002 : BNE ++ ; OHKO
|
||||
@@ -92,12 +92,12 @@ CalculateTimer:
|
||||
%Sub32(ClockBuffer,.second,ClockBuffer) : BRA -
|
||||
+
|
||||
|
||||
LDA.w ClockHours : !ADD.w #$2490 : STA.w ClockHours ; convert decimal values to tiles
|
||||
LDA.w ClockHours+2 : !ADD.w #$2490 : STA.w ClockHours+2
|
||||
LDA.w ClockMinutes : !ADD.w #$2490 : STA.w ClockMinutes
|
||||
LDA.w ClockMinutes+2 : !ADD.w #$2490 : STA.w ClockMinutes+2
|
||||
LDA.w ClockSeconds : !ADD.w #$2490 : STA.w ClockSeconds
|
||||
LDA.w ClockSeconds+2 : !ADD.w #$2490 : STA.w ClockSeconds+2
|
||||
LDA.l ClockHours : !ADD.w #$2490 : STA.l ClockHours ; convert decimal values to tiles
|
||||
LDA.l ClockHours+2 : !ADD.w #$2490 : STA.l ClockHours+2
|
||||
LDA.l ClockMinutes : !ADD.w #$2490 : STA.l ClockMinutes
|
||||
LDA.l ClockMinutes+2 : !ADD.w #$2490 : STA.l ClockMinutes+2
|
||||
LDA.l ClockSeconds : !ADD.w #$2490 : STA.l ClockSeconds
|
||||
LDA.l ClockSeconds+2 : !ADD.w #$2490 : STA.l ClockSeconds+2
|
||||
RTS
|
||||
;--------------------------------------------------------------------------------
|
||||
.hour
|
||||
@@ -148,14 +148,14 @@ DrawChallengeTimer:
|
||||
BRA ++
|
||||
+ ; Show Timer
|
||||
LDA.l ClockStatus : AND.w #$0001 : !ADD.w #$2804 : STA.l HUDTileMapBuffer+$94
|
||||
LDA.w ClockHours+2 : STA.l HUDTileMapBuffer+$96
|
||||
LDA.w ClockHours : STA.l HUDTileMapBuffer+$98
|
||||
LDA.l ClockHours+2 : STA.l HUDTileMapBuffer+$96
|
||||
LDA.l ClockHours : STA.l HUDTileMapBuffer+$98
|
||||
LDA.w #$2806 : STA.l HUDTileMapBuffer+$9A
|
||||
LDA.w ClockMinutes+2 : STA.l HUDTileMapBuffer+$9C
|
||||
LDA.w ClockMinutes : STA.l HUDTileMapBuffer+$9E
|
||||
LDA.l ClockMinutes+2 : STA.l HUDTileMapBuffer+$9C
|
||||
LDA.l ClockMinutes : STA.l HUDTileMapBuffer+$9E
|
||||
LDA.w #$2806 : STA.l HUDTileMapBuffer+$A0
|
||||
LDA.w ClockSeconds+2 : STA.l HUDTileMapBuffer+$A2
|
||||
LDA.w ClockSeconds : STA.l HUDTileMapBuffer+$A4
|
||||
LDA.l ClockSeconds+2 : STA.l HUDTileMapBuffer+$A2
|
||||
LDA.l ClockSeconds : STA.l HUDTileMapBuffer+$A4
|
||||
++
|
||||
LDA.b FrameCounter : AND.w #$001F : BNE + : JSR CalculateTimer : +
|
||||
|
||||
@@ -174,12 +174,11 @@ RTL
|
||||
CheckOHKO:
|
||||
SEP #$20
|
||||
LDA.l OHKOFlag : CMP.l OHKOCached : BNE .change
|
||||
REP #$20
|
||||
CLC
|
||||
REP #$21
|
||||
RTS
|
||||
.change
|
||||
STA.l OHKOCached
|
||||
INC.w UpdateHUDFlag
|
||||
LDA.b #$01 : STA.l UpdateHUDFlag
|
||||
REP #$20
|
||||
SEC
|
||||
RTS
|
||||
|
||||
Reference in New Issue
Block a user