Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
alexbevi
GitHub Repository: alexbevi/BizHawk
Path: blob/master/libsnes/bsnes/gameboy/memory/memory.hpp
2 views
1
struct Memory {
2
uint8_t *data;
3
unsigned size;
4
5
uint8_t& operator[](unsigned addr);
6
void allocate(unsigned size);
7
void copy(const uint8_t *data, unsigned size);
8
void free();
9
Memory();
10
~Memory();
11
};
12
13
struct MMIO {
14
virtual uint8 mmio_read(uint16 addr) = 0;
15
virtual void mmio_write(uint16 addr, uint8 data) = 0;
16
};
17
18
struct Unmapped : MMIO {
19
uint8 mmio_read(uint16) { return 0x00; }
20
void mmio_write(uint16, uint8) {}
21
};
22
23
struct Bus {
24
MMIO *mmio[65536];
25
uint8 read(uint16 addr);
26
void write(uint16 addr, uint8 data);
27
28
void power();
29
};
30
31
extern Unmapped unmapped;
32
extern Bus bus;
33
34