summaryrefslogtreecommitdiff
path: root/src/nes/cpu.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/nes/cpu.hh')
-rw-r--r--src/nes/cpu.hh5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/nes/cpu.hh b/src/nes/cpu.hh
index 75b1943..070a72d 100644
--- a/src/nes/cpu.hh
+++ b/src/nes/cpu.hh
@@ -21,6 +21,7 @@ namespace nes
controller& controller_1_;
controller& controller_2_;
std::uint8_t ram_[ram_size]{};
+ bool nmi_pending_{ false };
// Registers
struct
@@ -124,7 +125,7 @@ namespace nes
};
public:
- explicit cpu(ppu& ppu, mapper& mapper, controller& controller_1, controller& controller_2);
+ explicit cpu(ppu&, mapper&, controller& controller_1, controller& controller_2);
cpu(cpu const&) = delete;
cpu(cpu&&) = delete;
@@ -134,6 +135,7 @@ namespace nes
auto snapshot(test::status&) -> void;
auto stall_cycles(cycle_count) -> void;
+ auto trigger_nmi() -> void;
auto step_to(cycle_count) -> void;
// Memory access
@@ -244,6 +246,7 @@ namespace nes
auto update_zn(std::uint8_t value) -> void;
template<addressing_mode Mode>
auto branch(bool condition) -> void;
+ auto execute_interrupt(address) -> void;
auto eval_ror(std::uint8_t arg) -> std::uint8_t;
auto eval_rol(std::uint8_t arg) -> std::uint8_t;