--- BasiliskII/src/uae_cpu/basilisk_glue.cpp 2000/04/10 18:53:46 1.3 +++ BasiliskII/src/uae_cpu/basilisk_glue.cpp 2001/03/20 17:35:45 1.9 @@ -1,7 +1,7 @@ /* * basilisk_glue.cpp - Glue UAE CPU to Basilisk II CPU engine interface * - * Basilisk II (C) 1997-2000 Christian Bauer + * Basilisk II (C) 1997-2001 Christian Bauer * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -19,6 +19,7 @@ */ #include "sysdeps.h" + #include "cpu_emulation.h" #include "main.h" #include "emul_op.h" @@ -27,11 +28,10 @@ #include "memory.h" #include "readcpu.h" #include "newcpu.h" -#include "compiler.h" // RAM and ROM pointers -uint32 RAMBaseMac; // RAM base (Mac address space) +uint32 RAMBaseMac = 0; // RAM base (Mac address space) gb-- init is important uint8 *RAMBaseHost; // RAM base (host address space) uint32 RAMSize; // Size of RAM uint32 ROMBaseMac; // ROM base (Mac address space) @@ -45,6 +45,10 @@ uint32 MacFrameSize; // Size of frame b int MacFrameLayout; // Frame buffer layout #endif +#if DIRECT_ADDRESSING +uintptr MEMBaseDiff; // Global offset between a Mac address and its Host equivalent +#endif + // From newcpu.cpp extern int quit_program; @@ -59,6 +63,8 @@ bool Init680x0(void) // Mac address space = host address space RAMBaseMac = (uint32)RAMBaseHost; ROMBaseMac = (uint32)ROMBaseHost; +#elif DIRECT_ADDRESSING + InitMEMBaseDiff(RAMBaseHost, RAMBaseMac); #else // Initialize UAE memory banks RAMBaseMac = 0; @@ -81,7 +87,6 @@ bool Init680x0(void) #endif init_m68k(); - compiler_init(); return true; } @@ -92,6 +97,7 @@ bool Init680x0(void) void Exit680x0(void) { + exit_m68k(); } @@ -115,6 +121,11 @@ void TriggerInterrupt(void) regs.spcflags |= SPCFLAG_INT; } +void TriggerNMI(void) +{ + //!! not implemented yet +} + /* * Get 68k interrupt level