Hardware

DC2N

To filter my WordPress.com blog entries on this subject click here.

For a long time I have been contributing to the preservation of Commodore 64 tapes, through the study of commercial turbo loaders, in an attempt to automate the verification of data integrity of tape backups: this includes productivity and educational software along with computer games.

Since 2006 I’ve also provided collectors, preservers, and enthusiasts in general with “DC2N”, which stands for Dumping C2N, possibly the very first hardware capable of making digital backups of tapes without the interference of the operating system or file system of a host computer.

As well as providing the DC2N hardware, I’ve kept focus on the development of software to automate the verification of data integrity, TAPClean (a fork of the opensource version of FinalTAP), and of the front-end software that, together with TAPClean, provides the ultimate tape image inspection/auto-repairing solution: TAPClean Front End.

DC2N version 1

The DC2N can be used for three purposes:

  • make backups of PET, Commodore 64/128, Vic20, C16/+4, Spectrum, BBC, MSX, and Spectravideo tapes (including using both signal edges, a.k.a. halfwaves);
  • record from a PET, C64/128, VIC20 (with a third party adapter C16 is supported as well); and
  • playback v0 and v1 TAP files to PET, C64/128, VIC20 (with a third party adapter C16 is supported as well).
DC2N: just finished backing up a tape by Luigi Di Fraia

DC2N: just finished backing up a tape

Due to the increasing difficulty to acquire suitable SD cards for use with the DC2N in order to dump tapes, I worked at version 2, 3, 4, and version 5 of the DC2N.

  • DC2N2 uses micro SD/SDHC cards as storage media;
  • DC2N3 uses USB flash drives;
  • DC2N4 simply communicates to a PC/MAC through a USB connection (a host application is used to save data to disk);
  • DC2N5 is essentially similar to DC2N2 but runs on a faster micro-controller that also offers more room for future expansion.

DC2N version 2

This device can be used for three purposes:

  • make backups of PET, Commodore 64/128, Vic20, C16/+4, Spectrum, BBC, MSX, and Spectravideo tapes (including using both signal edges, a.k.a. halfwaves);
  • record from a PET, C64/128, VIC20 (with a third party adapter C16 is supported as well); and
  • playback v0, v1, and v2 TAP files to PET, C64/128, VIC20 (with a third party adapter C16 is supported as well, which is the one that would benefit from the support of v2 TAP files).
DC2N2-mini: dumping a tape by Luigi Di Fraia

DC2N2-mini: dumping a tape

Stress tests carried out in January 2014 with a SanDisk 16 GB SDHC clearly show that it is possible to reliably make dumps of tapes that use turbo loaders even when sampling “half waves”!

DC2N version 3

DC2N3 is a backup-only solution that creates PET, Commodore 64, VIC20, Commodore 16/+4, Spectrum, BBC, MSX, and Spectravideo tape backups on USB flash-drives.
Although the functionality to playback tape images into supported Commodore home-computers was developed, it is not practical to fit the tape port connector on the current assembly so that feature is not available.

DC2N3: just started by Luigi Di Fraia

DC2N3: just started

DC2N version 4

DC2N4 is a backup-only solution that creates PET, Commodore 64, VIC20, Commodore 16/+4, Spectrum, BBC, MSX, and Spectravideo tape backups on PCs running Windows or Linux.

DC2N4 by Luigi Di Fraia

DC2N4

DC2N version 4 Low Cost

DC2N4-LC is a low cost alternative to DC2N4 which uses a standard USB Serial connection to a PC.

DC2N4-Low Cost by Luigi Di Fraia

DC2N4-Low Cost

DC2N4-LC GTK+ GUI client: filename interceptor by Luigi Di Fraia

DC2N4-LC GTK+ GUI client: filename interceptor

DC2N version 5 Low Cost

DC2N5-LC is the last member of the DC2N family, based on a 32-bit ARM MCU, and is a low-cost alternative to DC2N version 2.

This device can be used for three purposes:

  • make backups of PET, Commodore 64/128, Vic20, C16/+4, Spectrum, BBC, MSX, and Spectravideo tapes (including using both signal edges, a.k.a. halfwaves);
  • record from a PET, C64/128, VIC20 (with a third party adapter C16 is supported as well);
  • playback v0, v1, and v2 TAP files to PET, C64/128, VIC20 with support for IDX files (using a third party adapter C16 is supported as well, which is the one that would benefit from the support of v2 TAP files); and
  • playback PRG files using either the CBM ROM or Turbo Tape 250 encoding.
DC2N5-Low Cost by Luigi Di Fraia

DC2N5-Low Cost


C2N Emulator

To filter my WordPress.com blog entries on this subject click here.

This device connects to a Commodore 64/VIC 20 tape port and to a PC through a USB cable. It offers 2 modes of operation:

  1. playback a TAP file (version 0, 1, or 2) from a PC into a C64/VIC20
  2. record the tape write signal from a C64/VIC20 to a DMP file on a PC

C16 is supported as well by means of a third-party adapter, which I won’t be supplying myself.

C2NEmu

C2NEmu

Unlike audio equivalents, this device fully supports the motor signal, which is not just fundamental at the “FOUND” message or at a Credits screen. There are a number of games whose tape loader requires data playback to stop for a fairly large amount of time at given points: this device takes care of that, without manual intervention.


Tape Port Monitor

The tape port monitor is a little device that sits between a C2N and either a C64 or DC2N and ‘spoofs’ the signal coming from a tape being played back, displaying it on an OLED display.

Tape Port Monitor by Luigi Di Fraia

Tape Port Monitor

As part of the spoofing process this device is also capable of intercepting the CBM ROM and Turbo Tape 250 filename upon seeing the relevant signal. Any intercepted filename is shown on the display as well.


Tiny C2N Monitor

To filter my WordPress.com blog entries on this subject click here.

The Tiny C2N Monitor is a low-power and small-size version of the Tape Port Monitor. It is meant to be attached to a C2N and act as a man-in-the-middle just like the Tape Port Monitor does.

Tiny C2N Monitor by Luigi Di Fraia

Tiny C2N Monitor


USBhost-64

To filter my WordPress.com blog entries on this subject click here.

USBhost-64 adds USB host capabilities to the Commodore 64 in order to connect Mass Storage Devices to it and read/write files from/to them. In its parallel version it is definitely one of the fastest non-DMA transfer methods available at present, if not the fastest.

Possible applications include data logging to disk, data streaming from disk for animations, access to large data stores, cross-development and so on and so forth.

In terms of access to the new functionalities I wrote a driver in assembly language, one in C, and an extension for the BASIC interpreter on top of the assembly driver, called USB-BASIC.

Finally I wrote a few field applications for USBhost-64 in order to show what is possible to do with it. Namely a disk dumping tool that creates D64 images, a tape dumping tool that creates cassette ROMs in DMP format, a tape mastering utility to write TAP files back to tapes, a slideshow/slow-motion hires player, and more recently I am working at a Commander-style tool, USB Commander.


IECHost

To filter my WordPress.com blog entries on this subject click here.

The IECHost device is an IEC bus master that can control Commodore drives such as the 1541 and 1541-II, and possibly other Commodore devices interfaced via the IEC bus such as printers and plotters.

If I were asked to point to something similar to IECHost that already exists out there, in order for people to better understand what IEChost is, I’d mention ZoomFloppy. In fact, the IECHost firmware might be adapted to run on the ZoomFloppy hardware itself, but that’s something I will look into at a later time.


RTC Module

This is yet another project for the Commodore 64 and similar home computers that provides access to a real time clock/calendar via the User Port.

RTC module by Luigi Di Fraia

RTC module

The project was initially meant to be integrated in the serial version of USBhost-64 (which will eventually be the case) but I decided to also develop and build the interface as an independent device.

Here are a few screenshots for the handling software under GEOS:

RTC module: GEOS driver by Luigi Di Fraia

RTC module: GEOS driver

RTC module: GEOS driver by Luigi Di Fraia

RTC module: GEOS driver

RTC module: GEOS driver by Luigi Di Fraia

RTC module: GEOS driver

RTC module: GEOS driver by Luigi Di Fraia

RTC module: GEOS driver

The RTC module also includes a 4kB EEPROM that is easily accessible from the C64 for both read and write purposes.

One use case for this memory expansion would be the storage of persistent data such as Hiscore Tables!