diff options
author | Mike Pavone <pavone@retrodev.com> | 2018-11-11 11:33:38 -0800 |
---|---|---|
committer | Mike Pavone <pavone@retrodev.com> | 2018-11-11 11:33:38 -0800 |
commit | 777eb5c75cbc3b3c5725bc1ed7a1e2bc6f7aa847 (patch) | |
tree | 6b75da229848af13756daa3c5f55bd0b8a1e0f38 | |
parent | 2a9b50c3977ae149bc6ab611d72685f71c64499b (diff) |
Make sure M68K sync and target cycles are updated after loading a savestate. Fixes an issue in which loading a savestate would result in things being unresponsive until emulation cycle caught up to whatever the pre-state load sync cycle was
-rw-r--r-- | genesis.c | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -127,6 +127,7 @@ static void bus_arbiter_deserialize(deserialize_buffer *buf, void *vgen) gen->z80->bank_reg = load_int16(buf) & 0x1FF; } +static void adjust_int_cycle(m68k_context * context, vdp_context * v_context); void genesis_deserialize(deserialize_buffer *buf, genesis_context *gen) { register_section_handler(buf, (section_handler){.fun = m68k_deserialize, .data = gen->m68k}, SECTION_68000); @@ -146,6 +147,7 @@ void genesis_deserialize(deserialize_buffer *buf, genesis_context *gen) load_section(buf); } update_z80_bank_pointer(gen); + adjust_int_cycle(gen->m68k, gen->vdp); } uint16_t read_dma_value(uint32_t address) |