struct IO {
static auto power() -> void;
virtual auto portRead(uint16 addr) -> uint8;
virtual auto portWrite(uint16 addr, uint8 data) -> void;
};
struct Bus {
auto read(uint20 addr) -> uint8;
auto write(uint20 addr, uint8 data) -> void;
extern uint8 iram[64 * 1024];
extern IO* iomap[64 * 1024];
extern Bus bus;