ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/cebix/BasiliskII/src/uae_cpu/basilisk_glue.cpp
(Generate patch)

Comparing BasiliskII/src/uae_cpu/basilisk_glue.cpp (file contents):
Revision 1.3 by cebix, 2000-04-10T18:53:46Z vs.
Revision 1.10 by gbeauche, 2001-06-26T22:35:42Z

# Line 1 | Line 1
1   /*
2   *  basilisk_glue.cpp - Glue UAE CPU to Basilisk II CPU engine interface
3   *
4 < *  Basilisk II (C) 1997-2000 Christian Bauer
4 > *  Basilisk II (C) 1997-2001 Christian Bauer
5   *
6   *  This program is free software; you can redistribute it and/or modify
7   *  it under the terms of the GNU General Public License as published by
# Line 19 | Line 19
19   */
20  
21   #include "sysdeps.h"
22 +
23   #include "cpu_emulation.h"
24   #include "main.h"
25   #include "emul_op.h"
# Line 27 | Line 28
28   #include "memory.h"
29   #include "readcpu.h"
30   #include "newcpu.h"
30 #include "compiler.h"
31  
32  
33   // RAM and ROM pointers
34 < uint32 RAMBaseMac;                      // RAM base (Mac address space)
34 > uint32 RAMBaseMac = 0;          // RAM base (Mac address space) gb-- init is important
35   uint8 *RAMBaseHost;                     // RAM base (host address space)
36   uint32 RAMSize;                         // Size of RAM
37   uint32 ROMBaseMac;                      // ROM base (Mac address space)
# Line 45 | Line 45 | uint32 MacFrameSize;           // Size of frame b
45   int MacFrameLayout;                     // Frame buffer layout
46   #endif
47  
48 + #if DIRECT_ADDRESSING
49 + uintptr MEMBaseDiff;            // Global offset between a Mac address and its Host equivalent
50 + #endif
51 +
52   // From newcpu.cpp
53   extern int quit_program;
54  
# Line 59 | Line 63 | bool Init680x0(void)
63          // Mac address space = host address space
64          RAMBaseMac = (uint32)RAMBaseHost;
65          ROMBaseMac = (uint32)ROMBaseHost;
66 + #elif DIRECT_ADDRESSING
67 +        // Mac address space = host address space minus constant offset (MEMBaseDiff)
68 +        // NOTE: MEMBaseDiff is set in main_unix.cpp/main()
69 +        RAMBaseMac = 0;
70 +        ROMBaseMac = Host2MacAddr(ROMBaseHost);
71   #else
72          // Initialize UAE memory banks
73          RAMBaseMac = 0;
# Line 81 | Line 90 | bool Init680x0(void)
90   #endif
91  
92          init_m68k();
84        compiler_init();
93          return true;
94   }
95  
# Line 92 | Line 100 | bool Init680x0(void)
100  
101   void Exit680x0(void)
102   {
103 +        exit_m68k();
104   }
105  
106  
# Line 115 | Line 124 | void TriggerInterrupt(void)
124          regs.spcflags |= SPCFLAG_INT;
125   }
126  
127 + void TriggerNMI(void)
128 + {
129 +        //!! not implemented yet
130 + }
131 +
132  
133   /*
134   *  Get 68k interrupt level

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines