From 4e405fa731a4af3abca269a0003931f04aeda666 Mon Sep 17 00:00:00 2001 From: Michael Pavone Date: Mon, 28 Aug 2017 22:41:02 -0700 Subject: Pass the correct context pointer to write handlers in mapper deserialize functions --- multi_game.c | 2 +- realtec.c | 4 ++-- xband.c | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/multi_game.c b/multi_game.c index ccf77a0..791dcf3 100644 --- a/multi_game.c +++ b/multi_game.c @@ -33,5 +33,5 @@ void multi_game_serialize(genesis_context *gen, serialize_buffer *buf) void multi_game_deserialize(deserialize_buffer *buf, genesis_context *gen) { - write_multi_game_b(load_int8(buf), gen, 0); + write_multi_game_b(load_int8(buf), gen->m68k, 0); } diff --git a/realtec.c b/realtec.c index f3b50c9..e3c33fa 100644 --- a/realtec.c +++ b/realtec.c @@ -42,7 +42,7 @@ static void *realtec_write_b(uint32_t address, void *context, uint8_t value) //other regs are only 3 bits, so assume 3 for this one too uint32_t size = (r->regs[1] & 0x7) << 17; uint32_t start = (r->regs[2] & 7) << 17 | (r->regs[0] & 6) << 19; - if (size > 512*1024) { + if (!size || size > 512*1024) { size = 512*1024; } for(uint32_t cur = 0; cur < 512*1024; cur += size) @@ -76,7 +76,7 @@ void realtec_deserialize(deserialize_buffer *buf, genesis_context *gen) realtec *r = get_realtec(gen); for (int i = 0; i < sizeof(r->regs); i++) { - realtec_write_b(i << 13, gen, load_int8(buf)); + realtec_write_b(i << 13, gen->m68k, load_int8(buf)); } } diff --git a/xband.c b/xband.c index 26f5244..1a72839 100644 --- a/xband.c +++ b/xband.c @@ -308,7 +308,7 @@ void xband_deserialize(deserialize_buffer *buf, genesis_context *gen) update_control(gen, load_int8(buf)); for (int i = 0; i < XBAND_REGS; i++) { - xband_write_b(0x3BC001 + i*2, gen, load_int8(buf)); + xband_write_b(0x3BC001 + i*2, gen->m68k, load_int8(buf)); } } -- cgit v1.2.3