if (cfg->map_type[i] == MAPTYPE_NONE)
continue;
else if (ovl && cfg->map_type[i] == MAPTYPE_ROM) {
- if (cfg->map_mirror[i] != -1 && CHKRANGE_ABS(addr, cfg->map_mirror[i], cfg->map_high[i])) {
+ if (cfg->map_mirror[i] != -1 && CHKRANGE(addr, cfg->map_mirror[i], cfg->map_size[i])) {
read_addr = cfg->map_data[i] + ((addr - cfg->map_mirror[i]) % cfg->rom_size[i]);
goto read_value;
}
}
- else if (CHKRANGE_ABS(addr, cfg->map_offset[i], cfg->map_high[i])) {
+ if (CHKRANGE_ABS(addr, cfg->map_offset[i], cfg->map_high[i])) {
switch(cfg->map_type[i]) {
case MAPTYPE_ROM:
read_addr = cfg->map_data[i] + ((addr - cfg->map_offset[i]) % cfg->rom_size[i]);