Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!samsung!munnari.oz.au!murtoa.cs.mu.oz.au!ditmela!latcs1!stephens From: stephens@latcs1.oz.au (Philip J Stephens) Newsgroups: comp.sys.apple2 Subject: Re: Fast reading of floppies... Message-ID: <7431@latcs1.oz.au> Date: 15 Mar 90 05:02:47 GMT References: <14075@fs2.NISC.SRI.COM> <14076@fs2.NISC.SRI.COM> <8613@chaph.usc.edu> <12350@smoke.BRL.MIL> Organization: Comp Sci, La Trobe Uni, Australia Lines: 30 In article <12350@smoke.BRL.MIL>, gwyn@smoke.BRL.MIL (Doug Gwyn) writes: > In article <8613@chaph.usc.edu> lesatz@alcor.usc.edu (Eric Michals) writes: > > -Another thing that I found interesting is that Locksmith 5.0 fast disk > -backup doesn't read the sectors in order, but rather in a strange > -pattern. I've never taken the time to figure out why. > > Probably it interleaves its access to speed things up. To be more precise, it reads the _physical_ sectors in the order that they appear on the disk, which translates as a different pattern of _logical_ sectors. The interleaving of a standard DOS 3.3 disk runs "backwards" so to speak; that is, the distance between sector $F and sector $E (in that order) is greater than the distance between sector $E and $F. Thus if you read the logical sectors backward, you have more time to catch each one, resulting in a _faster_ response time! (Reading forwards causes DOS to miss the next sector, and so it ends up waiting a full revolution for each sector). P.S. A few people have requested the source code (assembly) for fast reading of sectors, using a 5 1/4 inch drive. I will have this source in my possession come Monday, so if there is enough interest I may post it on comp.apple2.binaries (or whatever it's called). I will try and document it enough so that the technically inclined can understand how it works. < Philip J. Stephens >< "Many views yield the truth." > < Hons. student, Computer Science >< "Therefore, be not alone." > < La Trobe University, Melbourne >< - Prime Song of the viggies > <\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/><\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/>