[Simh] Disk encoding

Larry Stewart l.simh at stewart.org
Sat Jul 6 17:55:16 EDT 2019


This sounds vaguely like FM or MFM encoding or one of its relatives.
The wikipedia article is informative: https://en.wikipedia.org/wiki/Modified_Frequency_Modulation <https://en.wikipedia.org/wiki/Modified_Frequency_Modulation>

MFM was instroduced in 1970 for the IBM 3330, which might be too late.
Or it could be FM, which has a transition in the middle of a bit cell for 1’s and a transition at the end of a bit cell for a 0 if it is followed by another 0.

FM has 1.5 average transtions per bit, which seems right.

The rew encoding mode might generate the data for the write head directly, at double the bit cell frequency.

-L


> On 2019, Jul 6, at 2:35 AM, Lars Brinkhoff <lars at nocrew.org <mailto:lars at nocrew.org>> wrote:
> 
> Hello,
> 
> I'm looking into simulating a disk controller used with the MIT AI lab
> PDP-10: a Systems Concepts DC-10.  It looks like it's a custom made
> channel interfacing to IBM disks.  (It has been claimed those are 2311
> or 2314, but the geometry doesn't match.)
> 
> Formatting a disk pack uses a WRITE IMAGE command, which I believe
> writes raw bits directly onto the disk surface.  I'd like to decode
> these to the data bits as seen by a normal READ or READ HEADER command.
> I wonder if anyone recognizes the kind of encoding used?
> 
> For every track, it goes like this:
> 
> 1. Wait for the physical start of the track.
> 2. Write 125460 bits of ones to cover the entire track.
>   These will be overwritten by the following data.
> 3. Write a 108-bit header preamble:
>   111111111111111111111111111111111111111111111111111111
>   111111111111101010110101101011010110101101011010110101
>   The preamble signals a header with with a zero, and then eight
>   10101 words.
> 4. Write a 108-bit header, converted to the on-disk encoding.
> 5. Write a 252-bit postamble:
>   111111111111111111111111111111111111111111111111111111
>   111111111111111111111111111111111111111111111111111111
>   111111111111111111111111111111111111111111111111111111
>   111111111111111111111111111111111111111111111111111111
>   111111111111111111111111111111111101
> 6. Write 55620 bits of alternating ones and zeroes.  This is the data
>   and checksum.  These will come out as all 37080 zeroes with a normal
>   READ command.  Note the ratio between raw bits and data is exactly 1.5.
> 7. Write N bits of ones for the sector gap.  N is computed from the
>   length of the track minus the data fields, divided by the number of
>   sectors.
> 8. Write next sector, go back to step 3.
> 
> Now, in particular I'm curious about what encoding will transform a zero
> bit to, on average, 1.5 "10" (or "01") bits?
> 
> _______________________________________________
> Simh mailing list
> Simh at trailing-edge.com <mailto:Simh at trailing-edge.com>
> http://mailman.trailing-edge.com/mailman/listinfo/simh

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.trailing-edge.com/pipermail/simh/attachments/20190706/f78cf5f7/attachment.html>


More information about the Simh mailing list