openMSX
|
#include <MSXMotherBoard.hh>
Public Types | |
using | Extensions = std::vector< std::unique_ptr< HardwareConfig > > |
Public Member Functions | |
MSXMotherBoard (const MSXMotherBoard &)=delete | |
MSXMotherBoard (MSXMotherBoard &&)=delete | |
MSXMotherBoard & | operator= (const MSXMotherBoard &)=delete |
MSXMotherBoard & | operator= (MSXMotherBoard &&)=delete |
MSXMotherBoard (Reactor &reactor) | |
~MSXMotherBoard () | |
std::string_view | getMachineID () const |
std::string_view | getMachineName () const |
bool | execute () |
Run emulation. | |
void | fastForward (EmuTime::param time, bool fast) |
Run emulation until a certain time in fast forward mode. | |
void | exitCPULoopAsync () |
See CPU::exitCPULoopAsync(). | |
void | exitCPULoopSync () |
void | pause () |
Pause MSX machine. | |
void | unpause () |
void | powerUp () |
bool | isPowered () const |
void | doReset () |
void | activate (bool active) |
bool | isActive () const |
bool | isFastForwarding () const |
byte | readIRQVector () const |
const HardwareConfig * | getMachineConfig () const |
HardwareConfig * | getMachineConfig () |
void | setMachineConfig (HardwareConfig *machineConfig) |
std::string_view | getMachineType () const |
bool | isTurboR () const |
bool | hasToshibaEngine () const |
std::string | loadMachine (const std::string &machine) |
const Extensions & | getExtensions () const |
HardwareConfig * | findExtension (std::string_view extensionName) |
std::unique_ptr< HardwareConfig > | 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) |
MSXCliComm & | 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 () |
BooleanSetting & | suppressMessages () |
CommandController & | getCommandController () |
InfoCommand & | getMachineInfoCommand () |
EmuTime::param | getCurrentTime () const |
Convenience method: This is the same as getScheduler().getCurrentTime(). | |
void | addDevice (MSXDevice &device) |
All MSXDevices should be registered by the MotherBoard. | |
void | removeDevice (MSXDevice &device) |
MSXDevice * | findDevice (std::string_view name) |
Find a MSXDevice by name. | |
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. | |
MSXMapperIO & | createMapperIO () |
All memory mappers in one MSX machine share the same four (logical) memory mapper registers. | |
MSXMapperIO & | getMapperIO () const |
void | destroyMapperIO () |
std::string | getUserName (const std::string &hwName) |
Keep track of which 'usernames' are in use. | |
void | freeUserName (const std::string &hwName, const std::string &userName) |
void | registerMediaInfo (std::string_view name, MediaInfoProvider &provider) |
Register and unregister providers of media info, for the media info topic. | |
void | unregisterMediaInfo (MediaInfoProvider &provider) |
void | registerKeyboard (Keyboard &keyboard) |
void | unregisterKeyboard (Keyboard &keyboard) |
Keyboard * | getKeyboard () const |
template<typename Archive > | |
void | serialize (Archive &ar, unsigned version) |
Friends | |
class | DeviceInfo |
class | SettingObserver |
Definition at line 83 of file MSXMotherBoard.hh.
using openmsx::MSXMotherBoard::Extensions = std::vector<std::unique_ptr<HardwareConfig> > |
Definition at line 136 of file MSXMotherBoard.hh.
|
delete |
|
delete |
|
explicit |
Definition at line 219 of file MSXMotherBoard.cc.
References openmsx::Subject< T >::attach(), openmsx::Reactor::getEventDistributor(), and openmsx::Reactor::getGlobalSettings().
openmsx::MSXMotherBoard::~MSXMotherBoard | ( | ) |
Definition at line 276 of file MSXMotherBoard.cc.
References openmsx::Subject< T >::detach(), and getMachineConfig().
void openmsx::MSXMotherBoard::activate | ( | bool | active | ) |
Definition at line 677 of file MSXMotherBoard.cc.
void openmsx::MSXMotherBoard::addDevice | ( | MSXDevice & | device | ) |
All MSXDevices should be registered by the MotherBoard.
Definition at line 594 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 706 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(), and openmsx::MSXS1985::MSXS1985().
void openmsx::MSXMotherBoard::destroyMapperIO | ( | ) |
Definition at line 721 of file MSXMotherBoard.cc.
References getCPUInterface(), openmsx::MSXCPUInterface::unregister_IO_In(), and openmsx::MSXCPUInterface::unregister_IO_Out().
Referenced by openmsx::MSXMapperIOClient::~MSXMapperIOClient(), and openmsx::MSXS1985::~MSXS1985().
void openmsx::MSXMotherBoard::doReset | ( | ) |
Definition at line 604 of file MSXMotherBoard.cc.
References openmsx::EventDistributor::distributeEvent(), openmsx::MSXCPU::doReset(), getCPU(), getCPUInterface(), getCurrentTime(), openmsx::Reactor::getEventDistributor(), getMachineConfig(), and openmsx::MSXCPUInterface::reset().
Referenced by openmsx::ResetCmd::execute().
bool openmsx::MSXMotherBoard::execute | ( | ) |
Run emulation.
Definition at line 548 of file MSXMotherBoard.cc.
References getCPU(), and getMachineConfig().
void openmsx::MSXMotherBoard::exitCPULoopAsync | ( | ) |
See CPU::exitCPULoopAsync().
Definition at line 688 of file MSXMotherBoard.cc.
References openmsx::MSXCPU::exitCPULoopAsync(), getCPU(), and getMachineConfig().
void openmsx::MSXMotherBoard::exitCPULoopSync | ( | ) |
Definition at line 695 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 559 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 700 of file MSXMotherBoard.cc.
References end(), ranges::find(), and openmsx::MSXDevice::getName().
Referenced by openmsx::DeviceInfo::execute(), openmsx::ImGuiBitmapViewer::paint(), openmsx::ImGuiCharacter::paint(), openmsx::ImGuiPalette::paint(), openmsx::ImGuiSpriteViewer::paint(), and openmsx::ImGuiVdpRegs::paint().
HardwareConfig * openmsx::MSXMotherBoard::findExtension | ( | std::string_view | extensionName | ) |
Definition at line 408 of file MSXMotherBoard.cc.
References end(), ranges::find(), and openmsx::HardwareConfig::getName().
Referenced by openmsx::MachineExtensionInfo::execute(), and openmsx::RemoveExtCmd::execute().
void openmsx::MSXMotherBoard::freeUserName | ( | const std::string & | hwName, |
const std::string & | userName | ||
) |
Definition at line 749 of file MSXMotherBoard.cc.
References move_pop_back(), and rfind_unguarded().
Referenced by openmsx::HardwareConfig::~HardwareConfig().
CassettePortInterface & openmsx::MSXMotherBoard::getCassettePort | ( | ) |
Definition at line 466 of file MSXMotherBoard.cc.
References getMachineConfig().
Referenced by openmsx::LaserdiscPlayer::LaserdiscPlayer(), and serialize().
CommandController & openmsx::MSXMotherBoard::getCommandController | ( | ) |
Definition at line 533 of file MSXMotherBoard.cc.
Referenced by openmsx::PluggableFactory::createAll(), openmsx::HardwareConfig::createRomConfig(), openmsx::DeviceConfig::getCommandController(), openmsx::MSXDevice::getCommandController(), openmsx::HD::HD(), and openmsx::SCSILS120::SCSILS120().
MSXCPU & openmsx::MSXMotherBoard::getCPU | ( | ) |
Definition at line 437 of file MSXMotherBoard.cc.
References getMachineConfig().
Referenced by doReset(), execute(), exitCPULoopAsync(), exitCPULoopSync(), fastForward(), openmsx::MSXDevice::getCPU(), openmsx::ImGuiDebugger::paint(), pause(), powerUp(), serialize(), openmsx::ImGuiSettings::showMenu(), and unpause().
MSXCPUInterface & openmsx::MSXMotherBoard::getCPUInterface | ( | ) |
Definition at line 444 of file MSXMotherBoard.cc.
References getMachineConfig().
Referenced by openmsx::CartridgeSlotManager::createExternalSlot(), createMapperIO(), destroyMapperIO(), doReset(), openmsx::MSXDevice::getCPUInterface(), openmsx::ImGuiBreakPoints::paint(), openmsx::ImGuiDebugger::paint(), openmsx::HardwareConfig::parseSlots(), powerUp(), serialize(), openmsx::Debugger::setWatchPoint(), openmsx::HardwareConfig::testRemove(), openmsx::Debugger::transfer(), and openmsx::HardwareConfig::~HardwareConfig().
EmuTime::param openmsx::MSXMotherBoard::getCurrentTime | ( | ) | const |
Convenience method: This is the same as getScheduler().getCurrentTime().
Definition at line 543 of file MSXMotherBoard.cc.
Referenced by openmsx::DACSound8U::DACSound8U(), doReset(), fastForward(), openmsx::MSXDevice::getCurrentTime(), openmsx::PluggingController::getCurrentTime(), openmsx::ImGuiDebugger::paint(), openmsx::ImGuiPalette::paint(), openmsx::ImGuiVdpRegs::paint(), openmsx::ImGuiManager::paintImGui(), powerUp(), openmsx::SimpleDebuggable::read(), openmsx::Y8950::serialize(), openmsx::PluggingController::unregisterConnector(), openmsx::V9990PixelRenderer::V9990PixelRenderer(), openmsx::SimpleDebuggable::write(), openmsx::YMF262::YMF262(), openmsx::YMF278::YMF278(), and openmsx::CassettePort::~CassettePort().
|
inline |
Definition at line 152 of file MSXMotherBoard.hh.
Referenced by openmsx::MSXCPU::MSXCPU(), openmsx::DebuggableEditor::paint(), openmsx::ImGuiBreakPoints::paint(), openmsx::ImGuiDebugger::paint(), openmsx::ImGuiDebugger::showMenu(), openmsx::SimpleDebuggable::SimpleDebuggable(), openmsx::MSXCPU::~MSXCPU(), and openmsx::SimpleDebuggable::~SimpleDebuggable().
MSXDeviceSwitch & openmsx::MSXMotherBoard::getDeviceSwitch | ( | ) |
Definition at line 458 of file MSXMotherBoard.cc.
References openmsx::DeviceFactory::createDeviceSwitch(), and getMachineConfig().
Referenced by openmsx::MSXSwitchedDevice::MSXSwitchedDevice(), serialize(), and openmsx::MSXSwitchedDevice::~MSXSwitchedDevice().
|
inline |
Definition at line 137 of file MSXMotherBoard.hh.
Referenced by openmsx::MachineExtensionInfo::execute(), openmsx::ListExtCmd::execute(), openmsx::ImGuiMedia::showMenu(), openmsx::RemoveExtCmd::tabCompletion(), and openmsx::MachineExtensionInfo::tabCompletion().
JoystickPortIf & openmsx::MSXMotherBoard::getJoystickPort | ( | unsigned | port | ) |
Definition at line 479 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::SC3000PPI::SC3000PPI(), openmsx::SG1000JoystickIO::SG1000JoystickIO(), openmsx::SVIPPI::SVIPPI(), and openmsx::SVIPSG::SVIPSG().
|
inline |
Definition at line 245 of file MSXMotherBoard.hh.
Referenced by openmsx::ImGuiKeyboard::paint().
LedStatus & openmsx::MSXMotherBoard::getLedStatus | ( | ) |
Definition at line 521 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 128 of file MSXMotherBoard.hh.
|
inline |
Definition at line 127 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(), hasToshibaEngine(), isTurboR(), loadMachine(), openmsx::MSXCPUInterface::MSXCPUInterface(), openmsx::PanasonicMemory::PanasonicMemory(), pause(), powerUp(), openmsx::HardwareConfig::serialize(), serialize(), setMachineConfig(), unpause(), openmsx::WatchIO::WatchIO(), and ~MSXMotherBoard().
|
inline |
Definition at line 94 of file MSXMotherBoard.hh.
Referenced by openmsx::AddRemoveUpdate::AddRemoveUpdate(), openmsx::DiskChanger::DiskChanger(), openmsx::Reactor::getMachine(), openmsx::IDEHD::IDEHD(), openmsx::MSXCliComm::update(), openmsx::MSXCliComm::updateFiltered(), and openmsx::AddRemoveUpdate::~AddRemoveUpdate().
InfoCommand & openmsx::MSXMotherBoard::getMachineInfoCommand | ( | ) |
Definition at line 538 of file MSXMotherBoard.cc.
|
inline |
Definition at line 95 of file MSXMotherBoard.hh.
Referenced by openmsx::MachineNameInfo::execute().
std::string_view openmsx::MSXMotherBoard::getMachineType | ( | ) | const |
Definition at line 317 of file MSXMotherBoard.cc.
References getMachineConfig().
Referenced by openmsx::RomFactory::create(), and openmsx::MachineTypeInfo::execute().
|
inline |
Definition at line 213 of file MSXMotherBoard.hh.
Referenced by openmsx::MSXMapperIOClient::~MSXMapperIOClient().
MSXCliComm & openmsx::MSXMotherBoard::getMSXCliComm | ( | ) |
Definition at line 423 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::LaserdiscPlayer::LaserdiscPlayer(), openmsx::RealDrive::RealDrive(), removeExtension(), openmsx::CartridgeSlotManager::removeExternalSlot(), openmsx::Debugger::removeProbeBreakPoint(), openmsx::RomKonami::RomKonami(), openmsx::RomKonamiSCC::RomKonamiSCC(), openmsx::SCSILS120::SCSILS120(), openmsx::CassettePlayer::serialize(), openmsx::HD::serialize(), openmsx::HD::switchImage(), openmsx::CassettePlayer::~CassettePlayer(), openmsx::HD::~HD(), openmsx::IDECDROM::~IDECDROM(), openmsx::LaserdiscPlayer::~LaserdiscPlayer(), openmsx::RealDrive::~RealDrive(), and openmsx::SCSILS120::~SCSILS120().
|
inline |
Definition at line 146 of file MSXMotherBoard.hh.
Referenced by openmsx::RealDrive::RealDrive(), openmsx::ImGuiMachine::showMenu(), and openmsx::ImGuiSettings::showMenu().
|
inline |
Definition at line 148 of file MSXMotherBoard.hh.
Referenced by openmsx::PluggableFactory::createAll(), openmsx::SG1000Pause::SG1000Pause(), openmsx::VideoLayer::VideoLayer(), openmsx::SG1000Pause::~SG1000Pause(), and openmsx::VideoLayer::~VideoLayer().
|
inline |
Definition at line 153 of file MSXMotherBoard.hh.
Referenced by openmsx::ImGuiSCCViewer::paint(), openmsx::ImGuiSoundChip::paint(), and openmsx::ImGuiWaveViewer::paint().
PanasonicMemory & openmsx::MSXMotherBoard::getPanasonicMemory | ( | ) |
Definition at line 450 of file MSXMotherBoard.cc.
PluggingController & openmsx::MSXMotherBoard::getPluggingController | ( | ) |
Definition at line 428 of file MSXMotherBoard.cc.
References getMachineConfig().
Referenced by getJoystickPort(), openmsx::MSXDevice::getPluggingController(), and openmsx::ImGuiConnector::showMenu().
|
inline |
Definition at line 164 of file MSXMotherBoard.hh.
Referenced by openmsx::AddRemoveUpdate::AddRemoveUpdate(), openmsx::PluggableFactory::createAll(), openmsx::MSXCPUInterface::doBreak(), openmsx::MSXCPUInterface::doContinue(), openmsx::DeviceConfig::getReactor(), openmsx::MSXDevice::getReactor(), openmsx::HD::HD(), openmsx::LaserdiscPlayer::LaserdiscPlayer(), openmsx::MSXCPUInterface::MSXCPUInterface(), openmsx::CassettePlayer::serialize(), openmsx::HD::serialize(), openmsx::AddRemoveUpdate::~AddRemoveUpdate(), and openmsx::LaserdiscPlayer::~LaserdiscPlayer().
|
inline |
Definition at line 151 of file MSXMotherBoard.hh.
Referenced by openmsx::MSXCPUInterface::doContinue().
RenShaTurbo & openmsx::MSXMotherBoard::getRenShaTurbo | ( | ) |
Definition at line 510 of file MSXMotherBoard.cc.
References getMachineConfig().
|
inline |
Definition at line 163 of file MSXMotherBoard.hh.
Referenced by openmsx::ImGuiReverseBar::paint(), serialize(), and openmsx::ImGuiReverseBar::showMenu().
|
inline |
Definition at line 147 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 198 of file MSXMotherBoard.hh.
Referenced by openmsx::RealDrive::getDrivesInUse(), openmsx::HD::getDrivesInUse(), openmsx::IDECDROM::getDrivesInUse(), openmsx::SCSILS120::SCSILS120(), and openmsx::V9990CmdEngine::V9990CmdEngine().
|
inline |
Definition at line 150 of file MSXMotherBoard.hh.
Referenced by openmsx::ExtCmd::execute(), openmsx::ImGuiMedia::paint(), openmsx::ImGuiMedia::showMenu(), openmsx::HardwareConfig::testRemove(), and openmsx::HardwareConfig::~HardwareConfig().
|
inline |
Definition at line 149 of file MSXMotherBoard.hh.
Referenced by openmsx::PluggableFactory::createAll(), openmsx::HD::HD(), openmsx::ReverseManager::isViewOnlyMode(), 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 737 of file MSXMotherBoard.cc.
References contains(), and strCat().
Referenced by openmsx::HardwareConfig::HardwareConfig().
|
inline |
Definition at line 165 of file MSXMotherBoard.hh.
Referenced by openmsx::LDPixelRenderer::frameEnd(), and openmsx::ImGuiSettings::showMenu().
bool openmsx::MSXMotherBoard::hasToshibaEngine | ( | ) | const |
Definition at line 336 of file MSXMotherBoard.cc.
References openmsx::XMLElement::findChild(), openmsx::XMLElement::getChild(), openmsx::HardwareConfig::getConfig(), and getMachineConfig().
string openmsx::MSXMotherBoard::insertExtension | ( | std::string_view | name, |
std::unique_ptr< HardwareConfig > | extension | ||
) |
Definition at line 392 of file MSXMotherBoard.cc.
References openmsx::CliComm::EXTENSION, getMSXCliComm(), and openmsx::MSXCliComm::update().
Referenced by openmsx::ExtCmd::execute(), and openmsx::CliExtension::parseOption().
|
inline |
Definition at line 122 of file MSXMotherBoard.hh.
Referenced by openmsx::PixelRenderer::frameEnd(), openmsx::V9990PixelRenderer::frameEnd(), openmsx::SDLRasterizer::isActive(), and openmsx::V9990SDLRasterizer::isActive().
|
inline |
Definition at line 123 of file MSXMotherBoard.hh.
Referenced by openmsx::PixelRenderer::frameEnd(), openmsx::V9990PixelRenderer::frameEnd(), openmsx::SDLRasterizer::isActive(), and openmsx::V9990SDLRasterizer::isActive().
|
inline |
Definition at line 118 of file MSXMotherBoard.hh.
bool openmsx::MSXMotherBoard::isTurboR | ( | ) | const |
Definition at line 329 of file MSXMotherBoard.cc.
References openmsx::XMLElement::findChild(), openmsx::XMLElement::getChild(), openmsx::HardwareConfig::getConfig(), and getMachineConfig().
Referenced by openmsx::MSXCPUInterface::MSXCPUInterface().
std::unique_ptr< HardwareConfig > openmsx::MSXMotherBoard::loadExtension | ( | std::string_view | extensionName, |
std::string_view | slotName | ||
) |
Definition at line 378 of file MSXMotherBoard.cc.
References openmsx::HardwareConfig::createExtensionConfig().
Referenced by openmsx::ExtCmd::execute(), and openmsx::CliExtension::parseOption().
string openmsx::MSXMotherBoard::loadMachine | ( | const std::string & | machine | ) |
Definition at line 347 of file MSXMotherBoard.cc.
References openmsx::HardwareConfig::createDevices(), openmsx::HardwareConfig::createMachineConfig(), openmsx::BooleanSetting::getBoolean(), getMachineConfig(), openmsx::HardwareConfig::parseSlots(), powerUp(), and setMachineConfig().
Referenced by openmsx::LoadMachineCmd::execute(), and openmsx::TestMachineCommand::execute().
|
delete |
|
delete |
void openmsx::MSXMotherBoard::pause | ( | ) |
Pause MSX machine.
Only CPU is paused, other devices continue running. Used by turbor hardware pause.
Definition at line 578 of file MSXMotherBoard.cc.
References getCPU(), getMachineConfig(), and openmsx::MSXCPU::setPaused().
void openmsx::MSXMotherBoard::powerUp | ( | ) |
Definition at line 629 of file MSXMotherBoard.cc.
References openmsx::EventDistributor::distributeEvent(), openmsx::MSXCPU::doReset(), getCPU(), getCPUInterface(), getCurrentTime(), openmsx::Reactor::getEventDistributor(), getLedStatus(), getMachineConfig(), openmsx::LedStatus::POWER, openmsx::MSXCPUInterface::reset(), openmsx::BooleanSetting::setBoolean(), and openmsx::LedStatus::setLed().
Referenced by loadMachine().
byte openmsx::MSXMotherBoard::readIRQVector | ( | ) | const |
Definition at line 620 of file MSXMotherBoard.cc.
Referenced by openmsx::MSXCPUInterface::readIRQVector().
|
inline |
Definition at line 236 of file MSXMotherBoard.hh.
Referenced by openmsx::Keyboard::Keyboard().
void openmsx::MSXMotherBoard::registerMediaInfo | ( | std::string_view | name, |
MediaInfoProvider & | provider | ||
) |
Register and unregister providers of media info, for the media info topic.
Definition at line 755 of file MSXMotherBoard.cc.
Referenced by openmsx::CassettePlayer::CassettePlayer(), openmsx::CartridgeSlotManager::createExternalSlot(), openmsx::HD::HD(), openmsx::IDECDROM::IDECDROM(), openmsx::LaserdiscPlayer::LaserdiscPlayer(), openmsx::RealDrive::RealDrive(), and openmsx::SCSILS120::SCSILS120().
void openmsx::MSXMotherBoard::removeDevice | ( | MSXDevice & | device | ) |
Definition at line 599 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 414 of file MSXMotherBoard.cc.
References openmsx::CliComm::EXTENSION, getMSXCliComm(), openmsx::HardwareConfig::getName(), rfind_unguarded(), openmsx::HardwareConfig::testRemove(), and openmsx::MSXCliComm::update().
Referenced by openmsx::RemoveExtCmd::execute(), and openmsx::ExtCmd::execute().
void openmsx::MSXMotherBoard::serialize | ( | Archive & | ar, |
unsigned | version | ||
) |
Definition at line 1222 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 306 of file MSXMotherBoard.cc.
References getMachineConfig().
Referenced by loadMachine(), and openmsx::HardwareConfig::serialize().
|
inline |
Definition at line 166 of file MSXMotherBoard.hh.
void openmsx::MSXMotherBoard::unpause | ( | ) |
Definition at line 586 of file MSXMotherBoard.cc.
References getCPU(), getMachineConfig(), and openmsx::MSXCPU::setPaused().
|
inline |
Definition at line 241 of file MSXMotherBoard.hh.
References find_unguarded().
void openmsx::MSXMotherBoard::unregisterMediaInfo | ( | MediaInfoProvider & | provider | ) |
Definition at line 760 of file MSXMotherBoard.cc.
Referenced by openmsx::CartridgeSlotManager::removeExternalSlot(), openmsx::CassettePlayer::~CassettePlayer(), openmsx::HD::~HD(), openmsx::IDECDROM::~IDECDROM(), openmsx::LaserdiscPlayer::~LaserdiscPlayer(), openmsx::RealDrive::~RealDrive(), and openmsx::SCSILS120::~SCSILS120().
|
friend |
Definition at line 320 of file MSXMotherBoard.hh.
|
friend |
Definition at line 325 of file MSXMotherBoard.hh.