Mail Archives: djgpp/2000/06/04/11:21:03
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.
- Raw text -