#ifndef INC_6502_EMULATOR_CPU_H #define INC_6502_EMULATOR_CPU_H #include "register.h" #include "status-register.h" #include "program-counter.h" #include using namespace std; namespace emu_6502 { class Cpu { private: unique_ptr> a; unique_ptr> x; unique_ptr> y; unique_ptr> sp; unique_ptr pc; unique_ptr ps; public: Cpu(); Cpu(const Cpu&) = delete; Cpu& operator=(const Cpu&) = delete; Register& get_a(); Register& get_x(); Register& get_y(); Register& get_sp(); ProgramCounter& get_pc(); StatusRegister& get_ps(); void dump(); }; } #endif //INC_6502_EMULATOR_CPU_H