mirror of
				https://github.com/davidgiven/fluxengine.git
				synced 2025-10-24 11:11:02 -07:00 
			
		
		
		
	Add the page on the MX disk format. Mac disks are now unicorns.
This commit is contained in:
		| @@ -89,7 +89,7 @@ people who've had it work). | |||||||
| | [Brother 120kB](doc/disk-brother.md)     |  🦄   |        |                                     | | | [Brother 120kB](doc/disk-brother.md)     |  🦄   |        |                                     | | ||||||
| | [Brother 240kB](doc/disk-brother.md)     |  🦄   |   🦄   |                                     | | | [Brother 240kB](doc/disk-brother.md)     |  🦄   |   🦄   |                                     | | ||||||
| | [Brother FB-100](doc/disk-fb100.md)      |  🦖   |        | Tandy Model 100, Husky Hunter, knitting machines | | | [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 | | | [TRS-80](doc/disk-trs80.md)              |  🦖   |        | a minor variation of the IBM scheme | | ||||||
| {: .datatable } | {: .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! | | | [AES Superplus / No Problem](doc/disk-aeslanier.md) |  🦖   | | hard sectors! | | ||||||
| | [Durango F85](doc/disk-durangof85.md)    |  🦖   |        | 5.25" | | | [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        | | | [Victor 9000](doc/disk-victor9k.md)      |  🦖   |        | 8-inch        | | ||||||
| | [Zilog MCZ](doc/disk-zilogmcz.md)        |  🦖   |        | 8-inch _and_ hard sectors | | | [Zilog MCZ](doc/disk-zilogmcz.md)        |  🦖   |        | 8-inch _and_ hard sectors | | ||||||
| {: .datatable } | {: .datatable } | ||||||
| @@ -189,7 +190,7 @@ Jonathan Müller (`foonathan <https://github.com/foonathan>`) with | |||||||
| contributions from many other people. It is licensed under the terms of the | 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. | 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 | 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 | 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. | directory for the full text. It's been lightly modified by me. | ||||||
|   | |||||||
							
								
								
									
										65
									
								
								doc/disk-mx.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										65
									
								
								doc/disk-mx.md
									
									
									
									
									
										Normal file
									
								
							| @@ -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. | ||||||
|  |  | ||||||
|  | <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 Durango F85, held precariously"></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. | ||||||
|  |  | ||||||
|  | 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 | ||||||
							
								
								
									
										
											BIN
										
									
								
								doc/dvk3m.jpg
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								doc/dvk3m.jpg
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| After Width: | Height: | Size: 159 KiB | 
		Reference in New Issue
	
	Block a user