FDC Gap Length?

Allison ajp166 at bellatlantic.net
Sun Jul 17 09:53:43 CDT 2005


>
>Subject: Re: FDC Gap Length?
>   From: Dave Dunfield <dave04a at dunfield.com>
>   Date: Sun, 17 Jul 2005 07:28:45 -0400
>     To: "General Discussion: On-Topic and Off-Topic Posts" <cctalk at classiccmp.org>
>
>Hi Allison,
>
>>Is there a calculation, NO. Unless your formatting your own, then 
>>it's use biggest gaps that allow sector data and a resonable end gap
>>on off speed drives.   Most of the time you have to know how 
>>that disk was formatted originally to arrive at the correct values.
>>Fortunatly there is a fair amount of wiggle room if you do not run
>>too close (too close is below) to minimums.
>
>I know how the disk was originally formatted to the extent that I know
>the sector size and the number of sectors on the track.
>
>I had assumed that it worked the way you described ... my problem is that
>I cannot make sense of the values in the NEC supplied table.

Effectively there are two sets.  FM and MFM and the chip works differently 
for both.  It's tied to FM allowing for gaps as short as 8bytes and MFM 
16bytes. The length of gaps are related to mode FM having more flux 
transistions than MFM per bit and that most analog PLLs have a minimum
number of transistions (time) they need to aquire.  Obviously the gaps
are made as long as possible allowing for the sectors containing data.
Since sector length is variable gaps will be.  FYI: due to waste longer 
sectors can end up with very long gaps.

>Using the IBM System 3740 (FM) and System 34 (MFM) disk format specifications,
>I tried working the NEC tables backward to get the "number of available bytes
>on a track" which they started with. I worked it through for both 8" and 5.25"
>drives in each format type, and the problem is that the results are not
>consistant. Using a given drive type and encoding method, for each sector size,
>number of sectors/track, and format GPL values in the NEC table, I get a "total
>bytes on track" values which are quite different - within a few 100 bytes, but
>you can make them all come out much closer by adjusting the gap length.
>
>In other words, I want to do a calculation something like:
>
> Total number of bytes assumed to be available on the track
> - track overhead
> - (#sectors * per-sector overhead) [not including gap]
> - (#sectors * data bytes/sector)
> / #sectors
> = actual sector gap length (for format)
>
>However the values from the NEC table do not fit such a calculation, because
>for each sector-size/number-of-sectors in the NEC table, you work out a "total
>number of bytes assumbed to be available on the track" which is only within a
>few 100 of the value worked out for other sector-size/number-of-sectors
>combinations at the same drive type and encoding method.

Yep thats true.

>For example, if you begin with a "total number of bytes assumed to be available
>on the track" which you worked out from 512 byte sectors, and reverse the
>calculation for 1024 byte sectors, the gap length you arrive at is different
>from the one in the NEC table. Another way to look at it is that by tweaking the
>sector GPL, you can always get a "total number of bytes" which is within
>number-of-sectors/track" of the "optimim value" you were aiming for, however the
>values in the NEC table often result in "total number of bytes" values which are
>a couple of 100 away from each other.

Also you need the ECMA/ISO {ECMA-70} spec for formatting. They are somewhat 
different.

The problem is that somewher in the gap there will be a splice point and
there need to be enough gap bytes written after write is enabled to insure
the new sector is roughly in the smae place as the old one.  


>Unfortunately the 765 based FDC in the PC is very limiting, and does not allow me
>to read the raw format information, nor can I determine the GPL that was used on
>the original disk - the only other option is to calculate a suitable GPL based on
>the format information.

The 765 does have a read diagnostic but it's not like the 1771/1791 read track
that tried to read every byte including gaps.

>If no calculation is possible, can anyone point me at a more complete table of
>suggested GPLs?  The NEC table has some large holes, for example 9x512 and 10x512
>are missing.

They are missing because the table was written before the advent of 5.25 1.2 mb
and 3.5" floppies and the 765A really doesn't do the 10x512 (it will read but 
format is not possible).   The latter if done with 765A ends up truncating 
the gap4 badly if the drive is 2% fast.  The later 7265 chip does it and 
you need the spc for that.

The PC varient of the FDC is a cell based on the 765/7265 so unless there's 
a raw 765 on the board you can see you need to read between the line of the 
spec for THAT chip. There are subtle variations in the 765 look alikes and
Tim and I encounted some of them while doing Fcopy.  The test for 765/7265
is can it recalibrate more than 77 tracks.  The 765 will only recalibate a 
maximum of 77 tracks, the 7265 can do up to 255.  The other differnce is 
the 7265 does not write gap 4a/4b at all. Gap 4a coincides with index and gap
4b is the gap written after all sectors are formatted to the end of the track
(index). 



Allison


More information about the cctalk mailing list