mirror of
https://github.com/davidgiven/fluxengine.git
synced 2025-10-24 11:11:02 -07:00
70 lines
2.2 KiB
Markdown
70 lines
2.2 KiB
Markdown
mx
|
|
====
|
|
## Soviet-era PDP-11 clone
|
|
<!-- This file is automatically generated. Do not edit. -->
|
|
|
|
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.
|
|
|
|
<div style="text-align: center">
|
|
<a href="http://www.leningrad.su/museum/show_big.php?n=1006"><img src="dvk3m.jpg" style="max-width: 60%" alt="A DVK computer"></a>
|
|
</div>
|
|
|
|
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 -c mx --110 -s drive:0 -o mx.img`
|
|
- `fluxengine read -c mx --220ds -s drive:0 -o mx.img`
|
|
- `fluxengine read -c mx --220ss -s drive:0 -o mx.img`
|
|
- `fluxengine read -c mx --440 -s drive:0 -o mx.img`
|
|
|
|
## References
|
|
|
|
- [The Soviet Digital Electronics
|
|
Museum](http://www.leningrad.su/museum/main.php) (source of the image
|
|
above)
|
|
|
|
- [a random post on the HxC2001 support
|
|
forum](http://torlus.com/floppy/forum/viewtopic.php?t=1384) with lots of
|
|
information on the format
|
|
|