--- hatari/src/uae-cpu/memory.c 2019/04/01 07:13:48 1.1.1.10 +++ hatari/src/uae-cpu/memory.c 2019/04/09 08:53:27 1.1.1.16 @@ -7,23 +7,25 @@ * * Adaptation to Hatari by Thomas Huth * - * This file is distributed under the GNU Public License, version 2 or at - * your option any later version. Read the file gpl.txt for details. + * This file is distributed under the GNU General Public License, version 2 + * or at your option any later version. Read the file gpl.txt for details. */ -const char Memory_rcsid[] = "Hatari $Id: memory.c,v 1.1.1.10 2019/04/01 07:13:48 root Exp $"; +const char Memory_fileid[] = "Hatari memory.c : " __DATE__ " " __TIME__; #include "config.h" #include "sysdeps.h" #include "hatari-glue.h" #include "maccess.h" #include "memory.h" -#include "../includes/main.h" -#include "../includes/tos.h" -#include "../includes/ide.h" -#include "../includes/ioMem.h" -#include "../includes/reset.h" -#include "../includes/stMemory.h" -#include "../includes/m68000.h" + +#include "main.h" +#include "tos.h" +#include "ide.h" +#include "ioMem.h" +#include "reset.h" +#include "stMemory.h" +#include "m68000.h" + #include "newcpu.h" @@ -85,6 +87,7 @@ __inline__ void byteput (uaecptr addr, u /* Some prototypes: */ +extern void SDL_Quit(void); static int STmem_check (uaecptr addr, uae_u32 size) REGPARAM; static uae_u8 *STmem_xlate (uaecptr addr) REGPARAM; @@ -157,7 +160,7 @@ static uae_u32 BusErrMem_lget(uaecptr ad if (illegal_mem) write_log ("Bus error lget at %08lx\n", (long)addr); - M68000_BusError(addr, 1); + M68000_BusError(addr, BUS_ERROR_READ); return 0; } @@ -166,7 +169,7 @@ static uae_u32 BusErrMem_wget(uaecptr ad if (illegal_mem) write_log ("Bus error wget at %08lx\n", (long)addr); - M68000_BusError(addr, 1); + M68000_BusError(addr, BUS_ERROR_READ); return 0; } @@ -175,7 +178,7 @@ static uae_u32 BusErrMem_bget(uaecptr ad if (illegal_mem) write_log ("Bus error bget at %08lx\n", (long)addr); - M68000_BusError(addr, 1); + M68000_BusError(addr, BUS_ERROR_READ); return 0; } @@ -184,7 +187,7 @@ static void BusErrMem_lput(uaecptr addr, if (illegal_mem) write_log ("Bus error lput at %08lx\n", (long)addr); - M68000_BusError(addr, 0); + M68000_BusError(addr, BUS_ERROR_WRITE); } static void BusErrMem_wput(uaecptr addr, uae_u32 w) @@ -192,7 +195,7 @@ static void BusErrMem_wput(uaecptr addr, if (illegal_mem) write_log ("Bus error wput at %08lx\n", (long)addr); - M68000_BusError(addr, 0); + M68000_BusError(addr, BUS_ERROR_WRITE); } static void BusErrMem_bput(uaecptr addr, uae_u32 b) @@ -200,7 +203,7 @@ static void BusErrMem_bput(uaecptr addr, if (illegal_mem) write_log ("Bus error bput at %08lx\n", (long)addr); - M68000_BusError(addr, 0); + M68000_BusError(addr, BUS_ERROR_WRITE); } static int BusErrMem_check(uaecptr addr, uae_u32 size) @@ -294,7 +297,7 @@ static uae_u32 SysMem_lget(uaecptr addr) { if(addr < 0x800 && !regs.s) { - M68000_BusError(addr, 1); + M68000_BusError(addr, BUS_ERROR_READ); return 0; } @@ -308,7 +311,7 @@ static uae_u32 SysMem_wget(uaecptr addr) { if(addr < 0x800 && !regs.s) { - M68000_BusError(addr, 1); + M68000_BusError(addr, BUS_ERROR_READ); return 0; } @@ -322,7 +325,7 @@ static uae_u32 SysMem_bget(uaecptr addr) { if(addr < 0x800 && !regs.s) { - M68000_BusError(addr, 1); + M68000_BusError(addr, BUS_ERROR_READ); return 0; } @@ -335,7 +338,7 @@ static void SysMem_lput(uaecptr addr, ua { if(addr < 0x8 || (addr < 0x800 && !regs.s)) { - M68000_BusError(addr, 0); + M68000_BusError(addr, BUS_ERROR_WRITE); return; } @@ -349,7 +352,7 @@ static void SysMem_wput(uaecptr addr, ua { if(addr < 0x8 || (addr < 0x800 && !regs.s)) { - M68000_BusError(addr, 0); + M68000_BusError(addr, BUS_ERROR_WRITE); return; } @@ -363,7 +366,7 @@ static void SysMem_bput(uaecptr addr, ua { if(addr < 0x8 || (addr < 0x800 && !regs.s)) { - M68000_BusError(addr, 0); + M68000_BusError(addr, BUS_ERROR_WRITE); return; } @@ -514,7 +517,7 @@ static void ROMmem_lput(uaecptr addr, ua if (illegal_mem) write_log ("Illegal ROMmem lput at %08lx\n", (long)addr); - M68000_BusError(addr, 0); + M68000_BusError(addr, BUS_ERROR_WRITE); } static void ROMmem_wput(uaecptr addr, uae_u32 b) @@ -522,7 +525,7 @@ static void ROMmem_wput(uaecptr addr, ua if (illegal_mem) write_log ("Illegal ROMmem wput at %08lx\n", (long)addr); - M68000_BusError(addr, 0); + M68000_BusError(addr, BUS_ERROR_WRITE); } static void ROMmem_bput(uaecptr addr, uae_u32 b) @@ -530,7 +533,7 @@ static void ROMmem_bput(uaecptr addr, ua if (illegal_mem) write_log ("Illegal ROMmem bput at %08lx\n", (long)addr); - M68000_BusError(addr, 0); + M68000_BusError(addr, BUS_ERROR_WRITE); } static int ROMmem_check(uaecptr addr, uae_u32 size) @@ -681,6 +684,7 @@ void memory_init(uae_u32 nNewSTMemSize, ROMmemory = malloc(2*1024*1024); if (!ROMmemory) { fprintf(stderr, "Out of memory (ROM/IO mem)!\n"); + SDL_Quit(); exit(1); } IdeMemory = ROMmemory + 0x100000; @@ -696,6 +700,7 @@ void memory_init(uae_u32 nNewSTMemSize, } if (!STmemory) { write_log ("virtual memory exhausted (STmemory)!\n"); + SDL_Quit(); exit(1); }