Re: USB Stick on c-64 tape port?

From: Marko Mäkelä (
Date: 2008-03-06 08:57:42

On Wed, Mar 05, 2008 at 11:20:23PM +0100, Anders Carlsson wrote:
> Jim Brain wrote:
>> I think he wants to use the tape port exclusively.
> Um, yes. After all, how would an USB stick device on the tape port
> work? Would you implement the special LOAD"$",1 to get a directory
> from the USB stick and then load named files?

Like I wrote in the message that Jim replied to, the device that is
attached to the tape port could serve an auto-starting loader first.
The user would power up the computer and immediately press SHIFT+STOP
in order to start the loading process.

As an improvement to my original idea, it is not strictly necessary
to have an extra input to the device.  It could keep serving the loaders
in a round-robin fashion (e.g., C64, VIC-20, C16, C128, PET) until the
computer gives a special signal that indicates that the loader has
started.  The loader would implement a special protocol that allows
random access to the file system.

If the CASS WRITE signal on the VIC-20 weren't connected to the keyboard
matrix, the special signal could simply be CASS WRITE.

I don't think that this would fit in a ATtiny2313.  Perhaps a larger AVR
device would be more appropriate?  It could even serve as a CompactFlash
or IDE interface.  But I'm not sure if it is worth the effort.  The
major disadvantage is incompatibility with lots of existing software.

The only advantage of this over the serial bus based solutions is that it
would work on any Commodore that is equipped with a tape port.  (Okay,
except the B series, whose KERNAL lacks tape routines.)

> I don't know so much about the technicalities, but is anything preventing
> you from creating a "tape" device that works pretty much like a floppy
> drive, i.e. does the IEC bus have any special magic in that respect?

You'd have to be careful about the CASS READ line.  It is connected to
the CIA -FLAG input on many models.  When the C64 KERNAL reads the CIA
status register ($dc0d, $dd0d) and does not store the result, you won't
know afterwards if a falling edge was received on -FLAG.  The 6522 VIA
does not have this problem, because you have to explicitly reset the
status bits there.


       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.