[comp.sys.amiga.hardware] Trackdisk max speed

jesup@cbmvax.commodore.com (Randell Jesup) (09/07/90)

In article <1990Aug30.121102.11096@hod.uit.no> borgen@stud.cs.uit.no writes:
>In article <14069@cbmvax.commodore.com> jesup@cbmvax (Randell Jesup) writes:
>>trackdisk and FFS.  I've seen >20K/sec reads.  Note that the theoretical
>>maximum is ~24K/sec, not including seek and settle times or any other overhead.
>
>So where does the available bandwith go? I mean, looking in the HW-ref.man
>there is three cycles for disk-DMA every scanline (4 for audio), which
>makes me believe there is 3*28k = 84k/s theoretical transfer speed(after
>MFM that should be 42k/s), but disks spin 5 tracks/s = ~12k*5 = 60k.

	The # of cycles is not the issue (and those are raw encoded MFM as
well).  The issue is the speed of the drive.  Note: 1 track = 5.5K, not 12K.
Second, you usually are slower than 5 track reads/sec, because you have to
account for various speed variations in the Amiga clock and disk drive in
order to be certain to read the entire track.  It can easily take 1/4 sec
to read a track (instead of 1/5), and nominal operation will be about .22
sec/track.  So worst-case is ~22500 bytes/sec, nominal is ~25500 bytes/sec.
That's not counting ANY setup overhead, let alone software overhead.  Note
I'm counting decoded data bytes.

>Can you get the extra k/s buy using custom loaders and slow-speed saving
>your data(to get longer tracks)?

	Marginally, yes, but you may exceed the limits of the drives and/or
Paula to read it.  A number of European game makers have burned themselves by
doing things like this that fail when we buy a batch of drives from a different
manufacturer, or get a new batch from the same one, or if the user has a
genlock, etc, etc.

	We tolerate +- 1.5% of drive speed variation, +- 5% system clock
variation (for PAL/NTSC, genlock, tolerances, temperature, etc), and nominal
clock speed is 2.3% fast.  Range is .96 nominal to 1.09 (nominal is 6250
bytes after MFM decode only (no sectorizing, sync, etc accounted for)), or
5999 to 6812 bytes.  You cannot assume more than 5999 bytes/track, and must
read at least 6812 to be sure to get an entire track.

-- 
Randell Jesup, Keeper of AmigaDos, Commodore Engineering.
{uunet|rutgers}!cbmvax!jesup, jesup@cbmvax.cbm.commodore.com  BIX: rjesup  
Common phrase heard at Amiga Devcon '89: "It's in there!"