diff options
| author | Hannes Schulze <haschu0103@outlook.de> | 2025-01-18 23:06:34 +0100 |
|---|---|---|
| committer | Hannes Schulze <haschu0103@outlook.de> | 2025-01-18 23:06:34 +0100 |
| commit | 502dc171f45e5acf00c34521328b414d5285f598 (patch) | |
| tree | f08a723b8c770556106168c6f3e7880057d32b50 /src/nes/cpu.hh | |
| parent | 67672d06776e38b06f31f6599678767c60eed58a (diff) | |
wip ppu
Diffstat (limited to 'src/nes/cpu.hh')
| -rw-r--r-- | src/nes/cpu.hh | 5 |
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; |
