From: <m97...@us...> - 2008-06-30 18:34:44
|
Revision: 7960 http://openmsx.svn.sourceforge.net/openmsx/?rev=7960&view=rev Author: m9710797 Date: 2008-06-30 11:34:49 -0700 (Mon, 30 Jun 2008) Log Message: ----------- serialize RTC Modified Paths: -------------- openmsx/trunk/src/MSXRTC.cc openmsx/trunk/src/MSXRTC.hh openmsx/trunk/src/RP5C01.cc openmsx/trunk/src/RP5C01.hh openmsx/trunk/src/memory/SRAM.cc openmsx/trunk/src/memory/SRAM.hh Modified: openmsx/trunk/src/MSXRTC.cc =================================================================== --- openmsx/trunk/src/MSXRTC.cc 2008-06-30 18:25:41 UTC (rev 7959) +++ openmsx/trunk/src/MSXRTC.cc 2008-06-30 18:34:49 UTC (rev 7960) @@ -4,6 +4,7 @@ #include "SRAM.hh" #include "RP5C01.hh" #include "MSXMotherBoard.hh" +#include "serialize.hh" #include <cassert> namespace openmsx { @@ -50,5 +51,17 @@ } } + +template<typename Archive> +void MSXRTC::serialize(Archive& ar, unsigned /*version*/) +{ + ar.template serializeBase<MSXDevice>(*this); + + ar.serialize("sram", *sram); + ar.serialize("rp5c01", *rp5c01); + ar.serialize("registerLatch", registerLatch); +} +INSTANTIATE_SERIALIZE_METHODS(MSXRTC); + } // namespace openmsx Modified: openmsx/trunk/src/MSXRTC.hh =================================================================== --- openmsx/trunk/src/MSXRTC.hh 2008-06-30 18:25:41 UTC (rev 7959) +++ openmsx/trunk/src/MSXRTC.hh 2008-06-30 18:34:49 UTC (rev 7960) @@ -22,12 +22,17 @@ virtual byte peekIO(word port, const EmuTime& time) const; virtual void writeIO(word port, byte value, const EmuTime& time); + template<typename Archive> + void serialize(Archive& ar, unsigned version); + private: std::auto_ptr<SRAM> sram; std::auto_ptr<RP5C01> rp5c01; nibble registerLatch; }; +REGISTER_MSXDEVICE(MSXRTC, "RTC"); + } // namespace openmsx #endif Modified: openmsx/trunk/src/RP5C01.cc =================================================================== --- openmsx/trunk/src/RP5C01.cc 2008-06-30 18:25:41 UTC (rev 7959) +++ openmsx/trunk/src/RP5C01.cc 2008-06-30 18:34:49 UTC (rev 7960) @@ -3,6 +3,7 @@ #include "RP5C01.hh" #include "EnumSetting.hh" #include "SRAM.hh" +#include "serialize.hh" #include <cassert> #include <ctime> @@ -239,4 +240,24 @@ } } + +template<typename Archive> +void RP5C01::serialize(Archive& ar, unsigned /*version*/) +{ + ar.serialize("reference", reference); + ar.serialize("fraction", fraction); + ar.serialize("seconds", seconds); + ar.serialize("minutes", minutes); + ar.serialize("hours", hours); + ar.serialize("dayWeek", dayWeek); + ar.serialize("years", years); + ar.serialize("leapYear", leapYear); + ar.serialize("days", days); + ar.serialize("months", months); + ar.serialize("modeReg", modeReg); + ar.serialize("testReg", testReg); + ar.serialize("resetReg", resetReg); +} +INSTANTIATE_SERIALIZE_METHODS(RP5C01); + } // namespace openmsx Modified: openmsx/trunk/src/RP5C01.hh =================================================================== --- openmsx/trunk/src/RP5C01.hh 2008-06-30 18:25:41 UTC (rev 7959) +++ openmsx/trunk/src/RP5C01.hh 2008-06-30 18:34:49 UTC (rev 7960) @@ -31,6 +31,9 @@ nibble readPort(nibble port, const EmuTime& time); void writePort(nibble port, nibble value, const EmuTime& time); + template<typename Archive> + void serialize(Archive& ar, unsigned version); + private: void initializeTime(); void updateTimeRegs(const EmuTime& time); Modified: openmsx/trunk/src/memory/SRAM.cc =================================================================== --- openmsx/trunk/src/memory/SRAM.cc 2008-06-30 18:25:41 UTC (rev 7959) +++ openmsx/trunk/src/memory/SRAM.cc 2008-06-30 18:34:49 UTC (rev 7960) @@ -8,6 +8,7 @@ #include "MSXMotherBoard.hh" #include "CliComm.hh" #include "Alarm.hh" +#include "serialize.hh" #include <string.h> using std::string; @@ -154,4 +155,12 @@ return false; // don't reschedule } + +template<typename Archive> +void SRAM::serialize(Archive& ar, unsigned /*version*/) +{ + ar.serialize("ram", ram); +} +INSTANTIATE_SERIALIZE_METHODS(SRAM); + } // namespace openmsx Modified: openmsx/trunk/src/memory/SRAM.hh =================================================================== --- openmsx/trunk/src/memory/SRAM.hh 2008-06-30 18:25:41 UTC (rev 7959) +++ openmsx/trunk/src/memory/SRAM.hh 2008-06-30 18:34:49 UTC (rev 7960) @@ -39,6 +39,9 @@ return ram.getSize(); } + template<typename Archive> + void serialize(Archive& ar, unsigned version); + private: void load(bool* loaded); void save(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |