diff options
| author | Hannes Schulze <haschu0103@outlook.de> | 2025-01-29 14:49:20 +0100 |
|---|---|---|
| committer | Hannes Schulze <haschu0103@outlook.de> | 2025-01-29 14:49:20 +0100 |
| commit | 5959349f341a2380c0c3f41ec40a1e8e0d969d00 (patch) | |
| tree | 8b36ba3f8cade68562af1dfdcea8b42160619975 /lib/nes/util/snapshot.hh | |
| parent | 1d32f7561305d6c86b1c80858bc73d55b1c6c402 (diff) | |
refactor: move emulation logic into sys
Diffstat (limited to 'lib/nes/util/snapshot.hh')
| -rw-r--r-- | lib/nes/util/snapshot.hh | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/lib/nes/util/snapshot.hh b/lib/nes/util/snapshot.hh deleted file mode 100644 index de23a46..0000000 --- a/lib/nes/util/snapshot.hh +++ /dev/null @@ -1,63 +0,0 @@ -#pragma once - -#include "nes/util/cycle-count.hh" -#include <vector> -#include <cstdint> - -namespace nes -{ - /// System snapshot used for comparison with a reference implementation. - struct snapshot - { - explicit snapshot() = default; - - cycle_count cpu_cycle; - cycle_count ppu_cycle; - std::vector<std::uint8_t> ram; - std::vector<std::uint8_t> sram; - std::vector<std::uint8_t> vram; - std::vector<std::uint8_t> oam; - struct - { - std::uint16_t pc{}; - std::uint8_t sp{}; - std::uint8_t a{}; - std::uint8_t x{}; - std::uint8_t y{}; - std::uint8_t p{}; - bool c{}; - bool z{}; - bool i{}; - bool d{}; - bool b{}; - bool v{}; - bool n{}; - } registers{}; - }; - - inline auto operator==(snapshot const& a, snapshot const& b) -> bool - { - if (a.cpu_cycle != b.cpu_cycle) { return false; } - if (a.ppu_cycle != b.ppu_cycle) { return false; } - if (a.ram != b.ram) { return false; } - if (a.sram != b.sram) { return false; } - if (a.vram != b.vram) { return false; } - if (a.oam != b.oam) { return false; } - if (a.registers.pc != b.registers.pc) { return false; } - if (a.registers.sp != b.registers.sp) { return false; } - if (a.registers.a != b.registers.a) { return false; } - if (a.registers.x != b.registers.x) { return false; } - if (a.registers.y != b.registers.y) { return false; } - if (a.registers.p != b.registers.p) { return false; } - if (a.registers.c != b.registers.c) { return false; } - if (a.registers.z != b.registers.z) { return false; } - if (a.registers.i != b.registers.i) { return false; } - if (a.registers.d != b.registers.d) { return false; } - if (a.registers.b != b.registers.b) { return false; } - if (a.registers.v != b.registers.v) { return false; } - if (a.registers.n != b.registers.n) { return false; } - return true; - } - - inline auto operator!=(snapshot const& a, snapshot const& b) -> bool { return !(a == b); } -} // namespace nes
\ No newline at end of file |
