Mercurial > repos > blastem
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) { |