mirror of
https://github.com/SourMesen/Mesen2.git
synced 2025-04-02 10:21:44 -04:00
32 lines
770 B
C++
32 lines
770 B
C++
#pragma once
|
|
#include "pch.h"
|
|
#include "PCE/PceTypes.h"
|
|
#include "Utilities/ISerializable.h"
|
|
|
|
class PceConsole;
|
|
class Emulator;
|
|
|
|
class PceVce final : public ISerializable
|
|
{
|
|
private:
|
|
PceVceState _state = {};
|
|
Emulator* _emu = nullptr;
|
|
PceConsole* _console = nullptr;
|
|
uint16_t* _paletteRam = nullptr;
|
|
|
|
public:
|
|
PceVce(Emulator* emu, PceConsole* console);
|
|
~PceVce();
|
|
|
|
uint16_t GetScanlineCount() { return _state.ScanlineCount; }
|
|
uint8_t GetClockDivider() { return _state.ClockDivider; }
|
|
bool IsGrayscale() { return _state.Grayscale; }
|
|
|
|
uint16_t GetPalette(uint16_t addr) { return _paletteRam[addr]; }
|
|
PceVceState& GetState() { return _state; }
|
|
|
|
uint8_t Read(uint16_t addr);
|
|
void Write(uint16_t addr, uint8_t value);
|
|
|
|
void Serialize(Serializer& s) override;
|
|
};
|