Lably
Skip to content

Commodore 64 peripherals

  • 39 min read
  • 4 chapters

Related on Lably

Through Motherboard, Magnetic field and Stream (computing)

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 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 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 (see below). They were expensive and few were ever sold.

A similar concept to the ZX Microdrive (85 kB) was the extremely fast "Phonemark 8500 Quick Data Drive" which has 16 - 128 kB 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 1.3 kB/s which is 3 times 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 5.8 kB/s and included "freezer" capabilities.

Floppy disk drives

Although usually not supplied with the machine, floppy disk drives of the 51⁄4 inch (1541, 1570 and 1571) and, later, 31⁄2 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 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, '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. 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 (such as the SFD-1001 1-megabyte 51⁄4 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 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 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 20 MB 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 4 GB). 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.

Sign in to keep reading

3 more chapters are free with a Lably account.

More in Computing and communication