19 void reset(EmuTime::param time)
override;
20 [[nodiscard]]
byte readIO(
word port, EmuTime::param time)
override;
21 [[nodiscard]]
byte peekIO(
word port, EmuTime::param time)
const override;
22 void writeIO(
word port,
byte value, EmuTime::param time)
override;
25 [[nodiscard]]
bool ready()
override;
30 void recvByte(
byte value, EmuTime::param time)
override;
32 template<
typename Archive>
33 void serialize(Archive& ar,
unsigned version);
36 void setTimerIRQ(
bool status, EmuTime::param time);
37 void enableTimerIRQ(
bool enabled, EmuTime::param time);
38 void updateEdgeEvents(EmuTime::param time);
39 void setRxRDYIRQ(
bool status);
40 void enableRxRDYIRQ(
bool enabled);
42 void registerIOports(
byte value);
46 void signal(
ClockPin& pin, EmuTime::param time)
override;
47 void signalPosEdge(
ClockPin& pin, EmuTime::param time)
override;
51 void signal(
ClockPin& pin, EmuTime::param time)
override;
52 void signalPosEdge(
ClockPin& pin, EmuTime::param time)
override;
56 void setRxRDY(
bool status, EmuTime::param time)
override;
57 void setDTR(
bool status, EmuTime::param time)
override;
58 void setRTS(
bool status, EmuTime::param time)
override;
59 [[nodiscard]]
bool getDSR(EmuTime::param time)
override;
60 [[nodiscard]]
bool getCTS(EmuTime::param time)
override;
61 void setDataBits(
DataBits bits)
override;
62 void setStopBits(
StopBits bits)
override;
63 void setParityBit(
bool enable,
Parity parity)
override;
64 void recvByte(
byte value, EmuTime::param time)
override;
65 void signal(EmuTime::param time)
override;
70 bool timerIRQlatch =
false;
71 bool timerIRQenabled =
false;
72 bool rxrdyIRQlatch =
false;
73 bool rxrdyIRQenabled =
false;
75 const bool isExternalMSXMIDI;
77 bool isLimitedTo8251 =
true;