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.