1 |
|
/* |
2 |
|
* emul_op.cpp - 68k opcodes for ROM patches |
3 |
|
* |
4 |
< |
* SheepShaver (C) 1997-2002 Christian Bauer and Marc Hellwig |
4 |
> |
* SheepShaver (C) 1997-2004 Christian Bauer and Marc Hellwig |
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 |
267 |
|
#endif |
268 |
|
|
269 |
|
// Patch DebugStr() |
270 |
< |
static const uint8 proc[] = { |
271 |
< |
M68K_EMUL_OP_DEBUG_STR >> 8, M68K_EMUL_OP_DEBUG_STR & 0xff, |
272 |
< |
0x4e, 0x74, // rtd #4 |
273 |
< |
0x00, 0x04 |
270 |
> |
static const uint16 proc[] = { |
271 |
> |
PW(M68K_EMUL_OP_DEBUG_STR), |
272 |
> |
PW(0x4e74), // rtd #4 |
273 |
> |
PW(0x0004) |
274 |
|
}; |
275 |
|
WriteMacInt32(0x1dfc, (uint32)proc); |
276 |
|
break; |
307 |
|
#if !PRECISE_TIMING |
308 |
|
TimerInterrupt(); |
309 |
|
#endif |
310 |
– |
#if EMULATED_PPC |
310 |
|
ExecuteNative(NATIVE_VIDEO_VBL); |
312 |
– |
#else |
313 |
– |
ExecutePPC(VideoVBL); |
314 |
– |
#endif |
311 |
|
|
312 |
|
static int tick_counter = 0; |
313 |
|
if (++tick_counter >= 60) { |
325 |
|
} |
326 |
|
if (InterruptFlags & INTFLAG_ETHER) { |
327 |
|
ClearInterruptFlag(INTFLAG_ETHER); |
332 |
– |
#if EMULATED_PPC |
328 |
|
ExecuteNative(NATIVE_ETHER_IRQ); |
334 |
– |
#else |
335 |
– |
ExecutePPC(EtherIRQ); |
336 |
– |
#endif |
329 |
|
} |
330 |
|
if (InterruptFlags & INTFLAG_TIMER) { |
331 |
|
ClearInterruptFlag(INTFLAG_TIMER); |