Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!sdd.hp.com!wuarchive!uunet!mcrware!erik From: erik@mcrware.UUCP (Erik Johnson) Newsgroups: comp.sys.atari.st.tech Subject: Re: Vertical Blank routines Message-ID: <6862@mcrware.UUCP> Date: 12 Jun 91 15:20:05 GMT References: <79358@eerie.acsu.Buffalo.EDU> Reply-To: erik@mcrware.UUCP (Erik Johnson) Organization: Microware Systems Corp., Des Moines, Iowa Lines: 30 In article <79358@eerie.acsu.Buffalo.EDU> chu@acsu.buffalo.edu (john c chu) writes: >Can someone mail me the dos and don'ts of using routines that run >every vertical blank? If the Abacus ST Internals is accurate in this >case, I think I know how to install a routine. However, I'd like to >know if it is ok to call an XBIOS routine during that time, what the >maximum length a routine should be and so on... > Down these same lines, does anyone know what the OS entries in the VB queue are used for (I know there are many different versions of TOS, but their function may be similar). If I make my VBI the only entry, then I can get 130,000 cycles of processing time during each VBI. Of course using this much processor time during each interrupt means that your main CPU process is running with very little processor time. Somewhere during that 130k cycles the next screen refresh is already taking place, so don't count on the screen refresh to wait until your VBI is over. Another question. From my experimentations, I have found that it is possible to have very long VBI interrupts (perhaps a 2 second interrupt). Think of this as a one time interrupt. Now during this way-long interrupt, is it true that no more VBIs are processed until it is over? Also, is the main process halted completely while it is running? If anyone is interested, I have a tiny assembly routine that will install a VBI, and another to restore the old entries. If a few people are interested I will post it (very short, but I don't have it with me at the moment). Later, Erik R Johnson