Mail Archives: djgpp/2001/02/12/21:21:37
"Eli Zaretskii" <eliz AT is DOT elta DOT co DOT il> wrote:
>> From: Jason Green <news AT jgreen4 DOT fsnet DOT co DOT uk>
>> Newsgroups: comp.os.msdos.djgpp
>> Date: Fri, 09 Feb 2001 12:31:29 +0000
>> >
>> > Does this mean that if we bump the limit to 21 sectors, programs might
>> > choke with som BIOSes?
I don't believe it will. Most programs assume every floppy disk
is 1.44 meg. These programs will read/write, at most, 18 sectors;
blissfully unaware of the extra capability of biosdisk()
What if someone wants to use 21-sector disks?
1. We presume they are smart enough to patch the sectors-per-
track value in the floppy parameter table (FPT), so the FPT
does not restrict them.
2. We fixed biosdisk(), so it does not restrict them.
3. Maybe the BIOS limits them to 18 sectors? I'm not sure it
does. I presume INT 13h will return some kind of error
code in this case. The BIOS is not something we can fix.
I will ask others if the BIOS limitation really exists.
>> If there is some doubt then it would be worth to do a simple test
>> before any serious development work on libc.
Are there any popular DJGPP programs that make heavy use of
biosdisk()?
Otherwise, I could write a small test program to check if the BIOS
really does limit reads to 18 sectors. However, the persons doing
the testing must have a floppy with 21 sectors per track to work
with, e.g. the Win95 install floppies, or an oversized Linux boot/
root disk.
>If there's a chance of breaking the library by this change, I think we
>better not do it. People who need to read non-standard floppies can
>always use __dpmi_int directly.
Agreed, on both counts. biosdisk() _is_ more convenient, though.
--
geezer@ | pmode tutorial, homebrew OS:
execpc.com | http://www.execpc.com/~geezer/os
- Raw text -