VC1541

from Wikipedia, the free encyclopedia

The VC 1541 is a 5¼ inch floppy disk drive for the C64 home computer from Commodore . It came on the market in 1982 and became the most successful model in the VC15xx series. The 1541 has only one read / write head and can therefore only write to diskettes on one side. In order to use the full capacity of a floppy disk, it can be provided with an additional read / write notch on the left side using a floppy disk punch, for example . A further 165 KB can then be stored on a floppy disk modified in this way by turning it  over.

VC 1541

General

Drive VC 1541
Main board VC 1541 (1st generation with "short" board)

Like the other floppy disk drives in the Commodore 8-bit model series, the 1541 is an independent computer. As CPU was 6502 used a close relative of the C64 in 6510 . With tricky programming you could have the two compute in parallel (even if this option was only used by very few programs).

format

The data is stored on 35 tracks with 17 to 21 sectors of 256 bytes each ( Zone Bit Recording ). The first two bytes of each sector and track 18 are reserved for administration (table of contents, allocation plan " B lock A vailability M ap" BAM) so that 664 sectors or 168,656 bytes can be used for user data.

Firmware

The drive's operating system , CBM DOS v2.6, a stripped-down version of the previous CBM series drives, contains a number of errors. The best known is the so-called "SAVE @" bug . The "SAVE @" is used to overwrite files with new content while retaining the file name. If there was less free space on the floppy disk than was necessary to save the new file version, the contents of the floppy disk would be destroyed. Since this error soon became known, most Commodore programs use the "Scratch" command instead to delete files and then rewrite them with the normal SAVE command.

In the 1541, the operating system also takes on hardware control tasks, since the hardware itself should be kept as simple as possible. The drive uses GCR coding, with which the data is written to the floppy disk, by first recoding the bytes into 10-bit values ​​by the firmware when writing and vice versa when reading. The beginning (sync) of a recorded byte sequence (data block header or data block content) is recognized by the hardware , unlike the Apple II , for example .

The software also makes use of the different lengths of the tracks, depending on the distance between the read head and the disk center. More data is accommodated on the tracks further out by adapting the bit rate in four stages (the bit rates are generated in the hardware, but the software switches between them). This means that the surface is divided radially into four zones that have different numbers of sectors per track.

interface

The VC1541 uses a proprietary serialized derivative of the IEEE-488 parallel interface that Commodore used on its previous drives for the PET / CBM range of personal and business computers. Back when the VIC-20 was under development, it was cheaper. An alternative to the expensive IEE-488 cables was sought. To ensure a cost-effective connection of the home computer peripheral devices, Commodore chose standard DIN connectors for the serial interface , floppy disk drives and other peripheral devices, e.g. B. Printers that are daisy-chained to the computer and require only a single port on the computer itself.

Technical weaknesses

Slowness and floppy speeder

The slowness of the 1541 was almost proverbial (therefore also called the snail carousel among users ). Even reading the data from the floppy disk into the internal memory of the drive was not optimally designed. Above all, however, the slowness was due to the cumbersome programming of the data transfer between the drive and the computer via the serial CBM bus . This was originally developed for the VC1540 , which was compatible with the VC 20 , because the MOS 6522 VIA interface chip used in the VC-20 at that time contained an error in the automatic serial transmission (9 instead of 8 bits were transmitted at irregular intervals). Therefore, the transfer was organized in such a way that every single bit has to be transferred explicitly by the processor - an extremely slow process. With the small memory of the VC-20 that didn't matter as much as it did later with the C64. The interface chip of the C64, the MOS 6526 CIA , did not contain this error, but for the purpose of backward compatibility with the VC1540 drives (which also contained the faulty 6522), it was decided not to develop a completely new drive for the C64.

In addition, the transmission rate in the 1541 was artificially reduced again compared to the 1540 in order to avoid timing problems of the C64 caused by the VIC-II chip. Unlike the VIC I of the VC-20, the VIC II will occasionally stop the processor for up to 40 microseconds to read graphics data from memory. It was therefore necessary to ensure that the drive put each bit on the bus for significantly longer than 40 µs so that it could not be lost. This was achieved with a slight change to the firmware; the 1540 and early 1541 drives are otherwise identical in terms of hardware design.

With the help of so-called floppy speeders , tricky programmed transmission programs (e.g. Hypra Load ), which do without the complicated protocol on the serial line or alternatively transmit via a separate parallel bus, the transmission speed can be increased from 300 bytes / s to sometimes over 10 kB / s can be increased. The floppy speeder software was partially integrated into the operating system together with other features (function key assignment etc.), which made it necessary to change the ROM module in the C64 and in the 1541. In addition, there were floppy speeders as plug-in modules for the computer (in this case the drive-side code was transferred to the RAM of the drive with every loading process) and purely software-based, which were soon integrated into most commercial programs for the C64.

A parallel data transfer was realized by using the user port on the C64 and a free 8-bit port of a 6522 port module in the 1541. The whole set of conversion kits, such as the well-known SPEEDDOS : Two EPROMs with modified operating systems for the C64 and the 1541 drive and a parallel data cable from the C64 user port to the floppy. The exchange of commands between the computer and the floppy disk drive via the serial bus was retained, and a "HiSpeed ​​bus" was also laid with the parallel cable. Since this was associated with extra costs for additional hardware, this implementation was nowhere near as widespread as the purely software-based approach.

In the course of these modifications to speed up, and in view of the lower RAM prices, there was later even a circuit board for installation in the 1541, which saved a complete disk track (and in an even later version an entire disk content) in its own RAM (i.e. as a cache ) and then with it could exchange data with the computer at high speed.

Further problems

Other negative properties are the overheating problems caused by the internal power supply and, in the first generation, the characteristic rattling that occurs when the read / write head hits track 0. Commodore had saved a track 0 sensor, so when formatting or in the event of reading errors, the head carriage - regardless of its position - simply moves 40 tracks outwards, whereby a mechanical stop prevents it from moving beyond track 0. This rattling is not only very unpleasant, but also the main reason for frequent misalignment of the drive due to the mechanical stress.

Disk copies

Making a disk copy requires additional software. Although the 1541 contains the DOS of the double drive devices and thus also the copy command there, almost unchanged, due to the lack of a second drive, this has no function. A copy program that can be run on all Commodore home computers, along with some other tools and programming examples, is included on the test / demo disk that is enclosed with each 1541. However, it is very slow because, due to the required compatibility with all Commodore home computers, it only uses the regular DOS commands for reading and writing data blocks. Therefore, additional software - mostly for the Commodore 64 - was offered relatively quickly by third-party manufacturers and in computer magazines, which, like fast-loading programs, also used its own transfer routines for the serial bus and was therefore about a factor of 10 faster. This enabled some of these copy programs, e.g. For example, the turbonibbler transfers the individual tracks of a floppy disk raw , i.e. without interpreting the sector boundaries, to the computer and also restores them to the target floppy disk , thus eliminating most of the common copy protection mechanisms.

At the end of the C64 era, a number of copy programs were published that excelled in making diskette copies particularly quickly. The program "Master-Copy Plus" (Issue 2/89; pages 28, 30–33) by Frank Riemenschneider , published in the 64'er magazine, deserves special mention , to this day it is the only one that can make a disk copy on a VC1541 without any hardware - Can create an extension in under a minute. Later there was a follow-up version, "Master-Copy Parallel", which performed this task in under 30 seconds by means of parallel data transfer via the user port . It should be noted, however, that the source and target diskette also had to be exchanged several times, as the C64 only has 64 KB of RAM and therefore at least three changes are necessary per diskette side.

Versions

VC 1541c
VC 1541-II
  • 1541 (1st generation)
    • Introduction 1982
    • The first copies had a light beige housing like the VC 20 , later dark brown like the Commodore 64 , similar to the PC floppy disk drives of that time
    • Can also be built into a PC case
    • Two board variants : Modified 1540 ("long board" with 74xx logic), later "short board" with custom chip
    • Two drive variants: ALPS drive with brown front panel and cover flap, as well as a toggle drive from Mitsumi with brown or white front panel that is only installed in small numbers
  • 1541c (2nd generation):
    • Introduced in 1986
    • Beige case, like the second generation Commodore 64 .
    • Toggle closure
    • Light barrier for track 0 detection: The modified DOS detects track 0, the rattling due to the retraction of the read / write head is eliminated and the mechanics are protected. As a result, however, incompatible with hardware speeders for 1541 of the first generation. The light barrier occupied one line of the CIA port A of UC1 used by the speeders to connect the parallel cable. However, it could be deactivated by opening the corresponding conductor path, whereby the firmware must be exchanged for one of the other two variants (1541 or 1541-II).
    • New, almost square board: 1541B with a hybrid circuit (UD1) instead of the previously discretely constructed amplifier circuit for the read / write head
  • 1541-II (3rd generation):
    • Introduced in 1988
    • Light gray, in a much smaller case with a toggle lock
    • An external power supply prevents temperature problems
    • Again fully compatible with the 1541-I
    • The firmware fixes several bugs in the older drives, including the "SAVE @" bug mentioned above; it can also be used in the 1541 of the 1st generation.
    • There were three different types of this series, 1541-II (type A), 1541-II (type B) and 1541-II (type C)

Types of fast chargers

hardware

The hardware fast chargers are supplied on circuit boards or chips and must be installed in the home computer and in the floppy disk drive . Some fast loaders use an additional parallel data connection between the C64 user port and a floppy VIA, others use the existing serial connection.

The speed factors refer to LOAD with C64 and 1541. With other hardware (HDD instead of floppy ...) the values ​​can deviate strongly.

Surname system factor comment
Dolphin DOS C64, C128 25-32 with parallel cable; Versions 2.x for C64 and 3.x for C128 , Dolphin DOS, Dolphin DOS 2.0
Dynamic DOS C64 25th
Formula 64 C64, C128 16 works with parallel cable. C64 and C128 , Test Happy Computer 12/87
FSD system ?
Exos V3 C64 14/6 C64 , test and listing of the month of 64'er 12/86, page 51
JiffyDOS 6-10 Jiffy DOS for VC1541 / VC1571 / VC1581 CMD -HD / FD or VC 20 , C64 / C128 / C16 , SX-64
Do 71 C128 ?
Pro Speed ​​71 ?
P3 / 128 ?
Professional DOS C64, C128 40 Factor 40 when reading from floppy disk
Prologic DOS Classic C64 25th with parallel cable
Rex DOS 20/13 with parallel cable
Ross Drive ?
SpeedDOS 20-25 with parallel cable
Turbo Access ?
Turbo Trans 20th Turbo Access with a RAM extension
Ultra load ?

Plug-in module

Some quick chargers also appeared as a plug-in module for the expansion port .

Surname system factor comment
Action Replay 6 C64 15/7 Multifunctional module, also quick storage
DELA DOS 8/8 Fast chargers only
Disk Booster 64 -6 F-key assignment, speeder and fast format
Epyx FastLoad 5
Final Cartridge 2 6th Multifunctional module
Final Cartridge 3 10/10 Multifunctional module, also quick storage
Hypra disk module 7 / - Multifunctional module, function key assignment
Magic formula 16/15 Multifunctional module, also quick saving
Profile DOS 7/7 Multifunctional module, function key assignment
Retro replay ? Multifunctional module
Super operating system 7 / - Multifunctional module, function key assignment
Great snapshot 5.5 Multifunctional module

software

A software quick loader is a short program and is first loaded and started, then the actual program, which should be significantly larger than the quick loader. Such software quick loaders were also built into most commercial programs for the Commodore 64, mostly closely interwoven with the copy protection of the floppy disk.

Surname system factor comment
Accelerator C64 ? Magic Disk 64 , edition 12/1988
Cyber ​​Loader 16 Only for VC-1541 with C64
Fast disk ? Magic Disk 64, edition 05/1988
FLOAD ? Magic Disk 64, edition 02/1989
Gigaload ?
Eureka sprint 25th 64 edition 3/87, listing of the month, own disk format
Hypra Load 6.2 Only for VC-1541 with C64, 64 edition 10/84, listing of the month
ISEPIC 10 Only for 1541 with C64
Most-Access ? For VC-1541 only
Mr. Byte ? Only for VC-1541 with C64
Speed ​​1581 16 For VC-1581 only
Speedload V1.0 25-30 Only for VC-1541 with C64, BKS Odenwald
Ultraload Plus 6.8 Happy Computer 3/86, 64 game collection, volume 3
ZAP 1581 16 For VC-1581 only

Specifications

  • Disk type: 5.25 ″
  • Recording format: single sided, single density
  • Coding: Group Coded Recording
  • Capacity: 170 KB
  • CPU: 6502 1 MHz
  • Input / output chip, internal timer: 6522
  • SRAM : 2 KB
  • ROM : 16 KB
  • Transfer protocol: Standard 1541 mode, 400 byte / s
  • Interface: 2 × CBM bus via DIN connector ("serial IEEE-488")
  • Total capacity: 174,848 bytes
  • usable capacity:
    • sequential files: 168,656 bytes
    • relative files: 167,132 bytes, 65,535 records per file
  • Directory entries: 144
  • Sectors per track: 17 to 21 ( Zone Bit Recording )
  • Bytes per sector: 256, 254 usable
  • Lanes: 35 used, 40 physical
  • Sectors: 683 (664 sectors free)

literature

  • Lothar English, Norbert Szczepanowski: The big floppy book. Disk programming with Commodore VC 1541 for beginners, advanced and professionals . 3rd revised and expanded edition. Data Becker, Düsseldorf 1985, ISBN 3-89011-005-3 ( A Data Becker book )
  • Reinhold Herrmann: Floppy VC 1541. Maintaining and repairing . Data Becker, Düsseldorf 1986, ISBN 3-89011-079-7
  • Karsten Schramm: The Floppy 1541. Everything about programming the VC 1541, from opening a file to intervening in the operation of the DOS. Learn to develop your own programming protection and your own fast loading program. (With complete commented ROM listing) . Markt-und-Technik-Verlag, Haar near Munich 1986, ISBN 3-89090-098-4 ( 64er - Ein Markt-und-Technik-Buch ), download

Web links

Commons : Commodore 1541  - collection of pictures, videos and audio files

Individual evidence

  1. a b c Technical description of the Commodore 1541, 1541c and 1541-II , Commodore Computer Online Museum
  2. Floppy disk drive 1541-II (type A) , c64-online.com
  3. Floppy disk drive 1541-II (type B) , c64-online.com
  4. Floppy disk drive 1541-II (Type C) , c64-online.com
  5. Description of Dolphin DOS on c64-wiki.de
  6. 64'er Magazin, 5/1986, pages 12-13
  7. Description Exos V3 on c64-wiki.de
  8. 64'er Magazin, 8/1986, page 22
  9. a b c d e 64 magazine 11/1992, acceleration is necessary, modules and built-in speeders at a glance, page 22ff
  10. Description of SpeedDOS on c64-wiki.de
  11. Description of Turbo Trans on c64-wiki.de
  12. 64'er Magazin, 7/1986, pages 44–45
  13. Description of DELA DOS on c64-wiki.de
  14. Description of Disk Booster 64 on c64-wiki.de
  15. Description of Epyx FastLoad on c64-wiki.de
  16. Description of Super Snapshot on c64-wiki.de
  17. 64'er Magazin 3/1987, Eureka - it works !, page 58ff
  18. Description of ISEPIC on c64-wiki.de
  19. Description of the Speed ​​1581 on gyger.org
  20. 64'er Magazin 6/1989, 1581 with Turbo, page 44
  21. Description of Speedload V1.0 on csdb.dk
  22. a b Service Manual Model 1540/1541 Disk Drive , CBM
  23. a b c Commodore 1541 Disk Drive User's Guide , English