diff options
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 |
