18 virtual void setRxRDY(
bool status, EmuTime::param time) = 0;
19 virtual void setDTR(
bool status, EmuTime::param time) = 0;
20 virtual void setRTS(
bool status, EmuTime::param time) = 0;
21 [[nodiscard]]
virtual bool getDSR(EmuTime::param time) = 0;
22 [[nodiscard]]
virtual bool getCTS(EmuTime::param time) = 0;
23 virtual void signal(EmuTime::param time) = 0;
35 void reset(EmuTime::param time);
36 [[nodiscard]]
byte readIO(
word port, EmuTime::param time);
37 [[nodiscard]]
byte peekIO(
word port, EmuTime::param time)
const;
38 void writeIO(
word port,
byte value, EmuTime::param time);
47 void recvByte(
byte value, EmuTime::param time)
override;
63 i8251.execTrans(time);
69 template<
typename Archive>
70 void serialize(Archive& ar,
unsigned version);
78 void setMode(
byte newMode);
79 void writeCommand(
byte value, EmuTime::param time);
80 [[nodiscard]]
byte readStatus(EmuTime::param time);
81 [[nodiscard]]
byte readTrans(EmuTime::param time);
82 void writeTrans(
byte value, EmuTime::param time);
83 void send(
byte value, EmuTime::param time);
94 bool recvParityEnabled;
virtual bool getDSR(EmuTime::param time)=0
~I8251Interface()=default
virtual void setRxRDY(bool status, EmuTime::param time)=0
virtual void setDTR(bool status, EmuTime::param time)=0
virtual bool getCTS(EmuTime::param time)=0
virtual void setRTS(bool status, EmuTime::param time)=0
virtual void signal(EmuTime::param time)=0
byte peekIO(word port, EmuTime::param time) const
void setStopBits(StopBits bits) override
void recvByte(byte value, EmuTime::param time) override
I8251(Scheduler &scheduler, I8251Interface &interface, EmuTime::param time)
void execRecv(EmuTime::param time)
void setParityBit(bool enable, ParityBit parity) override
void writeIO(word port, byte value, EmuTime::param time)
void reset(EmuTime::param time)
void setDataBits(DataBits bits) override
openmsx::I8251::SyncRecv syncRecv
void execTrans(EmuTime::param time)
byte readIO(word port, EmuTime::param time)
openmsx::I8251::SyncTrans syncTrans
void serialize(Archive &ar, unsigned version)
bool isRecvEnabled() const
Every class that wants to get scheduled at some point must inherit from this class.
This file implemented 3 utility functions:
uint16_t word
16 bit unsigned integer
SERIALIZE_CLASS_VERSION(CassettePlayer, 2)
#define OUTER(type, member)
void executeUntil(EmuTime::param time) override
When the previously registered syncPoint is reached, this method gets called.
void executeUntil(EmuTime::param time) override
When the previously registered syncPoint is reached, this method gets called.