Files
fluxengine/doc/disk-micropolis.md
Eric Anderson 82bd1bead4 Add Micropolis decoder
Resolves #187
2020-10-03 13:05:06 -05:00

2.1 KiB

Disk: Micropolis

Micropolis MetaFloppy disks use MFM and hard sectors. They were 100 TPI and stored 315k per side. Each of the 16 sectors contains 266 bytes of "user data," allowing 10 bytes of metadata for use by the operating system. Micropolis DOS (MDOS) used the metadata bytes, but CP/M did not.

Some later systems were Micropolis-compatible and so were also 100 TPI, like the Vector Graphic Dual-Mode Disk Controller which was paired with a Tandon drive.

Reading disks

Just do:

fluxengine read micropolis

You should end up with a micropolis.img which is 630784 bytes long (for a normal DD disk). The image is written in CHS order, but HCS is generally used by CP/M tools so the image needs to be post-processed. For only half-full disks or single-sided disks, you can use -s :s=0 to read only one side of the disk which works around the problem.

The CP/M BIOS defined SELDSK, SETTRK, and SETSEC, but no function to select the head/side. This caused dual-sided floppies to be represented as twice the number of tracks with the second side's tracks logically following the first side (e.g., tracks 77-153). That produces results mostly indistinguishable from HCS.

Useful references