PROJECT 002   /   FATFLOPPY

Disks & formats

VINTAGE DISKS   /   MODERN DESKTOPS

OverviewVisual tourGetting startedDisks & formatsReal disks

Which disks can I open?

A disk image has two formats to think about. Its container stores the sectors: IMG, ImageDisk, Teledisk, and so on. Its filesystem turns those sectors into files and directories. FatFloppy identifies both from the image's contents; the filename extension is only a clue.

On this page: Filesystems | Image containers | Format notes | Physical disks | Incomplete or damaged images

Filesystems

FilesystemFile accessImage containers
FAT12Read and writeIMG, IMD, TD0
CP/M 2.2Read and writeIMG, IMD, H17, MITS DSK, TD0
HDOSRead and writeIMG / H8D, H17
Commodore CBM DOSRead and writeD64, D71, D81
DEC RT-11Read and writeIMG, IMD, TD0
Apollo DOMAIN wbakRead onlyApollo floppy IMG
Apollo AEGISRead only; SR9 volumesApollo floppy IMG

Read and write means file import, extraction, replacement, and deletion. Container restrictions still apply: TD0 archives and 42-track D64 images are read-only. Folders are available where the original filesystem supports them.

New images can be created and formatted using profiles for the five writable filesystem families. A formatted image is a blank filesystem; it does not come with an operating system.

Image containers

ImageAccessNotes
Raw IMG / IMA / H8DRead and writeA stream of sector data. Geometry and filesystem must be identified from the contents or selected with a format profile.
ImageDisk IMDRead and writeCarries track geometry, sector numbers, and recording information. Unchanged sector records retain their error and deleted-data marks when saved.
Heath H17Read and write.h17disk images of hard-sectored Heath media, including CP/M and HDOS disks.
MITS DSKRead and writeAltair CP/M layouts, including 8-inch 308K and 5.25-inch 70K mini disks. Other formats also use the .dsk extension.
D64 / D71 / D81Read and write, with one exception1541, 1571, and 1581 images. D64 supports 35 and 40 tracks for writing; 42-track images open read-only. D64/D71 error-byte blocks are preserved.
Teledisk TD0Read onlyNormal archives and version 2 advanced compression. Old version 1 advanced compression and continuation volumes are unsupported.
Apollo floppyRead only1,261,568-byte images with an Apollo volume label: 77 cylinders, two heads, eight 1,024-byte sectors per track.

A few things the old systems do differently

Early DOS, CP/M, and HDOS

FAT12 support includes early DOS disks without a BIOS Parameter Block, DEC Rainbow RX50 disks, and 86-DOS. CP/M comes in many manufacturer-specific layouts; FatFloppy can infer missing disk parameters from a recognizable directory, including sector skew. That does not make every unknown CP/M disk identifiable.

HDOS profiles cover H17, H37, and H47 geometries. CP/M, HDOS, and RT-11 have no ordinary subfolders to create. Their original naming rules still apply, and imported filenames are adapted to fit.

Commodore files and partitions

PRG, SEQ, USR, and REL files are supported. When adding a file, a suffix chooses its type: ,p, ,s, ,u, or ,r:80 for an 80-byte REL record. With no suffix, the type is PRG.

On a D81, New Folder creates a 1581 partition. ARCHIVE,160 requests 160 sectors; ARCHIVE uses 120. Sizes must be at least 120 sectors and a multiple of 40. Nested partitions are unsupported.

RT-11 sector order and free space

RX01, RX02, and RX50 images occur in both physical sector order and logical block order. FatFloppy examines the directory to choose the correct interpretation and uses that same mapping when writing.

RT-11 files occupy contiguous runs of 512-byte blocks. Enough total free space does not guarantee a large enough run, and replacing a file needs room for the old and new copies together. FatFloppy reports fragmentation but does not perform RT-11's SQUEEZE operation. Extracted files retain their block padding.

Apollo backups and native volumes

wbak backup disks appear as directory trees. If a file continues onto another disk, use Extract: FatFloppy asks for the next volume image and joins the pieces. Dragging a partial file out, or declining the next volume, gives you only the available portion.

Native SR9 AEGIS boot and utility disks also appear as directory trees, with Apollo timestamps and object types. Managed text and record files are extracted without their storage headers. SR10 and later volume layouts are recognized, but their filesystems cannot yet be browsed.

Working with physical disks

The Greaseweazle connection supports FAT12, CP/M, and HDOS on soft-sectored FM/MFM media. It requires a suitable drive and Greaseweazle hardware. A disk image opening successfully does not establish support for reading the original disk in a drive.

Hard-sectored Heath H17 disks cannot currently be read through FatFloppy's hardware connection. Use an .h17disk image. Commodore, RT-11, and Apollo support is currently for images; Commodore 5.25-inch GCR recording is outside the current hardware driver.

Incomplete or damaged images

A directory listing is a starting point, not proof that every file survived. Apollo entries marked DMG contain detected damage; missing data is returned as zeros. PARTIAL marks a wbak file cut short at the end of a volume. The next disk may complete that file, but cannot restore data already missing from the set.

TD0 archives can also contain sectors whose data was never captured. Missing sector data is read as zeros. Some corrupt archives are rejected at opening, including files with a bad header checksum or truncated structure. A badly damaged Commodore directory may prevent the filesystem from being identified at all.

Keep the original image and make a working copy before changing an archive. For an image that does not open as expected, report the problem with the original machine, image format, and any detection message.

Source on GitHub   /   Questions & bug reports   /   All projects

FatFloppy by Igor Biletski. Software released under the Unlicense. Vintage software and documents shown in the screenshots retain their original credits.