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.8 by cebix, 2001-02-02T20:53:00Z vs.
Revision 1.13 by gbeauche, 2002-09-01T15:17:13Z

# Line 1 | Line 1
1   /*
2   *  basilisk_glue.cpp - Glue UAE CPU to Basilisk II CPU engine interface
3   *
4 < *  Basilisk II (C) 1997-2001 Christian Bauer
4 > *  Basilisk II (C) 1997-2002 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 28 | Line 28
28   #include "memory.h"
29   #include "readcpu.h"
30   #include "newcpu.h"
31 #include "compiler.h"
31  
32  
33   // RAM and ROM pointers
# Line 65 | Line 64 | bool Init680x0(void)
64          RAMBaseMac = (uint32)RAMBaseHost;
65          ROMBaseMac = (uint32)ROMBaseHost;
66   #elif DIRECT_ADDRESSING
67 <        InitMEMBaseDiff(RAMBaseHost, RAMBaseMac);
67 >        // Mac address space = host address space minus constant offset (MEMBaseDiff)
68 >        // NOTE: MEMBaseDiff is set up in main_unix.cpp/main()
69 >        RAMBaseMac = 0;
70 >        ROMBaseMac = Host2MacAddr(ROMBaseHost);
71   #else
72          // Initialize UAE memory banks
73          RAMBaseMac = 0;
# Line 88 | Line 90 | bool Init680x0(void)
90   #endif
91  
92          init_m68k();
91 #ifdef USE_COMPILER
92        compiler_init();
93 #endif
93          return true;
94   }
95  
# Line 106 | Line 105 | void Exit680x0(void)
105  
106  
107   /*
108 + *  Initialize memory mapping of frame buffer (called upon video mode change)
109 + */
110 +
111 + void InitFrameBufferMapping(void)
112 + {
113 + #if !REAL_ADDRESSING && !DIRECT_ADDRESSING
114 +        memory_init();
115 + #endif
116 + }
117 +
118 + /*
119   *  Reset and start 680x0 emulation (doesn't return)
120   */
121  
122   void Start680x0(void)
123   {
124          m68k_reset();
125 <        m68k_go(true);
125 >        m68k_execute();
126   }
127  
128  
# Line 122 | Line 132 | void Start680x0(void)
132  
133   void TriggerInterrupt(void)
134   {
135 <        regs.spcflags |= SPCFLAG_INT;
135 >        SPCFLAGS_SET( SPCFLAG_INT );
136   }
137  
138   void TriggerNMI(void)
# Line 169 | Line 179 | void Execute68kTrap(uint16 trap, struct
179          m68k_setpc(m68k_areg(regs, 7));
180          fill_prefetch_0();
181          quit_program = 0;
182 <        m68k_go(true);
182 >        m68k_execute();
183  
184          // Clean up stack
185          m68k_areg(regs, 7) += 4;
# Line 216 | Line 226 | void Execute68k(uint32 addr, struct M68k
226          m68k_setpc(addr);
227          fill_prefetch_0();
228          quit_program = 0;
229 <        m68k_go(true);
229 >        m68k_execute();
230  
231          // Clean up stack
232          m68k_areg(regs, 7) += 2;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines