Mail Archives: djgpp/2011/03/17/02:19:08
> From: Jim Michaels <jmichae3 AT yahoo DOT com>
> Newsgroups: comp.os.msdos.djgpp
> Date: Wed, 16 Mar 2011 16:16:47 -0700 (PDT)
>
> it would be very nice if
> I didn't have to do this, if DJGPP supported this already in
> _dos_getdiskfree() so I wouldn't have to code my own stuff.
Since no one felt the need to code this in the library, it wasn't
coded. DJGPP is developed by volunteers. You are welcome to submit
patches for inclusion in the library.
> when I make the 7303h calls I always get back failure (carry flag set
> and ax=0x0f), bur first I call 7300h, this seemed to help some. maybe
> I need to install a critical error handler?
I don't think you need a critical error handler.
> the entire code for the program is 3100 lines long, so I think it's
> too large to post here.
No one asked for everything, just for enough of it to see all the
crucial details related to this system call. Omitting declarations of
some of the arguments of the system call leaves important information
out.
> maybe __dpmi_int() is hooking the software interrupt in a way that
> causes errors
No, __dpmi_int doesn't hook any interrupts. It uses a DPMI function
to call a real-mode interrupt from a protected-mode program.
> or the flags register is not being set correctly after a software
> interrupt?
There's no need for you to consider a possibility that basic
infrastructure of calling DOS functions does not work in DJGPP. If
something like that could be a problem, many library functions would
fail, which of course doesn't happen.
The answer to the problem is in your program, or perhaps in some issue
with FreeDOS and protected mode or DPMI (since I understand the
assembly that works is a real-mode program, not a protected-mode
program that uses DPMI).
You have been shown two working implementations. I suggest to try
compiling them and see if they work. If they work, then modify your
program to use the same code as those two implementations. If they
don't work, the problem is with FreeDOS.
- Raw text -