orbum/liborbum/src/Resources/Iop/Timers/IopTimersUnits.hpp
2018-08-08 23:14:09 +08:00

31 lines
656 B
C++

#pragma once
#include <cereal/cereal.hpp>
#include "Common/Types/Register/SizedWordRegister.hpp"
#include "Resources/Iop/Timers/IopTimersUnitRegisters.hpp"
/// Represents IOP Timer unit.
/// Documentation taken from PCSX2 and No$PSX docs.
class IopTimersUnit_Base
{
public:
IopTimersUnit_Base(const int unit_id);
int unit_id;
IopTimersUnitRegister_Count count;
IopTimersUnitRegister_Mode mode;
SizedWordRegister compare;
public:
template<class Archive>
void serialize(Archive & archive)
{
archive(
CEREAL_NVP(count),
CEREAL_NVP(mode),
CEREAL_NVP(compare)
);
}
};