TransWikia.com

Were any M68000 systems capable of generating a "spurious interrupt"?

Retrocomputing Asked on December 23, 2021

When an interrupt occurs on a Motorola 68000-family processor, it enters an interrupt acknowledge state, which continues until one of three signals are asserted:

  • An external device places the intended exception vector number on the data bus, and then asserts the DTACK# (68010 or earlier) or DSACK0-1# (68020 or later) signal.

  • The VPA# (68010 or earlier) or AVEC# (68020 or later) signal is asserted, which tells the processor to automatically calculate the exception vector number from the interrupt priority level.

  • The BERR# signal is asserted, which indicates a "spurious interrupt". Presumably, this is supposed to indicate that an interrupt was generated (possibly by electrical noise on an interrupt line), but no peripheral is claiming responsibility for the interrupt.

Did any commercially-available M68k system have hardware that was capable of generating a spurious interrupt?

(I am asking about the presence of hardware capable of generating the signal, not software that could handle such an exception.)

2 Answers

You can actually generate a "spurious interrupt" condition on the Atari ST with its MFP (68901) - Not on purpose, but rather because of a glitch in the Motorola 68901 - If you disable interrupts on the MFP exactly at the point when the CPU starts an IACK cycle (i.e with the last instructions before the /INT), it will not provide a vector, the CPU will run into the "Spurious interrupt" condition.

This has apparently been mis-used (exploited?) in various ST demos.

Answered by tofro on December 23, 2021

The original Mac used BERR for the "Programmers Switch", which was a small switch that could be installed (well, the switch was always there, but access to the switch could be installed). The Programmers Switch had two buttons: the interrupt button, and the reset button. Reset is pretty obvious, the Interrupt button was designed to be patched in to with a debugger, so that the developer could stop the current program and inspect it.

Out of the box, I honestly don't recall what it did anymore. It wasn't a monitor, may have been a simple dialog box to restart the machine. But with an actual debugger installed, it kicked you right to the command prompt.

Addenda:

Good heavens.

enter image description here

This is a screen grab from https://museo.freaknet.org/gallery/apple/stuff/mac/andreas.kann/MacPlus1.GIF

Which, admittedly, is apparenlty a Mac Plus schematic, not the 128K schematic. So I can't speak with any authority about the 128K (though honestly, whatever changes are between the 128K and Mac Plus, I'm guessing they're not in the programmers switch).

As should be clear from this schematic, pins 22 and 23 are wired to SW1 (cleverly labeled "INTERRUPT"). While the schematic is fuzzy on the pin labels, it's not fuzzy on the pin numbers. Pin 23 is /IPL2, Pin 22 is BERR (according to other documentation).

So I guess this can be interpreted however one wants, but sure looks like early Mac uses BERR in the process of the behavior of the "Programmers Switch". Why it would use both, I can't speculate.

Answered by Will Hartung on December 23, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP