Jump to content

Commodore 1541

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by 71.213.0.154 (talk) at 10:39, 16 June 2013 (No, the most-common version was the one with the Alps internal drive mechanism (the one with the straight-down latch).). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

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

History

Introduction

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 had a label on the front reading VIC-1541 and had a white case to match the VIC-20. Failure rates on the 1541 initially were very high,[quantify] 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. In 1983, the 1541 switched to the familiar gray case and a front label reading simply "1541" along with rainbow stripes to match the Commodore 64.

The early (1982–83) 1541s 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 adopted the flip-level 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 gray-case Newtronics 1541 was produced from 1984-86.

Versions and third-party clones

1541C, the first upgrade version

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.

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 were 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 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). Later ROM revisions fixed assorted problems, including a software bug that made the Save And Replace command unusable.

Successors

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.

Design

Hardware

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.[1] 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 drive-head mechanism was notoriously easy to misalign. The most common cause of the 1541's drive head knocking and subsequent misalignment 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: for example, 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. Some people even wrote code to vibrate the head at different frequencies to play simple tunes.[citation needed]

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.

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.

Throughput and software

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 - compare the 300 baud data rate of the Commodore cassette storage system - 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 ROM 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 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.

Media

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 Availability 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 1983 Apple FileWare minifloppy drives used 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 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. The bitrate is after GCR encoding, so actual data is a factor 5/4 less.[3]

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

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.

Notes

  1. ^ "RUN Magazine issue 28".
  2. ^ http://www.binarydinosaurs.co.uk/Museum/Commodore/c64/c64notes.php
  3. ^ "Power20 Documentation - File Formats, Appendix E: Emulator File Formats". infinite-loop.at.

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.