Mesen2/Core/WS/WsTimer.h
2024-09-19 21:19:43 +09:00

25 lines
523 B
C++

#pragma once
#include "pch.h"
#include "WS/WsTypes.h"
#include "Utilities/ISerializable.h"
class WsMemoryManager;
class WsTimer final : public ISerializable
{
private:
WsMemoryManager* _memoryManager = nullptr;
WsTimerState _state = {};
public:
void Init(WsMemoryManager* memoryManager);
WsTimerState& GetState() { return _state; }
void TickHorizontalTimer();
void TickVerticalTimer();
uint8_t ReadPort(uint16_t port);
void WritePort(uint16_t port, uint8_t value);
void Serialize(Serializer& s) override;
};