Re: Fast GCR decoding?

From: Spiro Trikaliotis (ml-cbmhackers_at_trikaliotis.net)
Date: 2005-11-13 14:17:06

Hello,

* On Sat, Nov 12, 2005 at 03:17:29AM +0100 silverdr@inet.com.pl wrote:
 
> INT( (cpuclock/fastestbitrate) * 8 * (1 - 5%) )
> 
> As long as I didn't screw something, it should be enough to know the
> fastestbitrate and the cpuclock numbers, which I don't remember ATM.
> AFAIR the 1541 had slightly faster clock than the (PAL) 64 but the
> bitrate? 320kb/s?

The 1541 uses a clock of exactly 1 MHz. The fastest bit rate is (16/13)
MHz / 4 on tracks 1-17 (according to
http://www.zimmers.net/anonftp/pub/cbm/schematics/drives/new/1541/service/Page_07.html),
the clock generator gets (16 / 13) MHz = approx. 1.2307 MHz, and
according to the schematic on
http://www.zimmers.net/anonftp/pub/cbm/schematics/drives/new/1541/service/large/Page_11.gif,
this clock is divided by four.

Thus, you have (1 MHz / (16/13) MHz) * 4 * 8 = (13/16) * 4 * 8 = 2 * 13
= 26 cycles for writing out on tracks 1 to 17. For reading in, you might
have less (as the clock is not derived by the 16 MHz used to drive the
processor, but from "what is on disk", which might be faster than what
you expect.

This is not the complete story. These delays accumulate. Thus, if you
are "early" in reading one byte, you can be "late" in reading the next
one. For example, Wolfgang Moser has done systematical tests and he
found out that 41 cycles can still work, IF DONE PROPERLY. (!)

Regards,
   Spiro.

-- 
Spiro R. Trikaliotis
http://www.trikaliotis.net/
http://cbm4win.sf.net/

       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.