www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/04/18/14:51:06

Xref: news2.mv.net comp.os.msdos.djgpp:2851
From: Charles Sandmann <sandmann AT clio DOT rice DOT edu>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Problem to run a DJGPP compiled program under WINDOWS 3.1 !!!
Date: Thu, 18 Apr 1996 07:55:22 CDT
Organization: Rice University, Houston, Texas
Lines: 15
Message-ID: <31763bba.sandmann@clio.rice.edu>
References: <4l2as8$eum AT aldebaran DOT sct DOT fr>
Reply-To: sandmann AT clio DOT rice DOT edu
NNTP-Posting-Host: clio.rice.edu
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

> I compile a Clipper5.2d program and link it with BLINKER3.1, I use a 
> SWPRUNCMD(...) BLINKER routine to run a DJGPP compiled and linked program. 
> Under DOS, there is no conflit between the BLINKER DPMI and CWSDPMI, but in a 

I would guess that BLINKER is a 16-bit DPMI app.  When the stub sees this
holdover from 286 land, it invokes CWSDPMI, which tries to get memory and
swap modes independently (and in this case succeeds).

> DOS window under WINDOWS3.1 a problem occurs and I get the CWSDPMI error 
> message "Load error : can't switch mode.".

There is no way to bypass the Win 3.1 API and get to protected mode, so if
you start with a 16-bit DPMI app, you can't run any nested 32-bit apps at
all.  This is a documented DPMI 0.9 restriction.  Get rid of the 16-bit
DPMI code.  It's the ONLY solution.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019