bsnes/gba/memory/memory.hpp

28 lines
692 B
C++
Raw Normal View History

struct Memory {
virtual uint32 read(uint32 addr, uint32 size) = 0;
virtual void write(uint32 addr, uint32 size, uint32 word) = 0;
};
struct MMIO : Memory {
virtual uint8 read(uint32 addr) = 0;
virtual void write(uint32 addr, uint8 data) = 0;
uint32 read(uint32 addr, uint32 size);
void write(uint32 addr, uint32 size, uint32 word);
};
struct Bus : Memory {
Memory* mmio[0x400];
bool idleflag;
static uint32 mirror(uint32 addr, uint32 size);
uint32 speed(uint32 addr, uint32 size);
void idle(uint32 addr);
uint32 read(uint32 addr, uint32 size);
void write(uint32 addr, uint32 size, uint32 word);
void power();
void serialize(serializer&);
};
extern Bus bus;