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