openMSX
|
#include <WD2793BasedFDC.hh>
Public Member Functions | |
void | reset (EmuTime::param time) override |
This method is called on reset. | |
template<typename Archive > | |
void | serialize (Archive &ar, unsigned version) |
Public Member Functions inherited from openmsx::MSXFDC | |
void | powerDown (EmuTime::param time) override |
This method is called when MSX is powered down. | |
byte | readMem (word address, EmuTime::param time) override |
Read a byte from a location at a certain time from this device. | |
byte | peekMem (word address, EmuTime::param time) const override |
Read a byte from a given memory location. | |
const byte * | getReadCacheLine (word start) const override |
Test that the memory in the interval [start, start + CacheLine::SIZE) is cacheable for reading. | |
void | getExtraDeviceInfo (TclObject &result) const override |
template<typename Archive > | |
void | serialize (Archive &ar, unsigned version) |
Public Member Functions inherited from openmsx::MSXDevice | |
MSXDevice (const MSXDevice &)=delete | |
MSXDevice (MSXDevice &&)=delete | |
MSXDevice & | operator= (const MSXDevice &)=delete |
MSXDevice & | operator= (MSXDevice &&)=delete |
virtual | ~MSXDevice ()=0 |
const HardwareConfig & | getHardwareConfig () const |
Returns the hardwareconfig this device belongs to. | |
void | testRemove (std::span< const std::unique_ptr< MSXDevice > > removed) const |
Checks whether this device can be removed (no other device has a reference to it). | |
virtual byte | readIRQVector () |
Gets IRQ vector used in IM2. | |
virtual void | powerUp (EmuTime::param time) |
This method is called when MSX is powered up. | |
virtual const std::string & | getName () const |
Returns a human-readable name for this device. | |
virtual void | getNameList (TclObject &result) const |
Returns list of name(s) of this device. | |
void | getDeviceInfo (TclObject &result) const |
Get device info. | |
void | getVisibleMemRegion (unsigned &base, unsigned &size) const |
Returns the range where this device is visible in memory. | |
virtual byte | readIO (word port, EmuTime::param time) |
Read a byte from an IO port at a certain time from this device. | |
virtual void | writeIO (word port, byte value, EmuTime::param time) |
Write a byte to a given IO port at a certain time to this device. | |
virtual byte | peekIO (word port, EmuTime::param time) const |
Read a byte from a given IO port. | |
virtual void | writeMem (word address, byte value, EmuTime::param time) |
Write a given byte to a given location at a certain time to this device. | |
virtual byte * | getWriteCacheLine (word start) |
Test that the memory in the interval [start, start + CacheLine::SIZE) is cacheable for writing. | |
virtual void | globalWrite (word address, byte value, EmuTime::param time) |
Global writes. | |
virtual void | globalRead (word address, EmuTime::param time) |
Global reads. | |
void | invalidateDeviceRWCache () |
Calls MSXCPUInterface::invalidateXXCache() for the specific (part of) the slot that this device is located in. | |
void | invalidateDeviceRCache () |
void | invalidateDeviceWCache () |
void | invalidateDeviceRWCache (unsigned start, unsigned size) |
void | invalidateDeviceRCache (unsigned start, unsigned size) |
void | invalidateDeviceWCache (unsigned start, unsigned size) |
void | fillDeviceRWCache (unsigned start, unsigned size, byte *rwData) |
Calls MSXCPUInterface::fillXXCache() for the specific (part of) the slot that this device is located in. | |
void | fillDeviceRWCache (unsigned start, unsigned size, const byte *rData, byte *wData) |
void | fillDeviceRCache (unsigned start, unsigned size, const byte *rData) |
void | fillDeviceWCache (unsigned start, unsigned size, byte *wData) |
MSXMotherBoard & | getMotherBoard () const |
Get the mother board this device belongs to. | |
const XMLElement & | getDeviceConfig () const |
Get the configuration section for this device. | |
const DeviceConfig & | getDeviceConfig2 () const |
const Devices & | getReferences () const |
Get the device references that are specified for this device. | |
EmuTime::param | getCurrentTime () const |
MSXCPU & | getCPU () const |
MSXCPUInterface & | getCPUInterface () const |
Scheduler & | getScheduler () const |
MSXCliComm & | getCliComm () const |
Reactor & | getReactor () const |
CommandController & | getCommandController () const |
PluggingController & | getPluggingController () const |
LedStatus & | getLedStatus () const |
template<typename Archive > | |
void | serialize (Archive &ar, unsigned version) |
Protected Member Functions | |
WD2793BasedFDC (const DeviceConfig &config, const std::string &romId={}, bool needROM=true, DiskDrive::TrackMode mode=DiskDrive::TrackMode::NORMAL) | |
~WD2793BasedFDC () override=default | |
Protected Member Functions inherited from openmsx::MSXFDC | |
MSXFDC (const DeviceConfig &config, const std::string &romId={}, bool needROM=true, DiskDrive::TrackMode trackMode=DiskDrive::TrackMode::NORMAL) | |
Protected Member Functions inherited from openmsx::MSXDevice | |
MSXDevice (const DeviceConfig &config, std::string_view name) | |
Every MSXDevice has a config entry; this constructor gets some device properties from that config entry. | |
MSXDevice (const DeviceConfig &config) | |
virtual void | init () |
virtual unsigned | getBaseSizeAlignment () const |
The 'base' and 'size' attribute values need to be at least aligned to CacheLine::SIZE. | |
virtual bool | allowUnaligned () const |
By default we don't allow unaligned <mem> specifications in the config file. | |
byte | getPrimarySlot () const |
Protected Attributes | |
DriveMultiplexer | multiplexer |
WD2793 | controller |
Protected Attributes inherited from openmsx::MSXFDC | |
std::optional< Rom > | rom |
std::array< std::unique_ptr< DiskDrive >, 4 > | drives |
Protected Attributes inherited from openmsx::MSXDevice | |
std::string | deviceName |
Additional Inherited Members | |
Public Types inherited from openmsx::MSXDevice | |
using | Devices = std::vector< MSXDevice * > |
Static Public Attributes inherited from openmsx::MSXDevice | |
static std::array< byte, 0x10000 > | unmappedRead |
static std::array< byte, 0x10000 > | unmappedWrite |
Definition at line 11 of file WD2793BasedFDC.hh.
|
explicitprotected |
Definition at line 7 of file WD2793BasedFDC.cc.
|
overrideprotecteddefault |
|
overridevirtual |
This method is called on reset.
Default implementation does nothing.
Reimplemented from openmsx::MSXDevice.
Reimplemented in openmsx::YamahaFDC.
Definition at line 16 of file WD2793BasedFDC.cc.
References controller, and openmsx::WD2793::reset().
Referenced by openmsx::CanonFDC::reset(), openmsx::PhilipsFDC::reset(), openmsx::VictorFDC::reset(), and openmsx::YamahaFDC::reset().
void openmsx::WD2793BasedFDC::serialize | ( | Archive & | ar, |
unsigned | version | ||
) |
Definition at line 22 of file WD2793BasedFDC.cc.
References controller, and multiplexer.
|
protected |
Definition at line 26 of file WD2793BasedFDC.hh.
Referenced by openmsx::AVTFDC::peekIO(), openmsx::MicrosolFDC::peekIO(), openmsx::SVIFDC::peekIO(), openmsx::CanonFDC::peekMem(), openmsx::NationalFDC::peekMem(), openmsx::PhilipsFDC::peekMem(), openmsx::SanyoFDC::peekMem(), openmsx::SpectravideoFDC::peekMem(), openmsx::ToshibaFDC::peekMem(), openmsx::VictorFDC::peekMem(), openmsx::YamahaFDC::peekMem(), openmsx::AVTFDC::readIO(), openmsx::MicrosolFDC::readIO(), openmsx::SVIFDC::readIO(), openmsx::CanonFDC::readMem(), openmsx::NationalFDC::readMem(), openmsx::PhilipsFDC::readMem(), openmsx::SanyoFDC::readMem(), openmsx::SpectravideoFDC::readMem(), openmsx::ToshibaFDC::readMem(), openmsx::VictorFDC::readMem(), openmsx::YamahaFDC::readMem(), reset(), serialize(), openmsx::AVTFDC::writeIO(), openmsx::MicrosolFDC::writeIO(), openmsx::SVIFDC::writeIO(), openmsx::CanonFDC::writeMem(), openmsx::NationalFDC::writeMem(), openmsx::PhilipsFDC::writeMem(), openmsx::SanyoFDC::writeMem(), openmsx::SpectravideoFDC::writeMem(), openmsx::ToshibaFDC::writeMem(), openmsx::VictorFDC::writeMem(), and openmsx::YamahaFDC::writeMem().
|
protected |
Definition at line 25 of file WD2793BasedFDC.hh.
Referenced by openmsx::CanonFDC::peekMem(), openmsx::PhilipsFDC::peekMem(), openmsx::ToshibaFDC::peekMem(), openmsx::YamahaFDC::peekMem(), openmsx::CanonFDC::readMem(), openmsx::PhilipsFDC::readMem(), openmsx::ToshibaFDC::readMem(), openmsx::YamahaFDC::readMem(), serialize(), openmsx::AVTFDC::writeIO(), openmsx::MicrosolFDC::writeIO(), openmsx::SVIFDC::writeIO(), openmsx::CanonFDC::writeMem(), openmsx::NationalFDC::writeMem(), openmsx::PhilipsFDC::writeMem(), openmsx::SanyoFDC::writeMem(), openmsx::SpectravideoFDC::writeMem(), openmsx::ToshibaFDC::writeMem(), openmsx::VictorFDC::writeMem(), and openmsx::YamahaFDC::writeMem().