1541 replacement formatting routine, Was: Checking syntax for 1541

From: Wolfgang Moser (womo_at_news.trikaliotis.net)
Date: 2007-09-10 13:17:56

Hello Ruud,

ruud.baltissen@abp.nl schrieb:
> First a question for all of you: has anyone a maller formatting routine
> that I can use to replace the original one? I know JiffyDOS has one
> AFAIK and I just hope someone can give me some onfo about it. Using a
> smaller routine can free up some bytes I can use for another routine,
> see below.

for OpenCBM I wrote a next generation formatter
routine long ago. I put the 6502 part of it under
the LGPL in contrast to the GPL'ed (not the
Lesser one) host part and rest of OpenCBM.

That next generation formatter may perfectly suit
your needs since it was optimized for size, but
nothing else. One drawback of this is that it is
very difficult to understand I believe.

One example: I tried to prevent explicit CLC and
SEC (carry clear/set) instructions as much as
possible, by always watching previous instructions
for their Carry state.
And then the next generation formatter uses a new
and unique scheme to generate the formatting
pattern from five-byte-blocks in realtime. Filling
the buffers before formatting a new track round is
not needed anymore. The real-time part becomes
very, very timing critical because of this.

Oh, and you may already know that this routine in
fact is probing the tracks size and thus can
handle different RPM speeds correctly. It's the
same autoprobing technique (in principle) used by
the standard OpenCBM formatter routine.


So, if your're still interested have a look at:

Makros and subroutines:
http://opencbm.svn.sourceforge.net/viewvc/opencbm/trunk/opencbm/cbmforng/cbmfmacs.i65?view=markup
http://opencbm.svn.sourceforge.net/viewvc/opencbm/trunk/opencbm/cbmforng/cbmfsubs.i65?view=markup

The main routine:
http://opencbm.svn.sourceforge.net/viewvc/opencbm/trunk/opencbm/cbmforng/cbmforng.a65?view=markup

Some really cruel interface declaration for
exchanging data between the host and the formatter
(not really needed for your purpose):
http://opencbm.svn.sourceforge.net/viewvc/opencbm/trunk/opencbm/cbmforng/cbmforng.idh?view=markup


Womo

       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail pre-2.1.8.