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);
43 void registerRange(
byte port,
unsigned num);
44 void unregisterRange(
byte port,
unsigned num);
48 void signal(
ClockPin& pin, EmuTime::param time)
override;
49 void signalPosEdge(
ClockPin& pin, EmuTime::param time)
override;
53 void signal(
ClockPin& pin, EmuTime::param time)
override;
54 void signalPosEdge(
ClockPin& pin, EmuTime::param time)
override;
58 void setRxRDY(
bool status, EmuTime::param time)
override;
59 void setDTR(
bool status, EmuTime::param time)
override;
60 void setRTS(
bool status, EmuTime::param time)
override;
61 [[nodiscard]]
bool getDSR(EmuTime::param time)
override;
62 [[nodiscard]]
bool getCTS(EmuTime::param time)
override;
63 void setDataBits(
DataBits bits)
override;
64 void setStopBits(
StopBits bits)
override;
65 void setParityBit(
bool enable,
ParityBit parity)
override;
66 void recvByte(
byte value, EmuTime::param time)
override;
67 void signal(EmuTime::param time)
override;
72 bool timerIRQlatch =
false;
73 bool timerIRQenabled =
false;
74 bool rxrdyIRQlatch =
false;
75 bool rxrdyIRQenabled =
false;
77 const bool isExternalMSXMIDI;
79 bool isLimitedTo8251 =
true;