13 [[nodiscard]]
virtual byte readIO(
word port, EmuTime::param time) = 0;
14 [[nodiscard]]
virtual byte peekIO(
word port, EmuTime::param time)
const = 0;
15 virtual void writeIO(
word port,
byte value, EmuTime::param time) = 0;
27 [[nodiscard]]
byte readIO(
word port, EmuTime::param time)
override;
28 [[nodiscard]]
byte peekIO(
word port, EmuTime::param time)
const override;
29 void writeIO(
word port,
byte value, EmuTime::param time)
override;
34 template<
typename Archive>
35 void serialize(Archive& ar,
unsigned version);
40 [[nodiscard]]
byte read(
unsigned address)
override;
41 void write(
unsigned address,
byte value, EmuTime::param time)
override;
44 std::vector<MSXMemoryMapperInterface*> mappers;
59 : motherBoard(motherBoard_)
An MSXDevice is an emulated hardware component connected to the bus of the emulated MSX.
MSXMapperIOClient(MSXMotherBoard &motherBoard_)
byte peekIO(word port, EmuTime::param time) const override
Read a byte from a given IO port.
void registerMapper(MSXMemoryMapperInterface *mapper)
MSXMapperIO(const DeviceConfig &config)
void serialize(Archive &ar, unsigned version)
void unregisterMapper(MSXMemoryMapperInterface *mapper)
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.
byte readIO(word port, EmuTime::param time) override
Read a byte from an IO port at a certain time from this device.
MSXMapperIO & getMapperIO() const
MSXMapperIO & createMapperIO()
All memory mappers in one MSX machine share the same four (logical) memory mapper registers.
This file implemented 3 utility functions:
uint16_t word
16 bit unsigned integer
SERIALIZE_CLASS_VERSION(CassettePlayer, 2)
virtual byte readIO(word port, EmuTime::param time)=0
virtual byte getSelectedSegment(byte page) const =0
virtual void writeIO(word port, byte value, EmuTime::param time)=0
~MSXMemoryMapperInterface()=default
virtual byte peekIO(word port, EmuTime::param time) const =0