openMSX
|
#include <I8251.hh>
Classes | |
struct | SyncRecv |
struct | SyncTrans |
Public Types | |
enum | CmdFaze { FAZE_MODE , FAZE_SYNC1 , FAZE_SYNC2 , FAZE_CMD } |
![]() | |
enum | DataBits { DATA_5 = 5 , DATA_6 = 6 , DATA_7 = 7 , DATA_8 = 8 } |
enum | StopBits { STOP_INV = 0 , STOP_1 = 2 , STOP_15 = 3 , STOP_2 = 4 } |
enum | ParityBit { EVEN = 0 , ODD = 1 } |
Public Member Functions | |
I8251 (Scheduler &scheduler, I8251Interface &interface, EmuTime::param time) | |
void | reset (EmuTime::param time) |
byte | readIO (word port, EmuTime::param time) |
byte | peekIO (word port, EmuTime::param time) const |
void | writeIO (word port, byte value, EmuTime::param time) |
ClockPin & | getClockPin () |
bool | isRecvReady () const |
bool | isRecvEnabled () const |
void | setDataBits (DataBits bits) override |
void | setStopBits (StopBits bits) override |
void | setParityBit (bool enable, ParityBit parity) override |
void | recvByte (byte value, EmuTime::param time) override |
void | execRecv (EmuTime::param time) |
void | execTrans (EmuTime::param time) |
template<typename Archive > | |
void | serialize (Archive &ar, unsigned version) |
virtual void | setDataBits (DataBits bits)=0 |
virtual void | setStopBits (StopBits bits)=0 |
virtual void | setParityBit (bool enable, ParityBit parity)=0 |
virtual void | recvByte (byte value, EmuTime::param time)=0 |
Public Attributes | |
openmsx::I8251::SyncRecv | syncRecv |
openmsx::I8251::SyncTrans | syncTrans |
Additional Inherited Members | |
![]() | |
~SerialDataInterface ()=default | |
openmsx::I8251::I8251 | ( | Scheduler & | scheduler, |
I8251Interface & | interface, | ||
EmuTime::param | time | ||
) |
void openmsx::I8251::execRecv | ( | EmuTime::param | time | ) |
Definition at line 294 of file I8251.cc.
References openmsx::I8251Interface::signal().
void openmsx::I8251::execTrans | ( | EmuTime::param | time | ) |
Definition at line 301 of file I8251.cc.
References openmsx::SerialDataInterface::recvByte().
|
inline |
Definition at line 39 of file I8251.hh.
Referenced by openmsx::MSXFacMidiInterface::MSXFacMidiInterface().
bool openmsx::I8251::isRecvEnabled | ( | ) | const |
Definition at line 279 of file I8251.cc.
Referenced by openmsx::MSXFacMidiInterface::acceptsData(), openmsx::MSXMidi::acceptsData(), and openmsx::MSXRS232::acceptsData().
|
inline |
Definition at line 40 of file I8251.hh.
Referenced by openmsx::MSXFacMidiInterface::ready(), openmsx::MSXMidi::ready(), and openmsx::MSXRS232::ready().
Definition at line 86 of file I8251.cc.
References UNREACHABLE.
Referenced by openmsx::MSXFacMidiInterface::peekIO(), openmsx::MSXMidi::peekIO(), and openmsx::MSXRS232::peekIO().
Definition at line 77 of file I8251.cc.
References UNREACHABLE.
Referenced by openmsx::MSXFacMidiInterface::readIO(), and openmsx::MSXMidi::readIO().
|
overridevirtual |
Implements openmsx::SerialDataInterface.
Definition at line 261 of file I8251.cc.
References openmsx::ClockPin::getTotalDuration(), openmsx::ClockPin::isPeriodic(), openmsx::I8251Interface::setRxRDY(), openmsx::Schedulable::setSyncPoint(), and syncRecv.
Referenced by openmsx::MSXFacMidiInterface::recvByte(), openmsx::MSXMidi::recvByte(), and openmsx::MSXRS232::recvByte().
void openmsx::I8251::reset | ( | EmuTime::param | time | ) |
Definition at line 55 of file I8251.cc.
References openmsx::SerialDataInterface::DATA_8, openmsx::SerialDataInterface::EVEN, FAZE_MODE, and openmsx::SerialDataInterface::STOP_1.
Referenced by I8251(), openmsx::MSXFacMidiInterface::reset(), and openmsx::MSXMidi::reset().
void openmsx::I8251::serialize | ( | Archive & | ar, |
unsigned | version | ||
) |
Definition at line 348 of file I8251.cc.
References openmsx::Schedulable::restoreOld(), syncRecv, and syncTrans.
|
inlineoverridevirtual |
Implements openmsx::SerialDataInterface.
Definition at line 44 of file I8251.hh.
Referenced by openmsx::MSXFacMidiInterface::setDataBits(), openmsx::MSXMidi::setDataBits(), and openmsx::MSXRS232::setDataBits().
|
overridevirtual |
Implements openmsx::SerialDataInterface.
Definition at line 255 of file I8251.cc.
Referenced by openmsx::MSXFacMidiInterface::setParityBit(), openmsx::MSXMidi::setParityBit(), and openmsx::MSXRS232::setParityBit().
|
inlineoverridevirtual |
Implements openmsx::SerialDataInterface.
Definition at line 45 of file I8251.hh.
Referenced by openmsx::MSXFacMidiInterface::setStopBits(), openmsx::MSXMidi::setStopBits(), and openmsx::MSXRS232::setStopBits().
Definition at line 96 of file I8251.cc.
References FAZE_CMD, FAZE_MODE, FAZE_SYNC1, FAZE_SYNC2, and UNREACHABLE.
Referenced by openmsx::MSXFacMidiInterface::writeIO(), and openmsx::MSXMidi::writeIO().
openmsx::I8251::SyncRecv openmsx::I8251::syncRecv |
Referenced by openmsx::I8251::SyncRecv::executeUntil(), recvByte(), and serialize().
openmsx::I8251::SyncTrans openmsx::I8251::syncTrans |
Referenced by openmsx::I8251::SyncTrans::executeUntil(), and serialize().