VC1581

from Wikipedia, the free encyclopedia
Commodore 1581, including its power supply

The VC 1581 is a 3.5-inch floppy disk drive for the Commodore - home computer C64 , C16 , C116 , Plus / 4 and C128 . The MFM format used by the drive enables the storage of 800  kB (for comparison: MS-DOS 3.5 ″ -DD disks 720 kB, Amiga -DD ​​disks 880 kB).

Characteristics

Appearance & general

The 1581 has a beige housing similar to the 1541 II and, like this, a separate power supply. The device is slightly wider than and about twice as high as the actual drive mechanism. It works faster and quieter than the previous models.

The drive has two DIP switches on the back for setting the device address on the CBM bus in the range from 8 to 11. Like the VC1571 , it has a burst mode for fast data transfer, a C128 or a C64 with hardware - requires modifications and then enables data transfer up to 30 times faster than with the VC1541 .

hardware

Like all floppy drives from Commodore for its 8-bit computers, the 1581 is an independent computer, here with a 6502 processor (clocked at 2 MHz) and 8 KB RAM (see below). The capabilities of the drive as a computer were significantly greater than those of some Commodore computers at the time (e.g. speed of the C64 approx. 1 MHz, memory of the VC20 5 KB). Because of this, and because of the generous storage capacity for a drive, there were even programs that relocated computationally intensive tasks to the floppy disk drive.

In addition to the control board, the 1581 hardware basically consists of a double density drive, which can easily be exchanged for an Amiga HD drive. However, this only works with DD disks, since otherwise the operating ROM in the 1581 would have to be changed.

Early models used the WD1770 controller from Western Digital, but this chip (also used in the 1571) sometimes had problems, so that later 1581s have a WD1772. The exchange can be done later without any problems.

Unlike the other floppy drives from Commodore, the 1581 always uses a Modified Frequency Modulation (MFM) format for data recording . MFM is also used by PC floppy controllers; With the help of special software, a PC can read and write the specific MFM format of the 1581. This is a simple way of exchanging data between Commodore computers and PCs. The only requirement is that the PC floppy controller for the PC's CPU can be addressed at register level, which is the case with onboard controllers or those on ISA or VLB cards the case is. USB floppy disk drives for PCs, on the other hand, cannot process the format because the PC cannot directly access the controller chip. In this case, the only option is to create normal 720 KB MS-DOS floppy disks with the PC and to use special software on the commodore side to read this format.

Firmware

Internally, the 1581 uses Commodore DOS version 10, which differs noticeably from all earlier versions despite the principle of downward compatibility of the documented commands. Diskettes are formatted with the identifier "3D" and offer 3160 free blocks and 288 directory entries (per directory, cf. 154x / 157 × 144 entries). The "Save with Replace" bug has been corrected, and compared to older versions there are no longer any problems with relative (REL) files, which in the 1581 can take up the entire free space. Overall, the DOS is more stable than many older versions, but there are commands with serious bugs that can lead to data loss. There are two versions of the firmware, but they only differ slightly.

Subdirectories

This is the only version of CBM-DOS that has a kind of subdirectory, but it is actually partitions that can be used to protect sectors from being overwritten or removed by the DOS when cleaning up the BAM ("validating"). These partitions can be at least one block in size (e.g. to protect a C128 boot block) and at most as large as the free space on the floppy disk, i.e. about half of the floppy disk for an empty floppy disk because the logical track 40 has the Directory lies. If a partition is large enough (at least 3 tracks or 120 blocks) it can be formatted and used as a "subdirectory" with a fixed data capacity. Partitions are marked with the file type "CBM" in the directory above.

Autoload

If, when the drive is switched on or reset, there is a USR file on an inserted floppy disk with the specified name "COPYRIGHT CBM 86" and a certain internal format, it is automatically read into a certain memory area of ​​the drive RAM and executed. This was used by Commodore for the CP / M floppy disks for the C128; with appropriate programming, quick loaders could also be inserted directly into the drive RAM without having to explicitly load them onto the computer beforehand.

This capability is purely on the drive side and should not be confused with the bootability of the C128, in which a sector of the floppy disk is loaded into the computer RAM from the computer side and, depending on the content, also executed.

Parallel routines

Inexplicably, there are also routines in the ROM for parallel data transfer, although this was not intended on the hardware side and was not announced - CBM may be planning to use the same DOS in later drives, such as the 1591, which was no longer published.

Easter eggs

There are the undocumented DOS commands “B- *” and “B-?” Which output the programmer's credits and a dedication on the error channel.

Data organization

  • Physically (from the perspective of the WD177x controller) a 1581 diskette consists of 80 cylinders with 20 sectors each (i.e. 80 tracks per side with 10 sectors each) with 512 bytes each.
  • Logically, on the other hand (from the point of view of the user, computer or higher levels of the 1581-DOS), a 1581 diskette consists of 80 tracks of 40 sectors with 256 bytes.

The smaller logical sector size (one could speak of a cluster size of 0.5 sectors) is created for reasons of compatibility with the older drives, also because the DOS would otherwise have had to be heavily restructured (with a size of 256 bytes, 1 byte is sufficient as a pointer ). To ensure efficient data management despite this, an entire track (all sectors of a track on the top or bottom) is buffered in the memory. The drive has 8 KB of RAM for this purpose.

A 1581-formatted floppy disk therefore fits 800 KB of data (“gross”). Since two bytes per sector serve as a pointer to the next logical sector and a track (10 KB) is reserved for the directory and other internal information (e.g. BAM, Block Availability Map), 79 40 254 = 802,640 bytes remain ( 3160 blocks or just under 784 KB) of memory for user data (“net”), provided no further partitions are set up.

Fast loader, copy protection, third-party DOS

Due to the fundamental differences in timing, format and firmware, most C64 fast loaders or programs with copy protection do not work with the 1581. Games or programs in general that access the drive, e.g. For example, reloading further parts only works if they only use the official I / O routines of the computer and DOS commands and do not operate on the low-level hardware level. Since such problems increased with later drives ( CMD FD, HD, RAMLink etc.), many programs (mostly unofficially created) have drive-independent versions that are of course also suitable for the 1581.

A fast charger specifically for the 1581 is included on the test / demo disk supplied. The fast loaders of the Action-Replay-6 and the Nordic-Power module run without any problems with the 1581. The fast loaders of the Final-Cartridge-3 and the Mach-5 module, however, do not work.

Because of the low prevalence compared to the 5.25 ″ drives, not very many replacement operating systems from third parties appeared for the 1581. B. JiffyDOS for this drive, which eliminates the known software problems with almost complete compatibility.

Specifications

  • Disk type: 3½ inches
  • Recording format : MFM , double sided, double density
  • Capacity: 1 MB unformatted, 790 KB formatted (theoretical) or approx. 784 KB (practical)
  • CPU: MOS Technologies 6502 @ 2 MHz
  • RAM: 8 KB
  • ROM: 32 KB
  • Transfer protocols: standard (like 1541) and fast serial (like 157x, with C128); Burst mode (with C128); theoretically also in parallel (via hardware modifications in self-construction)
  • Interface: 2 × CBM bus via six-pin DIN connector ("serial IEEE-488", "IEC BUS")

Web links

Individual evidence

  1. Commodore 1581 Disk Drive User's Guide , p. 125