From 777eb5c75cbc3b3c5725bc1ed7a1e2bc6f7aa847 Mon Sep 17 00:00:00 2001 From: Mike Pavone Date: Sun, 11 Nov 2018 11:33:38 -0800 Subject: 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 --- genesis.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'genesis.c') diff --git a/genesis.c b/genesis.c index 0a614dc..b0ff852 100644 --- a/genesis.c +++ b/genesis.c @@ -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) -- cgit v1.2.3