[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.