Hardware

Please note: the contents of this page are being migrated to my main website here.

DC2N

To filter my 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.

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 version 1 just finished dumping a tape by Luigi Di Fraia

DC2N version 1 just finished dumping 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 prototype fully assembled by Luigi Di Fraia

DC2N3 prototype fully assembled

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.

DC2N version 4 by Luigi Di Fraia

DC2N version 4

DC2N4 GUI client by Luigi Di Fraia

DC2N4 GUI client

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 fully operational by Luigi Di Fraia

DC2N4 Low Cost fully operational

DC2N4 GUI client running under Windows 10 64-bits

DC2N4 USB serial GUI client running under Windows 10 64-bits

DC2N USB serial native client under Windows 10 64-bits

DC2N USB serial native client under Windows 10 64-bits

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 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-LC from the tape port edge

DC2N5-LC from the tape port edge

C2N Emulator

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: first assembled prototype

C2NEmu: first assembled prototype

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 connected to a C64

Tape Port Monitor connected to a C64

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 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 and DC2N4-LC join forces when the commandline client is used by Luigi Di Fraia

Tiny C2N Monitor and DC2N4-LC join forces when the DC2N4-LC commandline client is used

USBhost-64

To filter my 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.

USBhost-64 by Luigi Di Fraia

USBhost-64

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.

USB BASIC by Luigi Di Fraia

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 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.

Shortly before Easter 2017 I also finished developing a “warp” disk imaging feature as per video below:

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 with a 4kB memory expansion

RTC module with a 4kB memory expansion

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:

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!

Misc hardware projects

Over the course of the last few months I’ve extended my embedded framework to support a number of external devices for positioning, contact-less temperature sensing, and display:

GPS integration by Luigi Di Fraia

GPS integration

ARM board and new display by Luigi Di Fraia

ARM board and new display