[comp.sys.atari.st] interrupts... fixed

U46050@UICVM.BITNET (JOHN ZAFIRIS) (10/22/88)

Thanks to all who responded to my request for interrupt information.
It was very much appreciated and very helpful.

It was noted that if the interrupts are off for more than 3ms the system might
get messed up.  I tried to find out exactly how long the system would tolerate
life without interrupts so I shut them off (while in supervisor mode by the
following instruction: move.w #$2700,sr) and performed an empty loop in machine
code.  When the loop finishes its thing, the interrupts are turned on by
move.w #$2000,sr (I know... mask only the bits you want, restore to original
value... this is only a test) and the program says it's finished and exits.
The first loop lasted less than 3ms and the program ran fine and exited to the
calling shell without incident.  I then made the loop run longer: about 30sec.
I expected the machine to hang like it had before but it DID NOT.  IT WORKED!!!
I was a bit dazed but recovered my composure and quickly (before the Gremlin
could come back) modified the program that had been giving me trouble and tried
it out.  This time it worked!  If worked flawlessly and repeatedly soNow I felt
confidant and decided to tempt fate and (while the program ran) move the mouse,
hit a buch of keys etc.  The computer did not freeze up.

I am still perplexed because this is the way I first tried it and it did not
work then... but it works now and, while perplexed, I am happy and transfering
data with that routine at a >50KB/s clip.

Again, thanks to all and your help and information...                ...John