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

Comparing BasiliskII/src/emul_op.cpp (file contents):
Revision 1.32 by gbeauche, 2005-01-30T21:42:13Z vs.
Revision 1.35 by gbeauche, 2006-04-30T21:16:48Z

# Line 236 | Line 236 | void EmulOp(uint16 opcode, M68kRegisters
236  
237                          // Install PutScrap() patch
238                          M68kRegisters r;
239 <                        r.d[0] = 0xa9fe;
240 <                        r.a[0] = PutScrapPatch;
241 <                        Execute68kTrap(0xa647, &r);             // SetToolTrap()
239 >                        if (PutScrapPatch) {
240 >                                r.d[0] = 0xa9fe;
241 >                                r.a[0] = PutScrapPatch;
242 >                                Execute68kTrap(0xa647, &r);     // SetToolTrap()
243 >                        }
244  
245                          // Install GetScrap() patch
246                          if (GetScrapPatch) {
# Line 353 | Line 355 | void EmulOp(uint16 opcode, M68kRegisters
355                          break;
356  
357                  case M68K_EMUL_OP_ETHER_READ_PACKET:
358 <                        EtherReadPacket((uint8 **)&r->a[0], r->a[3], r->d[3], r->d[1]);
358 >                        EtherReadPacket(r->a[0], r->a[3], r->d[3], r->d[1]);
359                          break;
360  
361                  case M68K_EMUL_OP_SOUNDIN_OPEN:         // Sound input driver functions
# Line 555 | Line 557 | void EmulOp(uint16 opcode, M68kRegisters
557                          r->d[0] = DebugUtil(r->d[0]);
558                          break;
559  
560 +                case M68K_EMUL_OP_IDLE_TIME:    // SynchIdleTime() patch
561 +                        // Sleep if no events pending
562 +                        if (ReadMacInt32(0x14c) == 0)
563 +                                idle_wait();
564 +                        r->a[0] = ReadMacInt32(0x2b6);
565 +                        break;
566 +
567                  default:
568                          printf("FATAL: EMUL_OP called with bogus opcode %08x\n", opcode);
569                          printf("d0 %08x d1 %08x d2 %08x d3 %08x\n"

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines