diff vdp.c @ 1956:275f1c4bdb25

Netplay protocol size optimization
author Michael Pavone <pavone@retrodev.com>
date Fri, 01 May 2020 23:39:45 -0700
parents c3c62dbf1ceb
children ba06346611a1
line wrap: on
line diff
--- a/vdp.c	Fri May 01 21:17:21 2020 -0700
+++ b/vdp.c	Fri May 01 23:39:45 2020 -0700
@@ -939,8 +939,8 @@
 			} else {
 				val = start->partial ? context->fifo[context->fifo_write].value : start->value;
 			}
-			uint8_t buffer[3] = {start->address, val >> 8, val};
-			event_log(EVENT_CRAM, context->cycles, sizeof(buffer), buffer);
+			uint8_t buffer[3] = {start->address & 127, val >> 8, val};
+			event_log(EVENT_VDP_INTRAM, context->cycles, sizeof(buffer), buffer);
 			write_cram(context, start->address, val);
 			break;
 		}
@@ -958,8 +958,8 @@
 				} else {
 					context->vsram[(start->address/2) & 63] = start->partial ? context->fifo[context->fifo_write].value : start->value;
 				}
-				uint8_t buffer[3] = {(start->address/2) & 63, context->vsram[(start->address/2) & 63] >> 8, context->vsram[(start->address/2) & 63]};
-				event_log(EVENT_VSRAM, context->cycles, sizeof(buffer), buffer);
+				uint8_t buffer[3] = {((start->address/2) & 63) + 128, context->vsram[(start->address/2) & 63] >> 8, context->vsram[(start->address/2) & 63]};
+				event_log(EVENT_VDP_INTRAM, context->cycles, sizeof(buffer), buffer);
 			}
 
 			break;
@@ -4590,8 +4590,7 @@
 		address = reader->last_word_address + load_int8(buffer);
 		break;
 	case EVENT_VDP_REG:
-	case EVENT_CRAM:
-	case EVENT_VSRAM:
+	case EVENT_VDP_INTRAM:
 		address = load_int8(buffer);
 		break;
 	}
@@ -4630,11 +4629,12 @@
 		write_vram_word(context, address, value);
 		break;
 	}
-	case EVENT_CRAM:
-		write_cram(context, address, load_int16(buffer));
-		break;
-	case EVENT_VSRAM:
-		context->vsram[address] = load_int16(buffer);
+	case EVENT_VDP_INTRAM:
+		if (address < 128) {
+			write_cram(context, address, load_int16(buffer));
+		} else {
+			context->vsram[address&63] = load_int16(buffer);
+		}
 		break;
 	}
 }