Pat,
Now I'll really get into trouble by trusting my infamously poor memory.
I played with a plug-in 6809 processor for Apple ]['s. I used it mostly for
a faster Apple Pascal P-System but there also was an OS9 implementation that
did the context switching to which you referred.
Where my memory comes in is that I recall someone implementing OS9 on
Apple ][e (?) with original 6502 only. That would imply they implemented the
onerous but livable context switching overhead mentioned.
Trying to recall from my BIX (Bytemag Information eXchange
teleconferencing system) days who was Mr. OS9. Maybe my fellow BIX moderator
Steve Ciarca (sp?) of Ciarca's Cellar fame.
Have fun and let us know how you do. - Jim
Jim Keohane, Multi-Platforms, Inc.
"It's not whether you win or lose. It's whether you win!"
----- Original Message -----
From: "Patrick Finnegan" <pat(a)purdueriots.com>
To: <cctalk(a)classiccmp.org>
Sent: Saturday, February 08, 2003 16:41
Subject: Designing around a 6502 (was Re: Assembly on a Apple IIc+)
On Sat, 8 Feb 2003, Jim Keohane wrote:
=====excerpt=2======================
A 6502 task context
would therefore require moving about 1KB, which would take about 4,500
instructions (at one instruction per cycle.) On a circa-1980's machine,
with a 1MHz clock, that would take about 4.5 msec.
This gives me awfully devious ideas... First, were there any 'multitasking
machines' designed around the 6502? If you wanted to do multitasking, it
seems like you could design a fairly simple MMU that would swap out the
zero-page and stack (or all of the memory pages) for different ones,
depending on the running task. Leaving only a few registers that need to
be saved, it would leave a very small overhead for task swapping. You
could even implement kernel and user mode into the MMU, making it swap
pages automatically on an interrupt or 'memory write' to signal a syscall
(and a swapping of pages, interrupt to the CPU and transition to 'kernel
mode').
I think I'm going to need to start playing with designing a 6502-based
machine now... Or maybe I should just get back to working on putting
machines into racks so I have some floorspace around here to work in.
Pat
--
Purdue Universtiy ITAP/RCS
Information Technology at Purdue
Research Computing and Storage
http://www-rcd.cc.purdue.edu