delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2001/07/11/01:05:16

Date: Wed, 11 Jul 2001 08:04:46 +0300 (IDT)
From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
X-Sender: eliz AT is
To: Andrew Cottrell <acottrel AT ihug DOT com DOT au>
cc: djgpp-workers AT delorie DOT com
Subject: Re: DJDIR Windows 2000 investigation results #1
In-Reply-To: <001c01c10989$0c58f2d0$0a02a8c0@acceleron>
Message-ID: <Pine.SUN.3.91.1010711075258.1314B-100000@is>
MIME-Version: 1.0
Reply-To: djgpp-workers AT delorie DOT com
Errors-To: nobody AT delorie DOT com
X-Mailing-List: djgpp-workers AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

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 -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019