14 if (range !=
one_of(0x00, 0x60, 0x7f)) {
16 "Invalid rom with for MSXDOS2 mapper: unsupported range 0x",
17 hex_string<2>(range));
19 reset(EmuTime::dummy());
34 if (address != 0x7ff0)
return;
37 if ((address & 0xf000) != 0x6000)
return;
40 if (address != 0x7ffe)
return;
55 if ((address & 0xf000) == 0x6000)
return nullptr;
#define REGISTER_MSXDEVICE(CLASS, NAME)
static std::array< byte, 0x10000 > unmappedWrite
void setUnmapped(unsigned region)
Select 'unmapped' memory for this region.
void setRom(unsigned region, unsigned block)
Selects a block of the ROM image for reading in a certain region.
RomMSXDOS2(const DeviceConfig &config, Rom &&rom)
void reset(EmuTime::param time) override
This method is called on reset.
void writeMem(word address, byte value, EmuTime::param time) override
Write a given byte to a given location at a certain time to this device.
byte * getWriteCacheLine(word address) override
Test that the memory in the interval [start, start + CacheLine::SIZE) is cacheable for writing.
This file implemented 3 utility functions:
uint16_t word
16 bit unsigned integer