Path: utzoo!mnetor!uunet!husc6!hao!oddjob!sphinx!cute From: cute@sphinx.uchicago.edu (John Robert Cavallino) Newsgroups: comp.sys.atari.st Subject: Re: Multi-tasking? A nightmare... Message-ID: <2981@sphinx.uchicago.edu> Date: 23 Dec 87 02:28:27 GMT References: <2168@crash.cts.com> <3256@umn-cs.cs.umn.edu> <2007@chinet.UUCP> Reply-To: cute@sphinx.uchicago.edu.UUCP (John Robert Cavallino) Organization: The Institute for Putting Things On Top of Other Things Lines: 57 Keywords: Macintosh async IO In article <2007@chinet.UUCP> dag@chinet.UUCP (Daniel A. Glasser) writes: [stuff deleted] >Terminal emulation. [discussion of how the VT100 uses multitasking deleted] >On the ST, most terminal emulators do this by checking for keystrokes >and incomming characters alternately, and processing them as they get >them, so if a sequence received from the serial line takes a long time >to process (say, split-screen jump scrolling), the characters typed at >the keyboard are not processed until that process completes, meanwhile >the host sending these characters has continued with what it was doing, >and the abort command (^C?) that you sent to the host gets there too late. >This is better handled using multi-tasking, though async. I/O with completion >routines (ala RT-11) or "unsolicited character AST" (software traps on >character reception) and timer routines (ala RSX-11M) are reasonable >substitutes, but these are not available on the ST, Amiga, Mac, MD-DOS, ^^^ >most UNIX-like systems, or most other personal scale machines. Sorry, but the Macintosh IO system fully supports async IO with completion routines. The only problem is that completion routines run at the interrupt level (Memory Manager calls not allowed) so you have to pre-allocate storage. You could also install a "listener" procedure (really a daemon, I guess) into the vertical retrace queue, which would then get called every 1/60 second (between video frames) and could take care of sucking chars in off of the port. There's even a device-independent millisecond timer manager if you need it. > This is NOT cross posted to comp.sys.amiga, since every time I > cross post to there, someone flames me for being closed minded > about the Amiga and then proceeds to be closed minded about the > Atari ST. I'm not up to a flame-fest, so I'm posting only to > "friendly" territory. ^^^^^^^^^^ But how can you be sure that Others (like me) aren't spying?? :-) :-) :-) i n e w s l i n e s -- ...ihnp4!gargoyle!sphinx!cute --John Cavallino The train is the same, only the time is changed. Ecce homo, ergo elk.