summaryrefslogtreecommitdiff
path: root/genesis.c
diff options
context:
space:
mode:
authorMike Pavone <pavone@retrodev.com>2018-11-11 11:33:38 -0800
committerMike Pavone <pavone@retrodev.com>2018-11-11 11:33:38 -0800
commit777eb5c75cbc3b3c5725bc1ed7a1e2bc6f7aa847 (patch)
tree6b75da229848af13756daa3c5f55bd0b8a1e0f38 /genesis.c
parent2a9b50c3977ae149bc6ab611d72685f71c64499b (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
Diffstat (limited to 'genesis.c')
-rw-r--r--genesis.c2
1 files changed, 2 insertions, 0 deletions
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)