Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!uunet!mcsun!hp4nl!phigate!ehviea!leo From: leo@ehviea.ine.philips.nl (Leo de Wit) Newsgroups: comp.sys.atari.st.tech Subject: Re: Spurious interrupt Message-ID: <885@ehviea.ine.philips.nl> Date: 20 Aug 90 05:53:48 GMT References: <883@ehviea.ine.philips.nl> <1166@uhnix2.uh.edu> Reply-To: leo@ehviea.UUCP (Leo de Wit) Organization: Philips I&E Eindhoven Lines: 56 In article <1166@uhnix2.uh.edu> uace0@uhnix2.UUCP writes: |Leo - | |Just as a guess, sounds like your interrupt is ocurring at the same time you |are attempting to change it. Just some observations: | |1) Be certain your interrupt is restoring any registers it destroys Yep, it is _very_ simple (also in order to have a fast counter): myint add.l #1,counter rte |2) Be certain _not_ to save registers onto the stack, but rather use a static | storage area Does not apply here. |3) If neither one of those help, try masking off interrupts by raising your | ipl to 7 before issuing the xbtimer() call. From what I can see of the | xbtimer() call, it does not touch the ipl when it is initing the mfp, so | you can conceivably be interrupting when you are changing. Altho, the | xbtimer() call does disable the interrupt before changing it... Ah, but the spurious interrupt does indicate problems with the MFP, not with the 68000; if I understand correctly, it generally indicates that a BUSERR occured on a periferal chip. So masking all interrupts shouldn't help (but it won't hurt to give it a try). In your second note: |Also, 24 bombs is not real. Chances are you are getting 2 or 3 bombs (address |error (3 bombs) or BUSSERR bus error (2 bombs)) but repeatedly. In other words, |the system crashes, attempts recovery, crashes again, etc. until it locks up. | |Well, 24 bombs is real, but I've never seen it occur... But it is most definitely exception 24 (spurious interrupt); this is not only indicated by the ST bomb thrower - which occasionally is unreliable - but also the exception save area indicates this. And catching vector 24 and retrying does solve the problem ... B.T.W. thanks for your suggestions, Mike. If someone is still interested, I'll try to cut out a minimal code fragment to hack on. | |- mike | |-- |------------------------------------------------------------------------------ |Double Click Me | Double Click Software | P.O. Box 741206 | Houston, Tx, 77274 |------------------------------------------------------------------------------ |Voice: (713)977-6520 | DC DESKTOP | DC FORMATTER | DC UTILITIES | and others Leo.