From 5aa9168dd681bed75c4c58a9d64eb325f970f85e Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Tue, 28 Oct 2025 20:49:59 -0400 Subject: [PATCH] Make overflow private. --- Processors/6502Mk2/Perform.hpp | 10 +++++----- Processors/6502Mk2/Registers.hpp | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Processors/6502Mk2/Perform.hpp b/Processors/6502Mk2/Perform.hpp index 02d415a20..f573b24cc 100644 --- a/Processors/6502Mk2/Perform.hpp +++ b/Processors/6502Mk2/Perform.hpp @@ -141,7 +141,7 @@ void arr(RegistersT ®isters, const uint8_t operand) { const uint8_t unshifted_a = registers.a; registers.a = uint8_t((registers.a >> 1) | (registers.flags.carry_value() << 7)); registers.flags.template set_per(registers.a); - registers.flags.overflow = (registers.a^(registers.a << 1))&Flag::Overflow; + registers.flags.template set_per(registers.a ^ (registers.a << 1)); if(registers.flags.template get() && has_decimal_mode(model)) { if((unshifted_a&0xf) + (unshifted_a&0x1) > 5) registers.a = ((registers.a + 6)&0xf) | (registers.a & 0xf0); @@ -240,7 +240,7 @@ template void bit(RegistersT ®isters, const uint8_t operand) { registers.flags.template set_per(operand & registers.a); registers.flags.template set_per(operand); - registers.flags.overflow = operand & Flag::Overflow; + registers.flags.template set_per(operand); } template @@ -315,8 +315,8 @@ bool test(const Operation operation, RegistersT ®isters) { case Operation::BPL: return !registers.flags.template get(); case Operation::BMI: return registers.flags.template get(); - case Operation::BVC: return !registers.flags.overflow; - case Operation::BVS: return registers.flags.overflow; + case Operation::BVC: return !registers.flags.template get(); + case Operation::BVS: return registers.flags.template get(); case Operation::BCC: return !registers.flags.template get(); case Operation::BCS: return registers.flags.template get(); case Operation::BNE: return !registers.flags.template get(); @@ -371,7 +371,7 @@ void perform( case Operation::CLC: registers.flags.template set_per(0); break; case Operation::CLI: registers.flags.template set_per(0); break; - case Operation::CLV: registers.flags.overflow = 0; break; + case Operation::CLV: registers.flags.template set_per(0); break; case Operation::CLD: registers.flags.template set_per(0); break; case Operation::SEC: registers.flags.template set_per(Flag::Carry); break; case Operation::SEI: registers.flags.template set_per(Flag::Interrupt); break; diff --git a/Processors/6502Mk2/Registers.hpp b/Processors/6502Mk2/Registers.hpp index 2af0a4d92..c48ba3987 100644 --- a/Processors/6502Mk2/Registers.hpp +++ b/Processors/6502Mk2/Registers.hpp @@ -169,8 +169,8 @@ struct Flags { return static_cast(*this) <=> static_cast(rhs); } - uint8_t overflow = 0; /// Contains Flag::Overflow. private: + uint8_t overflow = 0; /// Contains Flag::Overflow. uint8_t carry = 0; /// Contains Flag::Carry. uint8_t negative_result = 0; /// Bit 7 = the negative flag. uint8_t zero_result = 0; /// Non-zero if the zero flag is clear, zero if it is set.