6 |
|
* Copyright 1995 Bernd Schmidt |
7 |
|
*/ |
8 |
|
|
9 |
+ |
#ifndef NEWCPU_H |
10 |
+ |
#define NEWCPU_H |
11 |
+ |
|
12 |
|
#define SPCFLAG_STOP 2 |
13 |
|
#define SPCFLAG_DISK 4 |
14 |
|
#define SPCFLAG_INT 8 |
143 |
|
|
144 |
|
static __inline__ void fill_prefetch_0 (void) |
145 |
|
{ |
146 |
+ |
#if USE_PREFETCH_BUFFER |
147 |
|
uae_u32 r; |
148 |
|
#ifdef UNALIGNED_PROFITABLE |
149 |
|
r = *(uae_u32 *)regs.pc_p; |
152 |
|
r = do_get_mem_long ((uae_u32 *)regs.pc_p); |
153 |
|
do_put_mem_long (®s.prefetch, r); |
154 |
|
#endif |
155 |
+ |
#endif |
156 |
|
} |
157 |
|
|
158 |
|
#if 0 |
193 |
|
#if !defined USE_COMPILER |
194 |
|
static __inline__ void m68k_setpc (uaecptr newpc) |
195 |
|
{ |
196 |
+ |
#if REAL_ADDRESSING || DIRECT_ADDRESSING |
197 |
+ |
regs.pc_p = get_real_address(newpc); |
198 |
+ |
#else |
199 |
|
regs.pc_p = regs.pc_oldp = get_real_address(newpc); |
200 |
|
regs.pc = newpc; |
201 |
+ |
#endif |
202 |
|
} |
203 |
|
#else |
204 |
|
extern void m68k_setpc (uaecptr newpc); |
206 |
|
|
207 |
|
static __inline__ uaecptr m68k_getpc (void) |
208 |
|
{ |
209 |
+ |
#if REAL_ADDRESSING || DIRECT_ADDRESSING |
210 |
+ |
return get_virtual_address(regs.pc_p); |
211 |
+ |
#else |
212 |
|
return regs.pc + ((char *)regs.pc_p - (char *)regs.pc_oldp); |
213 |
< |
} |
202 |
< |
|
203 |
< |
static __inline__ uaecptr m68k_getpc_p (uae_u8 *p) |
204 |
< |
{ |
205 |
< |
return regs.pc + ((char *)p - (char *)regs.pc_oldp); |
213 |
> |
#endif |
214 |
|
} |
215 |
|
|
216 |
|
#ifdef USE_COMPILER |
288 |
|
|
289 |
|
extern cpuop_func *cpufunctbl[65536] ASM_SYM_FOR_FUNC ("cpufunctbl"); |
290 |
|
|
291 |
+ |
#endif /* NEWCPU_H */ |