Date: Thu, 17 Feb 2000 10:40:08 +0200 (IST) From: Eli Zaretskii X-Sender: eliz AT is To: Kevin Conder cc: djgpp AT delorie DOT com Subject: Re: Need help with BIOS-level floppy commands. In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp AT delorie DOT com Errors-To: dj-admin AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Wed, 16 Feb 2000, Kevin Conder wrote: > I am trying to read a floppy diskette that has been formatted with > an Ensoniq EPS keyboard (think synthesizer, not typing). This diskette is > DS DD and uses 10 sectors/track. Normal DOS diskettes are formatted as > 9 sectors/track. > > I have written a program that reads a normal DOS diskette using > biosdisk() commands. I haven't been able to use those commands to read > the EPS formatted diskette. Please always make a point of describing how the problem manifests itself. "Unable to use" is very low on information. What exactly happens if you use `biosdisk' with these floppies? Does the program crash? print an error message? returns an error code? which code? If you look at the source of `biosdisk', you will see that it assumes the default 9 sectors/track format, but it depends on this format in minor ways only, so at least some command parameters should also work with 10 sectors/track. I would suggest to try changing `biosdisk' so that even that small dependency on 9 sectors/track will not fail you. You could, for example, modify the source so that it assumes 10 sectors/track instead. > I've tried using biosdisk(): cmd = 24, sectors = 10. But this > returns an error, 0xC: command not supported or drive type unknown. Command 24 is for hard disks, so it's not surprising it fails for floppies. Don't use it, unless you really know what you are doing (you could easily damage your disk). I suggest to read the description of the relevant Int 13h functions in Ralf Brown's Interrupt List, before playing with them. > Does anyone know what else I could use? I'm not averse to > using ioctl() or __dpmi_int(0x13, ...). I just can't find a lot of > documentation that applies to my problem. If all else fails, ask specific questions here.