Jump to content

Commodore 1541

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 161.88.255.139 (talk) at 18:10, 12 December 2008 (The serial computer interface: Removed note about the 1541 being able to read 8050 disks - it cannot. The 8050 uses 77 track disks (100tpi), which are unreadable by the 48tpi heads in the 1541.). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

Front view of the most common version of the Commodore 1541 disk drive, with open disk slot. This version uses a Newtronics drive mechanism, and the rotating lever is used to hold the disk in place. Note that the small toggle switch in the lower right corner is an aftermarket addition.
Back panel view of the Commodore 1541 disk drive.

The Commodore 1541 (aka CBM 1541, and originally called VIC-1541), made by Commodore International, was the best-known floppy disk drive for the Commodore 64 home computer. The 1541 was a single-sided 170 kilobyte drive for 5¼" disks. The 1541 followed the previous Commodore 1540 (meant for the VIC-20).

The disk drive used Group Code Recording (GCR) and contained a MOS 6502 microprocessor, doubling as a disk controller and on-board disk operating system processor. The number of sectors per track varied from 17 to 21 (an early implementation of Zone Bit Recording). The drive's built-in disk operating system was CBM DOS 2.6.

Use of "flippy disks", which were double-sided disks converted by cutting/punching a notch on the left-hand side, would give access to the reverse side of the disks and effectively double the storage capacity. The notch could be made with a knife, single hole paper punch, or "disk notcher" tool that was specifically designed for this task.

Disk Capacity

Each side of 170 KBs was split into 683 sectors on 35 tracks, each of the sectors holding 256 bytes; the file system made each sector its own cluster.

However, since one track had to be used by the drive itself for directory and file allocation information (so-called BAM, Block Allocation Map) and two bytes of each physical sector were used as a block pointer to the next logical sector (as to implement interleave for faster access), a logical block would hold 254 bytes.

So as long as software would not organize disk storage on its own (e.g. for data disks), 664 blocks would be free after formatting, giving 168,656 bytes (or almost 165 KB) for user data.

Using own formatting and load/save routines (sometimes included in third-party DOSes, see below), all of the mechanically possible 40 tracks could be used. The reason why Commodore decided not to use the upper five tracks by default (or at least more than 35) was the bad quality of some of the drive mechanisms which did not always work reliably at the highest tracks. So by reducing the number of tracks used and thus capacity, it was possible to further reduce cost - in contrast to Double Density drives used e.g. in IBM PC computers of the day which saved 180 KB on one side (by using a 40 tracks format).

For compatibility and ease of implementation, the 1571's Double Sided format of one logical disk side with 70 tracks later was created by putting together the 35 physical tracks on each of the physical sides rather than using two times 40 (or e.g. 38) tracks, even though there were no more quality problems with the mechanisms of those drives. The 1571 CP/M format, however, uses the full 360 KB available on that two R/W head drive.

Introduction and early problems

Priced at under US$400 at its introduction, the 1541 became widely popular. Although expensive by today's standards, a C64 plus a 1541 cost about $900, while an Apple II with no disk drive cost $1395. The demand caught Commodore by surprise, who struggled to produce the drive in adequate quantities.

Failure rates on the 1541 initially were very high, and the drives were virtually impossible to find. The lead editorial in the December 1983 issue of Compute!'s Gazette lamented that four of the seven drives the magazine had in its editorial offices had failed. Eventually the problems subsided and the drive became nearly as widely available as the C64 itself.

The 1541 did not have dip switches to change the drive number. If a user added more than one drive to a system the user had to open the case and cut a trace in the circuit board to permanently change the drive's number. It was also possible, however, to change the number temporarily from the operating system.

The 1541 also had an internal power source, which generated some heat. Due to this it was in many places often known as "toaster". The heat generation was a frequent source of humour. For example, series of humorous tips in MikroBitti 5/1989 said "When programming late, coffee and kebab keep nicely warm on top of 1541." MikroBitti review of 1541-II said that its external power source "should end the jokes about toasters".

Versions and third-party clones

Commodore 1541-II, the second of two upgraded versions of the CBM 1541 (the first upgrade was the 1541C). The 1541-II has the more modern 'radial handle' locking mechanism.

There were two versions of the 1541 mechanics. Early models used a drive mechanism made by Alps Electric, distinguishable by its push-down drive door. Later models utilized a drive mechanism manufactured by Newtronics (Mitsumi), which used a lever release. All but the very earliest 1541s can use either the Alps or Newtronics mechanism. Visually, the first models, of the VIC-1541 denomination, had an off-white color like the VIC-20 and VIC-1540. Then, to match the look of the C64, CBM changed the drive's color to brown-beige and the name to Commodore 1541.

The 1541's numerous shortcomings opened a market for a number of third-party clones of the disk drive, a situation that continued for the lifetime of the C64. Well-known clones were the Oceanic OC-118 aka Excelerator+, MSD 's single and dual drives, the Enhancer 2000, the Indus GT, and CMD 's FD-2000 and FD-4000. Nevertheless, the 1541 became the first disk drive to see widespread use in the home and Commodore sold millions of the units.

In 1986, Commodore released the 1541C, a revised version that offered quieter and slightly more reliable operation and a light beige case matching the color scheme of the Commodore 64C. It was replaced in 1988 by the 1541-II, which used an external power supply to provide cooler operation and allow the drive to have a smaller desktop footprint (the power supply "brick" being placed elsewhere, typically on the floor).

The serial computer interface

The 1541 used a bit-serial version of the IEEE-488 interface, the speedier parallel version of which was used on Commodore's earlier drives for the PET/CBM range of personal/business computers. To ensure a ready supply of inexpensive cabling for its home computer peripherals, Commodore chose standard DIN connectors for the serial interface. Disk drives and other peripherals such as printers were connected to the computer via a daisy-chain scheme, necessitating only a single connector on the computer itself.

Initially, Commodore intended to use a hardware shift register (the 6522 VIA) to maintain relatively brisk drive speeds with the new serial interface. However, a hardware bug with this chip prevented the initial design from working as anticipated, and the ROM code was hastily rewritten to handle the entire operation in software. According to Jim Butterfield, this caused a speed reduction by a factor of five. [1]

As implemented on the VIC-20 and Commodore 64, CBM DOS could transfer only about 300 bytes per second, which translated to about 20 minutes to copy one disk—10 minutes of reading time, and 10 minutes of writing time. However, since both the computer and the drive could easily be reprogrammed, third parties quickly wrote more efficient firmware that would speed up drive operations drastically. Without hardware modifications, some "fast-loader" utilities managed to achieve speeds of up to 4 kB/s. The most common of these third-party products were the Epyx FastLoad, the Final Cartridge, and the Action Replay plug-in cartridges, which all had machine code monitor and disk editor software on board as well. The popular Commodore computer magazines of the era also entered the arena with type-in fast-load utilities, with Compute!'s Gazette publishing TurboDisk in 1985 and RUN (magazine) publishing Sizzle in 1987.

Even though each 1541 had its own on board disk controller and disk operating system, it was not possible for a user to command two 1541 drives to copy a disk (one drive reading and the other writing) as with older dual drives like the 4040 and 8050 that were often found with the PET computer, and which the 1541 was backward compatible to (it could read 4040 disks but not write to them since its internal Operating System was essentially the same). Unfortunately, however, the routines in the 1541 disk operating system to enable disk copy were removed as it was intended to be a stand-alone unit. To copy from drive to drive, software running on the C64 was needed and it would first read from one drive into memory, then write out to the other. Only later when first Fast Hack'em then other disk backup programs were release was true drive to drive copying possible. One could then unplug the C64 itself from the drives (i.e. from the first drive in the daisy chain) and do something else with the computer as the drives proceeded to copy the entire disk.

Copy protection by read error

Early copy protection schemes deliberately introduced read errors on the disk, the software refusing to load unless the correct error message was returned. The general idea was that the inbuilt disk copy command was incapable of copying the errors. When one of these errors was encountered, the disk drive (as do all disk drives) would attempt one or more re-read attempts after first resetting the head to track zero. Few of these schemes had much deterrent effect, as various software companies soon released 'nibbler' utilities that enabled protected disks to be copied.

The drive head misalignment issue

The drive-head mechanism was notoriously easy to misalign, and had a tendency to make a 'machine-gun' rattle when out of alignment or when formatting a new disk. Some people even wrote code to vibrate the head at different frequencies to play simple tunes such as Daisy Bell, Amazing Grace, and, perhaps most appropriately, When I'm Sixty-Four. The most common cause of the 1541's drive head knocking and subsequent misalignment, however, was copy protection schemes on commercial software.

The main cause of the problem was that the disk drive itself did not feature any means of detecting when the read/write head had reached track zero. Accordingly, when a disk was formatted or a disk error occurred, the unit would physically drive the head 40 tracks to track zero (although the 1541 DOS only used 35 tracks, the drive itself was a 40 track unit). Once track zero was reached, the head would be physically rammed against a solid stop. This ramming gave the characteristic 'machine gun' noise and would, sooner or later, throw the head out of alignment.

There were at least one or two "home remedy" software products on the market during the heyday of the 1541 drive and Commodore 64 computer that could be used to re-align the drive yourself and save a costly trip to a repair center and down time. They generally consisted of a software program and a calibration disk. What the user would do is remove the drive from its case and then loosen the screws holding the stepper motor that moved the head. Then with the calibration disk in the drive gently turn the stepper motor back and forth until the program showed a good alignment. The screws were then tightened and the drive put back in its case. The real problem actually was that the sprocket which moved the head would slip on the stepper motor shaft after repeated hammering and this would put the drive gradually out of alignment.

The later 1571 drive (which was 1541 compatible) incorporated track zero detection and was thus immune to the problem. A third-party fix for the 1541 appeared where the solid head stop was replaced by a sprung stop, giving the head a much easier life. Also, a software solution, which resided in the drive controller's RAM, could prevent the re-reads from occurring, though this could cause problems when genuine errors did occur.

Commodore's successor products

The Commodore 1570 was an upgraded 1541 for use with the Commodore 128, available in Europe. It offered MFM capability for accessing CP/M disks, improved speed, and somewhat quieter operation, but was only manufactured until Commodore got its production lines going with the double-sided 1571. Finally, the small, external power supply, MFM-based Commodore 1581 3½" drive was made, giving 800 KB access to the C128 and C64. By this time, however, many CBM users had shifted their attention to the 16/32-bit Amiga, and the 1581 was mostly sold to remaining GEOS users.

References

  • CBM (1982). VIC-1541 Single Drive Floppy Disk User's Manual. 2nd ed. Commodore Business Machines, Inc. P/N 1540031-02.
  • Neufeld, Gerald G. (1985). 1541 User's Guide. The Complete Guide to Commodore's 1541 Disk Drive. Second Printing, June 1985. 413 pp. Copyright © 1984 by DATAMOST, Inc. (Brady). ISBN 0-89303-738-9.
  • Immers, Richard; Neufeld, Gerald G. (1984). Inside Commodore DOS. The Complete Guide to the 1541 Disk Operating System. DATAMOST, Inc & Reston Publishing Company, Inc. (Prentice-Hall). ISBN 0-8359-3091-2.
  • Englisch, Lothar; Szczepanowski, Norbert (1984). The Anatomy of the 1541 Disk Drive. Grand Rapids, MI: Abacus Software (translated from the original 1983 German edition, Düsseldorf: Data Becker GmbH). ISBN 0-916439-01-1.

This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.