107 reset(EmuTime::dummy());
108 for (
auto port :
xrange(
byte(8))) {
116 for (
auto port :
xrange(
byte(8))) {
124 mapperLocked =
false;
133 byte page = 2 * (value & 0b1'1111);
140 mapperLocked = mapperLocked || ((value & 0b10'0000) != 0);
151template<
typename Archive>
154 ar.template serializeBase<Rom16kBBlocks>(*
this);
155 ar.serialize(
"mapperLocked", mapperLocked);
#define REGISTER_MSXDEVICE(CLASS, NAME)
void register_IO_Out(byte port, MSXDevice *device)
Devices can register their Out ports.
void register_IO_In(byte port, MSXDevice *device)
Devices can register their In ports.
void unregister_IO_In(byte port, MSXDevice *device)
void unregister_IO_Out(byte port, MSXDevice *device)
MSXCPUInterface & getCPUInterface() const
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.
RomAlAlamiah30in1(const DeviceConfig &config, Rom &&rom)
void reset(EmuTime::param time) override
This method is called on reset.
void serialize(Archive &ar, unsigned version)
~RomAlAlamiah30in1() override
void setRom(unsigned region, unsigned block)
Selects a block of the ROM image for reading in a certain region.
This file implemented 3 utility functions:
uint16_t word
16 bit unsigned integer
#define INSTANTIATE_SERIALIZE_METHODS(CLASS)
constexpr auto xrange(T e)