--- BasiliskII/src/Unix/sysdeps.h 2000/07/22 18:12:34 1.12 +++ BasiliskII/src/Unix/sysdeps.h 2000/10/09 17:05:17 1.14 @@ -69,18 +69,35 @@ /* Mac ROM is not write protected */ #define ROM_IS_WRITE_PROTECTED 0 +#define USE_SCRATCHMEM_SUBTERFUGE 1 #else /* Mac and host address space are distinct */ +#ifndef REAL_ADDRESSING #define REAL_ADDRESSING 0 +#endif /* Using 68k emulator */ #define EMULATED_68K 1 -/* Mac ROM is write protected */ -#define ROM_IS_WRITE_PROTECTED 1 +/* The m68k emulator uses a prefetch buffer ? */ +#define USE_PREFETCH_BUFFER 0 + +/* Mac ROM is write protected when banked memory is used */ +#if REAL_ADDRESSING || DIRECT_ADDRESSING +# define ROM_IS_WRITE_PROTECTED 0 +# define USE_SCRATCHMEM_SUBTERFUGE 1 +#else +# define ROM_IS_WRITE_PROTECTED 1 +#endif + +#endif +/* Direct Addressing requires Video on SEGV signals */ +#if DIRECT_ADDRESSING && !ENABLE_VOSF +# undef ENABLE_VOSF +# define ENABLE_VOSF 1 #endif /* ExtFS is supported */ @@ -121,6 +138,15 @@ typedef long long int64; #else #error "No 8 byte type, you lose." #endif +#if SIZEOF_VOID_P == 4 +typedef uint32 uintptr; +typedef int32 intptr; +#elif SIZEOF_VOID_P == 8 +typedef uint64 uintptr; +typedef int64 intptr; +#else +#error "Unsupported size of pointer" +#endif /* Time data type for Time Manager emulation */ #ifdef HAVE_CLOCK_GETTIME