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

From: Jim Keohane <jimkeo_at_multi-platforms.com>
Date: Sat Feb 8 17:40:01 2003

Pat,

    I wrote some 6502 assembler to handle Hayes Micromodem (300 baud speed
demon) on an interrupt, not polling, basis. Also wrote a minimalist
"messaging" functionality to send one-liner messages between Apple ]['s on a
Corvus network. Both the Hayes micromodem and the Corvus card could be
jumpered or soddered to generate interrupts. Then you set the appropriate
vector to point to your interrupt handler 6502 routine and enable
interrupts.

    That means you could have multi-tasking on 6502's both cooperative and
preemptive.

Hmmmm. So you boot OS9 and run a ported Hercules IBM mainframe emulator (in
C) and really destroy some folks' hold on reality. {giggle} - 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_at_purdueriots.com>
To: <cctalk_at_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
Received on Sat Feb 08 2003 - 17:40:01 GMT

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