Date: Wed, 11 Jul 2001 08:04:46 +0300 (IDT) From: Eli Zaretskii X-Sender: eliz AT is To: Andrew Cottrell cc: djgpp-workers AT delorie DOT com Subject: Re: DJDIR Windows 2000 investigation results #1 In-Reply-To: <001c01c10989$0c58f2d0$0a02a8c0@acceleron> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII 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 Precedence: bulk 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.