mirror of https://github.com/bsnes-emu/bsnes.git
22 lines
553 B
C++
22 lines
553 B
C++
struct Memory {
|
|
virtual auto read(uint mode, uint32 addr) -> uint32 = 0;
|
|
virtual auto write(uint mode, uint32 addr, uint32 word) -> void = 0;
|
|
};
|
|
|
|
struct MMIO : Memory {
|
|
virtual auto read(uint32 addr) -> uint8 = 0;
|
|
virtual auto write(uint32 addr, uint8 data) -> void = 0;
|
|
auto read(uint mode, uint32 addr) -> uint32 final;
|
|
auto write(uint mode, uint32 addr, uint32 word) -> void final;
|
|
};
|
|
|
|
struct Bus {
|
|
static auto mirror(uint32 addr, uint32 size) -> uint32;
|
|
|
|
auto power() -> void;
|
|
|
|
Memory* mmio[0x400] = {nullptr};
|
|
};
|
|
|
|
extern Bus bus;
|