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  virtual byte readA(EmuTime::param time) = 0;
13  virtual byte readB(EmuTime::param time) = 0;
14  virtual nibble readC0(EmuTime::param time) = 0;
15  virtual nibble readC1(EmuTime::param time) = 0;
16  virtual byte peekA(EmuTime::param time) const = 0;
17  virtual byte peekB(EmuTime::param time) const = 0;
18  virtual nibble peekC0(EmuTime::param time) const = 0;
19  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 nibble peekC0(EmuTime::param time) const =0
virtual byte peekA(EmuTime::param time) const =0
virtual byte readB(EmuTime::param time)=0
virtual void writeA(byte value, EmuTime::param time)=0
virtual void writeB(byte value, EmuTime::param time)=0
uint8_t byte
8 bit unsigned integer
Definition: openmsx.hh:26
virtual void writeC1(nibble value, EmuTime::param time)=0
virtual nibble readC0(EmuTime::param time)=0
virtual nibble readC1(EmuTime::param time)=0
Thanks to enen for testing this on a real cartridge:
Definition: Autofire.cc:5
uint8_t nibble
4 bit integer
Definition: openmsx.hh:23
virtual byte peekB(EmuTime::param time) const =0
virtual void writeC0(nibble value, EmuTime::param time)=0
virtual nibble peekC1(EmuTime::param time) const =0
virtual byte readA(EmuTime::param time)=0