OXYGENHUB
◆ main openmsx / src / memory / RomGeneric16kB.cc
676 B · C++ · last changed chore(): initial commit 1 month ago source blame history raw
e8555c89 Andy McCall 1
#include "RomGeneric16kB.hh"
2
3
namespace openmsx {
4
5
RomGeneric16kB::RomGeneric16kB(const DeviceConfig& config, Rom&& rom_)
6
	: Rom16kBBlocks(config, std::move(rom_))
7
{
8
	reset(EmuTime::dummy());
9
}
10
11
void RomGeneric16kB::reset(EmuTime /*time*/)
12
{
13
	setUnmapped(0);
14
	setRom(1, 0);
15
	setRom(2, 1);
16
	setUnmapped(3);
17
}
18
19
void RomGeneric16kB::writeMem(uint16_t address, byte value, EmuTime /*time*/)
20
{
21
	setRom(address >> 14, value);
22
}
23
24
byte* RomGeneric16kB::getWriteCacheLine(uint16_t address)
25
{
26
	if ((0x4000 <= address) && (address < 0xC000)) {
27
		return nullptr;
28
	} else {
29
		return unmappedWrite.data();
30
	}
31
}
32
33
REGISTER_MSXDEVICE(RomGeneric16kB, "RomGeneric16kB");
34
35
} // namespace openmsx