From: Toni Wilen Date: Sun, 26 Apr 2026 11:53:43 +0000 (+0300) Subject: Old statefile compatibility update X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=5a750350fb2e96a04d0b8006ac62bec6c71ca5df;p=francis%2Fwinuae.git Old statefile compatibility update --- diff --git a/custom.cpp b/custom.cpp index c5ed5645..79d8656e 100644 --- a/custom.cpp +++ b/custom.cpp @@ -2113,7 +2113,6 @@ static void init_hz_reset(void) vsync_lines = linear_vpos; vsync_linecnt = 0; vb_end_detect = true; - init_hz(); } void init_hz(void) @@ -6829,6 +6828,7 @@ void custom_reset(bool hardreset, bool keyboardreset) check_harddis(); init_hz_reset(); + init_hz(); audio_reset(); if (!isrestore()) { @@ -7669,10 +7669,12 @@ void custom_prepare_savestate(void) void restore_custom_finish(void) { + if ((bplcon0 & 2) && !currprefs.genlock) { changed_prefs.genlock = currprefs.genlock = 1; write_log(_T("statefile with BPLCON0 ERSY set without Genlock. Enabling Genlock.\n")); } + init_hz_reset(); } void restore_custom_start(void) @@ -8238,6 +8240,12 @@ uae_u8 *restore_custom_extra(uae_u8 *src) currprefs.cs_agnussize = changed_prefs.cs_agnussize = RBB; currprefs.cs_denisemodel = changed_prefs.cs_denisemodel = RBB; + // workaround for old savestates that had A1000 chipset extra with AGA mode configured. + if (currprefs.cs_agnusmodel = AGNUSMODEL_A1000 && aga_mode && currprefs.cs_compatible == CP_A1000) { + currprefs.cs_agnusmodel = changed_prefs.cs_agnusmodel = AGNUSMODEL_AGA; + currprefs.cs_compatible = changed_prefs.cs_compatible = CP_A1200; + } + return src; }