Update of /cvsroot/yabause/yabause/src
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv11328
Modified Files:
scsp.c vdp1.c vdp2.c
Log Message:
-Fixed a couple of silly bugs with save states
Index: scsp.c
===================================================================
RCS file: /cvsroot/yabause/yabause/src/scsp.c,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -d -r1.32 -r1.33
--- scsp.c 5 Oct 2007 22:18:39 -0000 1.32
+++ scsp.c 6 Oct 2007 06:34:01 -0000 1.33
@@ -3176,6 +3176,9 @@
// Lastly, sound ram
fread((void *)SoundRam, 0x80000, 1, fp);
+
+ // Internal variables need to be regenerated here
+
return size;
}
Index: vdp2.c
===================================================================
RCS file: /cvsroot/yabause/yabause/src/vdp2.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- vdp2.c 5 Oct 2007 22:18:39 -0000 1.23
+++ vdp2.c 6 Oct 2007 06:34:01 -0000 1.24
@@ -1225,7 +1225,7 @@
offset = StateWriteHeader(fp, "VDP2", 1);
// Write registers
- fwrite((void *)&Vdp2Regs, sizeof(Vdp2), 1, fp);
+ fwrite((void *)Vdp2Regs, sizeof(Vdp2), 1, fp);
// Write VDP2 ram
fwrite((void *)Vdp2Ram, 0x80000, 1, fp);
@@ -1233,6 +1233,9 @@
// Write CRAM
fwrite((void *)Vdp2ColorRam, 0x1000, 1, fp);
+ // Write internal variables
+ fwrite((void *)&Vdp2Internal, sizeof(Vdp2Internal_struct), 1, fp);
+
return StateFinishHeader(fp, offset);
}
@@ -1241,7 +1244,7 @@
int Vdp2LoadState(FILE *fp, int version, int size)
{
// Read registers
- fread((void *)&Vdp2Regs, sizeof(Vdp2), 1, fp);
+ fread((void *)Vdp2Regs, sizeof(Vdp2), 1, fp);
// Read VDP2 ram
fread((void *)Vdp2Ram, 0x80000, 1, fp);
@@ -1249,6 +1252,9 @@
// Read CRAM
fread((void *)Vdp2ColorRam, 0x1000, 1, fp);
+ // Read internal variables
+ fread((void *)&Vdp2Internal, sizeof(Vdp2Internal_struct), 1, fp);
+
VIDCore->Vdp2SetResolution(Vdp2Regs->TVMD);
VIDCore->Vdp2SetPriorityNBG0(Vdp2Regs->PRINA & 0x7);
VIDCore->Vdp2SetPriorityNBG1((Vdp2Regs->PRINA >> 8) & 0x7);
Index: vdp1.c
===================================================================
RCS file: /cvsroot/yabause/yabause/src/vdp1.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- vdp1.c 29 Jul 2007 17:59:21 -0000 1.22
+++ vdp1.c 6 Oct 2007 06:34:01 -0000 1.23
@@ -491,7 +491,7 @@
offset = StateWriteHeader(fp, "VDP1", 1);
// Write registers
- fwrite((void *)&Vdp1Regs, sizeof(Vdp1), 1, fp); // fix me
+ fwrite((void *)Vdp1Regs, sizeof(Vdp1), 1, fp);
// Write VDP1 ram
fwrite((void *)Vdp1Ram, 0x80000, 1, fp);
@@ -504,7 +504,7 @@
int Vdp1LoadState(FILE *fp, int version, int size)
{
// Read registers
- fread((void *)&Vdp1Regs, sizeof(Vdp1), 1, fp); // fix me
+ fread((void *)Vdp1Regs, sizeof(Vdp1), 1, fp);
// Read VDP1 ram
fread((void *)Vdp1Ram, 0x80000, 1, fp);
|