Transferring Commodore 64 Disks to Modern Formats

This is a description of how I was able to convert over 200 Commodore 64 1541 floppy disks to a number of .D64 archive files, readable with any of the modern C64 emulators. I did this transfer of ancient data close to 20 years ago, but hopefully the information may stil be useful for anyone who may want to do this.

In case you don't already know, a D64 file is a bit-for-bit copy of the entire contents of a Commodore 1541 5.25" floppy disk, saved as a single .D64 archive. In the early 1980s I had invested a considerable number of hours of my life creating various files on my Commodore 64 computer, including programs, music, stories, and even a screenplay. I decided that I wanted my old computer work to be archived before it was gone forever, so I resurrected the files from their 8-bit tomb. After some painful days, and a bit (byte?) or two of blood, sweat, and solder, I can once again work with my ancient C64 files.

I would like to point out that although magnetic media is considered to have a fairly limited shelf life, that I did not have disk read problems with any of the more than 200 5.25" disks I converted, and none of the disks was less than 20 years old. However, I would certainly not recommend waiting that long to make a good archive of digital work you truly care about. : )

How to Do It

There are several approaches you may use to get the data off of an old 1541 (177 KB) floppy disk. Here are the primary methods:

Method 1 - One method of transferring 1541 floppy disks to a .D64 archive involves setting up a personal computer with an appropriate parallel cable that can interface to a 1541 drive. You then install software on the PC that allows the 1541 drive to be read so the C64 files can be copied to a Windows or Linux computer. I could never get this method to work reliably so I gave up on it.

Method 2 - Another method of transferring 1541 floppy disks to a .D64 archive involves using a Commodore modem and an RJ45 crossover cable to connect computers modem-to-modem. With a Commodore modem and a modem on a more modern computer, files from the C64 can be transferred through a terminal program utility such as Bobsterm Pro, which is a C64 terminal program that has a lot of bells and whistles. This is a very crude way to get files off of a C64, but it is very tedious and time-consuming. It is also getting harder and harder to find standard phone modems (and C64 modems for that matter), so I would not recommend this method unless you are really desperate. However, I have gotten this method to work, so it is at least an option.

Method 3 - A more recent option is to purchase an Ethernet adapter card for the Commodore 64. Yes, you read that correctly, there is an Ethernet adapter for the Commodore 64, and it costs about $70 unassembled, and $90 assembled. You can get it here http://www.commodoreserver.com/. This site is actually much more than a hardware vendor. They wrote some server-side utilities that allow you to upload and manage D64 disk images, and convert Commodore PRG files to SEQ files, which is especially useful if you want to convert word processing files to a more readable modern format. Very slick!

Method 4 - The method that worked best for my needs was to purchase an electronic card (the SD2IEC board) that emulates a Commodore disk drive, but uses flash memory to read and write files. Brilliant! This way all you need to do is mount the SD card onto a modern OS and "ta-dah", you can get the files. This is the best way to go, and it is the method I used. However, this method involves purchasing some hardware and soldering a few components onto a board, so it is not free, or for the faint of flux.

For Method 4 you will need

  • A Commodore 64 computer. ($25 -$75)
  • A 1541 Commodore Drive. ($25 - $75)
  • You will also need (2) 1541 serial cables to connect the drives to the C64. These usually come with a 1541 drive, but you may need to purchase an additional one for the SD2IEC board drive. They are usually about $5 - $10 each.
  • An SD2IEC board. ($45 for the main board, $15 for the SD2IEC daughter board do-it-yourself kit).
  • An external 5-9V DC power supply (positive center). ($5 - $10)
  • A blank SD card. (2 GB - $15).
  • PuZip (a free D64 archive utility that runs on a C64). http://www.cs.tut.fi/~albert/Dev/puzip/
  • Total Cost of Hardware -> $130 - $185

Purchase and Assemble the Hardware

You will need to purchase the SD2IEC board and daughter board from NKC Electronics. (The link is dead, but the boards may still be available).

You used to be able to order the SD2IEC board here: http://www.nkcelectronics.com/sd2iec-boar2.html

You used to be able to order the SD2IEC daughter board here: http://www.nkcelectronics.com/sd2iec-daughter-boar2.html

The SD2IEC board, as designed, is ready to go, but you will need to solder components onto the daughter board. It was very easy and took me only about 10 minutes to solder the daughter board components.

Connecting the Hardware

Remember to always turn on the C64 last when you are connecting device to it.

1.) Set the dip switches on the SD2IEC board so it is device 9, and leave the 1541 as device 8, so it's easy to copy from one drive to another.

2.) Put the flash card in the slot on the SD2IEC board.

3.) Connect the serial cables between the drives and the C64.

4.) Connect the SD2IEC power cable. (You will see the small surface mounted LEDs light up briefly as the firmware boots up).

5.) Switch on the 1541 drive.

6.) Switch on the C64.

If everything is connected properly you should be able to access the SD2IEC drive by typing:

load "$",9

then type

list

This will give you a listing of the files on the SD2IEC device. You can access the 1541 drive by typing:

load "$",8

Load the Software

I had the best success with a Commodore 64 program called PuZip, available here - http://www.cs.tut.fi/~albert/Dev/puzip/.

First the program asks for an input drive. Press 8 or 9 for drives 8 and 9, respectively. Use 0-7 for drives 10-17.

Then select the files to be archived into the ZIP file by pressing either Y for LZ77 compression or S for store (no compression). You can also use 1-3 to use faster but less efficient compression, 3 being the fastest. You can also press D to select disk image compression. The image type is automatically detected and selected between D64/D71/D81. If you don't want a file included in the archive, press N. When you have selected all files you want included, you can press Q to skip the rest of the files.

Output drive is asked next. 8-17 can be used.

Then the archive name is asked and you can also give a zipfile comment. If you do not want any comment, leave the string empty. In the "zip file?" prompt you can also send a command to the destination drive by "@command". If you give just "@", the drive error string is read.

The border is flashed when reading or writing data. The screen is blanked whenever it can be to speed up compression. The 2MHz mode is also used when possible. The screen is turned back on for 3 block times each 32 blocks, if an error is encountered, and of course at the end of compression.

The following are the steps I used:

  1. Put the disk you want to copy into the 1541 drive.

  2. Type

load "puzip.prg", 9

then

run

  1. Input Drive (hit the 8 key).

  2. Output Drive (hit the 9 key).

  3. Zip File name - "name-of-archive.d64" (hit return)

Watch the pretty colors flash on the screen. It may take 15 minutes or longer per disk on a standard 1541 drive, so plan to do something else while it's copying.

Manipulating a D64 Archive

There is an excellent (and free) utility that runs in Windows called "D64 Editor" that allows you to do all kinds of things with .D64 archives. You can download it here: http://www.d64editor.com/.

You will also want another excellent utility (it also runs under Windows) called "DirMaster". Download it here: http://style64.org/dirmaster.

Once all of your disks are in a .D64 format you can open them with any number of C64 emulation programs. The most popular free one is VICE. You can download it here: http://www.viceteam.org/.

Paid Data Conversion Service

An alternative to all of the above is to pay for a service that converts the old C64 data for you. Here is a site that provides this service at a reasonable rate http://retrofloppy.com/.

Other Hardware Options

There are some really nice high-tech solutions that have been developed for bringing a Commodore 64 up to more modern standards. One of the most impressive is called Chameleon 64, which plugs into the cartridge slot of a C64 and ads all kinds of features, including SD Memory Card Support and 10 Mbit Ethernet. http://www.vesalia.de/e_chameleon.htm.