I've been thinking of speeding up the disk copier in prlink so that it would adjust the interleave factor during the transfer. The current version reads and writes the sectors always in succession, starting from track 001 and sector 000, and incrementing the sector number until the drive reports 66,illegal track or sector,tt,ss. Then it'll step to next track and zero the sector number. The new idea is to find out the maximum number of sectors on each track. I tried this by decrementing the sector number from 999 until no error occurs. I noticed that the 1541 apparently converts the string to an 8-bit number without any overflow checking. Therefore, it successfully read from track 1, sector 7xx (I don't remember the exact figure). An obvious cure is to count sector numbers upwards (first the 100s, then the 10s and then the 1s) to find out the maximum allowable number. But are there actually devices that store more than 256 sectors per track, or more than 255 tracks? Currently, the prlink disk copier goes up to 999 tracks of at most 1000 sectors. Another optimization I had in mind was to assume that the number of sectors per track is the greatest on track 1 and decreases monotonically. This assumption fails on the 1571 (where tracks 36..70 are on the top side of the disk), but does it hold on older double-sided drives? (On the 1581 this interleave optimization is unnecessary, since the buffer in the drive holds an entire track, and each track has the same number of sectors.) Marko Message was sent through the cbm-hackers mailing list
Archive generated by hypermail 2.1.1.