mirror of
https://github.com/lefticus/6502-cpp.git
synced 2024-12-21 10:30:35 +00:00
26 lines
828 B
C++
26 lines
828 B
C++
#ifndef INC_6502_CPP_PERSONALITY_HPP
|
|
#define INC_6502_CPP_PERSONALITY_HPP
|
|
|
|
#include <vector>
|
|
#include "6502.hpp"
|
|
|
|
class Personality
|
|
{
|
|
public:
|
|
virtual void insert_autostart_sequence(std::vector<mos6502> &new_instructions) const = 0;
|
|
[[nodiscard]] virtual Operand get_register(const int reg_num) const = 0;
|
|
[[nodiscard]] virtual std::string_view stack_low_address() const = 0;
|
|
[[nodiscard]] virtual std::string_view stack_high_address() const= 0;
|
|
|
|
virtual ~Personality() = default;
|
|
Personality(const Personality &) = delete;
|
|
Personality(Personality &&) = delete;
|
|
Personality &operator=(const Personality &) = delete;
|
|
Personality &operator=(Personality &&) = delete;
|
|
|
|
protected:
|
|
Personality() = default;
|
|
};
|
|
|
|
#endif//INC_6502_CPP_PERSONALITY_HPP
|