summaryrefslogtreecommitdiff
path: root/src/nes/cpu.hh
diff options
context:
space:
mode:
authorHannes Schulze <haschu0103@outlook.de>2025-01-18 00:05:53 +0100
committerHannes Schulze <haschu0103@outlook.de>2025-01-18 00:05:53 +0100
commitd5a52cc491a222f1b7d33fa6789bed617ec6638b (patch)
treea1c849e94620eb2c132fbd1a61898ef51ce167ba /src/nes/cpu.hh
parent9d80b5b8a61bd8c2336f5032de8b84fea15d685f (diff)
cpu: bugfixes
Diffstat (limited to 'src/nes/cpu.hh')
-rw-r--r--src/nes/cpu.hh9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/nes/cpu.hh b/src/nes/cpu.hh
index 59f2db4..3587fd6 100644
--- a/src/nes/cpu.hh
+++ b/src/nes/cpu.hh
@@ -2,6 +2,7 @@
#include "nes/util/cycle_count.hh"
#include "nes/util/address.hh"
+#include "status.hh"
namespace nes
{
@@ -114,7 +115,7 @@ namespace nes
bool i : 1; // interrupt inhibit
bool d : 1; // decimal
bool b : 1; // break
- bool _ : 1; // (unused, always true)
+ bool : 1; // (unused, always true)
bool v : 1; // overflow
bool n : 1; // negative
};
@@ -130,6 +131,8 @@ namespace nes
auto operator=(cpu const&) -> cpu& = delete;
auto operator=(cpu&&) -> cpu& = delete;
+ auto snapshot(test::status&) -> void;
+
auto step_to(cycle_count) -> void;
private:
@@ -251,8 +254,8 @@ namespace nes
template<> auto name##_cycle_count<addressing_mode::mode>() -> cycle_count { return cycle_count::from_cpu(value); }
DEFINE_CYCLE_COUNT(jump)
- DEFINE_CYCLE_COUNT_INSTANCE(jump, absolute, 2)
- DEFINE_CYCLE_COUNT_INSTANCE(jump, indirect, 2)
+ DEFINE_CYCLE_COUNT_INSTANCE(jump, absolute, 3)
+ DEFINE_CYCLE_COUNT_INSTANCE(jump, indirect, 5)
DEFINE_CYCLE_COUNT(shift)
DEFINE_CYCLE_COUNT_INSTANCE(shift, accumulator, 2)