Date: Wed, 13 Dec 2000 13:43:47 +0200 (IST) From: Eli Zaretskii X-Sender: eliz AT is To: djgpp AT delorie DOT com Subject: Re: Porting DJGPP DPMI Apps-->Borland C++5.x In-Reply-To: <3A36A472.7040003@home.com> 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 Tue, 12 Dec 2000, Russ Magee wrote: > Our concern is whether it will be easy to convert the existing DJGPP > C and GAS assembler source to Borland's environment; VESA video BIOS calls > are also a big concern, as there are graphics assignments using it. As written elsewhere in this thread, this is far from being easy. > 1) If we use the 5.0 compiler and make 16-bit DOS apps, is it true we don't > need DPMI at all, and can just call BIOS the traditional way, and bang > on hardware directly? Yes and yes. > 2) If we use the newer compiler, and compile win32 console apps, can these > access the BIOS and hit hardware directly as well? I don't think so. IIRC, a Win32 application cannot invoke real-mode interrupts directly (because thunking interferes with this). You will probably have to use the low-level (and mostly undocumented) Win32 API calls. > 3) And can we use VESA BIOS calls with either of the above schemes, without > DJGPP? (IE, what kind of support for VESA calls is there in TASM, Borland > C/C++)? I expect you to have to use the int86 function and absolute addresses. If there are protected-mode VESA calls, or absolute addresses above 1MB mark, you will have to use XMS calls to get there. I don't really understand the reasons for switching, but it looks like you are in for a bumpy ride. Might as well reconsider the original decision to switch.