X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=libpcsxcore%2Fcdrom.c;h=78db2914d46ba7dabe5c410ff02b1aa0f5972780;hb=c69642c80a8f3333354a589b5dabdb17f0f23e9b;hp=6923c0214012c050e5499893e1d1d9aa07453225;hpb=fffad32e54d18c0a527a1e9eda0a746e2485284b;p=pcsx_rearmed.git diff --git a/libpcsxcore/cdrom.c b/libpcsxcore/cdrom.c index 6923c021..78db2914 100644 --- a/libpcsxcore/cdrom.c +++ b/libpcsxcore/cdrom.c @@ -1648,6 +1648,7 @@ int cdrFreeze(void *f, int Mode) { if (Mode == 0 && !Config.Cdda) CDR_stop(); + cdr.freeze_ver = 0x63647201; gzfreeze(&cdr, sizeof(cdr)); if (Mode == 1) { @@ -1672,6 +1673,14 @@ int cdrFreeze(void *f, int Mode) { if (!Config.Cdda) CDR_play(cdr.SetSectorPlay); } + + if ((cdr.freeze_ver & 0xffffff00) != 0x63647200) { + // old versions did not latch Reg2, have to fixup.. + if (cdr.Reg2 == 0) { + SysPrintf("cdrom: fixing up old savestate\n"); + cdr.Reg2 = 7; + } + } } return 0;