Mesen-SX/Core/Obc1.h

34 lines
717 B
C
Raw Normal View History

2019-08-04 14:01:33 -04:00
#pragma once
#include "stdafx.h"
#include "BaseCoprocessor.h"
class Console;
class Obc1 : public BaseCoprocessor
{
private:
2020-12-19 23:30:09 +03:00
uint8_t* _ram;
2019-08-04 14:01:33 -04:00
uint32_t _mask;
uint16_t GetBaseAddress();
uint16_t GetLowAddress();
uint16_t GetHighAddress();
uint8_t ReadRam(uint16_t addr);
void WriteRam(uint16_t addr, uint8_t value);
public:
Obc1(Console* console, uint8_t* saveRam, uint32_t saveRamSize);
void Reset() override;
uint8_t Read(uint32_t addr) override;
void Write(uint32_t addr, uint8_t value) override;
2020-12-19 23:30:09 +03:00
void Serialize(Serializer& s) override;
2019-08-04 14:01:33 -04:00
uint8_t Peek(uint32_t addr) override;
2020-12-19 23:30:09 +03:00
void PeekBlock(uint32_t addr, uint8_t* output) override;
2019-08-04 14:01:33 -04:00
AddressInfo GetAbsoluteAddress(uint32_t address) override;
2020-12-19 23:30:09 +03:00
};