Path: utzoo!mnetor!uunet!portal!atari!apratt From: apratt@atari.UUCP (Allan Pratt) Newsgroups: comp.sys.atari.st Subject: Re: Video interrupts: using or disabling Message-ID: <1012@atari.UUCP> Date: 11 Mar 88 18:09:32 GMT References: <2509@tekig5.TEK.COM> Organization: Atari Corp., Sunnyvale CA Lines: 34 From article <2509@tekig5.TEK.COM>, by wayneck@tekig5.TEK.COM (Wayne Knapp): > In article <3379@chinet.UUCP>, saj@chinet.UUCP (Stephen Jacobs) writes: >> I am curious about the horizontal and vertical blank interrupts. How much >> code can one safely put in a horizontal blank routine? >> appears to be a flag telling the default vertical blank handler to cut its >> operation short: what awful thing (if any) would happen if the interrupt >> threshold was simply set above the vertical blank level? > Just too much overhead > to try and handle a iterrupt every 64.5 usec. > Wayne Knapp If you disable vblank (i.e. run at IPL 7), the mouse and blinking cursor will stop, and the floppy motor won't shut off if it's on. That's about all -- no great bloody crashes. I run this way when remote debugging sometimes and it works fine. Oh, but if you move the mouse at IPL 7, the keyboard packet handler will get out of sync and you may not be able to recover. Sorry. You can stop the vblank handler by setting the variable 'vblsem' to 0 (it's address 0x452 word). I believe that there is still a counter running, and when you unblock vblsem the vblank routines get hit as many times as there were blocked vblanks. Not sure about that. When the ST was running at IPL 0, and the Hblank routine was just RTE, we saw 25% performance degradation as compared with running at IPL 3 (no Hblanks). On the other hand, NEO and Spectrum do stuff at Hblank... It's not impossible, just hard. ============================================ Opinions expressed above do not necessarily -- Allan Pratt, Atari Corp. reflect those of Atari Corp. or anyone else. ...ames!atari!apratt