From: MagerValp (MagerValp_at_cling.gu.se)
Date: 2005-11-07 23:29:11
>>>>> "ST" == Spiro Trikaliotis <ml-cbmhackers@trikaliotis.net> writes:
s> Does anyone know if there is a known, substantially faster GCR
s> decoding algorithm than the one in the drive's ROM?
ST> in the 157x, there are other functions than in the 154x which are
ST> table driven. These are much faster.
The problem with table based routines are that they're hard to fit in
the 1541's RAM - only 1.25k are available if you don't replace the
1541's kernal routines.
I worked a bit on improving Lasse Öörni's irqloader (based on Marko
Mäkelä and K.M/Taboo's code), and the best I could do was to partially
decode the GCR bytes into nybbles while reading. The full decode is
done in a 2nd pass, with more bitshifting. Using a nybble buffer (i.e.
512 bytes for one sector) instead of a byte buffer had the most
effect, since you only need a 16-byte table for sending the bits over.
The 1-bit loader went from about 3.5x speedup to 6x, using the same
transfer protocol.
--
___ . . . . . + . . o
_|___|_ + . + . + . Per Olofsson, arkadspelare
o-o . . . o + MagerValp@cling.gu.se
- + + . http://www.cling.gu.se/~cl3polof/
Message was sent through the cbm-hackers mailing list
Archive generated by hypermail pre-2.1.8.