[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: multi-tasking on an 8-bit Apple II?
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.