Designing around a 6502 (was Re: Assembly on a Apple IIc+)

From: Patrick Finnegan <>
Date: Mon Feb 10 22:47:01 2003

On Mon, 10 Feb 2003, Dwight K. Elvey wrote:

> Hi
> There was some software multitasking done on 6502's, as well
> as other machines. This was done in Forth ( both preemptive

Yes, I figured that much, but I meant some sort of hardware multitasking,
with an MMU like Sun did on MC68k systems. Are there any 6502-based
machines that used an MMU for hardware-based multitasking?

Purdue Universtiy ITAP/RCS
Information Technology at Purdue
Research Computing and Storage
> >From: "Patrick Finnegan" <>
> >
> >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
> >
Received on Mon Feb 10 2003 - 22:47:01 GMT

This archive was generated by hypermail 2.3.0 : Fri Oct 10 2014 - 23:35:54 BST