Re: Disk drive timing

From: Levente Harsfalvi (
Date: 1998-08-25 00:07:57


> I think yes.  The best fastloaders transfer 128 or 256 bytes in a row
> without any explicit synchronization.  The trick is to monitor the serial
> bus and add a branch to the next address, i.e. something like
> bit serialbus:bmi .+2.  Every time the line changes (one cycle) too early,
> the code will spend an extra cycle.  (Remember, a taken branch adds 1
> cycle, or 2 cycles if the target is on a different page.)

But I guess it can be done just because these loaders transmit GCR code
bytes instead of decoded data. These GCR bytes are then decoded in the C64.
Doing so, you can be 100% sure that you'll have at least one change in every
transmitted 3 bitpairs.

When transmitting pure data, receiving 100 or 200 0 bytes would mean that
this implicite synch trick goes out of synchronisation - 'cos it doesn't
notice whether the incoming bits were the present, or the earlier (or the
next :-) ) 00 bits. The GCR doesn't have this problem, as all GCR nybbles
contain at least one '0' and one '1'.


This message was sent through the cbm-hackers mailing list.
To unsubscribe: echo unsubscribe | mail

Archive generated by hypermail 2.1.1.