Commodore 64 peripherals


The Commodore 64 home computer used various external peripherals. Due to the backwards compatibility of the Commodore 128, most peripherals would also work on that system. There is also some compatibility with the VIC-20 and Commodore PET.

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, 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.
The Datasette's speed was very slow. 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 is 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. 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 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 and, later, 3 inch 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 VIC-20.
The 1541 disk drive was notorious for not only its slow performance and large physical size compared to the C64, 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 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 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 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. 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 and target market of home computer users, BASIC's file commands defaulted to the tape drive. 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.
Image:Commodore 1541 white.jpg|thumb|right|Commodore 1541C Floppy Drive, 2nd model
Image:C64-IMG 5372.jpg|thumb|right|Commodore 1541-II Floppy Drive, 3rd model
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 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 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 backup 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.
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.
Like the IEEE-488 interface, the CBM-bus offered the ability to daisy chain hardware together. This led to Commodore producing the Commodore 4015, or VIC-switch. This device 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. 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, 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, 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.