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

Comparing SheepShaver/src/emul_op.cpp (file contents):
Revision 1.1 by cebix, 2002-02-04T16:58:13Z vs.
Revision 1.2 by gbeauche, 2003-09-07T14:33:51Z

# Line 67 | Line 67 | static uint32 *MakeExecutableTvec;
67  
68   void EmulOp(M68kRegisters *r, uint32 pc, int selector)
69   {
70
70          D(bug("EmulOp %04x at %08x\n", selector, pc));
71          switch (selector) {
72                  case OP_BREAK:                          // Breakpoint
# Line 271 | Line 270 | void EmulOp(M68kRegisters *r, uint32 pc,
270   #endif
271  
272                          // Patch DebugStr()
273 <                        static const uint16 proc[] = {
274 <                                M68K_EMUL_OP_DEBUG_STR,
275 <                                0x4e74,                 // rtd  #4
276 <                                0x0004
273 >                        static const uint8 proc[] = {
274 >                                M68K_EMUL_OP_DEBUG_STR >> 8, M68K_EMUL_OP_DEBUG_STR & 0xff,
275 >                                0x4e, 0x74,                     // rtd  #4
276 >                                0x00, 0x04
277                          };
278                          WriteMacInt32(0x1dfc, (uint32)proc);
279                          break;
# Line 311 | Line 310 | void EmulOp(M68kRegisters *r, uint32 pc,
310   #if !PRECISE_TIMING
311                                          TimerInterrupt();
312   #endif
313 + #if EMULATED_PPC
314 +                                        ExecuteNative(NATIVE_VIDEO_VBL);
315 + #else
316                                          ExecutePPC(VideoVBL);
317 + #endif
318  
319                                          static int tick_counter = 0;
320                                          if (++tick_counter >= 60) {
# Line 329 | Line 332 | void EmulOp(M68kRegisters *r, uint32 pc,
332                                  }
333                                  if (InterruptFlags & INTFLAG_ETHER) {
334                                          ClearInterruptFlag(INTFLAG_ETHER);
335 + #if EMULATED_PPC
336 +                                        ExecuteNative(NATIVE_ETHER_IRQ);
337 + #else
338                                          ExecutePPC(EtherIRQ);
339 + #endif
340                                  }
341                                  if (InterruptFlags & INTFLAG_TIMER) {
342                                          ClearInterruptFlag(INTFLAG_TIMER);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines