I8255Interface.hh 865 B

1234567891011121314151617181920212223242526272829303132
  1. #ifndef I8255INTERFACE_HH
  2. #define I8255INTERFACE_HH
  3. #include "EmuTime.hh"
  4. #include "openmsx.hh"
  5. namespace openmsx {
  6. class I8255Interface
  7. {
  8. public:
  9. virtual byte readA(EmuTime::param time) = 0;
  10. virtual byte readB(EmuTime::param time) = 0;
  11. virtual nibble readC0(EmuTime::param time) = 0;
  12. virtual nibble readC1(EmuTime::param time) = 0;
  13. virtual byte peekA(EmuTime::param time) const = 0;
  14. virtual byte peekB(EmuTime::param time) const = 0;
  15. virtual nibble peekC0(EmuTime::param time) const = 0;
  16. virtual nibble peekC1(EmuTime::param time) const = 0;
  17. virtual void writeA(byte value, EmuTime::param time) = 0;
  18. virtual void writeB(byte value, EmuTime::param time) = 0;
  19. virtual void writeC0(nibble value, EmuTime::param time) = 0;
  20. virtual void writeC1(nibble value, EmuTime::param time) = 0;
  21. protected:
  22. ~I8255Interface() {}
  23. };
  24. } // namespace openmsx
  25. #endif