Re: Disk drive timing

From: Marko Mäkelä (msmakela_at_cc.hut.fi)
Date: 1998-08-22 23:45:00

On Sat, 22 Aug 1998, Stephen Judd wrote:

> In part I was wondering if this is a trial and error kind of thing, or
> if a more precise calculation may be applied, e.g. for every x cycles,
> add y cycles.  My naive MHz calculation says that around 50 drive cycles 
> is about 51 NTSC cycles (or 49 PAL cycles) -- in other words, that
> they stay more or less in sync for a pretty long time.  Is it really 
> a matter of a single cycle in just the right place?

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.)

The best fastloader I have seen is in the Action Replay cartridge.  I also
have a copy of Action Replay 5.2 for NTSC, but I haven't had time to make
any comparisons between the NTSC and PAL versions of Action Replay's disk
routines.

	Marko

-
This message was sent through the cbm-hackers mailing list.
To unsubscribe: echo unsubscribe | mail cbm-hackers-request@dot.tcm.hut.fi.

Archive generated by hypermail 2.1.1.