Files
fluxengine/doc/disk-micropolis.md
2020-10-11 18:49:00 +02:00

2.5 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.

Important note: You cannot read these disks with a normal PC drive, as these drives are 96tpi.The track spacing is determined by the physical geometry of the drive and can't be changed in software. You'll need to get hold of a 100tpi Micropolis drive. Luckily these seem to use the same connector and pinout as a 96tpi PC 5.25" drive. In use they should be identical.

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. Double-sided floppies could be represented as having either twice the number of sectors, for CHS, or twice the number of tracks, HCS; the second side's tracks logically followed the first side (e.g., tracks 77-153). Micropolis disks tended to be the latter.

Useful references