2018-06-25 12:58:01 -04:00
|
|
|
#pragma once
|
|
|
|
#include "stdafx.h"
|
|
|
|
#include "IMemoryHandler.h"
|
|
|
|
|
|
|
|
class OpenBusHandler : public IMemoryHandler
|
|
|
|
{
|
|
|
|
private:
|
2018-07-01 15:21:05 -04:00
|
|
|
uint8_t _lastReadValue;
|
2018-06-25 12:58:01 -04:00
|
|
|
|
|
|
|
public:
|
|
|
|
OpenBusHandler()
|
|
|
|
{
|
|
|
|
_lastReadValue = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
uint8_t ReadRAM(uint16_t addr) override
|
|
|
|
{
|
|
|
|
return _lastReadValue;
|
|
|
|
}
|
|
|
|
|
2018-12-24 23:31:32 -05:00
|
|
|
uint8_t PeekRAM(uint16_t addr) override
|
|
|
|
{
|
|
|
|
return addr >> 8; //Fake open bus for debugger
|
|
|
|
}
|
|
|
|
|
2018-07-01 15:21:05 -04:00
|
|
|
__forceinline uint8_t GetOpenBus()
|
2018-06-25 12:58:01 -04:00
|
|
|
{
|
|
|
|
return _lastReadValue;
|
|
|
|
}
|
|
|
|
|
2018-07-01 15:21:05 -04:00
|
|
|
__forceinline void SetOpenBus(uint8_t value)
|
2018-06-25 12:58:01 -04:00
|
|
|
{
|
|
|
|
_lastReadValue = value;
|
|
|
|
}
|
|
|
|
|
|
|
|
void GetMemoryRanges(MemoryRanges & ranges) override
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
void WriteRAM(uint16_t addr, uint8_t value) override
|
|
|
|
{
|
|
|
|
}
|
|
|
|
};
|