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 2d8cc75..5e8ee1b 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.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