From 5959349f341a2380c0c3f41ec40a1e8e0d969d00 Mon Sep 17 00:00:00 2001 From: Hannes Schulze Date: Wed, 29 Jan 2025 14:49:20 +0100 Subject: refactor: move emulation logic into sys --- lib/nes/util/snapshot.hh | 63 ------------------------------------------------ 1 file changed, 63 deletions(-) delete mode 100644 lib/nes/util/snapshot.hh (limited to 'lib/nes/util/snapshot.hh') 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 -#include - -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 ram; - std::vector sram; - std::vector vram; - std::vector 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 -- cgit v1.3.1