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. | |
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 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 () |
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) |
template<typename Archive > | |
void | serialize (Archive &ar, unsigned version) |
Friends | |
class | DeviceInfo |
class | SettingObserver |
Definition at line 79 of file MSXMotherBoard.hh.
using openmsx::MSXMotherBoard::Extensions = std::vector<std::unique_ptr<HardwareConfig> > |
Definition at line 130 of file MSXMotherBoard.hh.
|
delete |
|
explicit |
Definition at line 212 of file MSXMotherBoard.cc.
References openmsx::Subject< T >::attach(), openmsx::Reactor::getEventDistributor(), and openmsx::Reactor::getGlobalSettings().
openmsx::MSXMotherBoard::~MSXMotherBoard | ( | ) |
Definition at line 271 of file MSXMotherBoard.cc.
References openmsx::Subject< T >::detach(), and getMachineConfig().
void openmsx::MSXMotherBoard::activate | ( | bool | active | ) |
Definition at line 672 of file MSXMotherBoard.cc.
void openmsx::MSXMotherBoard::addDevice | ( | MSXDevice & | device | ) |
All MSXDevices should be registered by the MotherBoard.
Definition at line 589 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 701 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 720 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 599 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 543 of file MSXMotherBoard.cc.
References getCPU(), and getMachineConfig().
void openmsx::MSXMotherBoard::exitCPULoopAsync | ( | ) |
See CPU::exitCPULoopAsync().
Definition at line 683 of file MSXMotherBoard.cc.
References openmsx::MSXCPU::exitCPULoopAsync(), getCPU(), and getMachineConfig().
void openmsx::MSXMotherBoard::exitCPULoopSync | ( | ) |
Definition at line 690 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 554 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 695 of file MSXMotherBoard.cc.
References end(), ranges::find(), and openmsx::MSXDevice::getName().
Referenced by openmsx::DeviceInfo::execute(), openmsx::ImGuiBitmapViewer::paint(), openmsx::ImGuiCharacter::paint(), openmsx::ImGuiKeyboard::paint(), openmsx::ImGuiPalette::paint(), openmsx::ImGuiSpriteViewer::paint(), and openmsx::ImGuiVdpRegs::paint().
HardwareConfig * openmsx::MSXMotherBoard::findExtension | ( | std::string_view | extensionName | ) |
Definition at line 403 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 752 of file MSXMotherBoard.cc.
References move_pop_back(), and rfind_unguarded().
Referenced by openmsx::HardwareConfig::~HardwareConfig().
CassettePortInterface & openmsx::MSXMotherBoard::getCassettePort | ( | ) |
Definition at line 461 of file MSXMotherBoard.cc.
References getMachineConfig().
Referenced by openmsx::LaserdiscPlayer::LaserdiscPlayer(), and serialize().
CommandController & openmsx::MSXMotherBoard::getCommandController | ( | ) |
Definition at line 528 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 432 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 439 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 | ( | ) |
Convenience method: This is the same as getScheduler().getCurrentTime().
Definition at line 538 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(), 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 146 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 453 of file MSXMotherBoard.cc.
References openmsx::DeviceFactory::createDeviceSwitch(), and getMachineConfig().
Referenced by openmsx::MSXSwitchedDevice::MSXSwitchedDevice(), serialize(), and openmsx::MSXSwitchedDevice::~MSXSwitchedDevice().
|
inline |
Definition at line 131 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 474 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().
LedStatus & openmsx::MSXMotherBoard::getLedStatus | ( | ) |
Definition at line 516 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 122 of file MSXMotherBoard.hh.
|
inline |
Definition at line 121 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 88 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 533 of file MSXMotherBoard.cc.
|
inline |
Definition at line 89 of file MSXMotherBoard.hh.
Referenced by openmsx::MachineNameInfo::execute().
std::string_view openmsx::MSXMotherBoard::getMachineType | ( | ) | const |
Definition at line 312 of file MSXMotherBoard.cc.
References getMachineConfig().
Referenced by openmsx::RomFactory::create(), and openmsx::MachineTypeInfo::execute().
|
inline |
Definition at line 207 of file MSXMotherBoard.hh.
Referenced by openmsx::MSXMapperIOClient::~MSXMapperIOClient().
MSXCliComm & openmsx::MSXMotherBoard::getMSXCliComm | ( | ) |
Definition at line 418 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 140 of file MSXMotherBoard.hh.
Referenced by openmsx::RealDrive::RealDrive(), openmsx::ImGuiMachine::showMenu(), and openmsx::ImGuiSettings::showMenu().
|
inline |
Definition at line 142 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 147 of file MSXMotherBoard.hh.
Referenced by openmsx::ImGuiSoundChip::paint().
PanasonicMemory & openmsx::MSXMotherBoard::getPanasonicMemory | ( | ) |
Definition at line 445 of file MSXMotherBoard.cc.
PluggingController & openmsx::MSXMotherBoard::getPluggingController | ( | ) |
Definition at line 423 of file MSXMotherBoard.cc.
References getMachineConfig().
Referenced by getJoystickPort(), openmsx::MSXDevice::getPluggingController(), and openmsx::ImGuiConnector::showMenu().
|
inline |
Definition at line 158 of file MSXMotherBoard.hh.
Referenced by openmsx::AddRemoveUpdate::AddRemoveUpdate(), openmsx::CassettePlayer::CassettePlayer(), 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(), openmsx::CassettePlayer::~CassettePlayer(), and openmsx::LaserdiscPlayer::~LaserdiscPlayer().
|
inline |
Definition at line 145 of file MSXMotherBoard.hh.
Referenced by openmsx::MSXCPUInterface::doContinue().
RenShaTurbo & openmsx::MSXMotherBoard::getRenShaTurbo | ( | ) |
Definition at line 505 of file MSXMotherBoard.cc.
References getMachineConfig().
|
inline |
Definition at line 157 of file MSXMotherBoard.hh.
Referenced by openmsx::Keyboard::Keyboard(), openmsx::ImGuiReverseBar::paint(), serialize(), and openmsx::ImGuiReverseBar::showMenu().
|
inline |
Definition at line 141 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 192 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 144 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 143 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 740 of file MSXMotherBoard.cc.
References contains(), and strCat().
Referenced by openmsx::HardwareConfig::HardwareConfig().
|
inline |
Definition at line 159 of file MSXMotherBoard.hh.
Referenced by openmsx::LDPixelRenderer::frameEnd(), and openmsx::ImGuiSettings::showMenu().
bool openmsx::MSXMotherBoard::hasToshibaEngine | ( | ) | const |
Definition at line 331 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 387 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 116 of file MSXMotherBoard.hh.
Referenced by openmsx::PixelRenderer::frameEnd(), openmsx::V9990PixelRenderer::frameEnd(), openmsx::SDLRasterizer::isActive(), and openmsx::V9990SDLRasterizer::isActive().
|
inline |
Definition at line 117 of file MSXMotherBoard.hh.
Referenced by openmsx::PixelRenderer::frameEnd(), openmsx::V9990PixelRenderer::frameEnd(), openmsx::SDLRasterizer::isActive(), and openmsx::V9990SDLRasterizer::isActive().
|
inline |
Definition at line 112 of file MSXMotherBoard.hh.
bool openmsx::MSXMotherBoard::isTurboR | ( | ) | const |
Definition at line 324 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 373 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 342 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 |
void openmsx::MSXMotherBoard::pause | ( | ) |
Pause MSX machine.
Only CPU is paused, other devices continue running. Used by turbor hardware pause.
Definition at line 573 of file MSXMotherBoard.cc.
References getCPU(), getMachineConfig(), and openmsx::MSXCPU::setPaused().
void openmsx::MSXMotherBoard::powerUp | ( | ) |
Definition at line 624 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 | ( | ) |
Definition at line 615 of file MSXMotherBoard.cc.
Referenced by openmsx::MSXCPUInterface::readIRQVector().
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 758 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 594 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 409 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 1228 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 301 of file MSXMotherBoard.cc.
References getMachineConfig().
Referenced by loadMachine(), and openmsx::HardwareConfig::serialize().
|
inline |
Definition at line 160 of file MSXMotherBoard.hh.
void openmsx::MSXMotherBoard::unpause | ( | ) |
Definition at line 581 of file MSXMotherBoard.cc.
References getCPU(), getMachineConfig(), and openmsx::MSXCPU::setPaused().
void openmsx::MSXMotherBoard::unregisterMediaInfo | ( | MediaInfoProvider & | provider | ) |
Definition at line 763 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 297 of file MSXMotherBoard.hh.
|
friend |
Definition at line 302 of file MSXMotherBoard.hh.