Commodore 1581 filesystem

The Commodore 1581 filesystem is a variant of CBMFS used in the 3.5" disks for the Commodore 1581 disk drive. This was less common in the Commodore community than the 5.25" Commodore 1541 disks and Commodore 1571 disks. Because of the different number of sectors, the Block Allocation Map (BAM) was arranged differently.

Track 40 (of the 80 logical tracks) contained the BAM and directory. 40/0 was a header sector, and 40/1 and 40/2 had the BAM, with the directory starting on 40/3.

This sort of drive also supported dividing disks into multiple partitions as a fixed-allocation form of subdirectories.

Header sector (40/0)

 * 00-01 (hex): Track and sector of first directory entry (40/3)
 * 02: DOS version ('D')
 * 03: unused
 * 04-13: Disk label, padded with $A0 bytes
 * 16-17: Disk ID
 * 19-1A: DOS type ('3D')

BAM 1st sector (40/1)

 * 00-01: Track and sector of next BAM sector (40/2)
 * 02: DOS version ('D')
 * 03: unused
 * 04-05: Disk ID
 * 06: I/O byte
 * 07: Autoboot flag
 * 10-FF: BAM entries for tracks 1-40 (6 bytes per entry)

BAM 2nd sector (40/2)

 * 00-01: 00/FF (presumably the next BAM track/sector would be here if there were one)
 * 02: DOS version ('D')
 * 03: unused
 * 04-05: Disk ID
 * 06: I/O byte
 * 07: Autoboot flag
 * 10-FF: BAM entries for tracks 41-80 (6 bytes per entry)

Links

 * Wikipedia: Commodore 1581