- Commodore 1541
-
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.
Contents
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 individually rewritable.
However, one track was reserved by DOS for directory and file allocation information (so-called BAM, Block Allocation Map). And since for normal files, two bytes of each physical sector were used by DOS as a pointer to the next physical track and sector of the file, only 254 out of the 256 bytes of a block were used for file contents.
If the disk was not otherwise prepared with a custom format, (e.g. for data disks), 664 blocks would be free after formatting, giving 664 × 254 = 168,656 bytes (or almost 165 kB) for user data.
By using custom 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).
The 1541 did not have an index hole sensor, making it straightforward to use the reverse side of a disk by flipping it. A disc could be converted to a "flippy disk" by simply cutting/punching a notch on the left-hand side, causing the drive to recognize both sides as writable. This would effectively double the storage capacity. The notch could be made with a scissors, knife, hole punch, or "disk notcher" tool that was specifically designed for this task. Most soft sectored and all hard sectored drives would have also required an extra cut-out for the index hole — a harder modification.
Track Sectors
(256 bytes)bits/s 1 - 17 21 16M/4/(13+0) = 307 692 18 - 24 19 16M/4/(13+1) = 285 714 25 - 30 18 16M/4/(13+2) = 266 667 31 - 35 17 16M/4/(13+3) = 250 000 36 - 42 17 16M/4/(13+3) = 250 000 Tracks 36-42 are non standard. [1] The bitrate is after GCR encoding, so actual data is a factor 5/4 less.
1541 Image Layout
Tracks 1-17 are for data, as are tracks 19-35. Track 18 is reserved for the directory and the disk header. . The directory starts on 18/1 (track 18, sector 1). The header is on 18/0, and the BAM (Block Allocation Map) resides on 18/0 as well.
Header Contents
$00-01 T/S reference to first directory sector (18/1) 02 DOS version ('A') 04-8F BAM entries (4 bytes per track: Free Sector Count + 24 bits for sectors) 90-9F Disk Label, $A0 padded A2-A3 Disk ID A5-A6 DOS type ('2A')
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, and they 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, or hand-wire an external switch to allow it to be changed externally. It was also possible to change the number temporarily from the operating system.
The 1541 also had an internal power source, which generated some heat. 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 the 1541." The MikroBitti review of the 1541-II said that its external power source "should end the jokes about toasters".
The early 1541's had a spring eject mechanism (Alps Drive), and the discs often failed to release. This style of drive had the popular nickname "Toaster Drive", because it required the use of a knife or other thin object to pry out the stuck media just like a piece of toast stuck in a real toaster (though this is inadvisable with real toasters). This was fixed later, when Commodore changed the vendor of the drive mechanism (Mitsumi) and went to a flip handle that allowed extraction of the disc using your fingers, and no longer requiring the spring.
Versions and third-party clones
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+, the MSD Super Disk 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 proprietary bit-serial derivative of the standardized IEEE-488 parallel interface, 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 (one component of 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.[2]
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 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 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 released was true drive to drive copying possible. One could then (in theory at least) 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. This is not a recommended practice as disconnecting the serial lead from a powered drive and/or computer could result in destruction of one or both of the port chips in the disk drive.
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 simple disk copy programs were 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 and, in some cases, the protection removed.
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 try to physically move the head 40 times in the direction of track zero (although the 1541 DOS only used 35 tracks, the drive itself was a 40 track unit, so this ensured track zero would be reached no matter where the head was before). Once track zero was reached, every further attempt to move the head in that direction would cause it to be physically rammed against a solid stop - e.g. if the head happened to be on track 18 before this procedure, the head would be actually moved 18 times, and then rammed against the stop another 22 times. 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 into 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 by photo-interrupter 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 ROM, 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.
- ^ "Power20 Documentation - File Formats, Appendix E: Emulator File Formats". http://www.infinite-loop.at/Power20/Documentation/Power20-ReadMe/AE-File_Formats.html. 100624 infinite-loop.at
- ^ http://www.binarydinosaurs.co.uk/Museum/Commodore/c64/c64notes.php
External links
- C64 Preservation Project Discusses internal drive mechanics and copy protection
- Undocumented 1541 drive functions – From the Project 64 website
This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.
IEEE 8" | 5¼"Serial 5¼" | 3½"Categories:- CBM floppy disk drives
- Commodore 64
Wikimedia Foundation. 2010.