From 430a246fe81d7eab6823bf6ca4562fd1e99f2a5d Mon Sep 17 00:00:00 2001 From: Hannes Schulze Date: Sun, 26 Jan 2025 23:19:56 +0100 Subject: refactor mappers --- lib/nes/cpu.hh | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'lib/nes/cpu.hh') diff --git a/lib/nes/cpu.hh b/lib/nes/cpu.hh index 431cdf2..d5bc032 100644 --- a/lib/nes/cpu.hh +++ b/lib/nes/cpu.hh @@ -2,12 +2,13 @@ #include "nes/util/cycle-count.hh" #include "nes/util/address.hh" +#include "nes/util/status.hh" namespace nes { class ppu; class controller; - class mapper; + class cartridge; struct snapshot; class cpu @@ -17,7 +18,7 @@ namespace nes cycle_count current_cycles_; ppu& ppu_; - mapper& mapper_; + cartridge& cartridge_; controller& controller_1_; controller& controller_2_; std::uint8_t ram_[ram_size]{}; @@ -128,7 +129,7 @@ namespace nes }; public: - explicit cpu(ppu&, mapper&, controller& controller_1, controller& controller_2); + explicit cpu(ppu&, cartridge&, controller& controller_1, controller& controller_2); cpu(cpu const&) = delete; cpu(cpu&&) = delete; @@ -139,7 +140,7 @@ namespace nes auto build_snapshot(snapshot&) -> void; auto stall_cycles(cycle_count) -> void; auto trigger_nmi() -> void; - auto step() -> void; + auto step() -> status; auto is_nmi_pending() const -> bool { return nmi_pending_; } // XXX: Debugging // Memory access @@ -153,9 +154,9 @@ namespace nes // Instructions #define DEFINE_SIMPLE_INSTRUCTION(name) \ - auto run_##name() -> void; + auto run_##name() -> status; #define DEFINE_OPERAND_INSTRUCTION(name) \ - template auto run_##name() -> void; + template auto run_##name() -> status; DEFINE_OPERAND_INSTRUCTION(brk) DEFINE_OPERAND_INSTRUCTION(ora) -- cgit v1.3.1