X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=libpcsxcore%2Fmisc.c;h=7353c3b66eee16b7d0b3332462c3c9144854c3ac;hp=38a516cd72f0904f1830161032a0320e1409cb07;hb=97a238a64737245ec8977d0242059e90e0ac01fb;hpb=507aaf98de47ca11c52ced9957d4f190aff71777 diff --git a/libpcsxcore/misc.c b/libpcsxcore/misc.c index 38a516cd..7353c3b6 100644 --- a/libpcsxcore/misc.c +++ b/libpcsxcore/misc.c @@ -333,7 +333,7 @@ int CheckCdrom() { } if (Config.PsxAuto) { // autodetect system (pal or ntsc) - if (strstr(exename, "ES") != NULL) + if (CdromId[2] == 'e' || CdromId[2] == 'E') Config.PsxType = PSX_TYPE_PAL; // pal else Config.PsxType = PSX_TYPE_NTSC; // ntsc } @@ -458,7 +458,7 @@ static const char PcsxHeader[32] = "STv4 PCSX v" PACKAGE_VERSION; // Savestate Versioning! // If you make changes to the savestate version, please increment the value below. -static const u32 SaveVersion = 0x8b410004; +static const u32 SaveVersion = 0x8b410006; int SaveState(const char *file) { gzFile f; @@ -470,6 +470,8 @@ int SaveState(const char *file) { f = gzopen(file, "wb"); if (f == NULL) return -1; + new_dyna_save(); + gzwrite(f, (void *)PcsxHeader, 32); gzwrite(f, (void *)&SaveVersion, sizeof(u32)); gzwrite(f, (void *)&Config.HLE, sizeof(boolean)); @@ -532,10 +534,14 @@ int LoadState(const char *file) { gzread(f, &version, sizeof(u32)); gzread(f, &hle, sizeof(boolean)); - if (strncmp("STv4 PCSX", header, 9) != 0 || version != SaveVersion || hle != Config.HLE) { + if (strncmp("STv4 PCSX", header, 9) != 0 || version != SaveVersion) { gzclose(f); return -1; } + Config.HLE = hle; + + if (Config.HLE) + psxBiosInit(); psxCpu->Reset(); gzseek(f, 128 * 96 * 3, SEEK_CUR); @@ -568,6 +574,7 @@ int LoadState(const char *file) { mdecFreeze(f, 0); gzclose(f); + new_dyna_restore(); return 0; } @@ -587,7 +594,7 @@ int CheckState(const char *file) { gzclose(f); - if (strncmp("STv4 PCSX", header, 9) != 0 || version != SaveVersion || hle != Config.HLE) + if (strncmp("STv4 PCSX", header, 9) != 0 || version != SaveVersion) return -1; return 0;