openMSX
MSXBunsetsu.hh
Go to the documentation of this file.
1 #ifndef MSXBUNSETSU_HH
2 #define MSXBUNSETSU_HH
3 
4 #include "MSXDevice.hh"
5 #include <memory>
6 
7 namespace openmsx {
8 
9 class Rom;
10 
11 class MSXBunsetsu : public MSXDevice
12 {
13 public:
14  explicit MSXBunsetsu(const DeviceConfig& DeviceConfig);
15  virtual ~MSXBunsetsu();
16 
17  virtual void reset(EmuTime::param time);
18 
19  virtual byte readMem(word address, EmuTime::param time);
20  virtual void writeMem(word address, byte value, EmuTime::param time);
21  virtual const byte* getReadCacheLine(word start) const;
22  virtual byte* getWriteCacheLine(word start) const;
23 
24  template<typename Archive>
25  void serialize(Archive& ar, unsigned version);
26 
27 private:
28  const std::unique_ptr<Rom> bunsetsuRom;
29  const std::unique_ptr<Rom> jisyoRom;
30  unsigned jisyoAddress;
31 };
32 
33 } // namespace openmsx
34 
35 #endif