MSXRTC.hh 618 B

1234567891011121314151617181920212223242526272829303132
  1. #ifndef MSXRTC_HH
  2. #define MSXRTC_HH
  3. #include "MSXDevice.hh"
  4. #include "SRAM.hh"
  5. #include "RP5C01.hh"
  6. namespace openmsx {
  7. class MSXRTC final : public MSXDevice
  8. {
  9. public:
  10. explicit MSXRTC(const DeviceConfig& config);
  11. void reset(EmuTime::param time) override;
  12. byte readIO(word port, EmuTime::param time) override;
  13. byte peekIO(word port, EmuTime::param time) const override;
  14. void writeIO(word port, byte value, EmuTime::param time) override;
  15. template<typename Archive>
  16. void serialize(Archive& ar, unsigned version);
  17. private:
  18. SRAM sram;
  19. RP5C01 rp5c01;
  20. nibble registerLatch;
  21. };
  22. } // namespace openmsx
  23. #endif