openMSX
|
#include <MSXMotherBoard.hh>
Public Types | |
using | Extensions = std::vector< std::unique_ptr< HardwareConfig > > |
Public Member Functions | |
MSXMotherBoard (const MSXMotherBoard &)=delete | |
MSXMotherBoard & | operator= (const MSXMotherBoard &)=delete |
MSXMotherBoard (Reactor &reactor) | |
~MSXMotherBoard () | |
std::string_view | getMachineID () const |
std::string_view | getMachineName () const |
bool | execute () |
Run emulation. More... | |
void | fastForward (EmuTime::param time, bool fast) |
Run emulation until a certain time in fast forward mode. More... | |
void | exitCPULoopAsync () |
See CPU::exitCPULoopAsync(). More... | |
void | exitCPULoopSync () |
void | pause () |
Pause MSX machine. More... | |
void | unpause () |
void | powerUp () |
void | doReset () |
void | activate (bool active) |
bool | isActive () const |
bool | isFastForwarding () const |
byte | readIRQVector () |
const HardwareConfig * | getMachineConfig () const |
void | setMachineConfig (HardwareConfig *machineConfig) |
std::string | getMachineType () const |
bool | isTurboR () const |
std::string | loadMachine (const std::string &machine) |
const Extensions & | getExtensions () const |
HardwareConfig * | findExtension (std::string_view extensionName) |
std::string | loadExtension (std::string_view extensionName, std::string_view slotname) |
std::string | insertExtension (std::string_view name, std::unique_ptr< HardwareConfig > extension) |
void | removeExtension (const HardwareConfig &extension) |
CliComm & | getMSXCliComm () |
MSXCommandController & | getMSXCommandController () |
Scheduler & | getScheduler () |
MSXEventDistributor & | getMSXEventDistributor () |
StateChangeDistributor & | getStateChangeDistributor () |
CartridgeSlotManager & | getSlotManager () |
RealTime & | getRealTime () |
Debugger & | getDebugger () |
MSXMixer & | getMSXMixer () |
PluggingController & | getPluggingController () |
MSXCPU & | getCPU () |
MSXCPUInterface & | getCPUInterface () |
PanasonicMemory & | getPanasonicMemory () |
MSXDeviceSwitch & | getDeviceSwitch () |
CassettePortInterface & | getCassettePort () |
JoystickPortIf & | getJoystickPort (unsigned port) |
RenShaTurbo & | getRenShaTurbo () |
LedStatus & | getLedStatus () |
ReverseManager & | getReverseManager () |
Reactor & | getReactor () |
VideoSourceSetting & | getVideoSource () |
CommandController & | getCommandController () |
InfoCommand & | getMachineInfoCommand () |
EmuTime::param | getCurrentTime () |
Convenience method: This is the same as getScheduler().getCurrentTime(). More... | |
void | addDevice (MSXDevice &device) |
All MSXDevices should be registered by the MotherBoard. More... | |
void | removeDevice (MSXDevice &device) |
MSXDevice * | findDevice (std::string_view name) |
Find a MSXDevice by name. More... | |
template<typename T , typename ... Args> | |
std::shared_ptr< T > | getSharedStuff (std::string_view name, Args &&...args) |
Some MSX device parts are shared between several MSX devices (e.g. More... | |
MSXMapperIO & | createMapperIO () |
All memory mappers in one MSX machine share the same four (logical) memory mapper registers. More... | |
MSXMapperIO & | getMapperIO () const |
void | destroyMapperIO () |
std::string | getUserName (const std::string &hwName) |
Keep track of which 'usernames' are in use. More... | |
void | freeUserName (const std::string &hwName, const std::string &userName) |
template<typename Archive > | |
void | serialize (Archive &ar, unsigned version) |
Friends | |
class | DeviceInfo |
class | SettingObserver |
Definition at line 60 of file MSXMotherBoard.hh.
using openmsx::MSXMotherBoard::Extensions = std::vector<std::unique_ptr<HardwareConfig> > |
Definition at line 108 of file MSXMotherBoard.hh.
|
delete |
|
explicit |
Definition at line 192 of file MSXMotherBoard.cc.
References openmsx::Subject< T >::attach(), openmsx::Reactor::getEventDistributor(), and openmsx::Reactor::getGlobalSettings().
openmsx::MSXMotherBoard::~MSXMotherBoard | ( | ) |
Definition at line 248 of file MSXMotherBoard.cc.
References openmsx::Subject< T >::detach(), and getMachineConfig().
void openmsx::MSXMotherBoard::activate | ( | bool | active | ) |
Definition at line 641 of file MSXMotherBoard.cc.
References openmsx::OPENMSX_MACHINE_ACTIVATED, and openmsx::OPENMSX_MACHINE_DEACTIVATED.
void openmsx::MSXMotherBoard::addDevice | ( | MSXDevice & | device | ) |
All MSXDevices should be registered by the MotherBoard.
Definition at line 556 of file MSXMotherBoard.cc.
MSXMapperIO & openmsx::MSXMotherBoard::createMapperIO | ( | ) |
All memory mappers in one MSX machine share the same four (logical) memory mapper registers.
These two methods handle this sharing.
Definition at line 671 of file MSXMotherBoard.cc.
References openmsx::DeviceFactory::createMapperIO(), getCPUInterface(), getMachineConfig(), openmsx::MSXCPUInterface::register_IO_In(), and openmsx::MSXCPUInterface::register_IO_Out().
Referenced by openmsx::MSXMapperIOClient::MSXMapperIOClient().
void openmsx::MSXMotherBoard::destroyMapperIO | ( | ) |
Definition at line 690 of file MSXMotherBoard.cc.
References getCPUInterface(), openmsx::MSXCPUInterface::unregister_IO_In(), and openmsx::MSXCPUInterface::unregister_IO_Out().
Referenced by openmsx::MSXMapperIOClient::~MSXMapperIOClient().
void openmsx::MSXMotherBoard::doReset | ( | ) |
Definition at line 566 of file MSXMotherBoard.cc.
References openmsx::EventDistributor::distributeEvent(), openmsx::MSXCPU::doReset(), getCPU(), getCPUInterface(), getCurrentTime(), openmsx::Reactor::getEventDistributor(), getMachineConfig(), openmsx::OPENMSX_BOOT_EVENT, and openmsx::MSXCPUInterface::reset().
Referenced by openmsx::ResetCmd::execute().
bool openmsx::MSXMotherBoard::execute | ( | ) |
Run emulation.
Definition at line 510 of file MSXMotherBoard.cc.
References getCPU(), and getMachineConfig().
void openmsx::MSXMotherBoard::exitCPULoopAsync | ( | ) |
See CPU::exitCPULoopAsync().
Definition at line 652 of file MSXMotherBoard.cc.
References openmsx::MSXCPU::exitCPULoopAsync(), getCPU(), and getMachineConfig().
void openmsx::MSXMotherBoard::exitCPULoopSync | ( | ) |
Definition at line 659 of file MSXMotherBoard.cc.
References openmsx::MSXCPU::exitCPULoopSync(), and getCPU().
void openmsx::MSXMotherBoard::fastForward | ( | EmuTime::param | time, |
bool | fast | ||
) |
Run emulation until a certain time in fast forward mode.
Definition at line 521 of file MSXMotherBoard.cc.
References getCPU(), getCurrentTime(), and getMachineConfig().
MSXDevice * openmsx::MSXMotherBoard::findDevice | ( | std::string_view | name | ) |
Find a MSXDevice by name.
name | The name of the device as returned by MSXDevice::getName() |
Definition at line 664 of file MSXMotherBoard.cc.
References end(), and ranges::find_if().
Referenced by openmsx::DeviceInfo::execute().
HardwareConfig * openmsx::MSXMotherBoard::findExtension | ( | std::string_view | extensionName | ) |
Definition at line 368 of file MSXMotherBoard.cc.
References end(), and ranges::find_if().
Referenced by openmsx::MachineExtensionInfo::execute(), and openmsx::RemoveExtCmd::execute().
void openmsx::MSXMotherBoard::freeUserName | ( | const std::string & | hwName, |
const std::string & | userName | ||
) |
Definition at line 722 of file MSXMotherBoard.cc.
References move_pop_back(), and rfind_unguarded().
Referenced by openmsx::HardwareConfig::~HardwareConfig().
CassettePortInterface & openmsx::MSXMotherBoard::getCassettePort | ( | ) |
Definition at line 428 of file MSXMotherBoard.cc.
References getMachineConfig().
Referenced by openmsx::LaserdiscPlayer::LaserdiscPlayer(), and serialize().
CommandController & openmsx::MSXMotherBoard::getCommandController | ( | ) |
Definition at line 495 of file MSXMotherBoard.cc.
Referenced by openmsx::PluggableFactory::createAll(), openmsx::HardwareConfig::createRomConfig(), openmsx::DeviceConfig::getCommandController(), openmsx::MSXDevice::getCommandController(), openmsx::HD::HD(), openmsx::ImagePrinter::ImagePrinter(), and openmsx::SCSILS120::SCSILS120().
MSXCPU & openmsx::MSXMotherBoard::getCPU | ( | ) |
Definition at line 399 of file MSXMotherBoard.cc.
References getMachineConfig().
Referenced by doReset(), execute(), exitCPULoopAsync(), exitCPULoopSync(), fastForward(), openmsx::MSXDevice::getCPU(), pause(), powerUp(), serialize(), and unpause().
MSXCPUInterface & openmsx::MSXMotherBoard::getCPUInterface | ( | ) |
Definition at line 406 of file MSXMotherBoard.cc.
References getMachineConfig().
Referenced by createMapperIO(), destroyMapperIO(), doReset(), openmsx::MSXDevice::getCPUInterface(), openmsx::HardwareConfig::parseSlots(), powerUp(), serialize(), openmsx::HardwareConfig::testRemove(), openmsx::Debugger::transfer(), and openmsx::HardwareConfig::~HardwareConfig().
EmuTime::param openmsx::MSXMotherBoard::getCurrentTime | ( | ) |
Convenience method: This is the same as getScheduler().getCurrentTime().
Definition at line 505 of file MSXMotherBoard.cc.
Referenced by openmsx::DACSound8U::DACSound8U(), doReset(), fastForward(), openmsx::MSXDevice::getCurrentTime(), openmsx::PluggingController::getCurrentTime(), powerUp(), openmsx::SimpleDebuggable::read(), openmsx::Y8950::serialize(), openmsx::PluggingController::unregisterConnector(), openmsx::V9990PixelRenderer::V9990PixelRenderer(), openmsx::SimpleDebuggable::write(), openmsx::YMF278::YMF278(), and openmsx::CassettePort::~CassettePort().
|
inline |
Definition at line 124 of file MSXMotherBoard.hh.
Referenced by openmsx::MSXCPU::MSXCPU(), openmsx::SimpleDebuggable::SimpleDebuggable(), openmsx::MSXCPU::~MSXCPU(), and openmsx::SimpleDebuggable::~SimpleDebuggable().
MSXDeviceSwitch & openmsx::MSXMotherBoard::getDeviceSwitch | ( | ) |
Definition at line 420 of file MSXMotherBoard.cc.
References openmsx::DeviceFactory::createDeviceSwitch(), and getMachineConfig().
Referenced by openmsx::MSXSwitchedDevice::MSXSwitchedDevice(), serialize(), and openmsx::MSXSwitchedDevice::~MSXSwitchedDevice().
|
inline |
Definition at line 109 of file MSXMotherBoard.hh.
Referenced by openmsx::MachineExtensionInfo::execute(), openmsx::ListExtCmd::execute(), openmsx::RemoveExtCmd::tabCompletion(), and openmsx::MachineExtensionInfo::tabCompletion().
JoystickPortIf & openmsx::MSXMotherBoard::getJoystickPort | ( | unsigned | port | ) |
Definition at line 441 of file MSXMotherBoard.cc.
References openmsx::XMLElement::getChildData(), openmsx::HardwareConfig::getConfig(), getMachineConfig(), and getPluggingController().
Referenced by openmsx::ColecoJoystickIO::ColecoJoystickIO(), openmsx::MSXPSG::MSXPSG(), openmsx::JoyPortDebuggable::read(), openmsx::SVIPPI::SVIPPI(), and openmsx::SVIPSG::SVIPSG().
LedStatus & openmsx::MSXMotherBoard::getLedStatus | ( | ) |
Definition at line 483 of file MSXMotherBoard.cc.
References getMSXCliComm(), and openmsx::Reactor::getRTScheduler().
Referenced by openmsx::MSXDevice::getLedStatus(), openmsx::SVIPSG::powerDown(), powerUp(), openmsx::RealDrive::serialize(), and serialize().
|
inline |
Definition at line 101 of file MSXMotherBoard.hh.
Referenced by openmsx::PluggableFactory::createAll(), createMapperIO(), doReset(), execute(), openmsx::LoadMachineCmd::execute(), exitCPULoopAsync(), fastForward(), getCassettePort(), getCPU(), getCPUInterface(), getDeviceSwitch(), getJoystickPort(), getMachineType(), getPluggingController(), getRenShaTurbo(), isTurboR(), loadMachine(), openmsx::MSXCPUInterface::MSXCPUInterface(), pause(), powerUp(), openmsx::HardwareConfig::serialize(), serialize(), setMachineConfig(), unpause(), openmsx::WatchIO::WatchIO(), and ~MSXMotherBoard().
|
inline |
Definition at line 69 of file MSXMotherBoard.hh.
Referenced by openmsx::AddRemoveUpdate::AddRemoveUpdate(), openmsx::DiskChanger::DiskChanger(), openmsx::IDEHD::IDEHD(), openmsx::MSXCliComm::update(), and openmsx::AddRemoveUpdate::~AddRemoveUpdate().
InfoCommand & openmsx::MSXMotherBoard::getMachineInfoCommand | ( | ) |
Definition at line 500 of file MSXMotherBoard.cc.
|
inline |
Definition at line 70 of file MSXMotherBoard.hh.
Referenced by openmsx::MachineNameInfo::execute().
std::string openmsx::MSXMotherBoard::getMachineType | ( | ) | const |
Definition at line 288 of file MSXMotherBoard.cc.
References openmsx::XMLElement::getChild(), openmsx::XMLElement::getChildData(), openmsx::HardwareConfig::getConfig(), and getMachineConfig().
Referenced by openmsx::RomFactory::create(), and openmsx::MachineTypeInfo::execute().
|
inline |
Definition at line 184 of file MSXMotherBoard.hh.
Referenced by openmsx::MSXMapperIOClient::~MSXMapperIOClient().
CliComm & openmsx::MSXMotherBoard::getMSXCliComm | ( | ) |
Definition at line 385 of file MSXMotherBoard.cc.
Referenced by openmsx::CassettePlayer::CassettePlayer(), openmsx::CartridgeSlotManager::createExternalSlot(), openmsx::IDECDROM::eject(), openmsx::ImagePrinter::flushEmulatedPrinter(), openmsx::PluggingController::getCliComm(), openmsx::DeviceConfig::getCliComm(), openmsx::MSXDevice::getCliComm(), openmsx::MSXCommandController::getCliComm(), getLedStatus(), openmsx::HD::HD(), openmsx::IDECDROM::IDECDROM(), openmsx::IDECDROM::insert(), insertExtension(), openmsx::RealDrive::RealDrive(), removeExtension(), openmsx::CartridgeSlotManager::removeExternalSlot(), openmsx::RomKonami::RomKonami(), openmsx::RomKonamiSCC::RomKonamiSCC(), openmsx::CassettePlayer::serialize(), openmsx::HD::serialize(), openmsx::HD::switchImage(), openmsx::CassettePlayer::~CassettePlayer(), openmsx::HD::~HD(), openmsx::IDECDROM::~IDECDROM(), openmsx::RealDrive::~RealDrive(), and openmsx::SCSILS120::~SCSILS120().
|
inline |
Definition at line 118 of file MSXMotherBoard.hh.
Referenced by openmsx::RealDrive::RealDrive().
|
inline |
Definition at line 120 of file MSXMotherBoard.hh.
Referenced by openmsx::PluggableFactory::createAll(), openmsx::VideoLayer::VideoLayer(), and openmsx::VideoLayer::~VideoLayer().
|
inline |
Definition at line 125 of file MSXMotherBoard.hh.
PanasonicMemory & openmsx::MSXMotherBoard::getPanasonicMemory | ( | ) |
Definition at line 412 of file MSXMotherBoard.cc.
PluggingController & openmsx::MSXMotherBoard::getPluggingController | ( | ) |
Definition at line 390 of file MSXMotherBoard.cc.
References getMachineConfig().
Referenced by getJoystickPort(), and openmsx::MSXDevice::getPluggingController().
|
inline |
Definition at line 136 of file MSXMotherBoard.hh.
Referenced by openmsx::AddRemoveUpdate::AddRemoveUpdate(), openmsx::CassettePlayer::CassettePlayer(), openmsx::PluggableFactory::createAll(), openmsx::DeviceConfig::getReactor(), openmsx::MSXDevice::getReactor(), openmsx::HD::HD(), openmsx::LaserdiscPlayer::LaserdiscPlayer(), openmsx::MSXCPUInterface::MSXCPUInterface(), openmsx::CassettePlayer::serialize(), openmsx::HD::serialize(), openmsx::AddRemoveUpdate::~AddRemoveUpdate(), openmsx::CassettePlayer::~CassettePlayer(), and openmsx::LaserdiscPlayer::~LaserdiscPlayer().
|
inline |
Definition at line 123 of file MSXMotherBoard.hh.
RenShaTurbo & openmsx::MSXMotherBoard::getRenShaTurbo | ( | ) |
Definition at line 472 of file MSXMotherBoard.cc.
References getMachineConfig().
|
inline |
Definition at line 135 of file MSXMotherBoard.hh.
Referenced by openmsx::Keyboard::Keyboard(), and serialize().
|
inline |
Definition at line 119 of file MSXMotherBoard.hh.
Referenced by openmsx::PluggableFactory::createAll(), openmsx::DeviceConfig::getScheduler(), openmsx::MSXDevice::getScheduler(), openmsx::HD::HD(), openmsx::MSXCPU::MSXCPU(), openmsx::SCSILS120::SCSILS120(), and openmsx::MSXCPU::~MSXCPU().
|
inline |
Some MSX device parts are shared between several MSX devices (e.g.
all memory mappers share IO ports 0xFC-0xFF). But this sharing is limited to one MSX machine. This method offers the storage to implement per-machine reference counted objects. TODO This doesn't play nicely with savestates. For example memory mappers don't use this mechanism anymore because of this. Maybe this method can be removed when savestates are finished.
Definition at line 169 of file MSXMotherBoard.hh.
Referenced by openmsx::HD::HD(), openmsx::IDECDROM::IDECDROM(), openmsx::ImagePrinter::ImagePrinter(), openmsx::RealDrive::RealDrive(), openmsx::SCSILS120::SCSILS120(), and openmsx::V9990CmdEngine::V9990CmdEngine().
|
inline |
Definition at line 122 of file MSXMotherBoard.hh.
Referenced by openmsx::HardwareConfig::testRemove(), and openmsx::HardwareConfig::~HardwareConfig().
|
inline |
Definition at line 121 of file MSXMotherBoard.hh.
Referenced by openmsx::PluggableFactory::createAll(), openmsx::HD::HD(), and openmsx::SCSILS120::SCSILS120().
string openmsx::MSXMotherBoard::getUserName | ( | const std::string & | hwName | ) |
Keep track of which 'usernames' are in use.
For example to be able to use several fmpac extensions at once, each with its own SRAM file, we need to generate unique filenames. We also want to reuse existing filenames as much as possible. ATM the usernames always have the format 'untitled[N]'. In the future we might allow really user specified names.
Definition at line 710 of file MSXMotherBoard.cc.
References contains(), and strCat().
Referenced by openmsx::HardwareConfig::HardwareConfig().
|
inline |
Definition at line 137 of file MSXMotherBoard.hh.
Referenced by openmsx::LDPixelRenderer::frameEnd().
string openmsx::MSXMotherBoard::insertExtension | ( | std::string_view | name, |
std::unique_ptr< HardwareConfig > | extension | ||
) |
Definition at line 352 of file MSXMotherBoard.cc.
References openmsx::CliComm::EXTENSION, openmsx::MSXException::getMessage(), getMSXCliComm(), and openmsx::CliComm::update().
Referenced by loadExtension().
|
inline |
Definition at line 96 of file MSXMotherBoard.hh.
Referenced by openmsx::PixelRenderer::frameEnd(), and openmsx::V9990PixelRenderer::frameEnd().
|
inline |
Definition at line 97 of file MSXMotherBoard.hh.
Referenced by openmsx::PixelRenderer::frameEnd(), and openmsx::V9990PixelRenderer::frameEnd().
bool openmsx::MSXMotherBoard::isTurboR | ( | ) | const |
Definition at line 298 of file MSXMotherBoard.cc.
References openmsx::XMLElement::findChild(), openmsx::XMLElement::getChild(), openmsx::HardwareConfig::getConfig(), and getMachineConfig().
Referenced by openmsx::MSXCPUInterface::MSXCPUInterface().
string openmsx::MSXMotherBoard::loadExtension | ( | std::string_view | extensionName, |
std::string_view | slotname | ||
) |
Definition at line 336 of file MSXMotherBoard.cc.
References openmsx::HardwareConfig::createExtensionConfig(), openmsx::MSXException::getMessage(), and insertExtension().
Referenced by openmsx::ExtCmd::execute(), and openmsx::CliExtension::parseOption().
string openmsx::MSXMotherBoard::loadMachine | ( | const std::string & | machine | ) |
Definition at line 305 of file MSXMotherBoard.cc.
References openmsx::HardwareConfig::createDevices(), openmsx::HardwareConfig::createMachineConfig(), openmsx::BooleanSetting::getBoolean(), getMachineConfig(), openmsx::MSXException::getMessage(), openmsx::HardwareConfig::parseSlots(), powerUp(), and setMachineConfig().
Referenced by openmsx::LoadMachineCmd::execute(), and openmsx::TestMachineCommand::execute().
|
delete |
void openmsx::MSXMotherBoard::pause | ( | ) |
Pause MSX machine.
Only CPU is paused, other devices continue running. Used by turbor hardware pause.
Definition at line 540 of file MSXMotherBoard.cc.
References getCPU(), getMachineConfig(), and openmsx::MSXCPU::setPaused().
void openmsx::MSXMotherBoard::powerUp | ( | ) |
Definition at line 592 of file MSXMotherBoard.cc.
References openmsx::EventDistributor::distributeEvent(), openmsx::MSXCPU::doReset(), getCPU(), getCPUInterface(), getCurrentTime(), openmsx::Reactor::getEventDistributor(), getLedStatus(), getMachineConfig(), openmsx::OPENMSX_BOOT_EVENT, openmsx::LedStatus::POWER, openmsx::MSXCPUInterface::reset(), openmsx::BooleanSetting::setBoolean(), and openmsx::LedStatus::setLed().
Referenced by loadMachine(), and openmsx::SettingObserver::update().
byte openmsx::MSXMotherBoard::readIRQVector | ( | ) |
Definition at line 583 of file MSXMotherBoard.cc.
Referenced by openmsx::MSXCPUInterface::readIRQVector().
void openmsx::MSXMotherBoard::removeDevice | ( | MSXDevice & | device | ) |
Definition at line 561 of file MSXMotherBoard.cc.
References move_pop_back(), and rfind_unguarded().
Referenced by openmsx::HardwareConfig::~HardwareConfig().
void openmsx::MSXMotherBoard::removeExtension | ( | const HardwareConfig & | extension | ) |
Definition at line 376 of file MSXMotherBoard.cc.
References openmsx::CliComm::EXTENSION, getMSXCliComm(), openmsx::HardwareConfig::getName(), rfind_if_unguarded(), openmsx::HardwareConfig::testRemove(), and openmsx::CliComm::update().
Referenced by openmsx::RemoveExtCmd::execute().
void openmsx::MSXMotherBoard::serialize | ( | Archive & | ar, |
unsigned | version | ||
) |
Definition at line 1127 of file MSXMotherBoard.cc.
References getCassettePort(), getCPU(), getCPUInterface(), getDeviceSwitch(), getLedStatus(), getMachineConfig(), getReverseManager(), openmsx::MSXDeviceSwitch::hasRegisteredDevices(), openmsx::LedStatus::POWER, openmsx::BooleanSetting::setBoolean(), openmsx::LedStatus::setLed(), and openmsx::ReverseManager::setReRecordCount().
void openmsx::MSXMotherBoard::setMachineConfig | ( | HardwareConfig * | machineConfig | ) |
Definition at line 277 of file MSXMotherBoard.cc.
References getMachineConfig().
Referenced by loadMachine(), and openmsx::HardwareConfig::serialize().
void openmsx::MSXMotherBoard::unpause | ( | ) |
Definition at line 548 of file MSXMotherBoard.cc.
References getCPU(), getMachineConfig(), and openmsx::MSXCPU::setPaused().
|
friend |
Definition at line 265 of file MSXMotherBoard.hh.
|
friend |
Definition at line 270 of file MSXMotherBoard.hh.