Date: Sat, 08 Feb 2003 19:04:06 +0200 From: "Eli Zaretskii" Sender: halo1 AT zahav DOT net DOT il To: djgpp AT delorie DOT com Message-Id: <7263-Sat08Feb2003190405+0200-eliz@is.elta.co.il> X-Mailer: emacs 21.3.50 (via feedmail 8 I) and Blat ver 1.8.9 In-reply-to: (sjmccaug AT bluestem DOT prairienet DOT org) Subject: Re: Generate real-mode 386 DOS executables? References: <3pii1vkro878ujd0dlsa95mqgudtp86lvs AT 4ax DOT com> 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 > From: "Scott J. McCaughrin" > Newsgroups: comp.os.msdos.djgpp > Date: Sat, 8 Feb 2003 16:28:30 +0000 (UTC) > > The question remains: is DJGPP really for MS-DOS? Yes. > If so, then I should be able to make 16-bit INT 21h DOS function > calls. DJGPP _does_ issue INT 21h DOS calls (how else do you think it does file I/O?), but it does so via the DPMI (DOS Protected-Mode) interface, which is implemented as a bunch of functions of INT 31h. The DPMI server, a special piece of software required by DJGPP programs to run, is then responsible to convert INT 31h calls from protected mode into INT 21h calls in real mode. > If I cannot make such calls, it is really not DOS-compliant. So > which is it? DJGPP produces 32-bit protected-mode programs that run on top of DOS. It is compliant with DOS in the sense that programs it produces use DOS services and run on DOS machines.