Mail Archives: djgpp/2004/05/19/23:01:23
"Eli Zaretskii" <eliz AT gnu DOT org> wrote in message news:<7704-Wed19May2004233123+0300-eliz AT gnu DOT org>...
> > From: 048321887-0001 AT t-online DOT de (Udo Kuhnt)
> > Newsgroups: comp.os.msdos.djgpp
> > Date: 19 May 2004 12:58:41 -0700
> >
> > Hm, I am not very fond of mailing lists since I already get lots of mail.
>
> ??? If you want to discuss an issue, you've got to get messages,
> right?
>
> You don't ned to subscribe to the list: if you participate in a
> discussion, the messages are sent to any participants, whether or not
> they are subscribers.
Thanks for the info; I did not know this. Many mailing lists accept posts
only from subscribers.
> > > So: what version(s) of DR-DOS support this API, and how can a DJGPP
> > > program know whether it runs on such a version of DR-DOS?
> >
> > All versions of the 7.0x series feature this API, probably including v8.0.
> > Since the multitasking API can be disabled in these versions, an installation
> > check exists to verify that MT is active; this is done by function 1101h of
> > the MT API. If CX is zero after calling this function, the MT API is present;
> > if it still contains 1101h, then it is not present.
>
> What happens if that function is called on some other DOS system?
> That is, how can we know we run on DR-DOS 7.x or higher vs, say MS-DOS
> 6.22?
It is standard behaviour in DOS that the registers are not changed if a
function is called that does not exist. I just checked this on MS-DOS 7.1;
it passes the same arguments back if int 2fh/AX=2780h/CX=1101h is called.
Other MS-DOS versions should do the same thing. So this is probably a
reasonably safe method to test for the presence of the DR-DOS MT API.
Also, it is possible to check the DR-DOS version with function 4452h of
int 21h.
Well, I am curious - I heard that the DJGPP C library has been developed from
one for FreeBSD, or something like that, which probably has a working fork
sys call. Is this code still present in DJGPP and could it be reactivated, or
has it been removed because it did not seem useful?
- Raw text -