comparison gst.c @ 1906:2d462aa78349

Make VDP VSRAM capacity respect model selection
author Michael Pavone <pavone@retrodev.com>
date Thu, 27 Feb 2020 18:38:15 -0800
parents d6d4c006a7b3
children f699f9d500b4
comparison
equal deleted inserted replaced
1905:1ec6931d0a49 1906:2d462aa78349
242 } 242 }
243 for (int i = 0; i < CRAM_SIZE; i++) { 243 for (int i = 0; i < CRAM_SIZE; i++) {
244 uint16_t value; 244 uint16_t value;
245 write_cram_internal(context, i, (tmp_buf[i*2+1] << 8) | tmp_buf[i*2]); 245 write_cram_internal(context, i, (tmp_buf[i*2+1] << 8) | tmp_buf[i*2]);
246 } 246 }
247 if (fread(tmp_buf, 2, VSRAM_SIZE, state_file) != VSRAM_SIZE) { 247 if (fread(tmp_buf, 2, MIN_VSRAM_SIZE, state_file) != MIN_VSRAM_SIZE) {
248 fputs("Failed to read VSRAM from savestate\n", stderr); 248 fputs("Failed to read VSRAM from savestate\n", stderr);
249 return 0; 249 return 0;
250 } 250 }
251 for (int i = 0; i < VSRAM_SIZE; i++) { 251 for (int i = 0; i < MIN_VSRAM_SIZE; i++) {
252 context->vsram[i] = (tmp_buf[i*2+1] << 8) | tmp_buf[i*2]; 252 context->vsram[i] = (tmp_buf[i*2+1] << 8) | tmp_buf[i*2];
253 } 253 }
254 fseek(state_file, GST_VDP_MEM, SEEK_SET); 254 fseek(state_file, GST_VDP_MEM, SEEK_SET);
255 if (fread(tmp_buf, 1, VRAM_SIZE, state_file) != VRAM_SIZE) { 255 if (fread(tmp_buf, 1, VRAM_SIZE, state_file) != VRAM_SIZE) {
256 fputs("Failed to read VRAM from savestate\n", stderr); 256 fputs("Failed to read VRAM from savestate\n", stderr);
278 } 278 }
279 if (fwrite(tmp_buf, 1, sizeof(tmp_buf), outfile) != sizeof(tmp_buf)) { 279 if (fwrite(tmp_buf, 1, sizeof(tmp_buf), outfile) != sizeof(tmp_buf)) {
280 fputs("Error writing CRAM to savestate\n", stderr); 280 fputs("Error writing CRAM to savestate\n", stderr);
281 return 0; 281 return 0;
282 } 282 }
283 for (int i = 0; i < VSRAM_SIZE; i++) 283 for (int i = 0; i < MIN_VSRAM_SIZE; i++)
284 { 284 {
285 tmp_buf[i*2] = context->vsram[i]; 285 tmp_buf[i*2] = context->vsram[i];
286 tmp_buf[i*2+1] = context->vsram[i] >> 8; 286 tmp_buf[i*2+1] = context->vsram[i] >> 8;
287 } 287 }
288 if (fwrite(tmp_buf, 2, VSRAM_SIZE, outfile) != VSRAM_SIZE) { 288 if (fwrite(tmp_buf, 2, MIN_VSRAM_SIZE, outfile) != MIN_VSRAM_SIZE) {
289 fputs("Error writing VSRAM to savestate\n", stderr); 289 fputs("Error writing VSRAM to savestate\n", stderr);
290 return 0; 290 return 0;
291 } 291 }
292 fseek(outfile, GST_VDP_MEM, SEEK_SET); 292 fseek(outfile, GST_VDP_MEM, SEEK_SET);
293 if (fwrite(context->vdpmem, 1, VRAM_SIZE, outfile) != VRAM_SIZE) { 293 if (fwrite(context->vdpmem, 1, VRAM_SIZE, outfile) != VRAM_SIZE) {