diff --git a/README.md b/README.md index 8413a394..396407a5 100644 --- a/README.md +++ b/README.md @@ -89,7 +89,7 @@ people who've had it work). | [Brother 120kB](doc/disk-brother.md) | 🦄 | | | | [Brother 240kB](doc/disk-brother.md) | 🦄 | 🦄 | | | [Brother FB-100](doc/disk-fb100.md) | 🦖 | | Tandy Model 100, Husky Hunter, knitting machines | -| [Macintosh 800kB](doc/disk-macintosh.md) | 🦖 | | and probably the 400kB too | +| [Macintosh 800kB](doc/disk-macintosh.md) | 🦄 | | and probably the 400kB too | | [TRS-80](doc/disk-trs80.md) | 🦖 | | a minor variation of the IBM scheme | {: .datatable } @@ -105,6 +105,7 @@ at least, check the CRC so what data's there is probably good. |:-----------------------------------------|:-----:|:------:|-------| | [AES Superplus / No Problem](doc/disk-aeslanier.md) | 🦖 | | hard sectors! | | [Durango F85](doc/disk-durangof85.md) | 🦖 | | 5.25" | +| [DVK MX](doc/disk-mx.md) | 🦖 | | Soviet PDP-11 clone | | [Victor 9000](doc/disk-victor9k.md) | 🦖 | | 8-inch | | [Zilog MCZ](doc/disk-zilogmcz.md) | 🦖 | | 8-inch _and_ hard sectors | {: .datatable } @@ -189,7 +190,7 @@ Jonathan Müller (`foonathan `) with contributions from many other people. It is licensed under the terms of the BSD license. Please see the contents of the directory for the full text. -As an exception, `dep/fnmatchemu` contains parts of the OpenBSD C library +As an exception, `dep/emu` contains parts of the OpenBSD C library code, Todd Miller and William A. Rowe (and probably others). It is licensed under the terms of the 3-clause BSD license. Please see the contents of the directory for the full text. It's been lightly modified by me. diff --git a/doc/disk-mx.md b/doc/disk-mx.md new file mode 100644 index 00000000..12b44fde --- /dev/null +++ b/doc/disk-mx.md @@ -0,0 +1,65 @@ +Disk: DVK MX +============ + +The DVK (in Russian, ДВК, Диалоговый вычислительный комплекс or Dialogue +Computing Complex) was a late 1970s Soviet personal computer, a cut-down +version of the professional SM EVM (СМ ЭВМ, abbreviation of Система Малых ЭВМ +--- 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 Durango F85, held precariously +
+ +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. + +Reading discs +------------- + +``` +fluxengine read mx +``` + +You should end up with an `mx.img` which will vary in length depending on the format. The default is double-sided 80-track. For the other formats, use: + + * single-sided 40-track: `-s :s=0:t=0-79x2` + * double-sided 40-track: `-s :s=0-1:t=0-79x2` + * single-sided 40-track: `-s :s=0:t=0-79` + * double-sided 40-track: `-s :s=0-1:t=0-79` + + +Useful 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 diff --git a/doc/dvk3m.jpg b/doc/dvk3m.jpg new file mode 100644 index 00000000..ee7af4e2 Binary files /dev/null and b/doc/dvk3m.jpg differ