28 "The size of this ROM image is larger than 256kB, " 29 "which is not supported on real Konami mapper chips!");
41 for (
int i = 2; i < 6; i++) {
51 if (0x6000 <= address && address < 0xC000) {
52 setRom(address >> 13, value);
58 return (0x6000 <= address && address < 0xC000) ? nullptr :
unmappedWrite;
61 template<
typename Archive>
64 ar.template serializeBase<Rom8kBBlocks>(*this);
RomKonami(const DeviceConfig &config, Rom &&rom)
void serialize(Archive &ar, unsigned version)
void setRom(byte region, unsigned block)
Selects a block of the ROM image for reading in a certain region.
uint8_t byte
8 bit unsigned integer
REGISTER_MSXDEVICE(ChakkariCopy, "ChakkariCopy")
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.
Thanks to enen for testing this on a real cartridge:
MSXMotherBoard & getMotherBoard() const
Get the mother board this device belongs to.
void reset(EmuTime::param time) override
This method is called on reset.
void printWarning(std::string_view message)
byte * getWriteCacheLine(word address) const override
Test that the memory in the interval [start, start + CacheLine::SIZE) is cacheable for writing...
uint16_t word
16 bit unsigned integer
static byte unmappedWrite[0x10000]
#define INSTANTIATE_SERIALIZE_METHODS(CLASS)
CliComm & getMSXCliComm()
void setUnmapped(byte region)
Select 'unmapped' memory for this region.
void setBlockMask(int mask)
Sets a mask for the block numbers.