openMSX
|
#include <MSXCPUInterface.hh>
Public Types | |
using | BreakPoints = std::vector< BreakPoint > |
using | WatchPoints = std::vector< std::shared_ptr< WatchPoint > > |
using | Conditions = std::vector< DebugCondition > |
Public Member Functions | |
MSXCPUInterface (MSXMotherBoard &motherBoard) | |
MSXCPUInterface (const MSXCPUInterface &)=delete | |
MSXCPUInterface (MSXCPUInterface &&)=delete | |
MSXCPUInterface & | operator= (const MSXCPUInterface &)=delete |
MSXCPUInterface & | operator= (MSXCPUInterface &&)=delete |
~MSXCPUInterface () | |
void | register_IO_In (byte port, MSXDevice *device) |
Devices can register their In ports. | |
void | unregister_IO_In (byte port, MSXDevice *device) |
void | register_IO_Out (byte port, MSXDevice *device) |
Devices can register their Out ports. | |
void | unregister_IO_Out (byte port, MSXDevice *device) |
void | register_IO_InOut (byte port, MSXDevice *device) |
Convenience methods for {un}register_IO_{In,Out}. | |
void | register_IO_In_range (byte port, unsigned num, MSXDevice *device) |
void | register_IO_Out_range (byte port, unsigned num, MSXDevice *device) |
void | register_IO_InOut_range (byte port, unsigned num, MSXDevice *device) |
void | unregister_IO_InOut (byte port, MSXDevice *device) |
void | unregister_IO_In_range (byte port, unsigned num, MSXDevice *device) |
void | unregister_IO_Out_range (byte port, unsigned num, MSXDevice *device) |
void | unregister_IO_InOut_range (byte port, unsigned num, MSXDevice *device) |
bool | replace_IO_In (byte port, MSXDevice *oldDevice, MSXDevice *newDevice) |
These methods replace a previously registered device with a new one. | |
bool | replace_IO_Out (byte port, MSXDevice *oldDevice, MSXDevice *newDevice) |
void | registerMemDevice (MSXDevice &device, int ps, int ss, unsigned base, unsigned size) |
Devices can register themself in the MSX slot structure. | |
void | unregisterMemDevice (MSXDevice &device, int ps, int ss, unsigned base, unsigned size) |
void | registerGlobalWrite (MSXDevice &device, word address) |
(Un)register global writes. | |
void | unregisterGlobalWrite (MSXDevice &device, word address) |
void | registerGlobalRead (MSXDevice &device, word address) |
(Un)register global read. | |
void | unregisterGlobalRead (MSXDevice &device, word address) |
void | reset () |
Reset (the slot state) | |
byte | readMem (word address, EmuTime::param time) |
This reads a byte from the currently selected device. | |
void | writeMem (word address, byte value, EmuTime::param time) |
This writes a byte to the currently selected device. | |
byte | readIO (word port, EmuTime::param time) |
This read a byte from the given IO-port. | |
void | writeIO (word port, byte value, EmuTime::param time) |
This writes a byte to the given IO-port. | |
const byte * | getReadCacheLine (word start) const |
Test that the memory in the interval [start, start + CacheLine::SIZE) is cacheable for reading. | |
byte * | getWriteCacheLine (word start) |
Test that the memory in the interval [start, start + CacheLine::SIZE) is cacheable for writing. | |
byte | readIRQVector () const |
CPU uses this method to read 'extra' data from the data bus used in interrupt routines. | |
void | setPrimarySlots (byte value) |
void | invalidateRWCache (word start, unsigned size, int ps, int ss) |
void | invalidateRCache (word start, unsigned size, int ps, int ss) |
void | invalidateWCache (word start, unsigned size, int ps, int ss) |
void | fillRWCache (unsigned start, unsigned size, const byte *rData, byte *wData, int ps, int ss) |
void | fillRCache (unsigned start, unsigned size, const byte *rData, int ps, int ss) |
void | fillWCache (unsigned start, unsigned size, byte *wData, int ps, int ss) |
byte | peekMem (word address, EmuTime::param time) const |
Peek memory location. | |
byte | peekSlottedMem (unsigned address, EmuTime::param time) const |
byte | readSlottedMem (unsigned address, EmuTime::param time) |
void | writeSlottedMem (unsigned address, byte value, EmuTime::param time) |
void | setExpanded (int ps) |
void | unsetExpanded (int ps) |
void | testUnsetExpanded (int ps, std::span< const std::unique_ptr< MSXDevice > > allowed) const |
bool | isExpanded (int ps) const |
void | changeExpanded (bool newExpanded) |
auto | getPrimarySlot (int page) const |
auto | getSecondarySlot (int page) const |
DummyDevice & | getDummyDevice () |
void | insertBreakPoint (BreakPoint bp) |
void | removeBreakPoint (const BreakPoint &bp) |
void | removeBreakPoint (unsigned id) |
void | setWatchPoint (const std::shared_ptr< WatchPoint > &watchPoint) |
void | removeWatchPoint (std::shared_ptr< WatchPoint > watchPoint) |
void | removeWatchPoint (unsigned id) |
const WatchPoints & | getWatchPoints () const |
void | setCondition (DebugCondition cond) |
void | removeCondition (const DebugCondition &cond) |
void | removeCondition (unsigned id) |
void | doBreak () |
void | doStep () |
void | doContinue () |
bool | checkBreakPoints (unsigned pc) |
void | setFastForward (bool fastForward_) |
bool | isFastForward () const |
MSXDevice * | getMSXDevice (int ps, int ss, int page) |
MSXDevice * | getVisibleMSXDevice (int page) |
template<typename Archive > | |
void | serialize (Archive &ar, unsigned version) |
Public Member Functions inherited from ProfileCounters< PROFILE_CACHELINES, CacheLineCounters > | |
ProfileCounters (const ProfileCounters &)=delete | |
ProfileCounters (ProfileCounters &&)=delete | |
ProfileCounters & | operator= (const ProfileCounters &)=delete |
ProfileCounters & | operator= (ProfileCounters &&)=delete |
~ProfileCounters () | |
void | tick (CacheLineCounters e) const |
Static Public Member Functions | |
static const BreakPoints & | getBreakPoints () |
static const Conditions & | getConditions () |
static bool | isBreaked () |
static bool | anyBreakPoints () |
static void | cleanup () |
Definition at line 56 of file MSXCPUInterface.hh.
using openmsx::MSXCPUInterface::BreakPoints = std::vector<BreakPoint> |
Definition at line 266 of file MSXCPUInterface.hh.
using openmsx::MSXCPUInterface::Conditions = std::vector<DebugCondition> |
Definition at line 279 of file MSXCPUInterface.hh.
using openmsx::MSXCPUInterface::WatchPoints = std::vector<std::shared_ptr<WatchPoint> > |
Definition at line 273 of file MSXCPUInterface.hh.
|
explicit |
Definition at line 80 of file MSXCPUInterface.cc.
References openmsx::DeviceFactory::createVDPIODelay(), ranges::fill(), openmsx::Reactor::getCommandController(), openmsx::MSXMotherBoard::getMachineConfig(), openmsx::MSXMotherBoard::getReactor(), openmsx::MSXMotherBoard::isTurboR(), openmsx::HardwareConfig::parseSlotMap(), reset(), openmsx::MSXCPU::setInterface(), and xrange().
|
delete |
|
delete |
openmsx::MSXCPUInterface::~MSXCPUInterface | ( | ) |
Definition at line 140 of file MSXCPUInterface.cc.
References isExpanded(), openmsx::MSXCPU::setInterface(), and xrange().
|
inlinestatic |
Definition at line 288 of file MSXCPUInterface.hh.
void openmsx::MSXCPUInterface::changeExpanded | ( | bool | newExpanded | ) |
Definition at line 325 of file MSXCPUInterface.cc.
References openmsx::CacheLine::HIGH, and openmsx::MSXCPU::invalidateAllSlotsRWCache().
Referenced by setExpanded(), setPrimarySlots(), and unsetExpanded().
|
inline |
Definition at line 292 of file MSXCPUInterface.hh.
References checkBreakPoints(), ranges::equal_range(), openmsx::BreakPoint::getAddress(), and isBreaked().
Referenced by checkBreakPoints().
|
static |
Definition at line 1096 of file MSXCPUInterface.cc.
Referenced by openmsx::Interpreter::~Interpreter().
void openmsx::MSXCPUInterface::doBreak | ( | ) |
Definition at line 1059 of file MSXCPUInterface.cc.
References openmsx::Reactor::block(), openmsx::EventDistributor::distributeEvent(), openmsx::MSXCPU::exitCPULoopSync(), openmsx::Reactor::getCliComm(), openmsx::Reactor::getEventDistributor(), openmsx::MSXMotherBoard::getReactor(), isFastForward(), openmsx::CliComm::STATUS, and openmsx::CliComm::update().
void openmsx::MSXCPUInterface::doContinue | ( | ) |
Definition at line 1081 of file MSXCPUInterface.cc.
References openmsx::Reactor::getCliComm(), openmsx::MSXMotherBoard::getReactor(), openmsx::MSXMotherBoard::getRealTime(), isFastForward(), openmsx::RealTime::resync(), openmsx::BooleanSetting::setBoolean(), openmsx::CliComm::STATUS, openmsx::Reactor::unblock(), and openmsx::CliComm::update().
Referenced by doStep().
void openmsx::MSXCPUInterface::doStep | ( | ) |
Definition at line 1073 of file MSXCPUInterface.cc.
References doContinue(), isFastForward(), and setCondition().
void openmsx::MSXCPUInterface::fillRCache | ( | unsigned | start, |
unsigned | size, | ||
const byte * | rData, | ||
int | ps, | ||
int | ss | ||
) |
Definition at line 687 of file MSXCPUInterface.cc.
References openmsx::MSXCPU::fillRCache(), openmsx::FillRead, and ProfileCounters< PROFILE_CACHELINES, CacheLineCounters >::tick().
Referenced by openmsx::MSXDevice::fillDeviceRCache().
void openmsx::MSXCPUInterface::fillRWCache | ( | unsigned | start, |
unsigned | size, | ||
const byte * | rData, | ||
byte * | wData, | ||
int | ps, | ||
int | ss | ||
) |
Definition at line 682 of file MSXCPUInterface.cc.
References openmsx::FillReadWrite, openmsx::MSXCPU::fillRWCache(), and ProfileCounters< PROFILE_CACHELINES, CacheLineCounters >::tick().
Referenced by openmsx::MSXDevice::fillDeviceRWCache().
void openmsx::MSXCPUInterface::fillWCache | ( | unsigned | start, |
unsigned | size, | ||
byte * | wData, | ||
int | ps, | ||
int | ss | ||
) |
Definition at line 692 of file MSXCPUInterface.cc.
References openmsx::MSXCPU::fillWCache(), openmsx::FillWrite, and ProfileCounters< PROFILE_CACHELINES, CacheLineCounters >::tick().
Referenced by openmsx::MSXDevice::fillDeviceWCache().
|
inlinestatic |
Definition at line 267 of file MSXCPUInterface.hh.
|
inlinestatic |
Definition at line 280 of file MSXCPUInterface.hh.
|
inline |
Definition at line 261 of file MSXCPUInterface.hh.
Referenced by openmsx::VDPIODelay::VDPIODelay().
MSXDevice * openmsx::MSXCPUInterface::getMSXDevice | ( | int | ps, |
int | ss, | ||
int | page | ||
) |
Definition at line 1107 of file MSXCPUInterface.cc.
|
inline |
Definition at line 258 of file MSXCPUInterface.hh.
Test that the memory in the interval [start, start + CacheLine::SIZE) is cacheable for reading.
If it is, a pointer to a buffer containing this interval must be returned. If not, a null pointer must be returned. Cacheable for reading means the data may be read directly from the buffer, thus bypassing the readMem() method, and thus also ignoring EmuTime. The default implementation always returns a null pointer. An interval will never cross a 16KB border. An interval will never contain the address 0xffff.
Definition at line 191 of file MSXCPUInterface.hh.
References openmsx::CacheLine::BITS, openmsx::GetReadCacheLine, and ProfileCounters< PROFILE_CACHELINES, CacheLineCounters >::tick().
|
inline |
Definition at line 259 of file MSXCPUInterface.hh.
|
inline |
Definition at line 313 of file MSXCPUInterface.hh.
|
inline |
Definition at line 274 of file MSXCPUInterface.hh.
Referenced by openmsx::Debugger::transfer().
Test that the memory in the interval [start, start + CacheLine::SIZE) is cacheable for writing.
If it is, a pointer to a buffer containing this interval must be returned. If not, a null pointer must be returned. Cacheable for writing means the data may be written directly to the buffer, thus bypassing the writeMem() method, and thus also ignoring EmuTime. The default implementation always returns a null pointer. An interval will never cross a 16KB border. An interval will never contain the address 0xffff.
Definition at line 211 of file MSXCPUInterface.hh.
References openmsx::CacheLine::BITS, openmsx::GetWriteCacheLine, and ProfileCounters< PROFILE_CACHELINES, CacheLineCounters >::tick().
void openmsx::MSXCPUInterface::insertBreakPoint | ( | BreakPoint | bp | ) |
Definition at line 829 of file MSXCPUInterface.cc.
References openmsx::CliComm::DEBUG_UPDT, openmsx::BreakPoint::getAddress(), openmsx::BreakPoint::getId(), tmpStrCat(), openmsx::CliComm::update(), and ranges::upper_bound().
void openmsx::MSXCPUInterface::invalidateRCache | ( | word | start, |
unsigned | size, | ||
int | ps, | ||
int | ss | ||
) |
Definition at line 671 of file MSXCPUInterface.cc.
References openmsx::MSXCPU::invalidateRCache(), openmsx::InvalidateRead, and ProfileCounters< PROFILE_CACHELINES, CacheLineCounters >::tick().
Referenced by openmsx::MSXDevice::invalidateDeviceRCache().
void openmsx::MSXCPUInterface::invalidateRWCache | ( | word | start, |
unsigned | size, | ||
int | ps, | ||
int | ss | ||
) |
Definition at line 666 of file MSXCPUInterface.cc.
References openmsx::InvalidateReadWrite, openmsx::MSXCPU::invalidateRWCache(), and ProfileCounters< PROFILE_CACHELINES, CacheLineCounters >::tick().
Referenced by openmsx::MSXDevice::invalidateDeviceRWCache().
void openmsx::MSXCPUInterface::invalidateWCache | ( | word | start, |
unsigned | size, | ||
int | ps, | ||
int | ss | ||
) |
Definition at line 676 of file MSXCPUInterface.cc.
References openmsx::MSXCPU::invalidateWCache(), openmsx::InvalidateWrite, and ProfileCounters< PROFILE_CACHELINES, CacheLineCounters >::tick().
Referenced by openmsx::MSXDevice::invalidateDeviceWCache().
|
inlinestatic |
Definition at line 282 of file MSXCPUInterface.hh.
Referenced by checkBreakPoints().
|
inline |
Definition at line 255 of file MSXCPUInterface.hh.
Referenced by openmsx::HardwareConfig::parseSlots(), peekMem(), peekSlottedMem(), readSlottedMem(), registerMemDevice(), setExpanded(), setPrimarySlots(), testUnsetExpanded(), unsetExpanded(), writeSlottedMem(), and ~MSXCPUInterface().
|
inline |
Definition at line 310 of file MSXCPUInterface.hh.
Referenced by doBreak(), doContinue(), and doStep().
|
delete |
|
delete |
Peek memory location.
Definition at line 768 of file MSXCPUInterface.cc.
References isExpanded().
Referenced by openmsx::fetchInstruction().
byte openmsx::MSXCPUInterface::peekSlottedMem | ( | unsigned | address, |
EmuTime::param | time | ||
) | const |
Definition at line 777 of file MSXCPUInterface.cc.
References isExpanded().
Referenced by openmsx::MSXMirrorDevice::peekMem().
This read a byte from the given IO-port.
Definition at line 167 of file MSXCPUInterface.hh.
byte openmsx::MSXCPUInterface::readIRQVector | ( | ) | const |
CPU uses this method to read 'extra' data from the data bus used in interrupt routines.
In MSX this returns always 255.
Definition at line 706 of file MSXCPUInterface.cc.
References openmsx::MSXMotherBoard::readIRQVector().
This reads a byte from the currently selected device.
Definition at line 143 of file MSXCPUInterface.hh.
References openmsx::CacheLine::BITS, openmsx::SlowRead, and ProfileCounters< PROFILE_CACHELINES, CacheLineCounters >::tick().
byte openmsx::MSXCPUInterface::readSlottedMem | ( | unsigned | address, |
EmuTime::param | time | ||
) |
Definition at line 794 of file MSXCPUInterface.cc.
References isExpanded().
Referenced by openmsx::MSXMirrorDevice::readMem().
Devices can register their In ports.
This is normally done in their constructor. Once device are registered, their readIO() method can get called.
Definition at line 350 of file MSXCPUInterface.cc.
Referenced by register_IO_In_range(), and register_IO_InOut().
Definition at line 384 of file MSXCPUInterface.cc.
References register_IO_In(), and xrange().
Convenience methods for {un}register_IO_{In,Out}.
At the same time (un)register both In and Out, and/or a range of ports.
Definition at line 374 of file MSXCPUInterface.cc.
References register_IO_In(), and register_IO_Out().
Referenced by register_IO_InOut_range(), and openmsx::RomArc::RomArc().
void openmsx::MSXCPUInterface::register_IO_InOut_range | ( | byte | port, |
unsigned | num, | ||
MSXDevice * | device | ||
) |
Definition at line 392 of file MSXCPUInterface.cc.
References register_IO_InOut(), and xrange().
Referenced by openmsx::MSXMotherBoard::createMapperIO(), openmsx::MSXDeviceSwitch::registerDevice(), and openmsx::RomAlAlamiah30in1::RomAlAlamiah30in1().
Devices can register their Out ports.
This is normally done in their constructor. Once device are registered, their writeIO() method can get called.
Definition at line 362 of file MSXCPUInterface.cc.
Referenced by openmsx::MSXMidi::MSXMidi(), register_IO_InOut(), register_IO_Out_range(), openmsx::RomRetroHard31in1::RomRetroHard31in1(), and openmsx::RomZemina90in1::RomZemina90in1().
void openmsx::MSXCPUInterface::register_IO_Out_range | ( | byte | port, |
unsigned | num, | ||
MSXDevice * | device | ||
) |
Definition at line 388 of file MSXCPUInterface.cc.
References register_IO_Out(), and xrange().
(Un)register global read.
Definition at line 629 of file MSXCPUInterface.cc.
References openmsx::CacheLine::BITS, openmsx::CacheLine::HIGH, and openmsx::MSXCPU::invalidateAllSlotsRWCache().
Referenced by openmsx::GlobalReadClient< MSXDEVICE, CT_INTERVALS >::GlobalReadClient().
(Un)register global writes.
Definition at line 605 of file MSXCPUInterface.cc.
References openmsx::CacheLine::BITS, openmsx::CacheLine::HIGH, and openmsx::MSXCPU::invalidateAllSlotsRWCache().
Referenced by openmsx::GlobalWriteClient< MSXDEVICE, CT_INTERVALS >::GlobalWriteClient().
void openmsx::MSXCPUInterface::registerMemDevice | ( | MSXDevice & | device, |
int | ps, | ||
int | ss, | ||
unsigned | base, | ||
unsigned | size | ||
) |
Devices can register themself in the MSX slot structure.
This is normally done in their constructor. Once devices are registered their readMem() / writeMem() methods can get called.
Definition at line 563 of file MSXCPUInterface.cc.
References isExpanded().
void openmsx::MSXCPUInterface::removeBreakPoint | ( | const BreakPoint & | bp | ) |
Definition at line 836 of file MSXCPUInterface.cc.
References openmsx::CliComm::DEBUG_UPDT, ranges::equal_range(), find_unguarded(), openmsx::BreakPoint::getAddress(), openmsx::BreakPoint::getId(), tmpStrCat(), and openmsx::CliComm::update().
void openmsx::MSXCPUInterface::removeBreakPoint | ( | unsigned | id | ) |
Definition at line 843 of file MSXCPUInterface.cc.
References openmsx::CliComm::DEBUG_UPDT, ranges::find(), openmsx::BreakPoint::getId(), tmpStrCat(), and openmsx::CliComm::update().
void openmsx::MSXCPUInterface::removeCondition | ( | const DebugCondition & | cond | ) |
Definition at line 976 of file MSXCPUInterface.cc.
References openmsx::CliComm::DEBUG_UPDT, openmsx::DebugCondition::getId(), rfind_unguarded(), tmpStrCat(), and openmsx::CliComm::update().
void openmsx::MSXCPUInterface::removeCondition | ( | unsigned | id | ) |
Definition at line 983 of file MSXCPUInterface.cc.
References openmsx::CliComm::DEBUG_UPDT, ranges::find(), openmsx::DebugCondition::getId(), tmpStrCat(), and openmsx::CliComm::update().
void openmsx::MSXCPUInterface::removeWatchPoint | ( | std::shared_ptr< WatchPoint > | watchPoint | ) |
Definition at line 933 of file MSXCPUInterface.cc.
References openmsx::CliComm::DEBUG_UPDT, end(), ranges::find(), tmpStrCat(), UNREACHABLE, and openmsx::CliComm::update().
Referenced by removeWatchPoint().
void openmsx::MSXCPUInterface::removeWatchPoint | ( | unsigned | id | ) |
Definition at line 962 of file MSXCPUInterface.cc.
References ranges::find(), openmsx::WatchPoint::getId(), and removeWatchPoint().
bool openmsx::MSXCPUInterface::replace_IO_In | ( | byte | port, |
MSXDevice * | oldDevice, | ||
MSXDevice * | newDevice | ||
) |
These methods replace a previously registered device with a new one.
This method checks whether the current device is the same as the 'oldDevice' parameter.
The intention is that devices using these methods extend (=wrap) the functionality of a previously registered device. Typically the destructor of the wrapping device will perform the inverse replacement.
Definition at line 457 of file MSXCPUInterface.cc.
bool openmsx::MSXCPUInterface::replace_IO_Out | ( | byte | port, |
MSXDevice * | oldDevice, | ||
MSXDevice * | newDevice | ||
) |
Definition at line 468 of file MSXCPUInterface.cc.
void openmsx::MSXCPUInterface::reset | ( | ) |
Reset (the slot state)
Definition at line 698 of file MSXCPUInterface.cc.
References setPrimarySlots(), and xrange().
Referenced by openmsx::MSXMotherBoard::doReset(), MSXCPUInterface(), and openmsx::MSXMotherBoard::powerUp().
void openmsx::MSXCPUInterface::serialize | ( | Archive & | ar, |
unsigned | version | ||
) |
Definition at line 1316 of file MSXCPUInterface.cc.
References setPrimarySlots(), and xrange().
void openmsx::MSXCPUInterface::setCondition | ( | DebugCondition | cond | ) |
Definition at line 970 of file MSXCPUInterface.cc.
References openmsx::CliComm::DEBUG_UPDT, openmsx::DebugCondition::getId(), tmpStrCat(), and openmsx::CliComm::update().
Referenced by doStep().
void openmsx::MSXCPUInterface::setExpanded | ( | int | ps | ) |
Definition at line 252 of file MSXCPUInterface.cc.
References changeExpanded(), isExpanded(), and xrange().
|
inline |
Definition at line 309 of file MSXCPUInterface.hh.
void openmsx::MSXCPUInterface::setPrimarySlots | ( | byte | value | ) |
Definition at line 711 of file MSXCPUInterface.cc.
References changeExpanded(), and isExpanded().
Referenced by reset(), and serialize().
void openmsx::MSXCPUInterface::setWatchPoint | ( | const std::shared_ptr< WatchPoint > & | watchPoint | ) |
Definition at line 892 of file MSXCPUInterface.cc.
References openmsx::CliComm::DEBUG_UPDT, tmpStrCat(), UNREACHABLE, and openmsx::CliComm::update().
Referenced by openmsx::Debugger::setWatchPoint().
void openmsx::MSXCPUInterface::testUnsetExpanded | ( | int | ps, |
std::span< const std::unique_ptr< MSXDevice > > | allowed | ||
) | const |
Definition at line 266 of file MSXCPUInterface.cc.
References contains(), isExpanded(), strAppend(), strCat(), and xrange().
Referenced by openmsx::HardwareConfig::testRemove(), and unsetExpanded().
Definition at line 356 of file MSXCPUInterface.cc.
Referenced by unregister_IO_In_range(), and unregister_IO_InOut().
void openmsx::MSXCPUInterface::unregister_IO_In_range | ( | byte | port, |
unsigned | num, | ||
MSXDevice * | device | ||
) |
Definition at line 396 of file MSXCPUInterface.cc.
References unregister_IO_In(), and xrange().
Definition at line 379 of file MSXCPUInterface.cc.
References unregister_IO_In(), and unregister_IO_Out().
Referenced by unregister_IO_InOut_range(), openmsx::Carnivore2::~Carnivore2(), and openmsx::RomArc::~RomArc().
void openmsx::MSXCPUInterface::unregister_IO_InOut_range | ( | byte | port, |
unsigned | num, | ||
MSXDevice * | device | ||
) |
Definition at line 404 of file MSXCPUInterface.cc.
References unregister_IO_InOut(), and xrange().
Referenced by openmsx::MSXMotherBoard::destroyMapperIO(), openmsx::MSXDeviceSwitch::unregisterDevice(), and openmsx::RomAlAlamiah30in1::~RomAlAlamiah30in1().
Definition at line 368 of file MSXCPUInterface.cc.
Referenced by unregister_IO_InOut(), unregister_IO_Out_range(), openmsx::MSXMidi::~MSXMidi(), openmsx::RomRetroHard31in1::~RomRetroHard31in1(), and openmsx::RomZemina90in1::~RomZemina90in1().
void openmsx::MSXCPUInterface::unregister_IO_Out_range | ( | byte | port, |
unsigned | num, | ||
MSXDevice * | device | ||
) |
Definition at line 400 of file MSXCPUInterface.cc.
References unregister_IO_Out(), and xrange().
Referenced by openmsx::MegaFlashRomSCCPlus::~MegaFlashRomSCCPlus(), and openmsx::MegaFlashRomSCCPlusSD::~MegaFlashRomSCCPlusSD().
Definition at line 637 of file MSXCPUInterface.cc.
References openmsx::CacheLine::BITS, g, openmsx::CacheLine::HIGH, openmsx::MSXCPU::invalidateAllSlotsRWCache(), move_pop_back(), and rfind_unguarded().
Referenced by openmsx::GlobalReadClient< MSXDEVICE, CT_INTERVALS >::~GlobalReadClient().
Definition at line 613 of file MSXCPUInterface.cc.
References openmsx::CacheLine::BITS, g, openmsx::CacheLine::HIGH, openmsx::MSXCPU::invalidateAllSlotsRWCache(), move_pop_back(), and rfind_unguarded().
Referenced by openmsx::GlobalWriteClient< MSXDEVICE, CT_INTERVALS >::~GlobalWriteClient().
void openmsx::MSXCPUInterface::unregisterMemDevice | ( | MSXDevice & | device, |
int | ps, | ||
int | ss, | ||
unsigned | base, | ||
unsigned | size | ||
) |
Definition at line 593 of file MSXCPUInterface.cc.
void openmsx::MSXCPUInterface::unsetExpanded | ( | int | ps | ) |
Definition at line 311 of file MSXCPUInterface.cc.
References changeExpanded(), isExpanded(), testUnsetExpanded(), and UNREACHABLE.
Referenced by openmsx::HardwareConfig::~HardwareConfig().
This writes a byte to the given IO-port.
Definition at line 175 of file MSXCPUInterface.hh.
This writes a byte to the currently selected device.
Definition at line 154 of file MSXCPUInterface.hh.
References openmsx::CacheLine::BITS, openmsx::SlowWrite, and ProfileCounters< PROFILE_CACHELINES, CacheLineCounters >::tick().
void openmsx::MSXCPUInterface::writeSlottedMem | ( | unsigned | address, |
byte | value, | ||
EmuTime::param | time | ||
) |
Definition at line 811 of file MSXCPUInterface.cc.
References isExpanded().
Referenced by openmsx::MSXMirrorDevice::writeMem().