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) |
template<typename Archive > | |
void | serialize (Archive &ar, unsigned version) |
Friends | |
class | DeviceInfo |
class | SettingObserver |
Definition at line 82 of file MSXMotherBoard.hh.
using openmsx::MSXMotherBoard::Extensions = std::vector<std::unique_ptr<HardwareConfig> > |
Definition at line 135 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 278 of file MSXMotherBoard.cc.
References openmsx::Subject< T >::detach(), and getMachineConfig().
void openmsx::MSXMotherBoard::activate | ( | bool | active | ) |
Definition at line 679 of file MSXMotherBoard.cc.
void openmsx::MSXMotherBoard::addDevice | ( | MSXDevice & | device | ) |
All MSXDevices should be registered by the MotherBoard.
Definition at line 596 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 708 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 723 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 606 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 550 of file MSXMotherBoard.cc.
References getCPU(), and getMachineConfig().
void openmsx::MSXMotherBoard::exitCPULoopAsync | ( | ) |
See CPU::exitCPULoopAsync().
Definition at line 690 of file MSXMotherBoard.cc.
References openmsx::MSXCPU::exitCPULoopAsync(), getCPU(), and getMachineConfig().
void openmsx::MSXMotherBoard::exitCPULoopSync | ( | ) |
Definition at line 697 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 561 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 702 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 410 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 751 of file MSXMotherBoard.cc.
References move_pop_back(), and rfind_unguarded().
Referenced by openmsx::HardwareConfig::~HardwareConfig().
CassettePortInterface & openmsx::MSXMotherBoard::getCassettePort | ( | ) |
Definition at line 468 of file MSXMotherBoard.cc.
References getMachineConfig().
Referenced by openmsx::LaserdiscPlayer::LaserdiscPlayer(), and serialize().
CommandController & openmsx::MSXMotherBoard::getCommandController | ( | ) |
Definition at line 535 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 439 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 446 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 545 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 151 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 460 of file MSXMotherBoard.cc.
References openmsx::DeviceFactory::createDeviceSwitch(), and getMachineConfig().
Referenced by openmsx::MSXSwitchedDevice::MSXSwitchedDevice(), serialize(), and openmsx::MSXSwitchedDevice::~MSXSwitchedDevice().
|
inline |
Definition at line 136 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 481 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 523 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 127 of file MSXMotherBoard.hh.
|
inline |
Definition at line 126 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 93 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 540 of file MSXMotherBoard.cc.
|
inline |
Definition at line 94 of file MSXMotherBoard.hh.
Referenced by openmsx::MachineNameInfo::execute().
std::string_view openmsx::MSXMotherBoard::getMachineType | ( | ) | const |
Definition at line 319 of file MSXMotherBoard.cc.
References getMachineConfig().
Referenced by openmsx::RomFactory::create(), and openmsx::MachineTypeInfo::execute().
|
inline |
Definition at line 212 of file MSXMotherBoard.hh.
Referenced by openmsx::MSXMapperIOClient::~MSXMapperIOClient().
MSXCliComm & openmsx::MSXMotherBoard::getMSXCliComm | ( | ) |
Definition at line 425 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 145 of file MSXMotherBoard.hh.
Referenced by openmsx::RealDrive::RealDrive(), openmsx::ImGuiMachine::showMenu(), and openmsx::ImGuiSettings::showMenu().
|
inline |
Definition at line 147 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 152 of file MSXMotherBoard.hh.
Referenced by openmsx::ImGuiSoundChip::paint().
PanasonicMemory & openmsx::MSXMotherBoard::getPanasonicMemory | ( | ) |
Definition at line 452 of file MSXMotherBoard.cc.
PluggingController & openmsx::MSXMotherBoard::getPluggingController | ( | ) |
Definition at line 430 of file MSXMotherBoard.cc.
References getMachineConfig().
Referenced by getJoystickPort(), openmsx::MSXDevice::getPluggingController(), and openmsx::ImGuiConnector::showMenu().
|
inline |
Definition at line 163 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 150 of file MSXMotherBoard.hh.
Referenced by openmsx::MSXCPUInterface::doContinue().
RenShaTurbo & openmsx::MSXMotherBoard::getRenShaTurbo | ( | ) |
Definition at line 512 of file MSXMotherBoard.cc.
References getMachineConfig().
|
inline |
Definition at line 162 of file MSXMotherBoard.hh.
Referenced by openmsx::Keyboard::Keyboard(), openmsx::ImGuiReverseBar::paint(), serialize(), and openmsx::ImGuiReverseBar::showMenu().
|
inline |
Definition at line 146 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 197 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 149 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 148 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 739 of file MSXMotherBoard.cc.
References contains(), and strCat().
Referenced by openmsx::HardwareConfig::HardwareConfig().
|
inline |
Definition at line 164 of file MSXMotherBoard.hh.
Referenced by openmsx::LDPixelRenderer::frameEnd(), and openmsx::ImGuiSettings::showMenu().
bool openmsx::MSXMotherBoard::hasToshibaEngine | ( | ) | const |
Definition at line 338 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 394 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 121 of file MSXMotherBoard.hh.
Referenced by openmsx::PixelRenderer::frameEnd(), openmsx::V9990PixelRenderer::frameEnd(), openmsx::SDLRasterizer::isActive(), and openmsx::V9990SDLRasterizer::isActive().
|
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 117 of file MSXMotherBoard.hh.
bool openmsx::MSXMotherBoard::isTurboR | ( | ) | const |
Definition at line 331 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 380 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 349 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 580 of file MSXMotherBoard.cc.
References getCPU(), getMachineConfig(), and openmsx::MSXCPU::setPaused().
void openmsx::MSXMotherBoard::powerUp | ( | ) |
Definition at line 631 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 622 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 757 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 601 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 416 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 1224 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 308 of file MSXMotherBoard.cc.
References getMachineConfig().
Referenced by loadMachine(), and openmsx::HardwareConfig::serialize().
|
inline |
Definition at line 165 of file MSXMotherBoard.hh.
void openmsx::MSXMotherBoard::unpause | ( | ) |
Definition at line 588 of file MSXMotherBoard.cc.
References getCPU(), getMachineConfig(), and openmsx::MSXCPU::setPaused().
void openmsx::MSXMotherBoard::unregisterMediaInfo | ( | MediaInfoProvider & | provider | ) |
Definition at line 762 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 302 of file MSXMotherBoard.hh.
|
friend |
Definition at line 307 of file MSXMotherBoard.hh.