From b095a0c337330635dcf55de3b9e525d6278887f2 Mon Sep 17 00:00:00 2001 From: cassidoxa Date: Tue, 17 May 2022 17:23:15 -0400 Subject: [PATCH 1/2] Mask out high bits of CompassMode when maybe setting compass counts displayed flag --- newitems.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/newitems.asm b/newitems.asm index 2d8cc75..ccbfdc3 100755 --- a/newitems.asm +++ b/newitems.asm @@ -1118,7 +1118,7 @@ RTL ; Set a flag in SRAM if we pick up a compass in its own dungeon with HUD compass ; counts on MaybeFlagCompassTotalPickup: - LDA CompassMode : BEQ .done + LDA.l CompassMode : AND.b #$0F : BEQ .done LDA $040C : CMP #$FF : BEQ .done LSR : STA $04 : LDA #$0F : !SUB $04 ; Compute flag "index" CPY #$25 : BEQ .setFlag ; Set flag if it's a compass for this dungeon @@ -1141,7 +1141,7 @@ RTL ; that compass MaybeFlagCompassTotalEntrance: LDX $040C : CPX #$FF : BEQ .done ; Skip if we're not entering dungeon - LDA CompassMode : BEQ .done ; Skip if we're not showing compass counts + LDA.l CompassMode : AND.b #$0F : BEQ .done ; Skip if we're not showing compass counts CMP.w #$0002 : BEQ .countShown LDA CompassField : AND.l DungeonItemMasks, X : BEQ .done ; skip if we don't have compass .countShown From cc1d97466c66bf05a580a52d9ca68d117bc048eb Mon Sep 17 00:00:00 2001 From: cassidoxa Date: Thu, 19 May 2022 13:23:55 -0400 Subject: [PATCH 2/2] Fix compass count stuff --- compasses.asm | 2 +- newitems.asm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/compasses.asm b/compasses.asm index b691456..99622e2 100644 --- a/compasses.asm +++ b/compasses.asm @@ -12,7 +12,7 @@ DrawDungeonCompassCounts: CPX.b #$1B : BCS .done ; Skip if not in a valid dungeon ID - CMP.w #$0002 : BEQ ++ ; if CompassMode==2, we don't check for the compass + BIT.w #$0002 : BNE ++ ; if CompassMode==2, we don't check for the compass LDA CompassField : AND.l DungeonItemMasks, X ; Load compass values to A, mask with dungeon item masks BEQ .done ; skip if we don't have compass ++ diff --git a/newitems.asm b/newitems.asm index ccbfdc3..5e8ee1b 100755 --- a/newitems.asm +++ b/newitems.asm @@ -1141,7 +1141,7 @@ RTL ; that compass MaybeFlagCompassTotalEntrance: LDX $040C : CPX #$FF : BEQ .done ; Skip if we're not entering dungeon - LDA.l CompassMode : AND.b #$0F : BEQ .done ; Skip if we're not showing compass counts + LDA.l CompassMode : AND.w #$000F : BEQ .done ; Skip if we're not showing compass counts CMP.w #$0002 : BEQ .countShown LDA CompassField : AND.l DungeonItemMasks, X : BEQ .done ; skip if we don't have compass .countShown