# Commodore 64 disk and tape emulation

'Commodore 64 disk/tape emulation and data transfer' comprises hardware and software for Commodore 64 disk & tape emulation and for data transfer between either the C64 computer, the Commodore 1541 disk drive or Commodore 1530 Datasette tape deck, and newer computers.
There are a large variety of adapters for C64 disk/tape emulation and data transfer, and an even larger variety of compatible software. Many of the adapters interface with the original serial bus disk drive plug or the C2N tape. Others connect to either the user port or the cartridge expansion port using either standardized RS-232 interfaces or proprietary adapters. In combination with software (or firmware), the adapters can either fully support the original communication protocols, provide partial support or apply proprietary communication protocols. Different solutions allow for letting the C64 access programs stored on another computer or the Internet, and for accessing the C64 disk station and tape deck from other computers.

## History

Some of the oldest adapters are the C64 user port to RS-232 converters. Those were standardized and originally designed to connect printers and other third-party hardware, including modems. Later, those adapters have also been adopted for disk drive emulation and even Internet connections. However, the most widespread adapters were probably the different disk drive and printer plug C64 serial bus to parallel port adapter that evolved for transferring data between disk drives and parallel port supplied computers. Because of hard timing requirements on the C64 side, those are unfortunately not applicable to laptops or multitasking operating systems. There also exist a more limited number of adapters for the C64 tape interface. While the data transfer over the user port is usually limited to 2.4 kbit/s, the C64 expansion port cartridge interface supports transfer rates of one to two magnitudes higher through proprietary protocols. There exist C64 expansion port adapters that support both hard disks, memory cards, USB-disks and Ethernet connections.
The software is typically open source, and so is most of the hardware designs. You can therefore build most of the hardware yourself, though they are usually also available from online shops.

### Software for C64 disk & tape emulation

This section comprises software for emulating the 1541 disk drive or the Commodore 1530 Datasette tape deck on external computers, making them available to a physical Commodore 64.
| Remote software | Remote OS | Remote interface | C64 software | C64 emulation mode | Compatible Hardware |
| 1541-III | firmware | - | - | Disk | 1541-III |
| 1541EMU | MS-DOS | GUI | no | Disk, Fastload | 1541EMU |
| 1541Ultimate | firmware | - | menu | Disk, Fastload, Tape***, Turbotape*** | 1541U-I, 1541U-II |
| 64HDD | MS-DOS | GUI | no | Disk | X1541, Power-Loader |
| C2N | Windows (Command), Linux, MS-DOS, AmigaOS | text | no | Tape, Turbotape | C2N232 |
| C2NLOAD | Windows (Command), Linux, MS-DOS, AmigaOS | text | no | Turbotape | C2N232 |
| CMBLINK | Windows (Command), Linux, MS-DOS, AmigaOS | text | no/yes*,** | Tape | C2N232, X1541, PC64 |
| IEC-ATA | firmware | - | - | Disk | IEC-ATA |
| MMC2IEC | firmware | - | - | Disk | MMC2IEC |
| Over5 | Windows 98, Linux, MS-DOS | ? | yes | Disk | UserPort-RS232 |
| uIEC | firmware | - | - | Disk | uIEC |
| Prlink | Linux, MS-DOS, AmigaOS | text | yes** | Tape | PC64, Prlink, X1541, (64NET) |
| sd2iec | firmware | - | - | Disk | SD2IEC |
| Serial Slave | Windows, Linux, AmigaOS, MacOS, Web interface | no | yes | Disk | ExpansionPort-RS232 |
| V-1541 | Web interface | Web page | yes | Disk | UserPort-RS232 |
| VC1541 | MS-DOS | GUI | no | Disk | X1541 |
.* no software required with C2N232, but with X1541 and PC64
.** a simple Basic version of the software on the C64 side is available for typing in to the C64 before the first use.
.*** The 1541 Ultimate II have special adapters to support TAPE emulation.

### Software for PC to disk & tape transfer

This section comprises software for transferring files and images between the 1541 disk drive or the Commodore 1530 Datasette tape deck and an external computer different from the Commodore 64.
| Remote software | Remote OS | User interface | Transfer mode | Compatible Hardware |
| C64S | x | x | x | x |
| Disk64 | x | x | x | x |
| Linux Server 64 | x | x | x | x |
| MNIB | ? | text | Disk | ? |
| mtap & ptap | DOS | ? | Tape | X1541, C64S tape adapter |
| NIBTOOLS | Windows XP (etc.)*, Linux* | text | Disk | X1541&XP1541, XU1541 |
| OpenCBM | Windows XP (etc.), Linux | separate GUI tool | Disk | X1541, XP1541, XU1541, ZoomFloppy |
| Personal C64 | x | x | x | x |
| Star Commander | DOS | textmode dual pane file manager | Disk | X1541, XP1541 |
| TRANS64 | x | x | x | x |
| X1541 | DOS | text | Disk | X1541 |
.*This software requires that OpenCBM is available.

### Hardware

The following table addresses hardware for connecting the Commodore 64, the 1541 disk drive or the Commodore 1530 Datasette tape deck to external computers, data storage (such as disks and memory cards) or the Internet.
| Hardware | Type | C64 interface | 1541 / C2N interface | Remote interface | Compatible software |
| 1541-III | Adapter | Disk connector | | SD card, MMC card | firmware |
| 1541EMU | Connector | Disk connector | Disk | Parallel, game port | 1541EMU |
| 1541U-I | Cartridge | Expansion port, disk connector | | SD card, MMC card | firmware |
| 1541U-II | Cartridge | Expansion port, disk connector, TAPE adapter | | MicroSD card, USB flash drive, Ethernet, TAPE adapter | Integrated |
| 64NET | Cable | ? | | Parallel | Prlink |
| C2N232 | Adapter | Tape connector | | Serial | C2NLOAD, CMBLINK |
| C64S tape adapter | Adapter | | Tape | Parallel | mtap & ptap |
| Cassadapt | Adapter | Tape | Audio | TapWav, TAPClean, AudioTAP, WAV-PRG | |
| Comet64 | Adapter | User port | | Serial, Ethernet | V-1541 |
| Handic V24 | Adapter | User port | | Serial | Over5 |
| IEC-ATA | Adapter | Disk connector | | ATA hard disk drive | firmware |
| MMC2IEC | Adapter | Disk connector | | MMC card | firmware |
| PC64 | Cable | User port | | Parallel | CBMLINK, Linux Server 64, Personal C64, Prlink |
| PRLINK | Cable | User port | | Parallel | Prlink |
| Power-Loader | Cable | User port | | Parallel | 64HDD |
| SD2IEC | Adapter | Disk connector | | SD card | firmware |
| Silver Surfer | Cartridge | Expansion port | | Serial | Serial Slave |
| Swiftlink | Cartridge | Expansion port | | Serial | Serial Slave |
| Turbo Chameleon | Cartridge | Expansion port | Disk | Ethernet, MMC card, SD card | Http-Load, WarpCopy64, Contiki |
| Turbo232 | Cartridge | Expansion port | | Serial | Serial Slave |
| uIEC | Adapter | Disk connector | | CF card, SD card, IDE hard disk drive | firmware |
| VIC-1011A RS232C | Adapter | User port | | Serial | Over5 |
| X1541 | Cable | Disk connector | Disk | Serial | X1541, Star Commander, CBMLINK, Prlink, disk64, c64s, 64HDD, VC1541, trans64, mtap & ptap |
| XP1541 | Connector | | Disk | Serial, parallel | Star Commander, OpenCBM |
| XU1541 | Adapter | | Disk | USB | OpenCBM |
| ZoomFloppy | Adapter | | Disk | USB | OpenCBM |
| USB2IEC | Adapter | | Disk | USB | OpenCBM, VICE Emulator |

## Software by C64 compatibility

Full emulation of the Commodore 1541 disk drive or Commodore 1530 datasette is required e.g. to support fast loaders. Software that supports the basic transfer protocols, such as load and save, will not support fast loaders.
Software exists that replaces the basic transfer protocols with proprietary alternatives. These protocols require special software on both the host side and the Commodore 64 side.
Some software supports transfer between a disk or tape drive and a computer other than a Commodore 64.

### Floppy disks
#### Full emulation

* The 1541EMU emulates the internal hardware of the Commodore 1541 disk drive on a host computer and supports the 1541EMU cable only. The 1541EMU software was designed in 2001–2002 by Ville Muikkula et al. The realtime requirements for emulating the 1541 disk drive are exceptionally hard. PCs with multitasking operating systems are therefore not supported. Even though the timing can be adjusted in software, the communication is not likely to work on PCs with newer processors than Pentium.[ref required]
* The 1541 Ultimate firmware completely emulates the Commodore 1541 disk drive on the 1541U-I cartridge, using a disk connector output on the cartridge. Full emulation is also planned for the 1541U-II cartridge. It allows access to the disk content on memory cards (I) and USB-disks (II). The selected disk can be downloaded either through an accurate 1541 on-board emulation (II). A proprietary protocol is also available for faster but not fully compatible transfer (both I and II).
* The Chameleon firmware completely emulates the Commodore 1541 disk drive on the Turbo Chameleon 64 cartridge, using a disk connector output on the cartridge. The emulator provides access to a MMC or SD card on the cartridge.

#### Partial emulation

* The 64HDD is a serial bus and disk drive emulator, developed in 1999–2010 by Nicholas Coplin.
* The MMC2IEC firmware provides emulation of the Commodore 1541 disk drive on the MMC2IEC adapter, providing access to a MMC memory card.
* The sd2iec firmware provides access to an SD card with a Commodore DOS-compatible interface on the SD2IEC adapter. It also supports many fast loaders, but it is not a Commodore 1541 disk drive emulation.
* The uIEC firmware provides emulation of the Commodore 1541 disk drive on the uIEC adapter, providing access to either an IDE hard disk, a CF memory card or a SD memory card, depending on the version, but it has been superseded by a port of the sd2iec firmware to the uIEC hardware in 2008.
* The VC1541 is a Commodore 1541 serial protocol emulator developed in 1997–1998 by Torsten Paul.

#### Proprietary options

* The Over 5 is a software package for transferring files between a C64 and a host machine (which can be an Amiga, PC or Unix box). It works in two different ways, either using the C64 as a server to the host for accessing floppy disks or using the host as a hard disk server for the C64. Over5 was developed in ????-2002 by Daniel Kahlin. It was later ported to Win32 by Martin Sikström and to Unix by Andreas Anderson.
* The Serial Slave allows you to use a PC as a virtual disk drive for your C64 or C128. It was developed in 2001–2002 by Per Olofsson and friends.
* The V-1541 is a program that replaces the standard LOAD and SAVE operations on a Commodore 64 computer. The V-1541 program allows your Commodore 64 computer to access files and other content on the Internet at CommodoreServer.com. CommodoreServer.com is a Virtual Disk Drive to which you can upload D64 disk images from any Internet computer and later download the disk from the Commodore 64.

#### Disk transfer

* The C64S (C64 Software Emulator) is a Commodore 64 emulator that supports transfer to/from a 1541 disk drive. It was developed in 1994–1997 by Miha Peternel.
* The DISK64 is a disk transfer tool developed in 1993–1994 by Alfred Schwall.
* The MNIB was developed in 2000–2004 by Markus Brenner. It has been succeeded by NIBTOOLS.
* The NIBTOOLS is a disk transfer program designed for copying original disks and converting them into G64 and D64 disk image formats on a PC. NIBTOOLS requires OpenCBM. NIBTOOLS is based on MNIB and was developed since 2005 by Pete Rittwage.
* The OpenCBM allows for access to a VIC 1540, 1541, 1570, 1571, or even 1581 floppy drive from the PC on Windows NT, 2000 and XP. With OpenCBM you can copy D64 or D71 images from a real drive to the PC, or from the PC to a real drive with the help of d64copy. Furthermore, you can copy single files in both directions. Some more tools (for example, cbmctrl) are given, too. OpenCBM started out as cbm4linux, a Linux-only solution written in 1999–2003 by Michael Klein. Spiro Trikaliotis ported it over to the Windows platform in 2005 under the name cbm4win. With version 0.4.0, both versions were joined back into one source with the common name OpenCBM. For Windows, due to limitations of the drivers of the cards, it is unlikely that PCI or CardBus cards will work. However, ISA cards will work. For Linux, chances are high that all cards will work.
* The Personal C64 is a Commodore 64 emulator that supports transfer to/from 1541 disk drive. It was developed in 1994–1997 by Wolfgang Lorenz.
* The Star Commander copies files and disks between a PC and the Commodore 1541/1570/1571/1581 drive, optionally using fast loader. Star Commander was developed in 1994–2010 by Joe Forster/STA. Commodore disk drives expect a tighter synchronization than the Commander can keep under a multi-tasking PC operating system. The best results is therefore obtained by running the Commander under plain DOS.
* The Trans64 is a program to transfer files between the PC and a C64 floppy drive. Trans64 was developed in 1994–1997 by Bernhard Schwall.
* The X1541 was developed in 1992 by Leopoldo Ghielmetti.

### Cassette tapes
#### Full emulation

* The C2N fully emulates the Commodore 1530 via the C2N232 device. C2N was developed in ???? by Marko Mäkelä.
* The C2NLOAD first provides a turbo tape over the standard Commodore 1530 datasette Load routine, and then automatically loads the requested program file at 38.400 bit/s. C2NLOAD was developed in 2001–2006 by Marko Mäkelä.

#### Proprietary options

* The CBMLINK is a data transfer system between Commodore 8-bit computers and other systems (Amiga, IBM PC compatible, Apple, Unix workstations). Supported by the VICE emulator. CMBLINK was developed in 2001–2003 by Marko Mäkelä, based on PRLINK.
* The Linux Server 64 was developed by Roger Lawhorn. It supports the same commands as CMBLINK, but adds a series of commands for printing and scanning using hardware connected to a PC.
* The Prlink is a software for data transfer between Commodore 8-bit computers and an Amiga (AmigaDOS) or a PC clone (Linux, MS-DOS). Prlink was developed in 1994–1996 by Marko Mäkelä and Olaf Seibert. It was succeeded by CBMLINK developed in 2001–2003 by Marko Mäkelä.

#### Tape transfer

* The mtap & ptap are MS-DOS tools for creating real tape files (.TAP files) from original C64, VIC-20 and C16 tapes using the Commodore Datasette, and for playing back .TAP files to real tapes for use with an actual Commodore 64 machine. mtap & ptap were developed in 1998–2002 by Markus Brenner.

## Hardware by C64 compatibility
### Tape connector adapters

* The C2N232 adapter is a RS-232 interface that can be plugged to the cassette port of an 8-bit Commodore computer and supports emulation of the tape deck. The C2N232 hardware was designed in 2001–2003 by Marko Mäkelä. It is freely available as open source, and a few hundred were built and sold.
* The C64S tape adapter lets you connect your tape deck to a PC parallel port.
* The Cassadapt tape adapter allows to convert tape programs (T64 and PRG) from a PC to either the Commodore 64 or a C2N tape deck.

### Disk connector adapters

* The 1541-III is a PIC microcontroller controlling a MMC/SD card with .D64 files. It does however NOT support fastloaders.
* The 1541EMU cable hardware supports full emulation of the Commodore 1541 disk drive. The cable exists in type0 and type1 flavors with full and slightly reduced compatibility, respectively. The 1541EMU hardware was designed in 2001–2002 by Ville Muikkula et al. for use with the 1541EMU software. The 1541EMU cable is available through both building instructions and shops.
* The 1541U-I (and 1541U-II) emulates a 1541 disk drive for Commodore computers. It uses an SD-card or MMC-card to store virtual floppy disks. Disk content can be browsed through software on the cartridge and navigated through buttons on the device. The selected disk can be downloaded either through the fully compatible 1541 interface or through a faster but less compatible proprietary interface.
* The X1541 cables allow (full emulation of? /) copying to and from the Commodore 1541 disk drive. The realtime requirements for emulating the 1541 disk drive are exceptionally hard, and a variety of cable flavors have been constructed to improve compatibility with multi-tasking systems and faster PCs than the Pentium to some degree. For compatibility, check the documentation of each application, or confer the reference. The X1541 cable is available through both building instructions and shops. The original X1541 cable was designed in 1992 by Leopoldo Ghielmetti for use with the X1541 software.
* The XP1541 cables are variants of the X1541 cables flavors, adding parallel support for faster transfer between PC and the C64 disk drive. The XP1541 cable was designed in 1997 by Joe Forster/STA.
* The XU1541 adapter (beta) attaches a 1541 etc. disk drives to a PC using the USB connection, opening for easy transfer of disk images from and to the disk drive. The XU1541 is currently only recommended for people who are willing to cope with glitches and will perhaps even do some testing and bug hunting.
* The ZoomFloppy connects your Commodore 1541/1571/1581 drives to a Windows, Mac, or Linux computer. This allows you to read and write files or entire disk images from the original media. The ZoomFloppy uses the XUM1541 firmware by Nate Lawson, based on XU1541. The PCB was manufactured by Jim Brain and can also be bought online.

### RS-232 user port adapters

The User Port RS-232 adapters provides a low-speed serial port for Commodore 8-bit computers, originally for connecting printers etc. They can operate at speeds of up to 2.4 kbit/s.
* The Comet64 Internet Modem is a Serial-to-Ethernet (S2E) device. This modem connects to the user port and provides an Internet connection. Also available with RS-232 output.
* The EZ-232 RS232 Serial Interface provides a low-speed serial port for Commodore 8-bit computers. It can operate at speeds of up to 2400 bit/s, when configured as a standard interface, and at speeds of up to 9600 bit/s, when configured as a UP9600 interface. The EZ-232 RS232 Serial Interface was designed by Jim Brain.
* The Handic V24 is a RS-232 converter for Commodore machines.
* The VIC-1011A RS232C is a RS-232 converter for Commodore machines.

### Proprietary user port adapters

* The PC64 cable was designed in 1994 by Wolfgang Lorenz.
* The Power-Loader cable is a companion for the X1541 cables flavors, adding parallel support for faster transfer between PC and the C64. The Power-Loader (Pwr/XE) cable was developed by Nicholas Coplin, for use with 64HDDsoftware.
* The Prlink is a cable designed for the Prlink software by Marko Mäkelä and Olaf Seibert.

### RS-232 expansion port adapters

    Expansion port cartridges provides a high-speed connection to an external computer and/or the Internet. The output interface is a RS-232 interface for connecting to an external computer. Internet connection can be obtained through the external computer or via a series to Internet adapter. Some adapters also have separate Ethernet interface for connecting to Internet. The most common cartridges for external connection is listed below.
* The RR Net is an add on to the Retro-Replay cartridge that allows for broadband Internet access.
* The Silver Surfer add on to the Retro-Replay cartridge provides RS-232 capabilities. It provides a transfer rate probably similar to that of Turbo232, limited to 57.8 kbit/s for most software. Silver Surfer is available from an online store.
* The SwiftLink-232 is a RS-232 serial port cartridge for the C64/128. It provides up to 38.4 kbit/s transfer rate. Swiftlink was manufactured by CMD, who has stopped producing Commodore gear. There exist several clones such as the Datapump cartridge or the Pitchlink cartridge. The Link-232 is another clone of Swiftlink.
* The Turbo232 cartridge is a high-speed RS-232c modem interface for Commodore 64 or 128 computer. It provides up to 230 kbit/s transfer rate, though limited to 57.8 kbit/s for most software. Turbo232 was manufactured by CMD, who has stopped producing Commodore gear.

### Proprietary expansion port adapters

* The 1541Ultimate-II emulates a 1541 disk drive for Commodore computers on a cartridge, using MicroSD or USB disks to store virtual floppy disks. The disk can be downloaded through fast, but not fully compatible proprietary disk emulation. Disk connector for fully compatibility is integrated, but not yet supported in software (as for the 1541U-I). Disk content can be browsed through software on the cartridge and navigated through buttons on the device.
* The Comet64 Internet Modem Serial-to-Ethernet device provides an Ethernet connection. See the Comet64 Internet Modem entry under the User Port RS232 section.