diff vdp.c @ 1957:ba06346611a1

Fix some netplay issues
author Mike Pavone <pavone@retrodev.com>
date Sat, 02 May 2020 00:52:21 -0700
parents 275f1c4bdb25
children 80920c21bb52
line wrap: on
line diff
--- a/vdp.c	Fri May 01 23:39:45 2020 -0700
+++ b/vdp.c	Sat May 02 00:52:21 2020 -0700
@@ -4571,26 +4571,33 @@
 	switch (event)
 	{
 	case EVENT_VRAM_BYTE:
+		reader_ensure_data(reader, 3);
 		address = load_int16(buffer);
 		break;
 	case EVENT_VRAM_BYTE_DELTA:
+		reader_ensure_data(reader, 2);
 		address = reader->last_byte_address + load_int8(buffer);
 		break;
 	case EVENT_VRAM_BYTE_ONE:
+		reader_ensure_data(reader, 1);
 		address = reader->last_byte_address + 1;
 		break;
 	case EVENT_VRAM_BYTE_AUTO:
+		reader_ensure_data(reader, 1);
 		address = reader->last_byte_address + context->regs[REG_AUTOINC];
 		break;
 	case EVENT_VRAM_WORD:
+		reader_ensure_data(reader, 4);
 		address = load_int8(buffer) << 16;
 		address |= load_int16(buffer);
 		break;
 	case EVENT_VRAM_WORD_DELTA:
+		reader_ensure_data(reader, 3);
 		address = reader->last_word_address + load_int8(buffer);
 		break;
 	case EVENT_VDP_REG:
 	case EVENT_VDP_INTRAM:
+		reader_ensure_data(reader, event == EVENT_VDP_REG ? 2 : 3);
 		address = load_int8(buffer);
 		break;
 	}