Commodore 1541

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Front view of the second-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 engage the drive mechanism with the disk (i.e. to engage the hub clamp and load the disk heads) and to prevent removal of the disk while the mechanism is mechanically engaged.
Back panel view of the Commodore 1541 disk drive

The Commodore 1541 (also known as the CBM 1541 and VIC-1541) is a floppy disk drive (FDD) which was made by Commodore International for the Commodore 64 (C64), Commodore's most popular home computer. The best-known FDD for the C64, the 1541 is a single-sided 170-kilobyte drive for 5¼" disks. The 1541 directly followed the Commodore 1540 (meant for the VIC-20).

The disk drive uses group code recording (GCR) and contains a MOS Technology 6502 microprocessor, doubling as a disk controller and on-board disk operating system processor. The number of sectors per track varies from 17 to 21 (an early implementation of zone bit recording). The drive's built-in disk operating system is CBM DOS 2.6.

History[edit]

Introduction[edit]

The 1541 was priced at under US$400 at its introduction. A C64 plus a 1541 cost about $900, while an Apple II with no disk drive cost $1395; the 1541 became widely popular. The demand caught Commodore by surprise, and the company struggled to produce the drive in adequate quantities.[citation needed]

The first 1541 drives produced in 1982 have a label on the front reading VIC-1541 and have an off-white case to match the VIC-20. Failure rates on the 1541 initially were very high,[quantify] and the drives were somewhat difficult 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. In 1983, the 1541 was switched to having the familiar beige case and a front label reading simply "1541" along with rainbow stripes to match the Commodore 64.

The early (1982–83) 1541s have a spring-eject mechanism (Alps drive), and the disks often fail to release. This style of drive has the popular nickname "Toaster Drive", because it requires the use of a knife or other hard thin object to pry out the stuck media just like a piece of toast stuck in an actual toaster (though this is inadvisable with actual toasters). This was fixed later when Commodore changed the vendor of the drive mechanism (Mitsumi) and adopted the flip-lever Newtronics mechanism, greatly improving reliability. In addition, Commodore made the drive's controller board smaller and reduced its chip count compared to the early 1541s (which had a large PCB running the length of the case, with dozens of TTL chips). The beige-case Newtronics 1541 was produced from 1984-86.

Versions and third-party clones[edit]

1541C, the first upgrade version

All but the very earliest non-II model 1541s can use either the Alps or Newtronics mechanism. Visually, the first models, of the -VIC-1541 denomination, have 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.

Commodore 1541-II, the second of two upgraded versions of the CBM 1541. The 1541-II has the more modern "radial handle" locking mechanism.

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 are the Oceanic OC-118 a.k.a. 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 uses an external power supply to provide cooler operation and allows the drive to have a smaller desktop footprint (the power supply "brick" being placed elsewhere, typically on the floor). Later ROM revisions fixed assorted problems, including a software bug that made the save-and-replace command unusable.

Successors[edit]

The Commodore 1570 is an upgrade from the 1541 for use with the Commodore 128, available in Europe. It offers 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 1571, the double-sided drive. Finally, the small, external-power-supply-based, 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.

Design[edit]

Hardware[edit]

The 1541 does not have dip switches to change the device 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 device number, or hand-wire an external switch to allow it to be changed externally.[1] It was also possible to change the number temporarily from the operating system.

The pre-II 1541s also have an internal power source, which generate much heat. The heat generation was a frequent source of humour. For example, Compute! stated in 1988 that "Commodore 64s used to be a favorite with amateur and professional chefs since they could compute and cook on top of their 1500-series disk drives at the same time".[2] A series of humorous tips in MikroBitti in 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 drive-head mechanism is notoriously easy to misalign. The most common cause of the 1541's drive head knocking and subsequent misalignment is copy-protection schemes on commercial software.[3] The main cause of the problem is that the disk drive itself does not feature any means of detecting when the read/write head reaches track zero. Accordingly, when a disk is formatted or a disk error occurrs, the unit tries to move the head 40 times in the direction of track zero (although the 1541 DOS only uses 35 tracks, the drive mechanism itself is a 40-track unit, so this ensured track zero would be reached no matter where the head was before). Once track zero is reached, every further attempt to move the head in that direction would cause it to be rammed against a solid stop: for example, if the head happened to be on track 18 (where the directory is located) before this procedure, the head would be actually moved 18 times, and then rammed against the stop 22 times. This ramming gives the characteristic "machine gun" noise and sooner or later throws the head out of alignment.

The earlier 1541s are so unreliable that Info magazine joked, "Sometimes it seems as if one of the original design specs ... must have said 'Mean time between failure: 10 accesses.'". Users can realign the drive themselves with 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 shows a good alignment. The screws are then tightened and the drive is put back into its case.[3]

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.[3] The later 1571 drive (which is 1541-compatible) incorporates track-zero detection by photo-interrupter and is thus immune to the problem. Also, a software solution, which resides in the drive controller's ROM, prevents the rereads from occurring, though this could cause problems when genuine errors did occur.

Interface[edit]

The 1541 uses a proprietary bit-serial derivative of the standardized IEEE-488 parallel interface, which is 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 are connected to the computer via a daisy chain scheme, necessitating only a single connector on the computer itself.

Throughput and software[edit]

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 causes a speed reduction by a factor of five.[4]

As implemented on the VIC-20 and Commodore 64, CBM DOS transfers only about 300 bytes per second - compare the 300-baud data rate of the Commodore cassette storage system - which translates 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 can 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 are the Epyx FastLoad, the Final Cartridge, and the Action Replay plug-in ROM cartridges, which all have 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 has its own on-board disk controller and disk operating system, it is not normally 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 is backward-compatible with (it can read 4040 disks but not write to them since its internal operating system is similar enough for reading but not for writing). Unfortunately, however, the routines in the previous disk operating system to enable disk copying were removed for the 1541 as it was intended to be a stand-alone unit. Originally, to copy from drive to drive, software running on the C64 was needed and it would first read from one drive into computer 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 for a pair of 1541s. The user could then unplug the C64 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 can result in destruction of one or both of the port chips in the disk drive.

Media[edit]

Each side of 170 kBs is 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 is reserved by DOS for directory and file allocation information (the BAM, block availability map). And since for normal files, two bytes of each physical sector are 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 are used for file contents.

If the disk side 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 can be used. The reason 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 single-density drives used e.g. in IBM PC computers of the day which save 180 kB on one side (by using a 40-track format). The 1983 Apple FileWare minifloppy drives use double-sided media, higher track pitch, and variable motor speed to achieve a storage capacity of 871 kB, or 435 kB per side.

The 1541 does not have an index hole sensor, making it straightforward to use the reverse side of a disk by flipping it. A disk can 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 can be made with scissors, a knife, hole punch, or a disk notcher tool that is 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. The bitrate is after GCR encoding, so actual data is a factor 5/4 less.[5]

The 1541 disk typically has 35 tracks. Track 18 is reserved; the remaining tracks are available for data storage. The header is on 18/0 (track 18, sector 0) along with the BAM (block availability map), and the directory starts on 18/1 (track 18, sector 1). The file interleave is 10 blocks, while the directory interleave is 3 blocks.

Header contents: The header is similar to other Commodore disk headers, the structural differences being the BAM offset ($04) and size, and the label+ID+type offset ($90).

$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')

Uses[edit]

Early copy protection schemes deliberately introduced read errors on the disk, the software refusing to load unless the correct error message is returned. The general idea was that simple disk-copy programs are incapable of copying the errors. When one of these errors is encountered, the disk drive (as do many floppy disk drives) will attempt one or more reread 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.

Notes[edit]

  1. ^ "RUN Magazine issue 28". 
  2. ^ Levitan, Arlan (December 1988). "Levitations". Compute!. p. 104. Retrieved 10 November 2013. 
  3. ^ a b c "Physical Exam". Info. May–June 1986. p. 57. Retrieved 6 October 2013. 
  4. ^ http://www.binarydinosaurs.co.uk/Museum/Commodore/c64/c64notes.php
  5. ^ "Power20 Documentation - File Formats, Appendix E: Emulator File Formats". infinite-loop.at. 

References[edit]

  • 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.

External links[edit]