smp.hpp 595 B

12345678910111213141516171819202122232425
  1. class SMP {
  2. public:
  3. virtual void enter() = 0;
  4. #include "smpregs.hpp"
  5. regs_t regs;
  6. static const uint8_t iplrom[64];
  7. virtual uint8 ram_read(uint16 addr) = 0;
  8. virtual void ram_write(uint16 addr, uint8 value) = 0;
  9. //$f4-$f7
  10. virtual uint8 port_read(uint8 port) = 0;
  11. virtual void port_write(uint8 port, uint8 value) = 0;
  12. virtual void power() = 0;
  13. virtual void reset() = 0;
  14. //debugging functions
  15. virtual bool in_opcode();
  16. void disassemble_opcode(char *output);
  17. inline uint16 __relb(int8 offset, int op_len);
  18. SMP() {}
  19. virtual ~SMP() {}
  20. };