openMSX
I8255Interface.hh
Go to the documentation of this file.
1 #ifndef I8255INTERFACE_HH
2 #define I8255INTERFACE_HH
3 
4 #include "EmuTime.hh"
5 #include "openmsx.hh"
6 
7 namespace openmsx {
8 
10 {
11 public:
12  [[nodiscard]] virtual byte readA(EmuTime::param time) = 0;
13  [[nodiscard]] virtual byte readB(EmuTime::param time) = 0;
14  [[nodiscard]] virtual nibble readC0(EmuTime::param time) = 0;
15  [[nodiscard]] virtual nibble readC1(EmuTime::param time) = 0;
16  [[nodiscard]] virtual byte peekA(EmuTime::param time) const = 0;
17  [[nodiscard]] virtual byte peekB(EmuTime::param time) const = 0;
18  [[nodiscard]] virtual nibble peekC0(EmuTime::param time) const = 0;
19  [[nodiscard]] virtual nibble peekC1(EmuTime::param time) const = 0;
20  virtual void writeA(byte value, EmuTime::param time) = 0;
21  virtual void writeB(byte value, EmuTime::param time) = 0;
22  virtual void writeC0(nibble value, EmuTime::param time) = 0;
23  virtual void writeC1(nibble value, EmuTime::param time) = 0;
24 
25 protected:
26  ~I8255Interface() = default;
27 };
28 
29 } // namespace openmsx
30 
31 #endif
virtual byte peekB(EmuTime::param time) const =0
virtual void writeB(byte value, EmuTime::param time)=0
virtual nibble readC0(EmuTime::param time)=0
virtual byte readA(EmuTime::param time)=0
virtual void writeC1(nibble value, EmuTime::param time)=0
virtual byte readB(EmuTime::param time)=0
virtual void writeA(byte value, EmuTime::param time)=0
virtual nibble readC1(EmuTime::param time)=0
virtual void writeC0(nibble value, EmuTime::param time)=0
virtual byte peekA(EmuTime::param time) const =0
virtual nibble peekC1(EmuTime::param time) const =0
virtual nibble peekC0(EmuTime::param time) const =0
This file implemented 3 utility functions:
Definition: Autofire.cc:9
uint8_t nibble
4 bit integer
Definition: openmsx.hh:23