]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
State save/restore fixes.
authorToni Wilen <twilen@winuae.net>
Sat, 27 Mar 2021 16:40:45 +0000 (18:40 +0200)
committerToni Wilen <twilen@winuae.net>
Sat, 27 Mar 2021 16:40:45 +0000 (18:40 +0200)
blkdev.cpp
cia.cpp
fpp.cpp

index a597ea93366cc4d26676144e6f36c46a9a7d3376..6f624b8f5397b921d87b6ec7b953e31b61c1b413 100644 (file)
@@ -2420,7 +2420,7 @@ uae_u8 *save_cd (int num, int *len)
                return NULL;
        if (!currprefs.cs_cd32cd && !currprefs.cs_cdtvcd && !currprefs.scsi)
                return NULL;
-       dstbak = dst = xmalloc (uae_u8, 4 + MAX_DPATH + 4 + 4 + 4 + 2 * MAX_DPATH);
+       dstbak = dst = xmalloc (uae_u8, 4 + MAX_DPATH + 4 + 4 + 4 + SUBQ_SIZE  + 2 * MAX_DPATH);
        save_u32 (4 | 8 | 16);
        save_path (currprefs.cdslots[num].name, SAVESTATE_PATH_CD);
        save_u32 (currprefs.cdslots[num].type);
diff --git a/cia.cpp b/cia.cpp
index 19d64180ed9d553e22a915bb0dfc3ebb4345d4c9..ccd4c65267a57e69c885d80b1fae812b846de714 100644 (file)
--- a/cia.cpp
+++ b/cia.cpp
@@ -2646,7 +2646,8 @@ uae_u8 *restore_cia (int num, uae_u8 *src)
                div10 = CYCLE_UNIT * b;
        b = restore_u8 ();
        if (num) ciabsdr_cnt = b; else ciaasdr_cnt = b;
-       if (num) ciabsdr_buf = b;
+       b = restore_u8();
+       if (num) ciabsdr_buf = b; else ciaasdr_buf = b;
        return src;
 }
 
diff --git a/fpp.cpp b/fpp.cpp
index 1472c47535c176e268a54b17e1b82e13562044da..2a1ce6a610b3c4a1bc16790aa3229b8d43ae895b 100644 (file)
--- a/fpp.cpp
+++ b/fpp.cpp
@@ -3805,7 +3805,7 @@ uae_u8 *save_fpu (int *len, uae_u8 *dstptr)
        if (dstptr)
                dstbak = dst = dstptr;
        else
-               dstbak = dst = xmalloc (uae_u8, 4+4+8*10+4+4+4+4+4+2*10+3*(4+2));
+               dstbak = dst = xmalloc(uae_u8, 4 + 4 + 8 * 10 + 6 * 4 + 2 + 6 * 4 + 20 * 4);
        save_u32 (currprefs.fpu_model);
        save_u32 (0x80000000 | 0x20000000 | (regs.fp_ea_set ? 0x00000001 : 0x00000000));
        for (i = 0; i < 8; i++) {