15 for (
auto port :
xrange(
byte(0x98),
byte(0x9c))) {
23 assert((0x98 <= port) && (port <= 0x9B));
24 return *inDevices[port - 0x98];
29 assert((0x98 <= port) && (port <= 0x9B));
30 return inDevices[port - 0x98];
35 assert((0x98 <= port) && (port <= 0x9B));
36 return outDevices[port - 0x98];
56void VDPIODelay::delay(EmuTime::param time)
62 if (time < lastTime.
getTime()) {
70template<
typename Archive>
73 ar.serialize(
"lastTime", lastTime);
constexpr EmuTime::param getTime() const
Gets the time at which the last clock tick occurred.
constexpr void advance(EmuTime::param e)
Advance this clock in time until the last tick which is not past the given time.
DummyDevice & getDummyDevice()
bool isR800Active() const
Is the R800 currently active?
void wait(EmuTime::param time)
An MSXDevice is an emulated hardware component connected to the bus of the emulated MSX.
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 byte readIO(word port, EmuTime::param time)
Read a byte from an IO port at a certain time from this device.
void serialize(Archive &ar, unsigned version)
byte readIO(word port, EmuTime::param time) override
Read a byte from an IO port at a certain time from this device.
byte peekIO(word port, EmuTime::param time) const override
Read a byte from a given IO port.
void writeIO(word port, byte value, EmuTime::param time) override
Write a byte to a given IO port at a certain time to this device.
const MSXDevice & getInDevice(byte port) const
MSXDevice *& getOutDevicePtr(byte port)
MSXDevice *& getInDevicePtr(byte port)
VDPIODelay(const DeviceConfig &config, MSXCPUInterface &cpuInterface)
This file implemented 3 utility functions:
uint16_t word
16 bit unsigned integer
#define INSTANTIATE_SERIALIZE_METHODS(CLASS)
constexpr auto xrange(T e)