openMSX
|
#include <I8251.hh>
Public Types | |
enum class | CmdPhase { MODE , SYNC1 , SYNC2 , CMD } |
Public Types inherited from openmsx::SerialDataInterface | |
enum class | DataBits { D5 = 5 , D6 = 6 , D7 = 7 , D8 = 8 } |
enum class | StopBits { INV = 0 , S1 = 2 , S1_5 = 3 , S2 = 4 } |
enum class | Parity { 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, Parity 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) |
Additional Inherited Members | |
Protected Member Functions inherited from openmsx::SerialDataInterface | |
~SerialDataInterface ()=default | |
|
strong |
openmsx::I8251::I8251 | ( | Scheduler & | scheduler, |
I8251Interface & | interface, | ||
EmuTime::param | time | ||
) |
void openmsx::I8251::execRecv | ( | EmuTime::param | time | ) |
Definition at line 297 of file I8251.cc.
References openmsx::I8251Interface::signal().
void openmsx::I8251::execTrans | ( | EmuTime::param | time | ) |
Definition at line 304 of file I8251.cc.
References openmsx::SerialDataInterface::recvByte().
|
inline |
Definition at line 40 of file I8251.hh.
Referenced by openmsx::MSXFacMidiInterface::MSXFacMidiInterface().
bool openmsx::I8251::isRecvEnabled | ( | ) | const |
Definition at line 282 of file I8251.cc.
Referenced by openmsx::MSXFacMidiInterface::acceptsData(), openmsx::MSXMidi::acceptsData(), and openmsx::MSXRS232::acceptsData().
|
inline |
Definition at line 41 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 264 of file I8251.cc.
References openmsx::ClockPin::getTotalDuration(), openmsx::ClockPin::isPeriodic(), and openmsx::I8251Interface::setRxRDY().
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::D8, openmsx::SerialDataInterface::EVEN, MODE, and openmsx::SerialDataInterface::S1.
Referenced by I8251(), openmsx::MSXFacMidiInterface::reset(), and openmsx::MSXMidi::reset().
void openmsx::I8251::serialize | ( | Archive & | ar, |
unsigned | version | ||
) |
Definition at line 351 of file I8251.cc.
References openmsx::Schedulable::restoreOld().
|
inlineoverridevirtual |
Implements openmsx::SerialDataInterface.
Definition at line 45 of file I8251.hh.
Referenced by openmsx::MSXFacMidiInterface::setDataBits(), openmsx::MSXMidi::setDataBits(), and openmsx::MSXRS232::setDataBits().
|
overridevirtual |
Implements openmsx::SerialDataInterface.
Definition at line 258 of file I8251.cc.
Referenced by openmsx::MSXFacMidiInterface::setParityBit(), openmsx::MSXMidi::setParityBit(), and openmsx::MSXRS232::setParityBit().
|
inlineoverridevirtual |
Implements openmsx::SerialDataInterface.
Definition at line 46 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 CMD, MODE, SYNC1, SYNC2, and UNREACHABLE.
Referenced by openmsx::MSXFacMidiInterface::writeIO(), and openmsx::MSXMidi::writeIO().