Xref: utzoo comp.sys.atari.st:36286 comp.sys.atari.st.tech:1703 Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!elroy.jpl.nasa.gov!jato!vsnyder From: vsnyder@jato.jpl.nasa.gov (Van Snyder) Newsgroups: comp.sys.atari.st,comp.sys.atari.st.tech Subject: Re: Setting Floppy Seek Rate in all TOS versions Keywords: seekrate steprate Message-ID: <1991Mar19.044454.24718@jato.jpl.nasa.gov> Date: 19 Mar 91 04:44:54 GMT Reply-To: vsnyder@jato.Jpl.Nasa.Gov (Van Snyder) Organization: Jet Propulsion Laboratory, Pasadena, CA Lines: 42 Here's the poop on setting the seek step rate for floppies, from page 60 of the Rainbow TOS distribution: "Floprate: - Floprate, XBIOS function 41, checks or sets the seek rate for a floppy drive. This is new; the seek rate must be set with (previously) undocumented variables on earlier versions of TOS. Floprate example. int devno, newrate; oldrate = Floprate(devno,newrate); This returns the current seek rate if newrate is -1, otherwise sets the seek rate to newrate. For doing this with previous versions of TOS, the seekrate byte locations for drive A and B are: OS Version Drive A Drive B ---------- ------- ------- 0x0100 $A09 $A0D 0x0102 $A4F $A53 In either case valid seek rate byte values are: Value Rate ----- ---- 00 6 ms 01 12 ms 02 2 ms 03 3 ms This call does not range check the drive ID or new seek rate. If devno is zero, it assumes drive A:, if nonzero, drive B:." That's 41 decimal. You can get the TOS version from offset 02.w from the place pointed at by 0x4F2.L (_sysbase). -- vsnyder@jato.Jpl.Nasa.Gov ames!elroy!jato!vsnyder vsnyder@jato.uucp