Skip to content

Latest commit

 

History

History
69 lines (53 loc) · 2.23 KB

disk-mx.md

File metadata and controls

69 lines (53 loc) · 2.23 KB

mx

Soviet-era PDP-11 clone

The DVK (in Russian, 沾7d65 Computing Complex) was a late 1970s Soviet personal computer, a cut-down version of the professional SM EVM (ⵁ241c --- literally System of Mini Computers), which itself was an unlicensed clone of the PDP-11. The MX board was an early floppy drive controller board for it.

A DVK computer

The MX format is interesting in that it has to be read a track at a time. The format contains the usual ID prologue at the beginning of the track, then eleven data blocks and checksums, then the epilogue, then it stops. The actual encoding is normal FM. There were four different disk variants, in all combinations of single- and double-sided and 40- and 80-tracked; but every track contained eleven 256-byte sectors.

The format varies subtly depending on whether you're using the 'new' driver or the 'old' driver. FluxEngine should read both.

A track is:

  • 8 x 0x0000 words (FM encoded as 01010101...)
  • 1 x 0x00F3 --- start of track
  • 1 x 0xnnnn --- track number
  • 11 of:
    • 128 words (256 bytes) of data
    • 16 bit checksum
  • if 'new' format:
    • 3 x 0x83nn --- n = (track_number<<1) + side_number
  • if 'old' format:
    • 3 x 0x8301

The checksum is just the unsigned integer sum of all the words in the sector. Words are all stored little-endian.

Options

  • Format variants:
    • 110: 110kB 5.25" 40-track SSSD
    • 220ds: 220kB 5.25" 40-track DSSD
    • 220ss: 220kB 5.25" 80-track SSSD
    • 440: 440kB 5.25" 80-track DSSD

Examples

To read:

  • fluxengine read mx --110 -s drive:0 -o mx.img
  • fluxengine read mx --220ds -s drive:0 -o mx.img
  • fluxengine read mx --220ss -s drive:0 -o mx.img
  • fluxengine read mx --440 -s drive:0 -o mx.img

References