Subject: Re: multi-tasking on an 8-bit Apple II? Path: lobby!newstf02.news.aol.com!portc01.blue.aol.com!europa.netcrusader.net!144.212.100.101!newsfeed.mathworks.com!intgwlon.nntp.telstra.net!nsw.nnrp.telstra.net!i-liquify-spammers-nightly-Aug2000 From: Lord Apollyon Newsgroups: comp.sys.apple2 Organization: Acheron, Ninth Plane of HELL References: <20000714051258.07709.00000369@ng-cc1.aol.com> <20000714054645.01666.00000364@ng-md1.aol.com> User-Agent: MT-NewsWatcher/3.0 (PPC) X-Face: +R?|:[#c]/]%9L16(Tb"7xV9bSxxWpDG,?X^r X-Warning: Spammers will be disconnected, disembowelled, and eternally damned, in that order. Lines: 40 Message-ID: <6YSh5.13$0o1.974@nsw.nnrp.telstra.net> Date: Wed, 02 Aug 2000 20:44:17 +1000 NNTP-Posting-Host: 203.37.166.137 X-Complaints-To: abuse@telstra.net X-Trace: nsw.nnrp.telstra.net 965213058 203.37.166.137 (Wed, 02 Aug 2000 20:44:18 EST) NNTP-Posting-Date: Wed, 02 Aug 2000 20:44:18 EST In article <20000714054645.01666.00000364@ng-md1.aol.com>, cturley2@aol.com (Cturley2) wrote: > Yes...awfully close - but not yet! Seems nobody has bothered to port it > to the Apple II For it to be possible you MUST have a source for interrupts... and given the "chaotic" nature of Apple // setups, you couldn't be too picky about what which sources you used. Timemaster II H.O., maybe some serial/modem cards, Mockingboards, etc. Context switching could get wicked expensive tho... (recall, a 6502 only has 256 bytes of stack TOTAL)... you might need to "swap out" the stack (or at least a portion of it, if the stack gets close to exhaustion). The second problem to tackle is one of relocatable and/or position independent code. Otherwise you'll run into collisions all over the place. One Z80 flavour of "unix" "cheats" by putting each program into its own 64k "bank" - thereby giving each program it's own complete 64k runtime [actually, 8k of each is reserved for os entry-point/vector code]... Floppy I/O being time-critical and cpu intensive, would make the multitasking burpy - though a carefully purusal of the RWTS code may reveal points where you could enable interrupts briefly... or if you changed it to always slam a disk track into a block cache in a single rotation [like the Franklin DOS did, which always made everything run wicked faster than stock DOS 3.3] [On a cache miss obviously - cache hits would be served out of the block cache] Anyhow... I have seen 8-bit pseudo-UNIX O/S's in operation on Z80s... on one 512KB setup I was amazed - it was ALMOST like the real thing. :) =Rob= -- The reply-to-address is *REAL* and will expire on 0:01 1-September-2000. Spammers: You will lose your network access. Guaranteed. 130 domains, 429 web-accounts, and 662 dialup ISP accounts flushed.