Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!mailrus!ames!amdcad!sun!pitstop!sundc!seismo!uunet!mcvax!unido!laura!trillian.irb!cgw From: cgw%trillian.irb@unido.uucp (Natuerlich!) Newsgroups: comp.sys.atari.st Subject: Re: Interrupts, Interrupts, Interrupts. Summary: Overkill Message-ID: <663@laura.UUCP> Date: 19 Oct 88 11:04:14 GMT References: <8810181052.AA28587@ucbvax.Berkeley.EDU> Sender: root@laura.UUCP Reply-To: cgw%trillian.irb@unido.UUCP (Natuerlich!) Organization: Natuerlich!'s Software Vault #9 - Location UNI-DO Lines: 24 In article <8810181052.AA28587@ucbvax.Berkeley.EDU> U46050@UICVM.BITNET (JOHN ZAFIRIS) writes: >Hello all. I have run accross a bit of a problem in shutting off >interrupts on the ST and surviving when I turn them back on. [ Deleted text] >The routine is entirely in machine code. I shut off all interrupts by: >move.w #$2700,sr. This works great and my program does its thing without >any problem but when turning the interrupts on again by: move.w #$2000,sr >or move.w #$2300,sr and returning to the shell, the machine freezes up. >No mouse, no keyboard response, no blinking cursor. [ Other futile attempts deleted ] Of course the first thought I have is that "The routine entirely written in ML" might be your problem. Try replacing it with a big loop that takes ~5 Minutes. Why 5 Minutes ? Why not... Anyway there shouldn't be any problems with short uninterrupted code-pieces. To be really safe from any interference. I'd suggest that you pretty much clean the MFP (sp?) and unmask all IRQs. Restore only the mask and forget about restoring the pending IRQs. Ignore them. I assure you: It can be done. /----------------------------------------------------------------\ // \\ | Georg Wallmann (Natuerlich!) cgw%trillian.irb@unido.uucp | | ...uunet!unido!cgw |