#if defined(NATMEM_OFFSET)
+#define BARRIER 32
+
static struct shmid_ds shmids[MAX_SHMID];
extern int p96mode;
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;
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")) {
p96special = TRUE;
p96ram_start = p96mem_offset - natmem_offset;
shmaddr = natmem_offset + p96ram_start;
+ size += BARRIER;
} else {
extern void p96memstart(void);
p96memstart();
shmaddr=natmem_offset+0x00C00000;
got = TRUE;
if (currprefs.bogomem_size <= 0x100000)
- size+=32;
+ size += BARRIER;
}
if(!strcmp(shmids[shmid].name,"filesys")) {
result = xmalloc (size);
#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 ""
+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