]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
imported winuaesrc1450b10.zip
authorToni Wilen <twilen@winuae.net>
Sat, 10 Nov 2007 18:07:52 +0000 (20:07 +0200)
committerToni Wilen <twilen@winuae.net>
Mon, 22 Feb 2010 19:36:59 +0000 (21:36 +0200)
memory.c
od-win32/mman.c
od-win32/win32.c
od-win32/win32.h
od-win32/winuaechangelog.txt

index 478d6dfa03d20abe3098e3dff307d18ad955321e..b6b6fb7b79ee894803997c0037a1abc97182d1bd 100644 (file)
--- a/memory.c
+++ b/memory.c
@@ -2318,7 +2318,7 @@ uae_u8 *mapped_malloc (size_t s, char *file)
 
     if (!canbang) {
        nocanbang();
-       return xmalloc (s);
+       return xmalloc (s + 4);
     }
 
     id = shmget (IPC_PRIVATE, s, 0x1ff, file);
index 9fe2cd6ca282cee1ecf0fa7ad3192f5b1d8c20bb..77ed2bbc1b1640878a00f042ba33817f4e697a74 100644 (file)
@@ -14,6 +14,8 @@
 
 #if defined(NATMEM_OFFSET)
 
+#define BARRIER 32
+
 static struct shmid_ds shmids[MAX_SHMID];
 
 extern int p96mode;
@@ -253,12 +255,12 @@ void *shmat(int shmid, void *shmaddr, int shmflg)
            shmaddr=natmem_offset;
            got = TRUE;
            if (currprefs.fastmem_size == 0 || currprefs.chipmem_size < 2 * 1024 * 1024)
-               size += 32;
+               size += BARRIER;
        }
        if(!strcmp(shmids[shmid].name,"kick")) {
            shmaddr=natmem_offset + 0xf80000;
            got = TRUE;
-           size += 32;
+           size += BARRIER;
        }
        if(!strcmp(shmids[shmid].name,"rom_a8")) {
            shmaddr=natmem_offset + 0xa80000;
@@ -280,18 +282,22 @@ void *shmat(int shmid, void *shmaddr, int shmflg)
        if(!strcmp(shmids[shmid].name,"fast")) {
            shmaddr=natmem_offset + 0x200000;
            got = TRUE;
-           size += 32;
+           size += BARRIER;
        }
        if(!strcmp(shmids[shmid].name,"ramsey_low")) {
            shmaddr=natmem_offset + a3000lmem_start;
            got = TRUE;
+           if (!currprefs.mbresmem_high_size)
+               size += BARRIER;
        }
        if(!strcmp(shmids[shmid].name,"ramsey_high")) {
            shmaddr=natmem_offset + a3000hmem_start;
            got = TRUE;
+           size += BARRIER;
        }
        if(!strcmp(shmids[shmid].name,"z3")) {
            shmaddr=natmem_offset + currprefs.z3fastmem_start;
+           size += BARRIER;
            got = TRUE;
        }
        if(!strcmp(shmids[shmid].name,"gfx")) {
@@ -300,6 +306,7 @@ void *shmat(int shmid, void *shmaddr, int shmflg)
                p96special = TRUE;
                p96ram_start = p96mem_offset - natmem_offset;
                shmaddr = natmem_offset + p96ram_start;
+               size += BARRIER;
            } else {
                extern void p96memstart(void);
                p96memstart();
@@ -315,7 +322,7 @@ void *shmat(int shmid, void *shmaddr, int shmflg)
            shmaddr=natmem_offset+0x00C00000;
            got = TRUE;
            if (currprefs.bogomem_size <= 0x100000)
-               size+=32;
+               size += BARRIER;
        }
        if(!strcmp(shmids[shmid].name,"filesys")) {
            result = xmalloc (size);
index e6aea3889ab47d2a35933836fb87eca84f3b58b6..610a1b753b8246105a43823dccbb33497c732d04 100644 (file)
@@ -2250,7 +2250,7 @@ void set_path (char *name, char *path)
 
 static void initpath (char *name, char *path)
 {
-    if (regexists (NULL, name) == 0)
+    if (regexists (NULL, name))
        return;
     set_path (name, NULL);
 }
index 7ae5151e78f6f378b53c498e0f8a0d500008f626..3f1a074166d05fc72a7e5d756787e47321f4ea23 100644 (file)
@@ -15,7 +15,7 @@
 #define GETBDM(x) (((x) - ((x / 10000) * 10000)) / 100)
 #define GETBDD(x) ((x) % 100)
 
-#define WINUAEBETA 9
+#define WINUAEBETA 10
 #define WINUAEPUBLICBETA 1
 #define WINUAEDATE MAKEBD(2007, 11, 10)
 #define WINUAEEXTRA ""
index d60bad8e8d29379a3f54eb65e5dc4fdc4d341253..aef3193a927e7d967bb39d4016ac3a4efcb05e24 100644 (file)
@@ -1,4 +1,11 @@
 
+Beta 10:
+
+- added missing "barrier" bytes at end of Z3 fast. Crashed in
+  non-direct JIT-mode if read/write crossed memory boundaries.
+  (for example long read from END_OF_Z3 - 2)
+- paths reseting to default fix (b9)
+
 Beta 9:
 
 - default GUI and main window position is centered, not top/left corner