Re: C64 cluster

From: Marko Mäkelä (msmakela_at_gmail.com)
Date: 2007-11-06 21:18:43

On Tue, Nov 06, 2007 at 07:00:09PM +0100, Anders Carlsson wrote:
> Jim Brain wrote:
>
>> Sellam wishes to have a cart he can plug into the machines so they do not 
>> have to be booted by hand.  Thus, they'll be a cart there anyway.
>
> How about using the tape connector? Booting the software then is just a
> matter of pressing SHIFT + RUN/STOP.

Or even activating SHIFT LOCK and placing some weight on the STOP key,
so that it will start automatically.

Before saying that it is too slow, note that the c2nload utility written
by me (http://www.iki.fi/~msmakela/8bit/c2n232/software/) loads 192+2 bytes
by the usual means and auto-starts a fastloader in the 192-byte tape header.
I don't remember exact figures, but the loader should be transferred and
started in 10 to 15 seconds.  It could be even faster if you made an
intentional load error (missing second copy) and reduced the number of
initial sync pulses.  The rest will be loaded at 38400 bps (the RS-232
line being the bottleneck).  The top speed of my protocol on the C64 should
be around 7 kilobytes per second.

Some ATtiny microcontroller should be enough for implementing the protocols
(loading the fastloader, and the fastloader protocol).  However, you will
probably need at least 8 kilobytes of memory for storing the all software
(for the microcontroller, the C64 fastloader, and the C64 payload).  I'd
probably pick some 8-kilobyte device from the ATtiny series and try to
cram the software there.  That should be enough for loading the
clustering protocols to the C64.  The actual parallel program would be
distributed over the cluster network from one of the nodes.  For the
network, I would consider using the user port, as Ruud suggested.

I did consider implementing a C2N2332 (C2N232+MMC = C2N232+2100), a
variant of the C2N232 that would load programs from a MultiMediaCard
independently of a PC, but I abandoned the idea, because I could not
think of a way to implement a multi-platform loader.  (The C2N2332
would have had to deliver a universal loader to the Commodore without
knowing if it is a PET or a C64 or whatever.  With C2N232 and c2nload,
you will have to specify the model of the computer.)  Of course, in this
cluster application, you can assume a fixed loader.

However, given that it may be hard to source user port and cassette port
connectors, it could be easier to build a cartridge that hosts both the
clustering software (I'd use Flash ROM) and the interface.  I'd use a
bus-type interface that driven by a chip that is easy to interface to
the 6502.  Not necessarily anything from the 65xx or 68xx series, but
perhaps something more modern.  Maybe some I2C or SPI bus, or even
Ethernet (http://www.dunkels.com/adam/tfe/hardware.html).  However, I
think that a solution involving the cassette port and the user port
would be more "pure", using as much original hardware as possible
(only one added IC, and nothing added to the CPU bus).

	Marko

PS: Please pass my greetings to Sellam.  I met him in 1998 and saw his
impressive collection at his home.

       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.