From ae877287700a741019a2f567b328a9771b61b027 Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Sat, 10 Oct 2020 21:33:56 -0400 Subject: [PATCH] Ensures M and X are exposed to the public interface. --- Processors/65816/Implementation/65816Base.cpp | 4 ++-- Processors/65816/Implementation/65816Storage.cpp | 2 +- Processors/65816/Implementation/65816Storage.hpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/Processors/65816/Implementation/65816Base.cpp b/Processors/65816/Implementation/65816Base.cpp index 3416217f2..55f06aa4a 100644 --- a/Processors/65816/Implementation/65816Base.cpp +++ b/Processors/65816/Implementation/65816Base.cpp @@ -15,7 +15,7 @@ uint16_t ProcessorBase::get_value_of_register(Register r) const { case Register::ProgramCounter: return pc_; case Register::LastOperationAddress: return last_operation_pc_; case Register::StackPointer: return s_.full; - case Register::Flags: return flags_.get(); // TODO: include additional flags (and below). + case Register::Flags: return get_flags(); case Register::A: return a_.full; case Register::X: return x_.full; case Register::Y: return y_.full; @@ -27,7 +27,7 @@ void ProcessorBase::set_value_of_register(Register r, uint16_t value) { switch (r) { case Register::ProgramCounter: pc_ = value; break; case Register::StackPointer: s_.full = value; break; - case Register::Flags: flags_.set(uint8_t(value)); break; + case Register::Flags: set_flags(uint8_t(value)); break; case Register::A: a_.full = value; break; case Register::X: x_.full = value; break; case Register::Y: y_.full = value; break; diff --git a/Processors/65816/Implementation/65816Storage.cpp b/Processors/65816/Implementation/65816Storage.cpp index 9ba262e7b..472616e2e 100644 --- a/Processors/65816/Implementation/65816Storage.cpp +++ b/Processors/65816/Implementation/65816Storage.cpp @@ -1064,7 +1064,7 @@ void ProcessorStorage::set_m_x_flags(bool m, bool x) { x_shift_ = x ? 0 : 8; } -uint8_t ProcessorStorage::get_flags() { +uint8_t ProcessorStorage::get_flags() const { uint8_t result = flags_.get(); if(!emulation_flag_) { diff --git a/Processors/65816/Implementation/65816Storage.hpp b/Processors/65816/Implementation/65816Storage.hpp index c6422a6b7..011892c70 100644 --- a/Processors/65816/Implementation/65816Storage.hpp +++ b/Processors/65816/Implementation/65816Storage.hpp @@ -316,6 +316,6 @@ struct ProcessorStorage { void set_reset_state(); void set_emulation_mode(bool); void set_m_x_flags(bool m, bool x); - uint8_t get_flags(); + uint8_t get_flags() const; void set_flags(uint8_t); };