Commodore 1541
From Wikipedia, the free encyclopedia
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.
Contents |
[edit] 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 Availability 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.
[edit] 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".
[edit] 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+, 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).
[edit] 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 publishing Sizzle in 1987.
Because each 1541 had its own onboard disk controller and disk operating system, it was possible for a user to command two 1541 drives to copy a disk (one drive reading and the other writing), and 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 spend the next 35 seconds copying the entire disk.
[edit] Copy protection by read error
Early copy prevention 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.
[edit] 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 Amazing Grace and A Bicycle Built For Two. The most common cause of the 1541's drive head knocking and subsequent misalignment, however, was copy prevention 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 returned to 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 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.
The later 1571 drive (which was 1541 compatible) incorporated track zero detection and was thus immune from the problem. A third party fix for the 1541 appeared where the solid head stop was replaced by a sprung stop which gave the head a much easier life. Also a software solution which resided in the drive controller's RAM, prevented the re-reads from occurring, though this could cause problems when genuine errors did occur.
[edit] 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.
[edit] 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.
[edit] 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.
Floppy disk drives for Commodore 8-bit systems | |
8" IEEE: | 8020 |
5¼" IEEE: | 2031 • 2040 • 3040 • 4031 • 4040 • 8050 • 8250 • SFD-1001 |
5¼" serial: | 1540 • 1541 • 1551 • 1570 • 1571 • 1572 • MSD SD |
3½" serial: | 1581 • CMD FD |