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
7namespace openmsx {
8
10{
11public:
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
25protected:
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:11
uint8_t nibble
4 bit integer
Definition openmsx.hh:23