Commodore 64 peripherals
This article is about the various external peripherals of the Commodore 64 home computer. Due to the backwards compatibility of the Commodore 128, most peripherals will work on that system, as well. There's some compatibility with the VIC-20 and PET too.

Storage

Tape drives 

In the United States, the 1541 floppy disk drive was widespread. By contrast, in Europe, the C64 was often used with cassette tape drives (Datasette), which were much cheaper, but also much slower than floppy drives. The Datasette plugged into a proprietary edge connector on the Commodore 64's motherboard. Standard blank audio cassettes could be used in this drive. Data tapes could be write-protected in the same way as audio cassettes, by punching out a tab on the cassette's top edge. An adapter for the proprietary connector was available from CARDCO

It was assigned as device 1 (default). 

The Datasette's speed was very slow (about 300 baud). Loading a large program at normal speed could take up to  in extreme cases. Many European software developers wrote their own fast tape-loaders which replaced the internal KERNAL code in the C64 and offered loading times more comparable to disk drive speeds. Novaload was perhaps the most popular tape-loader used by British and American software developers. Early versions of Novaload had the ability to play music while a program loaded into memory, and was easily recognizable by its black border and digital bleeping sounds on loading. Other fast-loaders included load screens, displaying computer artwork while the program loaded. More advanced fast-loaders included minigames for the user to play while the program loaded from cassette. One such minigame fastloader was Invade-a-Load.

Users also had to contend with interference from magnetic fields. Also, not too dissimilar to floppy drive users, the Datasette's read head could become dirty or slip out of alignment. A small screwdriver could be used to align the tape heads, and a few companies capitalized by selling various commercial kits for Datasette head-alignment tuning.

As the Datasette lacked any random read-write access, users had to either wait while the tape ran its length, while the computer printed messages like "SEARCHING FOR ALIEN BOXING... FOUND AFO... FOUND SPACE INVADERS... FOUND PAC-MAN... FOUND ALIEN BOXING... LOADING..." or else rely on a tape counter number to find the starting location of programs on cassette. Tape counter speeds varied over different datasette units making recorded counter numbers unreliable on different hardware.

An optional streaming tape drive, based upon the QIC-02 format, was available for the Xetec Lt. Kernal hard drive subsystem (see below). They were expensive and few were ever sold.

A similar concept to the ZX Microdrive  was the extremely fast "Phonemark 8500 Quick Data Drive" which has  capacity using a micro-cassette storage unit and used the C2N Datasette. The concept eventually succumbed to floppy drives. The Quick Data Drive (QDD) connected to the datassette port of the Commodore 64 and could load data at  which is  faster than the C1541 floppy drive. It needed a small program code to be loaded in the memory at 0xC000-0xCFFF which collided with many other programs. The cost for the drive would have been equivalent to 100 EUR in 2010. It could also be daisy chained and worked with the VIC-20 computer as well. The QDD could hold 255 files per "disc".  The Rotronics Wafadrive used same drive mechanism, manufactured by BSR.

Backup to VHS tapes were offered by DC Electronics with their cartridge WHIZZARD in 1988. Which could handle  and included "freezer" capabilities.

Floppy disk drives 

Although usually not supplied with the machine, floppy disk drives of the 5 inch (1541, 1570 and 1571) and, later, 3 inch (1581) variety were available from Commodore.

The 1541 was the standard floppy disk drive for the Commodore 64, with nearly all disk-based software programs released for the computer being distributed in the 1541 compatible floppy disk format. The 1541 was very slow in loading programs because of a poorly implemented serial bus, a legacy of the Commodore VIC-20.

The 1541 disk drive was notorious for not only its slow performance and large physical size compared to the C64 (the drive is almost as deep as the computer is wide), but also for the drive mechanisms installed during early production runs, which quickly gained a bad reputation for their mechanical unreliability.

Perhaps the most common failure involved the drive's read-write head mechanism losing its alignment. Due to lack of hardware support for detecting track zero position, Commodore DOS formatting routines and many complex software copy-protection schemes (which used data stored on nonstandard tracks on floppies) had to rely on moving the head specified number of steps in order to make sure that the desired head position for formatting or reading the data was reached. Since after physically reaching track zero, further movement attempts caused the head drive mechanism to slam (producing the infamous, loud, telltale knocking sound) into a mechanical stop, the repetitive strain often drove the head mechanism out of precise alignment, resulting in read errors and necessitating repairs. As a side note: some demos exploited the sound generated by the head moving stepper motor to force the disk drive to play crude tunes ("Bicycle Built For Two" was one) by varying the frequency of step requests sent to the motor.

Also, as with the C64, 1541 drives tended to overheat due to a design that did not permit adequate cooling (potentially fixed by mounting a small fan to the case). Many of the 1541's design problems were eventually rectified in Commodore's 1541-II disk drive, which was compatible with the older units. The power supply unit was not housed inside the drive case; hence, the 1541-II size was significantly smaller and did not overheat.

Because of the drive's initial high cost (about as much as the computer itself) and target market of home computer users, BASIC's file commands defaulted to the tape drive (device 1). In order to load a file from a commercial disk, the following command must be entered:

 LOAD "*",8,1

In this example, '' designates the last program loaded, or the first program on the disk, '' is the disk drive device number, and the '' signifies that the file is to be loaded not to the standard memory address for BASIC programs, but to the address where its program header tells it to go—the address it was saved from. This last '' usually signifies a machine language program.

Not long after the 1541's introduction, third-party developers demonstrated that performance could be improved with software that took over control of the serial bus signal lines and implemented a better transfer protocol between the computer and disk. In 1984 Epyx released its FastLoad cartridge for the C64, which replaced some of the 1541's slow routines with its own custom code, thus allowing users to load programs in a fraction of the time. Despite being incompatible with many programs' copy protection schemes, the cartridge became so popular among grateful C64 owners (likely the most-widespread third-party enhancement for the C64 of all time) that many Commodore dealers sold the Epyx cartridge as a standard item when selling a new C64 with the 1541.

As a free alternative to FastLoad cartridges, numerous pure software turbo-loader programs were also created that were loaded to RAM each time after the computer was reset. The best of these turbo-loaders were able to accelerate the time required for loading a program from the floppy drive by a factor of 20x, demonstrating the default bus implementation's inadequacy. As turbo-loader programs were relatively small, it was common to place one on almost each floppy disk so that it could be quickly loaded to RAM after restart.

The 1541 floppy drive contained a MOS 6502 processor acting as the drive controller, along with a built-in disk operating system (DOS) in ROM and a small amount of RAM, the latter primarily used for buffer space. Since this arrangement was, in effect, a specialized computer, it was possible to write custom controller routines and load them into the drive's RAM, thus making the drive work independently of the C64 machine. For example, certain back up software allowed users to make multiple disk copies directly between daisy-chained drives without a C64.

Several third party vendors sold general purpose interface IEEE-488 bus adapters for the C64, which plugged into the machine's expansion port. Outside of BBS operators, few C64 owners took advantage of this arrangement and the accompanying IEEE devices that Commodore sold (such as the SFD-1001 1-megabyte 5 inch floppy disk drive, and the peripherals originally made for the IEEE equipped PET computers, such as the 4040 and 8050 drives and the 9060/9090 hard disk drives).

As an alternative to the feeble performing 1541 or the relatively expensive IEEE bus adapter and associated peripherals, a number of third-party serial-bus drives such as the MSD Super Disk and Indus GT appeared that often offered better reliability, higher performance, quieter operation, or simply a lower price than the 1541, although often at the expense of software compatibility due to the difficulty of reverse engineering the DOS built into the 1541's hardware (Commodore's IEEE-based drives faced the same issue due to the dependence of the DOS on features of the Commodore serial bus).

Like the IEEE-488 interface, the CBM-bus offered the ability to daisy chain hardware together. This led to Commodore producing (via a third party) the Commodore 4015, or VIC-switch. This device (now rarely seen) allowed up to 8 Commodore 64s to be connected to the device along with a string of peripherals, allowing each computer to share the connected hardware.

It was also possible, without requiring a VIC-switch, to connect two Commodore 64s to one 1541 floppy disk drive to simulate an elementary network, allowing the two computers to share data on a single disk (if the two computers made simultaneous requests, the 1541 handled one while returning an error to the other, which surprised many people who expected the 1541's less-than-stellar drive controller to crash or hang). This functionality also worked with a mixed combination of PET, VIC-20, and other selected Commodore 8-bit computers.

In the mid-1980s, a 2.8-inch floppy disk drive, the Triton Disk Drive and Controller, was introduced by Radofin Electronics, Ltd. It was compatible with the Commodore 64 as well as other popular home computers of the time, thanks to an operating system stored on an EPROM on an external controller. It offered a capacity of 144/100 kilobytes non-formatted/formatted, and data transfer rates of up to 100 kilobytes per second. Up to 20 files could be kept on each side of the double-sided floppy disks.

Later in the 1990s, Creative Micro Designs produced several powerful floppy disk drives for the Commodore 64. These included the FD-Series serial bus compatible 3.5″ floppy drives (FD-2000, FD-4000), which were capable of emulating Commodore's 1581 3.5″ drive as well as implementing a native mode partitioning which allowed typical 3.5″ high-density floppy disks to hold 1.6 MB of data—more than MS-DOS's 1.44 MB format. The FD-4000 drive had the advantage of being able to read hard-to-find enhanced floppy disks and could be formatted to hold 3.2 MB of data. In addition, the FD series drives could partition floppy disks to emulate the 1541, 1571 and 1581 disk format (although unfortunately, not the emulated drive firmware), and a real time clock module could be mounted inside the drive to time-stamp files. Commercially, very little software was ever released on either 1581 disk format or CMD's native format. However, enthusiasts could use this drive to transfer data between typical PC MS-DOS and the Commodore with special software, such as SOGWAP's Big Blue Reader.

There was one other 3.5″ floppy drive available for the Commodore 64. The "TIB 001" was a 3.5″ floppy drive that connected to the Commodore 64 via the expansion port, meaning that these drives were very fast. The floppy disks themselves relied on an MS-DOS disk format, and being based on cartridge allowed the Commodore 64 to boot from them automatically at start-up. These devices appeared from a company in the United Kingdom, but did not become widespread due to non-existent third-party support. In an article in Zzap!64 of November 1991, several software houses interviewed believed that the device came to the market too late to be worthy of supporting.

Hard drives 

Late in 1984, Fiscal Information Inc., of Florida, demonstrated the Lt. Kernal hard drive subsystem for the C64. The Lt. Kernal mated a 10 megabyte Seagate ST-412 hard drive to an OMTI SASI intelligent controller, creating a high speed bus interface to the C64's expansion port. Connection of the SASI bus to the C64 was accomplished with a custom designed host adapter. The Lt. Kernal shipped with a disk operation system (DOS) that, among other things, allowed execution of a program by simply typing its name and pressing the Return key. The DOS also included a keyed random access feature that made it possible for a skilled programmer to implement ISAM style databases.

By 1987, the manufacturing and distribution of the Lt. Kernal had been turned over to Xetec, Inc., who also introduced C128 compatibility (including support for CP/M). Standard drive size had been increased to 20 MB, with 40 MB available as an option, and the system bus was now the industry-standard small computer system interface, better known as SCSI (the direct descendant of SASI).

The Lt. Kernal was capable of a data transfer rate of over  per second (65 kB per second in C128 fast mode).  An optional multiplexer allowed one Lt. Kernal drive to be shared by as many as sixteen C64s or C128s (in any combination), using a round-robin scheduling algorithm that took advantage of the SCSI bus protocol's ability to handle multiple initiators and targets. Thus the Lt. Kernal could be conveniently used in a multi-computer setup, something that was not possible with other C64-compatible hard drives.

Production of the Lt. Kernal ceased in 1991. Fortunately, most of the components used in the original design were industry standard parts, making it possible to make limited repairs to the units. In 2010, a re-creation of the Lt. Kernal was produced by MyTec Electronics. It was called the Rear Admiral HyperDrive and used an upgraded DOS called RA-DOS. The Rear Admiral parts could be used to upgrade the older Lt. Kernal, e.g. chips from the Rear Admiral host adapter could be used to upgrade the chips in the Lt. Kernal host adapter; or if the Lt. Kernal is missing its host adapter, the Rear Admiral host adapter could be used in its place.

Also available for the Commodore 64 was the Creative Micro Designs CMD HD-Series. Much like the Commodore 1541 floppy drive, the CMD HD could connect to the Commodore 64's serial bus, and could operate independently of the computer with the help of its on-board hardware. A CMD HD series drive included its own SCSI controller to operate its hard drive mechanism, in addition to hosting a battery powered real-time clock module for the time-stamping of files. The stock operating speeds of the CMD HD-Series units were not very much faster than the stock speeds of a 1541 floppy drive, but the units were fully JiffyDOS compatible. Faster parallel transfers were possible with the addition of another CMD product, the CMD RAMLink and a special parallel transfer cable. With this arrangement, the performance of the system doubled that of the Lt. Kernal. One advantage the CMD products had was software compatibility, especially with GEOS, that prior solutions lacked. CMD ultimately missed opportunities to develop any features for the drive's auxiliary port (such as a printer spooler feature promised in the CMD HD user manual). However, external SCSI devices (such as the iOmega zip 100 drive) could be connected to a CMD HD series drive's external SCSI port. Using the same utility software diskette shipped with all CMD HD series drives, the external storage could then be easily added to CMD HD series drive's existing partition table. This configuration could add, for example, 100 additional megabytes of external storage to even the 20 megabyte version of a CMD HD series drive. After partitioning and formatting of the added storage, the CMD HD series drive presented the total storage seamlessly to the user, regardless if the data was stored internally or externally.

The ICT DataChief included a  hard drive, along with an Indus GT floppy drive, along with a 135-watt power supply in a case designed to house an IBM PC Compatible computer.

User operation of these hard drive subsystems was similar to that of Commodore's floppy drives, with the inclusion of special DOS features to make best use of the drive's capabilities and to effectively manage the vast increase in storage capacity (up to a maximum of 4GB). An unavoidable problem was that total 1541 compatibility could not be achieved, which often prevented the use of copy-protected software, software fastloaders, or any software whose operation depended on exact 1541 emulation.

The enthusiast-built "IDE64 interface" was designed late in the 1990s, attaching itself in the Commodore 64's expansion port, and allowing users to attach common IDE hard drives, CD-ROM and DVD drives, ZiP and LS-120 floppy drives to their Commodore 64s. Later revisions of the interface board provided an extra compact flash socket. The IDE interface's performance is comparable to the RAMLink in speed, but lacks the intelligence of SCSI. Its main advantage lies in being able to use inexpensive commodity hard drives instead of the more costly SCSI units. 1541 compatibility is not as good as commercially developed hard drive subsystems, but continues to improve with time.

In late 2011, MyTec Electronics developed and sold the Rear Admiral Thunderdrive, a clone of the CMD HD. Though using more modern components and a smaller form factor in comparison to the CMD HD, the Thunderdrive maintained full compatibility with the CMD HD.

Input/Output

Printers 

A number of printers were released for the Commodore 64, both by Commodore themselves and by third-party manufacturers.

Commodore-specific printers were attached to the C64 via the serial port and were capable of being daisy chained to the system with other serial port devices such as floppy drives. By convention, printers were addressed as device #4-5 on the CBM-488 serial bus.

Dot-matrix

A series of dot-matrix printers were sold by Commodore, including the MPS 801 (OEM Seikosha GP 500 VC) and the MPS 803, although many other third-party printers like the Okimate 10 and Okidata 120 were popular too - some having more advanced printing features than any of Commodore's models. Most Commodore-branded printers were rebranded C. Itoh or Epson models with Commodore serial interface. Also Star Micronics AR-40 has a C64 compatible serial port.

Daisy wheel

Commodore also produced the DPS-1101 daisy wheel printer, which produced letter quality print similar to a typewriter based on a Juki mechanism, and which typically cost more than the computer and floppy disk drive together. The DPS-1101 was large enough to accept A4 size paper in landscape orientation as well as A3 size paper in portrait orientation. The MPS-1000 dot matrix printer was introduced along with the C-128.  Commodore 1526 is a rebranded MPS 802.

Plotter 

A mini plotter device, the Commodore 1520, could plot graphics and print text in four colors by using tiny ballpoint pens.

The 1520 was based upon the Alps Electric DPG1302, a mechanism which also formed the basis of numerous other inexpensive plotters for home computers of the time (e.g. the Atari 1020).

Third-party printer interfaces and buffers

Since there were severe shortcomings of early Commodore printers, CARDCO released the Card Print A (C/?A) printer interface that emulated Commodore printers by converting the Commodore-style CBM-bus IEEE-488 serial interface to a Centronics printer port to allow numerous 3rd-party printers to be connected to a Commodore 64, such as Epson, Okidata, C. Itoh. A second model, a version that supported printer graphics was released called the Card Print +G (C/?+G), supported printing Commodore graphic characters using ESC/P escape codes. CARDCO released additional enhancements, including a model with RS-232 output, and shipped a total over 2 million printer interfaces.  Xetec also released a series of printer interfaces. With a parallel interface, the QMS KISS laser printer, the most inexpensive available in 1986, at $1995 (), could be used. Later, CMD created the GeoCable which allowed PS2-type ink-jet and laser printers to work under GEOS with a special device driver.

Printer buffer with 64 kB RAM for the CBM-bus IEC IEEE-488 derative serial bus existed too, like the "Brachman Associates Serial Box Print Buffer".

Input devices 

The Commodore 64 has two Atari joystick ports. Commodore produced joystick controllers for the Commodore 64, largely compatible with Atari joysticks, as well as paddles (which were not Atari compatible). Commodore's paddles were originally intended for the VIC-20, and few C64 games could take advantage of them.

The "Atari CX85 Numerical Keypad" consists of a numeric keypad featuring the 17 keys [escape], [no], [delete], [yes], 0-9, [.], [-] and [+/enter].  It connects to the C64 joystick port using the Atari 2600 style interface with a DB9F plug.

Commodore had three models of computer mouse, namely the NEOS Mouse (Bundled with some packs of C64 as part of the Mouse Cheese pack), the 1350 and the 1351. These were used with GEOS as well as software such as Jane, OCP Art Studio, Arkanoid and Magic Desk. The earlier NEOS mouse worked as a normal analog mouse and came bundled with a graphics package called Cheese. It also supported a joystick emulation mode if the left button was held down during power-on. The later 1350 was only capable of emulating a digital joystick, by sending rapid 8 directional signals as it was moved, and was the least useful of the 3 mice. Its successor the 1351, like the NEOS Mouse, supported the more traditional analogue mode, known as 'proportional mode' in the documentation, sending signals to the computer that indicate amount and direction of movement. Like the NEOS mouse, it could be put into a 1350-esque joystick emulation mode, by holding down the right button at power-on. CMD's SmartMouse was compatible with 1351-aware and also included a third button and a built-in real-time clock module as well.

Several Companies produced Lightpens with its own drawing software for the Computer, e.g. the Inkwell light pen which was compatible with GEOS.

The Koala Pad graphics tablet was also available, came with its own paint software, and was compatible with GEOS as well. Suncom's Animation Station was another graphics tablet for the C64.

Car positioning system 
Test technicians at CGAD Productions operations developed and installed the CarPilot Computerized Automotive Relative Performance Indicator and Location of Transit, one of the first car navigation systems to be tested, circa 1984. It utilized a Commodore 64,  converter, video player/recorder, datasette, and a TV monitor.

The monitor page 1 displays battery voltage, water temperature, engine oil pressure, fuel level, vehicle speed, engine rotation speed, lock/no-lock condition of the automatic transmission torque converter, and on/off condition of the air conditioning clutch. All except the last two were incorporated with a "buzzer" alarm system that indicates malfunction. Another feature is the one-second-precision 24-hour clock. Estimated arrival time with 1s precision, distance traveled which is incremented every  and estimated distance to arrival that is also decremented with same value, 

Page 2 displayed the vehicle position along the map. Vehicle location indication is calculated from distance traveled. The accuracy of the vehicle location is dependent of the digital map construction and the accuracy of the local map used to construct the digital map. The best hope for accuracy is . But accuracy of one car length in  has been realized. The use of assembly language was necessitated to keep up with sensor input. One advantage with the system is the ability to create one's own digital maps and thus eliminate the need to buy such ones for every trip. The software to accomplish this task was written in Basic.

Robotics 

With computing, robot trainer, and plotter-scanner, Fischertechnik rose as the first manufacturer of modular building blocks into the computer age. Interfaces for all popular home computers at the time were made, including Apple II, Commodore 64 and Acorn, and later for Schneider, Atari ST and IBM PC. Programming languages to drive the models included GW-BASIC, Turbo Pascal and in the later kits (1991) an in-house programming tool Lucky Logic.

The "Commocoffee 64" is an espresso maker controlled by the C64 in 1985.

Relay controller 
The Handic "VIC REL" controller provides protected input and output using 6 relay outputs and 2 optocoupler inputs. The output relays are capable of  /  and the inputs respond to   The device also provides (+5V) and (-5V) at  to activate inputs. The device is programmed on the VIC-20 with POKE 37138,63 and I/O at 37136. And on C64 with POKE 56579,63 and I/O at 56577. The intended applications were burglar alarms, garage doors, door locks,  lamps, transmitters, remote controllers, valves, pumps, telephones, accumulators, irrigation systems,  stop watches, ventilators, humidifiers, etc.

Analog to digital converters 
There are audio Analog-to-digital converters (A/D) like the "A/D Wandler (DELA 87393)" based on 8-bit ADC0809 chip for the C64/128 with a maximum sampling frequency of  and the Sound Ultimate Xpander 6400 (SUX 6400) based on the 8-bit ADC0804 chip with a maximum sampling frequency of 11 kHz. Plain sound digitizers like "Sound Digitizer (REX 9614)" that converts analog sound into 2-bit samples. The latter could also be accomplished using the Datasette and software tricks.

Biofeedback EEG/EMG 
In 1987 there was a cartridge port device to measure EEG directly for use in exercise programs, called "BodyLink" produced by the company Bodylog in New York City, USA.  Schippers-Medizintechnik in Germany produced a  attached EMG device to allow a physician to analyze such things as stress level, and assisting in finding a better position for work.

Handscanners 
The "Scanntronik Handyscanner 64" is a hand held scanner that uses the C64 .

Frame grabbers 
Frame grabbers like the "PAL Colour Digitizer" that connect via the user port, will turn an analog composite video frame into a digital picture on the C64.  The "Print Technik Video Digitizer" connects via the  and uses CVBS video signal that has to be still for  in order to be sampled and can then be saved either as 320×200 monocolour or 160×200 multicolour (4 colours).

Video generator 
80 column mode could be used by installing the "BI-80" cartridge released 1984 from "Batteries Included" which is built around the 6545 video chip. It includes an expansion ROM that adds BASIC 4.0 commands. One can control which 40/80 column mode is active by software. On power up, the 40-column mode is active.

Another 80 column card using the cartridge port was the "DATA20 XL80" introduced in 1984
Costing  in 1985.

The "Z80 Video Pack 80" enabled black and white 80-column screen and CP/M using a Zilog Z80.

Teletext 
To download pages and software transmitted via the teletext broadcast system. The UK company "Microtext" provided their "Teletext adaptor" and tuner that interfaced with the TV-aerial and the C64/128 . Software was provided on a C-10 tape.  These were priced at  inc. p/p in 1987.

Communication

Modems 

As Commodore offered a number of inexpensive modems for the C64, such as the 1650, 1660, 1670, the machine also helped popularize the use of modems for telecommunications. The 1650 and 1660 were 300 Baud, and the 1670 was 1200 baud. The 1650 could only dial Pulse. The 1660 had no sound chip of its own to generate Touch Tones, so a cable from the monitor /audio out was required to be connected to the 1660 so it could use the C64 sound chip to generate Touch Tones. The 1670 used a modified set of Hayes AT commands.

This modem is required for Medical Manager for EDI operations.

The Commodore 1650 shipped with a rudimentary piece of terminal software called Common Sense. It provided basic Xmodem functionality and contained a 700 line scrollback feature.

In the United States, Commodore offered the Commodore Information Network, a CompuServe SIG devoted to its products and users. Later, Quantum Computer Services (which became America Online) offered an online service called Quantum Link for the C64 that featured chat, downloads, and online games. In the UK, Compunet was a very popular online service for C64 users (requiring special Compunet modems) from 1984 to the early 1990s. In Australia, Telecom (now Telstra) ran an online service called Viatel and sold modems for the C64 for use with the service. In Germany the very restrictive rules of the state-owned telephone system prevented widespread use of inexpensive, non-telco licensed modems, prompting the use of inferior acoustic couplers instead. Access to Bildschirmtext, the state-owned telco's own dial-up online service, was possible via special add-on hardware like the Commodore "BTX Decoder Modul"  or the Commodore "BTX Decoder Modul II".

Radio communication 
"Microlog AIR-1 Radio Interface Cartridge" that use the C64 cartridge port with builtin ROM software for RTTY and morse code communications.

"RTTY-CW Interface C-64" uses the  for RTTY communications.

"Auerswald ACC-64" longwave time signal for the DCF77 transmitter. The receiver uses the user port edge connector on the C64 computer.

RS-232 port 
Like the VIC-20, the C64 lacked a real UART chip such as the 6551 and used software emulation. This limited the maximum speed to an error-prone  Third-party cartridges with UART chips offered better performance.

Later in the Commodore 64's life, CMD developed two serial communications cartridges for Commodore Computers, the "Swiftlink"  -  and the "Turbo 232"  -   The latter was capable of handling a 56k Hayes modem reliably at full speed on a  enabling reasonable dial-up internet access speeds.

The Retro-Replay expansion cartridge enabled the addition of the Silver Surfer add-on serial board, which also enabled 56k modem connections, and the RR-Net add-on serial board, which allows for broadband internet access, as well as LAN.

Also, on November 5, 2005 Quantum Link Reloaded was launched enabling C64 enthusiasts to experience all the features of the original Quantum Link service in present-day with some enhancements for free.

IEEE-488 
The Commodore 64 IEEE-488 Cartridges were made by various companies, but Commodore themselves made very few for the Commodore 64/128 family. One of uses were hard disks like the Commodore D9060.

Some other interfaces without pictures available:
 E-LINK Serial to IEEE Interface. (contains 65C02, 6522 and 4 kB ROM)
 Buscard II Interface. (contains a 6532, 6821 (PIA) and  and a 
  INTERPOD - A standalone interface box, that connects the CBM (IEC) serial to parallel IEEE-488 and serial RS-232. It uses the 6502, 6532, 6522, 6850 and 2716 EPROM chips.

Other peripherals 

The Commodore 1701 and 1702 were  color monitors for the C64 which accepted as input either composite video or separate chrominance and luminance signals, similar to the S-Video standard, for superior performance with the C64 (or other devices capable of outputting a separated signal). Other monitors available included the 1802 and 1902. Introduced in 1986, the 1802 featured separate chroma and luma signals, as well as a composite green screen mode suitable for the C-128's 80 column screen. The 1902 had a true RGBI 80-column mode compatible with IBM PCs.

Early in the Commodore 64's life, Commodore released several niche hardware enhancements for sound manipulation. These included the "Sound Expander", "Sound Sampler", "Music Maker" overlay, and External music keyboard. The Sound Expander and Sound Sampler were both expansion cartridges, but had limited use. The Sound Sampler in particular could only record close to two seconds of audio, rendering it largely useless. The Music Maker was a plastic overlay for the Commodore 64 "breadbox" keyboard, which included plastic piano keys corresponding to keys on the keyboard. The External keyboard was an add-on which plugged into the Sound Expander. These hardware devices did not sell well, perhaps due to their cost, lack of adequate software, marketing as home consumer devices, and an end result that turned many serious musicians off.

Possibly the most complex C64 peripheral was the Mimic Systems Spartan, which added an entire new computer architecture to the C64, with its own 6502 CPU and expansion bus, for software and hardware compatibility with the Apple II series. Announced shortly after the Commodore 64 itself at a time when little software was available for the machine, the Spartan did not begin shipping until 1986, by which time the C64 had acquired an extensive software library of its own. Essentially an Apple II+ compatible computer that used the 64's keyboard, video output, joysticks, and cassette recorder, the Spartan included 64kB RAM, a motherboard with a 6502 CPU on a card, 8 Apple-compatible expansion slots, an Apple-compatible disk controller card, and a DOS board to add to your 1541 disk drive. The DOS board was optional, but if it was not installed an Apple Disk II or compatible drive would be required to load software. The long delay between announcement and availability, along with heavy promotion including full-page ads running monthly in the Commodore press, made the Spartan an infamous example of vaporware.

Gamesware produced a gaming peripheral for the Commodore 64 in 1988, where a target board was attached to the computer using the RS-232 port to enable use of its Gamma Strike suite of games.

CMD produced a SID symphony cartridge later in the Commodore's life. A reworking of the original Dr. T's SID Symphony cartridge, this cartridge gave the Commodore another SID chip for use to play stereo SID music. This saved Commodore 64 users from needing to modify their computer motherboards to enable it with dual SID chips.

Creative Micro Designs (CMD) was the longest-running third-party hardware vendor for the Commodore 64 and Commodore 128, hailed by some enthusiasts as being better at supporting the Commodore 64 than Commodore themselves. Their first commercial product for the C64 was a KERNAL based fast loader and utility chip called JiffyDOS. It was not the first KERNAL-based enhancement for the C64 (SpeedDOS and DolphinDOS also existed), but was perhaps the best implemented. The benefits of a KERNAL upgrade meant that the cartridge port was free for use (which would have normally been taken up by an Epyx FastLoad cartridge or an Action Replay), however the downside meant that one had to manually remove computer chips from the C64's motherboard and associated floppy drives to install it. Aside from the usual 1541 fast load routines, JiffyDOS contained an easy to use DOS and a few other useful utilities.

RAM expansions 
Over the years, a number of RAM expansion cartridges were developed for the Commodore 64 and 128. Commodore officially produced several models of RAM expansion cartridges, referred to collectively as the 17xx-series Commodore REUs. While these devices came in 128, 256, or 512 kB sizes, third-party modifications were quickly developed that could extend these devices to 2 MB, although some such modifications could be unstable. Some companies also offered services to professionally upgrade these devices.

Typically, most Commodore 64 users did not require a RAM expansion. Very little of the available software was programmed to make use of expansion memory. The cost of the units (and the requirement to add a heavy-duty power supply) also was a factor in the limited usage of RAM expansion cartridges. The volatility of DRAM was also a factor in the limited usage, as the RAM expansion cartridges were normally used for fast RAM disk storage, data stored on them would be lost at any power failure.

Aside from power-supply problems, the other main downfall of the RAM expansions were their limited usability due to their technical implementation. The RAM in the expansion cartridges was only accessible via a handful of hardware registers, rather than being CPU-addressable memory. This meant that users could not access this RAM without complicated programming techniques. Furthermore, simply adding the RAM expansion did not provide any kind of on-board RAM disk functionality (though a utility disk was supplied with some REUs, which provided a loadable RAM disk driver).

One popular exception to the disuse of the REUs was GEOS. As GEOS made heavy use of a primitive, software-controlled form of swap space, it tended to be slow when used exclusively with floppy disks or hard drives. With the addition of an REU, along with a small software driver, GEOS would use the expanded memory in place of its usual swap space, increasing GEOS' operating speed.

Due to the lack of available 17xx-series Commodore REUs, and then their later discontinuation, Berkeley Softworks, the publishers of GEOS, developed their own 512 kB RAM expansion cartridge - the GeoRAM. This device was purposely designed for use with GEOS, although some REU-aware programs were later adapted to be able to use it. Some time later, the GeoRAM was cloned by another company to form the BBGRAM device (which also sported a battery backup unit). The GeoRAM used a banked-memory design where portions of the external DRAM were banked into the Commodore 64's CPU address space. This method provided substantially slower transfer speeds than the single-cycle-per-byte transfer speeds of the Commodore REUs. The GeoRAM utilized four 1 Mbit-density DRAM chips arranged as two banks of two 256Kx4 DRAM ICs. A benefit of using denser DRAM was lower power consumption, and so the GeoRAM did not require upgrading the Commodore 64's power supply, in contrast with the 17xx-series REU memory expansion cartridges.

Eventually the Super 1750 Clone, a third-party clone of Commodore's RAM expansions was developed, designed in such a way as to eliminate the need for a heavy-duty power supply.

PPI devised their own externally powered 1 or 2 MB RAM expansion, marketed as the PPI/CMD RAMDrive, which was explicitly designed to be used as a RAM disk. Its primary feature was that the external power supply kept the formatting and contents of the RAM safe and valid while the computer was turned off, in addition to powering the device in any case. A driver was provided on the included utilities disk to allow GEOS to use the RAMdrive as a regular 'disk' drive.

CMD later followed up with the RAMLink. This device operated similar to the RAMDrive, but could address up to 16 MB of RAM in the form of a 17xx-series REU, GeoRAM, and/or an internal memory card, which also provided a battery-backed realtime clock for file time/date stamping of files saved to it. It also features a battery backup, thus preserving the RAM's contents. Drivers were provided with the RAMLink to allow GEOS to use its memory as either a replacement for swap space, or as a regular 'disk' drive.

CMD's Super CPU Accelerator came after this and could house up to  of direct, CPU-addressable RAM. Unfortunately, there was no on-board or disk-based RAM disk functionality offered, nor could any existing software make use of the directly addressable nature of the RAM. The exception is that drivers were included with the unit to explicitly allow GEOS to use that RAM as a replacement for swap space, or as a regular 'disk' drive, as well as to make use of the acceleration offered by the unit.

EPROM programmers 

Programmers for EPROMs like 2716 - 27256 using common programming voltages (Vpp) of 12.5, 21, and 25 V were available by connecting a device to the user port of the C64. These devices could cost  in 1985. The device often included a zero insertion force (ZIF) socket and a LED indicating when the EPROM chip was being programmed. The cartridge port was also used by some programmer devices.

Freezer, Reset, and Utility cartridges 
Probably the most well-known hacker and development tools for the Commodore 64 included "Reset" and "Freezer" cartridges. As the C64 had no built-in soft reset switch, reset cartridges were popular for entering game "POKEs" (codes which changed parts of a game's code in order to cheat) from popular Commodore computer magazines. Freezer cartridges had the capability to not only manually reset the machine, but also to dump the contents of the computer's memory and send the output to disk or tape. In addition, these cartridges had tools for editing game sprites, machine language monitors, floppy fast loaders, and other development tools. Freezer cartridges were not without controversy however. Despite containing many powerful tools for the programmer, they were also accused of aiding unauthorized distributors to defeat software copy protections. Perhaps the best-known freezer cartridges were the Datel "Action Replay", Evesham Micros Freeze Frame MK III B, Trilogic "Expert", "The Final Cartridge III", Super Snapshot and ISEPIC cartridges.

The Lt. Kernal hard drive subsystem included a push button on the host adapter called ICQUB (pronounced "ice cube"), which could be used to halt a running program and capture a RAM image to disk. This would work with most copy-protected software that did not do disk overlays and/or bypass the KERNAL ROM jump table. The RAM image was runnable only on the Lt. Kernal system on which it was captured, thus preventing the process from being used to distribute unlicensed software.

Music and Synthesizer utilities 
As the Commodore 64 featured a digitally controlled semi-analogue synthesizer as its sound processor, it was not surprising to discover an abundance of software and hardware designed to expand upon its capabilities.

Various assemblers, notators, sequencers, MIDI editing and mixer automation software were created which allowed users and programmers to create or record musical pieces of impressive technical complexity. Some software of note has included the Kawasaki Synthesizer range, Music System notation and MIDI suite, the MIDI-compatible Instant Music 'idiot-proof' sequential composer, and the Steinberg Pro-16 MIDI sequencer, the precursor to Cubase.

Notable hardware included various brands of MIDI cartridges, plug-in keyboards (such as the  or the  Commodore's own SFX range which included a sound sampler and  plug-in synthesizer and keyboard, the more recent Commodulator oscillator wheel and the  sequencer and synthesizer utility cartridge. The Passport Designs MIDI Interface is said to be one of the best designs and had the most software supported model available.

Recently a few professional musicians have used the Commodore 64's unique sound to provide some or all of the synthesizer parts required for their performances or recordings; an example being the band  Also noteworthy is the Commodore 64 Orchestra who specialize in re-arranging and performing music originally composed and coded for the Commodore 64 games market. Its patron is celebrated Commodore composer Rob Hubbard.

Apple II+ emulation box 
The Mimic Systems "Mimic Spartan Apple II+ compatibility box" enabled C64 users to run Apple II+ software. It came with the "DOS Card" addition, an Apple II disk controller that was installed inside the Commodore 1541 disk drive, between the floppy logic board and the drive mechanism. In normal mode the circuit simply passed signals through but at the flick of a switch it could take over the mechanism and turn the drive into an Apple II drive. The potential for grave damage to both Apple II and 1541 floppies was enormous and often happened. The box had  to configure. Applesoft BASIC was included and very compatible, since it was created by disassembling the binary from the Applesoft ROM and reordering the assembly level instructions such that the binary image would be different. One could set up various debugging and use slave computing to enable fast 3D rendering etc. The box had functionality to switch video between C64 and Apple. The second advertisement was put into the COMPUTE!'s Gazette in 1986.

CP/M with Z80 CPU cartridge 
The Commodore C64 CP/M Cartridge uses the C1541 floppy drive which was incapable of reading any existing CP/M disk format. The cartridge were equipped with a Zilog Z80 CPU running at around

CPU accelerators 
Like the Apple II family, third-party acceleration units providing a faster CPU appeared late in the C64's life. Due to timing issues with the VIC-II video controller, CPU accelerators for the 64 were complex and expensive to implement. So while accelerators based upon the Western Design Center (WDC) 65C02—usually running at 4 MHz, and the WDC 65C816 16-bit microprocessor running at 4, 8 or 20 MHz, were produced, they appeared too late and were too expensive to gain widespread use.

The first CPU accelerator seen was called the "Turbo Process" by a Bonn, Germany, based company called Roßmöller GmbH. It used the WDC 65C816 microprocessor running at 4.09 MHz. Code ran from faster static RAM on the accelerator expansion port cartridge. As the VIC video controller can only access the C-64's internal DRAM, writes had to be mirrored to the internal memory; write cycles would slow the operation of the processor to accomplish this.

The Turbo Master CPU, produced by US-based Schnedler Systems, was a hardware clone of the Roßmöller Turbo Process product with minor logic changes and a blue aluminum case. It was an expansion port device clocked at 4.09 MHz. It also had a JiffyDOS option. Early Turbo Process circuit boards shipped with PAL chips that did not have their security fuses blown, an oversight which made duplicating the PAL logic and hence the cartridge design trivial. No known litigation took place over the copying of the German company's design. The Turbo Master CPU had one beneficial modification, the bit to toggle the high-speed mode on was "0" in memory location $00 as opposed to the "1" the Turbo Process. A lot of software would write zeros to this location turning off the high-speed mode on the Turbo Process - this was considered a design flaw that was fixed by the Turbo Master.

The most well-known accelerator for the C64 is probably Creative Micro Designs' SuperCPU, which was equipped with the WDC W65C816S (the static core version of the 65C816) clocked at 20 MHz, and with up to 16 MB of RAM if combined with CMD's SuperRamCard. Understandably, due to a very limited "market" and number of developers, there has not been much software tailored for the SuperCPU to date — however GEOS was supported. Among the few offerings available are the Wheels; a Wheels-based web browser called "The Wave", a Unix/QNX-like graphical OS called Wings, some demos, various classic games modified for use with the SuperCPU, and a shooter game in the old Katakis-style called Metal Dust.

Present and Future devices
While CMD no longer produces Commodore hardware, new peripherals are still being developed and produced, mostly for mass storage or networking purposes.

The MMC64 cartridge allows the C64 to access MMC- and SD flash memory cards. And several revisions and add-ons have been developed for it to take advantage of extra features. It features an Amiga clock port for connecting a RR-Net Ethernet-Interface, an MP3 player add-on called 'mp3@c64' has even been produced for it.

In February 2008, Individual Computers started shipping the MMC Replay. It unites the MMC64 and the Retro Replay in one cartridge, finally built with proper case-fit in mind (even including the RRnet2 Ethernet add-on). It contains many improvements, such as C128 compatibility, a built-in .d64 mounter (not speedloader-compatible though, because the 1541 CPU is not emulated),  ROM for a total of eight cartridges, 512 kB RAM, a built-in flash-tool for cartridge images and wider support for various types of cartridges (not merely Action-replay-based).

In April 2008, the first batch of 1541 Ultimate shipped, a project by the hobbyist VHDL-developer Gideon Zweijtzer. This is a cartridge that carries an Action Replay and Final Cartridge (whatever the user prefers) and a very compatible FPGA-emulated 1541 drive that is fed from a built-in SD-card slot (.d64, prg etc.). The difference to other SD-based and .d64 mounting cartridges like the MMC64, Super Snapshot 2007 or MMC Replay is, that the 6502 that powers the 1541 Floppy and the 1541's mechanical behavior (even sound) is fully emulated, making it theoretically compatible with almost anything. Fileselection and management is done via a third button on the cartridge that brings up a new menu on screen. The 1541 Ultimate also works in standalone mode without a c-64, functioning just like a normal Commodore 1541 would. Disk-selection of .d64s is then done via buttons on the cartridge, power is supplied via USB. There is a "Plus-Version" available with an extra 32 Megabytes of RAM (as REU and for future use), the basic version has just enough RAM for the advertised functions to work.
In October 2008, the second and third batch of 1541 Ultimates were produced to match the public demand for the device. The regular version without the 32MB RAM was dropped since there was no demand for it. Due to public demand, there is also a version with Ethernet now.
In 2010 a completely new PCB and software has been developed by Gideon Zweijtzer to facilitate the brand new 1541-Ultimate-II cartridge.

The IDE64 interface cartridge provides access to parallel ATA drives like hard disks, CD/DVD drives, LS-120, Zip drives, and CompactFlash cards. It also supports network drives (PCLink) to directly access a host system over various connection methods including X1541, RS-232, Ethernet and USB. The operating system called IDEDOS provides CBM/CMD compatible interface to programs on all devices. The main filesystem is called CFS, but there's read-only support for ISO 9660 and FAT12/16/32. Additional features include BASIC extension, DOS Wedge, file manager, machine code monitor, fast loader, BIOS setup screen.

Today's computer mice can be attached via the Micromys interface that can process even optical mice and similar. There are also various interfaces for plugging the 64 to a PC keyboard.

A special board for converting Commodore 64 video signals to standard VGA monitor output is also currently under development. Also, a board to convert the Commodore 128's 80 column RGBI CGA-compatible video signal to VGA format was developed in late 2011. The board, named the C128 Video DAC, had a limited production run and was used in conjunction with the more widespread GBS-8220 board.

In September 2008, Individual Computers announced the Chameleon, a Cartridge for the Expansion Port that adds a lot of previously unseen functionality. It has a Retro-Replay compatible Freezer and MMC/SD-Slot,  REU and a PS/2 connector for a PC Keyboard. Support for a network adapter and battery-backed real time clock exists. The cartridge does not even have to be plugged into a Commodore 64 and can be used as a standalone device using USB power. Since the cartridge essentially also includes a Commodore One it is possible to include a VGA Port that outputs the picture to a standard PC monitor. The Commodore One core also allows the cartridge to be used as a CPU accelerator, and a core to run a Commodore Amiga environment in standalone mode also exists. Unlike most other modern-day C64 hardware, this cartridge ships with a bright yellow case. Shipping was announced for Q1/2009, and currently the cartridge is available, although the firmware is in a beta state.
A standalone mode docking station is under development.

Retro Innovations is shipping the uIEC device, which utilizes the core design of the SD2IEC project to provide a mass media solution for Commodore 8-bit systems that utilize the Commodore IEC Serial Bus. NKCElectronics of Florida is shipping SD2IEC hardware which uses the sd2iec firmware. Manosoft sells the C64SD Infinity, another SD card media solution which uses the sd2iec firmware.

In Summer of 2013, another commercial variant of the SD2IEC-Device appears on market, the SD2IEC-evo2 from 16xEight.
This device uses a bigger uC (ATmega1284P) and has some extras such as Battery backed-up RTC, connector for LC-Display, Multicolour Status-LED, and so on already on board.

2014 sees the emergence of another commercial variant of SD2IEC hardware. thefuturewas8bit SD2IEC Versions are available packaged to resemble a miniature 1541 disk drive. It has illuminated disk change and reset buttons accessible from the top of the case.

Notes 
  Many users came to dread the telltale "RAT-AT-AT-AT-AT" knocking noise, since such knocking contributed to eventual disk drive alignment failure.
  A modification could be made to older model Commodore 64 motherboards to piggy-back a secondary SID sound chip to the original SID chip. The resulting modification enabled the Commodore 64 to play sound in 6-channel stereo with the appropriate software.
  The Commodore 64 had documented cartridge port pins which could be crossed to achieve a reset. In an attempt to activate game "reset" and various cheats, a large number of Commodore 64 users attempted to reset their machines by manually touching these pins 1 and 3 with wire while the computer was switched on. Many users made mistakes and missed the correct pins, blowing their C64's fuse and resulting in a costly repair. This achievement was later known as the "Hamster Reset" in "Commodore Format" magazine. Some users soldered these pins to a button, which they mounted in the C64's case for handy resetting. Some programs utilized reset protection (by having the string 'CBM80'  at $8000 in the memory) which could be worked around by shorting pins 1-3-9 the same way as the "Hamster Reset" pin 9 (on the top side as opposed to pins 1 & 3 on the bottom) being the EXROM ROM expansion pin (thus overwriting data at $8000–$9fff).

See also 
 Computers: Commodore 64, VIC-20
 Floppy Drives: Commodore 1541, 1551, 1570, 1571, 1581
 Commodore 64 disk / tape emulation

References

External links 
Individual Computers - Makers of MMC64 and RR-series products
16xEight Digital Retrovation - Makers of innovative new hardware for Commodore 8-Bit Computers
Protovision - Makers of various new hardware upgrades
Lemon64 - Includes some of the best Commodore 64 music software
Home Recording - Music discussion board thread linking to many others relevant to C64 music
RUN Magazine Issue 39 May, 1986 special printer issue
elektronik.si: Vic-Rel internal PCB
bilgisayarlarim.com: Commodore MPS-801 teardown (dated 2007-05-07, accessed 2016-04-28)

Manuals 
Commodore
 Commodore VIC-1541 Floppy Drive: User Manual, Technical Reference
 Commodore VIC-1515 Printer: User Manual
 Commodore VIC-1525 Printer: User Manual
CARDCO
 CARDCO Card Print A (C/?A) Printer Interface: User Manual, Addendum
 CARDCO Card Print +G (C/?+G) Printer Interface: User Manual, Supplement

Peripherals
Home computer peripherals