diff --git a/src/map/mmc3.c b/src/map/mmc3.c index 1437a6f..6b7e97d 100644 --- a/src/map/mmc3.c +++ b/src/map/mmc3.c @@ -359,13 +359,11 @@ static int mmc3_state_size(const void* data) { static int mmc3_state_read(void* _map, const void* data) { mmc3_mapper* map = (mmc3_mapper*)_map; - uint8_t old_bank_select = map->bank_select; - int size = mmc3_state_size(_map); memcpy(map->r, data, size); uint8_t new_bank_select = map->bank_select; - map->bank_select = old_bank_select; + map->bank_select = ~new_bank_select; mmc3_update_rom_mode(map, new_bank_select); mmc3_update_vram(map);