Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!swrinde!zaphod.mps.ohio-state.edu!sunybcs!uhura.cc.rochester.edu!rochester!rit!cci632!tvf From: tvf@cci632.UUCP (Tom Frauenhofer) Newsgroups: comp.sys.apple2 Subject: Re: System programming for the Apple II (preferably the IIe) Message-ID: <34912@cci632.UUCP> Date: 7 Mar 90 14:33:46 GMT References: <6673@hydra.gatech.EDU> <7368@latcs1.oz.au> Reply-To: tvf@ccird7.UUCP (Tom Frauenhofer) Organization: Computer Consoles Inc. an STC Company, Rochester, NY Lines: 28 In article <7368@latcs1.oz.au> stephens@latcs1.oz.au (Philip J Stephens) writes: > First of all, remember that Unix is multitasking, whereas the Apple IIe is >not! You'd have to modify the C sources quite drastically to get a single Some points: 1) AT&T V6 Unix ran in 64K. Modern Unix's are notorious pigs, but it wasn't always that way. 2) You can do multitasking on just about any box. At worst, you have to have the tasks periodically invoke the kernel. You could hide this complication by having the compiler insert an occasional "call-scheduler" routine. If you have a timer interrupt, this requirement goes away - just have your scheduler wake up every interrupt. Once you have a mechanism to jump from task to task, the rest can be done (loading tasks, VM, etc.). The hardware can provide mechanisms to simplify (and speed up) these features, but just because it isn't there doesn't mean you can't do it. In fact, a friend of mine once showed me a "stupid" multi-tasker that ran on an apple II+. It was written in assembler, and I thought it was pretty hot (it only took up a couple of K of memory, too). I don't think he could run much pre-existing stuff, but he didn't care. If you want it, you can have it. Thomas V. Frauenhofer ...!rutgers!rochester!kodak!swamps!!frau!tvf *or* ...!uunet!atexnet!kodak!swamps!frau!tvf (tvf@frau, tvf@cci632) "What's a gourmand? I'll tell you, he's a P-I-G pig!" - Justin Wilson