Path: utzoo!mnetor!uunet!husc6!bbn!uwmcsd1!ig!jade!saturn!ssyx!koreth From: koreth@ssyx.ucsc.edu (Steven Grimm) Newsgroups: comp.sys.atari.st Subject: Re: Multitasking?? Message-ID: <1479@saturn.ucsc.edu> Date: 23 Dec 87 17:35:57 GMT References: <8712221448.AA21644@ucbvax.Berkeley.EDU> <39@lzaz.ATT.COM> Sender: usenet@saturn.ucsc.edu Reply-To: koreth@ssyx.ucsc.edu (Steven Grimm) Organization: The American Redundancy Society of America Lines: 21 In article <39@lzaz.ATT.COM> bds@lzaz.ATT.COM (BRUCE SZABLAK) writes: >Frankly, if the BIOS was written re-enterantly, there would be >little difficulty in adding multitasking. It could be done for >those who use it, and those who didn't could ignore it. The ST's BIOS is re-entrant. GEMDOS is not. (I have a multiuser BBS system to prove it...) You just have to make sure that each task has its own BIOS register save area. That took me a while to figure out -- basically you switch the BIOS stack pointer in your task-switching routine, as well as the user stack pointer and all the registers. Multitasking on the ST is actually fairly trivial, as long as you don't try to use Pexec() or Pterm(). I'm working on rewriting both of those right now for the background Xmodem accessory in ST-Talk Professional. +New! Improved! Now 100% Artificial-+-+-----------------------------------+ |# # @@@ **** &&&&& $$$$$ % %| |Steven Grimm | |# # @ @ * * & $ % %+-+ ARPA: koreth@ucscb.ucsc.edu | |### @ @ **** &&&& $ %%%%%| | UUCP: ...!ucbvax!ucscc!ssyx!koreth| |# # @ @ * * & $ % %+-+ ______________________________| |# # @@@ * ** &&&&& $ % %| | |"Let's see what's out there."| +-----with NutraSour(TM)! No natural colors or preservatives!------------+