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