Mail Archives: djgpp-workers/2001/07/11/01:05:16
On Wed, 11 Jul 2001, Andrew Cottrell wrote:
> > So it seems like Windows 2000 doesn't support FAT32, either in its LFN
> > API or at all. Could you please set LFN=n and see if DJGPP.ENV can be
> > read, even without removing 0x1000 from the value of BX?
>
> Tried this during the investigation and it worked okay.
So the non-LFN DOS functions do support the FAT32 bit, while LFN
functions don't. Gosh, what a mess!
> Windows 2000 shoudl
> support FAT32 as my second hard drive (used to be the seocnd hard drive in
> teh WIN98 box) is FAT32.
Well, my wording was misleading. I didn't mean to say W2K didn't support
FAT32 volumes. What I meant is that they don't support the FAT32 bit in
the OpenFile functions of Int 21h.
Given this information, I see several possible ways to solve the
problem. But first, I'd like to understand more about this FAT32 bit in
function 716Ch of Int 21h. Martin, did we actually check that this bit
is required for opening large files under LFN? Perhaps we could throw
together a short test program which tries to read/write such a large
file, and test it on Windows 9X and on W2K; then we would know if the
flag is needed, and if so, on what systems.
I'm asking that because RBIL is very vague about this bit: it is only
mentioned in the docs of the non-LFN function 6Ch, not with 716Ch. Could
it be that the LFN function supports FAT32 by default?
> 1) I will see what the osmajor / os minor etc are in Windows 2000 to see if
> we could put conditional code arround the LFN function call.
Don't bother: this is already known. To detect W2K, you call
_get_dos_version(1), and if the result is 0x532, you are on W2K.
Unfortunately, NT4 also reports the same version, but NT4 doesn't support
LFN, and you've just established that the non-LFN version of OpenFile
does work with the FAT32 bit.
> 3) I have RHIDE 1.4.7.9, but I only have the sources for 1.4.7.8. If I build
> 1.4.7.8 and use GCC 2.9.5.2 (last one before the GCC 3.0 beta) are there any
> other issues I may find that would cause me to go off on a tangent?
It might be a good idea to build RHIDE, just to make sure there are no
dragons left. But first, I'd suggest to set LFN=n and see if the version
of RHIDE downloaded from Andris's site works then.
Thanks again for working on this.
- Raw text -