Date: Sun, 4 Jun 2000 18:20:34 +0300 (IDT) From: Eli Zaretskii X-Sender: eliz AT is To: Rat cc: djgpp AT delorie DOT com Subject: Re: Please, help! In-Reply-To: <000301bfce16$aef8b340$4202a8c0@piter> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Sun, 4 Jun 2000, Rat wrote: > I have a two trouble. It is usually best not to mix two separate and unrelated questions in one message. It is also best to choose a better Subject line ;-) > 1. Under MS-DOS call to BIOS int 13h function 15h all right, in case Windows 98SE for all hard drives carry flag alvays > return 1. Why? > > union REGS in, out; > in.h.ah = 0x15; > in.h.dl = drive; > int86( 0x13, &in, &out ); // - Return CF==1 for hard drives (under Windows 98SE) Don't use int86, it's a trouble-maker. Use __dpmi_int instead. The DJGPP FAQ explains the problems with int86 in section 18.1. That section also sends you to the libc reference for int86, which explains more about this issue. > If i compile this code with Borland C++ 3.1 compiler - all working done. That's because BC 3.1 is a 16-bit compiler, while DJGPP is a 32-bit compiler. > 2. Under DOS linker not work - long filenames, how i can compile it under DOS? Why compiler _UNDER DOS_ use LONG > FILENAMES!? What long filenames? The linker works perfectly for me on plain DOS, no matter what names I submit to it (assuming they don't use characters that are invalid in DOS file names). Please describe the specific problems that you have, including file names, command line, error messages, etc.