CMD FD series

The CMD FD series was Creative Micro Designs (CMD)'s range of third-party floppy disk drives for the Commodore 8-bit line of home computers. Using 3½" floppy disks, they provided a significantly larger storage capacity than Commodore-produced drives; the FD-2000 offered 1600 kB of storage using standard double-sided, high-density floppies, while the FD-4000 also allowed the use of 3200 kB extra-high density (ED) floppies. In contrast, the Commodore 1581 3½" drive only supported 800 kB double-sided, double-density disks.

Features
In addition to the higher storage capacity, the FD series also provided additional features not found on the Commodore 1581. A " " button on the front panel allowed the drive number to be easily switched with that of another Commodore drive on the serial bus, without the need to enter any commands into the computer. It also provided a "1541 emulation mode", allowing partitions on a 3½" disk to simulate the behavior of a 5¼" Commodore 1541 floppy. The ability to use partitions and subdirectories was also expanded beyond the rudimentary form found in the 1581. A real-time clock was also available as an add-on feature; it could be used to time-stamp files and to automatically set the system clock in the GEOS operating system. The CMD FD series also included native JiffyDOS compatibility; while using the JiffyDOS system with a Commodore drive required replacing both the KERNAL and drive ROM chips, for full JiffyDOS use, only the computer's KERNAL ROM needed to be replaced when used in conjunction with an FD-2000 or FD-4000.

Native Partition Structure
The System Partition header is at track 26, sectors 5, 8, 9, 10, and 11. Sector 5 is the Device Information Block, which is $FF filled except in a few specific places. Sectors 8 to 11 contain the System Partition Directory.

The first sector of a FD-2000 native partition is the header.

Header Contents $00–01: T/S reference to root directory block  of  this partition ($01/$24). 02: DOS Type ("H") 04-15: Disk label$, A0 padded 16-17: Disk ID          19-1A: DOS Version ("1H") 20-21: T/S reference to present directory header block 22-23: T/S reference to parent directory  header  block (set to $00/$00 when at the top of the directory) 24-25: T/S reference to dir entry in previous  directory (set to $00/$00 when at the top of the directory) 26: Index to parent directory entry ($00 at the top) AB-AC: GEOS border sector AD-BC: GEOS format string (GEOS format Vx.x)

The BAM (Block Allocation Map) starts at 1/2 (track 1, sector 2) and continues to 1/33.

BAM Contents 02: DOS Type ("H") 04-05: Disk ID             06: I/O byte (as the 1581) bit 7 set  - Verify on                    bit 7 clear - Verify off bit 6 set  - Check header CRC bit 6 clear - Don't check header CRC 08: Last available track # in partition ($19=#25) 20-FF: BAM for tracks 1-7

Its directory structure is slightly different from the Commodore structure.