From d5a52cc491a222f1b7d33fa6789bed617ec6638b Mon Sep 17 00:00:00 2001 From: Hannes Schulze Date: Sat, 18 Jan 2025 00:05:53 +0100 Subject: cpu: bugfixes --- src/nes/cpu.hh | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'src/nes/cpu.hh') 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() -> 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) -- cgit v1.3.1