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