OXYGENHUB
◆ main openmsx / src / memory / RomMitsubishiMLTS2.hh
946 B · C++ · last changed chore(): initial commit 1 month ago source blame history raw
1
#ifndef ROMMITSUBISHIMLTS2_HH
2
#define ROMMITSUBISHIMLTS2_HH
3
4
#include "Ram.hh"
5
#include "RomBlocks.hh"
6
7
// PLEASE NOTE!
8
//
9
// This mapper is work in progress. It's just a guess based on some reverse
10
// engineering of the ROM by BiFi. It even contains some debug prints :)
11
12
namespace openmsx {
13
14
class RomMitsubishiMLTS2 final : public Rom8kBBlocks
15
{
16
public:
17
	RomMitsubishiMLTS2(const DeviceConfig& config, Rom&& rom);
18
19
	void reset(EmuTime time) override;
20
	void writeMem(uint16_t address, byte value, EmuTime time) override;
21
	[[nodiscard]] byte readMem(uint16_t address, EmuTime time) override;
22
	[[nodiscard]] byte peekMem(uint16_t address, EmuTime time) const override;
23
	[[nodiscard]] byte* getWriteCacheLine(uint16_t address) override;
24
	[[nodiscard]] const byte* getReadCacheLine(uint16_t address) const override;
25
26
	template<typename Archive>
27
	void serialize(Archive& ar, unsigned version);
28
29
private:
30
	Ram ram;
31
};
32
33
} // namespace openmsx
34
35
#endif