A Simple Guide to Connecting your PC and Commodore Disk Drive

Note

Most of this document has been obsoleted when I designed the ZoomFloppy, a USB adapter that works similar to these X-cables. However, the section on installing a parallel cable in the drive still applies and the basic concepts are still useful.

Intro

There are a number of ways to connect the C64 or PC to your Commodore disk drive. The X1541-series of cables provides multiple ways to do so, some obsolete today. It is very difficult to figure out which combination of cables and adapters you need. This document attempts to clear up the confusing terminology. I include links for each term to the appropriate section of Joe Forster's X1541 cable pages. If you want to purchase a cable instead of making it yourself, he has a shop for buying them. Just be absolutely sure you understand what you want and know what you're getting before placing an order.

Terms

The biggest problem with understanding X1541 interconnection is that many terms, such as "cable", have multiple meanings in different contexts. I've tried to use the same terms as existing documentation where possible but change those that are ambiguous. For diagrams of these connectors, see Joe Forster's diagrams.

Connecting a C64 to a 1541 drive

The most basic connection is to use the serial cable that came with the 1541 drive. Plug it into the C64's serial DIN6 port and one of the 1541's two DIN6 ports. This cable is used to send commands and data (slowly). Today, this is commonly called a "Commodore serial cable".

For faster loading and to copy some protected disks, a new, non-standard cable began to appear later in the C64's life. It provided a parallel connection directly to the drive's internals, enabling faster and more low-level data flow. One end had a user port plug which plugged into the C64's user port, just like a modem or RS232 interface. The other was either wires soldered directly to the drive's internal chips or (better) connected to a game port that was added to the drive case. The game port was usually added to the rear of the 1541 drive and soldered directly to the VIA #1 chip internally. Likewise, the cable had a user port plug and a game plug to connect the C64 to the 1541. This ad-hoc standard was established by Speed DOS and used by Dolphin DOS, Burst Nibbler, and 15-Second Copy. To use the parallel cable, both it and the serial cable needed to be hooked up to the C64 and 1541. Commands would be sent over the serial cable and data would be read through the faster parallel cable.

The parallel cable with a user port plug and game plug is today called a "Commodore parallel cable." There is no distinct name for the case when this cable is soldered directly to the drive on the 1541 end. Confusingly, both ways of attaching to the disk drive are collectively referred to as a "XP1541/XP1571 parallel cable". If you buy the "Commodore parallel cable", you also get a game port and wiring to add a parallel connector to one stock 1541. If assembling your own (perhaps you have two drives), I recommend buying a DIN15 receptacle with solder pot connectors and 1 foot of 10-pin ribbon cable. Jameco is a good source. Here is a good description of adding a parallel port to your 1541. Note that the 1541-II requires a trace to be cut as well.

Connecting a PC to a 1541 drive

Like the C64 parallel cable, methods for connecting a PC to a 1541 have evolved into ad-hoc standards. There are 3 parts involved in making the connection:
  1. Connection on PC side: the printer port is used for both serial and parallel data transfer
  2. Cable(s): transfer serial commands/data to 1541 and optionally also high-speed parallel data to 1541
  3. Connection on 1541 side: serial DIN6 port and optionally game port for parallel data
If you only need to use the 1541 for standard tasks like transferring files or playing games, only a serial connection is needed between the PC and 1541. All X1541 cables support this capability with 2 main categories of options: some allow you to reuse existing C64 cables and some are more compatible with electrical variations in the PC's printer port. You should check which software you wish to use to be sure it supports a particular cable before purchasing or building it. If you're buying a cable only for this task, the short summary is that you should get an "XA1541 cable" for the most compatibility with software and different PC printer ports. If you want to save some money or assembly time, get an "XM1541 cable".

If you want to also use mnib or get faster transfers via Star Commander, you need a parallel connection in addition to the serial connection. If you're buying a set of cables for this task, the short summary is that you should get an "XAP 1541 adaptor" and "Commodore parallel cable", and you can reuse your existing "Commodore serial cable". If you don't need the extra compatibility of the XAP1541 (i.e., not using a laptop), an "XMP 1541 adaptor" will work instead. No matter what option you pick, you'll still also need to add a game port to your 1541, soldered to its internal VIA chip. Note that you can use the serial part of X1541 cables or adapters without the parallel part connected but not vice versa.

There are 3 types of components used for making serial and parallel connections to a PC. "X1541-series cables" are an all-in-one PC to 1541 serial interface including a connector for each end and a cable between them. "X1541-series cable combos" are Y-shaped cables. They support the same serial interface as the "X1541-series cables" and also a parallel interface via a game port plug. "X1541-series adaptors" only provide plug conversion, allowing you to reuse your "Commodore serial cable" and optionally "Commodore parallel cable" to provide the actual wiring to the 1541.

Each name for an X1541 part is broken into a series of designators. Each name always starts with an "X" and ends in "1541" (but works for the 1571 too). The second letter, if present, is either "E" (extended), "M" (multitask), or "A" (active). I'll explain each of these terms below. Finally, a "P", if present, means that the part also supports a parallel connection. Using this system, an "XM1541 cable" is a "multitask" PC printer plug, cable, and 1541 DIN6 plug. Likewise, an "XEP1541 adaptor" is an "extended" PC printer plug that converts to a DIN6 port and user port edge connector. Additional cables are needed to connect the adapter to the 1541.

An "X1541 cable" (no designator) is the original cable for connecting a PC to a 1541's serial DIN6 port. Its biggest drawback is that it is not electrically compatible with printer ports used on Pentium-class and newer computers. Don't bother with this one unless you have a 486 or older PC running DOS.

An "E" (extended) cable or adapter works with more modern Pentium-class motherboards although there are a few exceptions. It does not work with Linux and Windows, only DOS. Thus, it is not used as often nowadays.

The "M" (multitask) cable or adapter is the same as an extended cable with a pair of wires swapped. This allows it to work with Windows and Linux. Other than the "A" series, this is the most recommended cable. It is not as universally compatible as the "A" series (though in practice this doesn't seem to be an issue) but is simpler to build or cheaper to buy.

The "A" (active) cable or adapter is electrically compatible with the widest range of PC printer ports. It is active, using transistors, not passive like all the others. It has software support similar to the multitask cable, including working with Windows and Linux. Its only downsides are that it's complicated to build if you're doing it yourself and expensive if an "M" series cable will work with your PC (i.e., it's not a laptop).

Finally, the "P" (parallel) designator means the cable or adapter can optionally support a parallel connection between the PC or C64 and 1541. There are two ways this is done. For "X1541-series cable combos", additional pins are used on the PC's printer plug that connect to a separate game plug (i.e., a Y-shaped cable). For "X1541-series adaptors", the adapter has a user port edge connector (like the C64) so an existing "Commodore parallel cable" can be used to connect it to the 1541's retrofitted parallel port.

Links


Copyright (c) 2005-2011 Nate Lawson. With help from Joe Forster/STA and Peter Rittwage.