40 using sids_t = std::vector<c64sid*>;
47 static constexpr int MAPPER_SIZE = 8;
55 Bank *mapper[MAPPER_SIZE];
60 static unsigned int mapperIndex(
int address) {
return address >> 5 & (MAPPER_SIZE - 1); }
71 void resetSIDMapper(
Bank *bank)
73 for (
int i = 0; i < MAPPER_SIZE; i++)
77 uint8_t
peek(uint_least16_t addr)
override
79 return mapper[mapperIndex(addr)]->
peek(addr);
82 void poke(uint_least16_t addr, uint8_t data)
override
84 mapper[mapperIndex(addr)]->
poke(addr, data);
96 mapper[mapperIndex(address)] = s;
99 unsigned int installedSIDs()
const {
return sids.size(); }