Commodore 64 peripherals
|This article needs additional citations for verification. (June 2010)|
- 1 Storage
- 2 Input/Output
- 3 Communication
- 4 Other peripherals
- 5 Notes
- 6 See also
- 7 References
- 8 External links
In the United States, the 1541 floppy disk drive was widespread. By contrast, in Europe the C64 was often used with cassette tape drives (Datasettes), which were much cheaper, but also much slower than floppy drives. The datasette functioned similarly to a 300 baud modem, converting audio analog sounds into digital format. It plugged into a proprietary cassette port on the Commodore 64's motherboard. Standard blank audio cassettes could be used in this drive.
The datasette's speed was very slow (about 300 baud). Loading a large program at normal speed could take up to 30 minutes 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 recognisable by its black border and digital bleeping sounds on loading. Other fastloaders included loading 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.
In addition to low speeds, datasette users 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, the computer printing 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.
A similar concept to the ZX Microdrive (85 kB) was the extremely fast "Phonemark 8500 Quick Data Drive" which has 128 kB capacity using a micro-cassette storage unit and used the C2N Datasette. The concept eventually succumbed to floppy drives.
Floppy disk drives
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 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.
In the following example, '*' designates the last program loaded, or the first program on the disk, '8' is the disk drive device number, and the '1' 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 '1' 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. In fact, there were many software packages that took advantage of this; 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 an IEEE-488 general purpose interface bus adapter 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 serial bus offered the ability to daisy chain hardware together — that is, one device (disk drive or printer) would be connected to the Commodore 64 and the others would be connected to each other in sequence. 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 admirably handled one whilst 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.4 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 unfortunately 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.
Late in 1984, Fiscal Information Inc., of Florida, demonstrated the Lt. Kernal hard drive subsystem for the C64. The Lt. Kernal was revolutionary in that it 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 sophisticated minicomputer-like 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 the most technically advanced hard drive subsystem ever offered for Commodore 8 bit computers and was capable of a data transfer rate of over 38 kB 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 modern 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[dubious ] 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). Support for external SCSI devices (such as CD-ROM and Zip drives) was also noticeably missing. SCSI devices could be connected and chained to the external SCSI port, but could not be used from the HD without workarounds or special software.
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.
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.
Commodore also produced the DPS-1101 daisy wheel printer, which produced letter quality print similar to a typewriter, and which typically cost more than the computer and floppy disk drive together. The MPS-1000 dot matrix printer was introduced along with the C-128. Commodore 1526 is a rebranded MPS 802.
A mini plotter device, the Commodore 1520, could plot graphics and print text in four colors by using tiny ballpoint pens.
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 Commodore serial bus.
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 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 then available 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 IEC IEEE-488 serial bus existed too, like the "Brachman Associates Serial Box Print Buffer".
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. Commodore's joysticks were often derided because they were not particularly robust, especially for extreme gameplay. Many gaming enthusiasts preferred third-party joysticks, while some enthusiasts even built their own joysticks and controllers for the Commodore 64, or modified controllers from other systems to work on it. While the Commodore 64 only had two joystick ports for use, a few different kinds of joystick adapters were constructed by enthusiasts, which allowed up to four or eight joysticks to be used on the Commodore 64, with appropriate programming. Only about 20 games (by 2011) can take advantage of these however.
The "Atari CX85 Numerical Keypad" consist 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 two models of computer mouse, namely the 1350 and the 1351. These were used with GEOS as well as software such as Jane and Magic Desk. The earlier 1350 was only capable of emulating a digital joystick, by sending rapid 8 directional signals as it was moved, and thus was not very useful. The later 1351 used a more traditional proportional mode, sending signals to the computer that indicate amount and direction of movement. The 1351 also supported a mode identical to that of the 1350. CMD's SmartMouse was compatible with 1351-aware and also included a third button and a built in real-time clock module as well. The NEOS mouse also existed, but it was not compatible with 1351-aware software as it was simply a joystick emulator.
Sveral 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, an early form of touchpad 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
A senior test technicians at CGAD Productions operations developed and installed the CarPilot Computerized Automotive Relative Performance Indicator and Location of Transit. Which may be one of the first GPS type mapping systems to be tested, circa 1984-ish. It utilizes a Commodore 64, 12V DC to 5V DC 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 indicate malfunction. Another feature is the one second precision 24-hour clock. Estimated arrival time with 1s precision, distance traveled which is incremented every 80 meter and estimated distance to arrival that is also decremented with same value, 80 meters.
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 800 m. But accuracy of one car length in 35 km has been realized. The use assembly language was necessitated to keep up with sensor input. One advantage with the system is the ability to create ones 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.
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 Handic "VIC REL" controller provides protected input and output using 6 relay outputs and 2 optocoupler inputs. The output relays are capable of 24 V / 10 W and the inputs respond to 5-12 V DC. The device also provides (+5V) and (-5V) at 50 mA 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, heating elements, lamps, transmitters, remote controllers, valves, pumps, telephones, accumulators, irrigation systems, electrical tools, stop watches, ventilators, humidifiers, etc.
Analog to digital converters
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 10 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.
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, USA. Schippers-Medizintechnik in Germany produced a user port attached EMG device to allow a physician to analyze such things as stress level, and assisting in finding a better position for work.
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 user port and uses CVBS video signal that has to be still for 4 seconds in order to be sampled and can then be saved either as 320×200 monocolour or 160×200 multicolour (4 colours).
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.
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 user port. Software was provided on a C-10 tape. Which were priced at 114.80 GBP inc. p/p in 1987. Another teletext adapter is the Commodore "BTX Decoder Modul" that used the C64/128 cartridge port. And the Commodore "BTX Decoder Modul II".
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 Commands.
This modem is required for Medical Manager for EDI operations.[clarification needed]
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, Quantum Computer Services (later 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 modems, prompting the use of inferior acoustic couplers instead.
"RTTY-CW Interface C-64" uses the User port for RTTY communications.
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 2400 bit/s. 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" (1990 - 38 400 bit/s) and the "Turbo 232" (1997 - 230 400 bit/s). The latter was capable of handling a 56k Hayes modem reliably at full speed on a Commodore 64, 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. The server is located at 126.96.36.199 on port 5190.
|Quicksilver 64/128 by Skyles electric works||Computapix IEEE Cartridge||Technofor|
|Quicksilver-64/128 v2||C64-Plus||VC40 Cartridge|
Some other interfaces without pictures available:
- E-LINK Serial ot IEEE Interface. (contains 65C02, 6522 and 4 kB ROM)
- Buscard II Interface. (contains a 6532, 6821 (PIA) and 8 kB ROM, and a 256 byte PROM)
- INTERPOD - An Interface box, that converts IEEE-488 to CBM (IEC) serial & RS-232 serial.
The Commodore 1701 and 1702 were 13-inch (33 cm) 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 mode. 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 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 additional 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-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.
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, due to a number of problems associated with them. One such problem with the various Commodore-made 17xx-series devices was their power draw from the Commodore 64 computer. Some models required the Commodore 64 to be powered by a heavy-duty power supply, and these power supplies were typically not supplied with the Commodore 64. Eventually, a number of third-party clones of Commodore's RAM expansions were developed, some of which were designed in such a way as to eliminate the need for a heavy-duty power supply.
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 REU 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.
Berkeley Softworks later developed its 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).
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 16 MB 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.
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. And could cost 100 USD in 1985. The device often included a zero insertion force (ZIF) socket and a LED indicating when the EPROM chip were being programmed. The cartridge port were 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 software pirates 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", and Super Snapshot 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 pirate 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 Color Tone or the Sound Chaser 64), Commodore's own SFX range which included a sound sampler and Sound Expander plug-in synthesizer and keyboard, the more recent Commodulator oscillator wheel and the Prophet 64 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 Instant Remedy. 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 24 jumpers to configure. Applesoft BASIC was included and very compatible. Since it was created by disassembling the binary from the Applesoft ROM and reorder the assembly level instructions such that the binary image would be different. One could setup various debuging and use slave computing to enable fast 3D rendering etc. The box had functionallity to switch video between C64 and Apple. The second advertisement were put into the COMPUTE!'s Gazette in 1986.
CP/M with Z80 CPU cartridge
The Commodore C64 CP/M Cartridge used the C1541 floppy drive that was incapable to read any existing CP/M disk format. The cartridge were equipped with a Zilog Z80 CPU running at circa 3 MHz. On the C128 the INT and IORQ signals are used such that the Z80 can make use of interrupts.
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 chip - the same issues that caused the 1540 disk drive to be incompatible and the 128's "fast mode" to be 80 column-only - CPU accelerators for the 64 were much more complex and expensive to implement than for other computers. So while accelerators based on the WDC 65C02, usually running at 4 MHz, and on the 65816 at up to 20 MHz appeared, they appeared too late and were too expensive to gain widespread use.
The Turbo Master CPU, produced by Schnedler Systems, was a blue expansion port device which clocked in at 4.09 MHz. It also had a JiffyDOS option.
The most well-known accelerator for the C64 is probably Creative Micro Designs' SuperCPU, which gives the C64 a 20 MHz processor (instead of ~1 MHz) and 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 include the GEOS-compatible operating system, 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), 512 kB 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, 16 MB 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 actually 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.
- ^ 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).
- Computers: Commodore 64, VIC-20
- Floppy Drives: Commodore 1541, 1551, 1570, 1571, 1581
- Commodore 64 disk / tape emulation
- "Hardware". bithunter.siz.hu. 2012-01-30. Retrieved 2013-06-21.
- "coll_quick_data_drive.jpg". bithunter.siz.hu. 2012-01-23. Retrieved 2013-06-21.
- "tt". web.tiscali.it. 2012-09-22. Retrieved 2013-06-17.
- "RUN Magazine issue 40".
- "Run Issue 30 Jun 1986".
- "Chronology of Commodore Computer History, Jack Tramiel". 090505 commodore.ca
- "Here be Commodore Computers. Be in Awe.". 090505 zimmers.net
- "CARDCO Card Print A (C/?A) - Printer Interface For The Commodore 64 and VIC-20". COMPUTE Magazine (34): 251. March 1983.
- "RUN Magazine issue 36".
- "commodore.ca | Rare Commodore Computer Hardware Picture / Photo Gallery". commodore.ca. 2012-12-11. Retrieved 2013-06-21.
- "Commodore%2064_128%20Key%20Pad_Atari.jpg". commodore.ca. 2011-03-29. Retrieved 2013-06-21.
- "Review: Atari CX85 Numerical Keypad". atarimagazines.com. May 1983. Retrieved 2013-06-21.
- "Products | Commodore 64 History, Manuals & Photo's 64C 64GS". commodore.ca. 2011-03-30. Retrieved 2013-06-21.
- Infoworld Media Group, Inc (1984-07-09). Software for the Suncom Graphics Tablet.
- "commodore-64-car-pilot.jpg". commodore.ca. 2011-03-30. Retrieved 2013-06-21.
- "The Commocoffee-64 » Coolest Gadgets". coolest-gadgets.com. Retrieved 2013-06-21.
- "commocoffee-commodore-64-coffee-maker.jpg". commodore.ca. 2011-03-29. Retrieved 2013-06-21.
- "VIC REL". bombjack.org. 2009-11-14. Retrieved 2013-06-21.
- "- Rex Datentechnik - Retroport". retroport.de. 2013-06-14. Retrieved 2013-06-21.
- "ADC0808/ADC0809 8-Bit μP Compatible A/D Converters with 8-Channel Multiplexer". learn-c.com. 2010-04-15. Retrieved 2013-06-21.
- "Could the Datasette players play music cassette tapes too? - Commodore 64 (C64) Forum". lemon64.com. Retrieved 2013-06-21.
- "C64 Tape player - Commodore 64 (C64) Forum". lemon64.com. Retrieved 2013-06-21. "5 poke53265,0 10 for i=0 to 25:read a:poke49152+i,a:next:sys49152 90 data 120,165,1,41,223,133,1,162,0,160,15,169,16 91 data 44,13,220,240,251,142,24,212,140,24,212,208,243"
- COMPUTE!'s GAZETTE, January 1987, Issue 43, Vol. 5, No. 1 |page=10
- "The C64 as a medical aid". mos6502.com. 2012-09-21. Retrieved 2013-07-06.
- "coll_handyscanner.jpg". bithunter.siz.hu. 2012-01-23. Retrieved 2013-06-21.
- "coll_pal.jpg". bithunter.siz.hu. 2012-01-23. Retrieved 2013-06-21.
- "B I - 8 0 80 Column Display by Batteries Included". mikenaberezny.com. Retrieved 2013-06-17.
- "BI-80 Display Adapter". mikenaberezny.com. 2012-01-28. Retrieved 2013-06-17.
- g "coll_bi-80.jpg". bithunter.siz.hu. 2012-01-23. Retrieved 2013-06-21.
- "B80.jpg". web.tiscali.it. 2012-09-16. Retrieved 2013-06-17.
- "Data 20 Corporation XL 80 video a 80 colonne per C 64". digitanto.it. 2010-02-13. Retrieved 2013-06-17.
- "coll_microtext.jpg". bithunter.siz.hu. 2012-01-23. Retrieved 2013-06-21.
- Your Commodore, Issue 35, August 1987, page 7
- "- Hardware B-C - Retroport". retroport.de. 2013-06-14. Retrieved 2013-06-21.
- "coll_btx.jpg". bithunter.siz.hu. 2012-01-23. Retrieved 2013-06-21.
- "Bildschirmtext-Museum: Hardware-Btx-Decoder: Meine Sammlung". btxmuseum.de. Retrieved 2013-06-21.
- "coll_microlog_air-1.jpg". bithunter.siz.hu. 2012-01-23. Retrieved 2013-06-21.
- "empty". bithunter.siz.hu. 2012-01-23. Retrieved 2013-06-21.
- "coll_acc64.jpg". bithunter.siz.hu. 2012-01-23. Retrieved 2013-06-21.
- "Mike Naberezny – CMD SwiftLink RS-232". mikenaberezny.com. 2012-01-28. Retrieved 2013-06-17.
- "USR Modem - comp.sys.cbm | Google Groups". groups.google.com. 1996-08-06. Retrieved 2013-06-17.
- "File:Turbo232 top.jpg - ReplayResources". ar.c64.org. 2010-06-15. Retrieved 2013-06-17.
- "CMD Turbo232 High speed modem interface". ar.c64.org. 2010-06-15. Retrieved 2013-06-17.
- "Commodore 1802 User's Manual".
- "RUN Magazine issue 36 December 1986".
- "empty". bombjack.org. 2009-01-26. Retrieved 2013-06-21.
- "EPROM Programmers handbook for the C64 and C128". bombjack.org. 2009-01-02. Retrieved 2013-06-21.
- "VC&G | [ Retro Scan of the Week ] Apple II Box for C64". vintagecomputing.com. 2013-03-25. Retrieved 2013-06-21.
- "Mimic Systems' Spartan | Applefritter". applefritter.com. 2013-06-21. Retrieved 2013-06-21.
- "Commodore 64 CP/M Cartridge". devili.iki.fi. 2006-02-24. Retrieved 2013-06-21.
- "Ruud's Commodore Site: C/PM-cartridge for the C64". baltissen.org. 2009-07-30. Retrieved 2013-06-21.
- Retro Innovations - uIEC
- The string 'CBM80' being represented by the hex bytes C3 C2 CD 38 30
- Individual Computers - Makers of MMC64 and RR-series products
- 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
- Commodore VIC-1541 Floppy Drive: User Manual, Technical Reference
- Commodore VIC-1515 Printer: User Manual
- Commodore VIC-1525 Printer: User Manual
- CARDCO Card Print A (C/?A) Printer Interface: User Manual, Addendum
- CARDCO Card Print +G (C/?+G) Printer Interface: User Manual, Supplement