| 413 |
|
|
| 414 |
case M68K_EMUL_OP_IRQ: // Level 1 interrupt |
case M68K_EMUL_OP_IRQ: // Level 1 interrupt |
| 415 |
r->d[0] = 0; |
r->d[0] = 0; |
| 416 |
|
|
| 417 |
if (InterruptFlags & INTFLAG_60HZ) { |
if (InterruptFlags & INTFLAG_60HZ) { |
| 418 |
ClearInterruptFlag(INTFLAG_60HZ); |
ClearInterruptFlag(INTFLAG_60HZ); |
| 419 |
if (HasMacStarted()) { |
if (HasMacStarted()) { |
| 422 |
ADBInterrupt(); |
ADBInterrupt(); |
| 423 |
TimerInterrupt(); |
TimerInterrupt(); |
| 424 |
VideoInterrupt(); |
VideoInterrupt(); |
|
SonyInterrupt(); |
|
|
DiskInterrupt(); |
|
|
CDROMInterrupt(); |
|
| 425 |
|
|
| 426 |
// Call DoVBLTask(0) |
// Call DoVBLTask(0) |
| 427 |
if (ROMVersion == ROM_VERSION_32) { |
if (ROMVersion == ROM_VERSION_32) { |
| 433 |
r->d[0] = 1; // Flag: 68k interrupt routine executes VBLTasks etc. |
r->d[0] = 1; // Flag: 68k interrupt routine executes VBLTasks etc. |
| 434 |
} |
} |
| 435 |
} |
} |
| 436 |
|
|
| 437 |
|
if (InterruptFlags & INTFLAG_1HZ) { |
| 438 |
|
ClearInterruptFlag(INTFLAG_1HZ); |
| 439 |
|
|
| 440 |
|
if (HasMacStarted()) { |
| 441 |
|
SonyInterrupt(); |
| 442 |
|
DiskInterrupt(); |
| 443 |
|
CDROMInterrupt(); |
| 444 |
|
} |
| 445 |
|
} |
| 446 |
|
|
| 447 |
if (InterruptFlags & INTFLAG_SERIAL) { |
if (InterruptFlags & INTFLAG_SERIAL) { |
| 448 |
ClearInterruptFlag(INTFLAG_SERIAL); |
ClearInterruptFlag(INTFLAG_SERIAL); |
| 449 |
SerialInterrupt(); |
SerialInterrupt(); |
| 450 |
} |
} |
| 451 |
|
|
| 452 |
if (InterruptFlags & INTFLAG_ETHER) { |
if (InterruptFlags & INTFLAG_ETHER) { |
| 453 |
ClearInterruptFlag(INTFLAG_ETHER); |
ClearInterruptFlag(INTFLAG_ETHER); |
| 454 |
EtherInterrupt(); |
EtherInterrupt(); |
| 455 |
} |
} |
| 456 |
|
|
| 457 |
if (InterruptFlags & INTFLAG_AUDIO) { |
if (InterruptFlags & INTFLAG_AUDIO) { |
| 458 |
ClearInterruptFlag(INTFLAG_AUDIO); |
ClearInterruptFlag(INTFLAG_AUDIO); |
| 459 |
AudioInterrupt(); |
AudioInterrupt(); |