|
|
@@ -359,13 +359,11 @@ static int mmc3_state_size(const void* data) { |
|
|
static int mmc3_state_read(void* _map, const void* data) { |
|
|
static int mmc3_state_read(void* _map, const void* data) { |
|
|
mmc3_mapper* map = (mmc3_mapper*)_map; |
|
|
mmc3_mapper* map = (mmc3_mapper*)_map; |
|
|
|
|
|
|
|
|
uint8_t old_bank_select = map->bank_select; |
|
|
|
|
|
|
|
|
|
|
|
int size = mmc3_state_size(_map); |
|
|
int size = mmc3_state_size(_map); |
|
|
memcpy(map->r, data, size); |
|
|
memcpy(map->r, data, size); |
|
|
|
|
|
|
|
|
uint8_t new_bank_select = map->bank_select; |
|
|
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_rom_mode(map, new_bank_select); |
|
|
mmc3_update_vram(map); |
|
|
mmc3_update_vram(map); |
|
|
|