From: Eli Zaretskii Newsgroups: comp.os.msdos.djgpp Subject: Re: CWSDPMI under DOSEMU under Linux doesn't work. Date: Wed, 13 Oct 1999 11:59:47 +0200 Organization: NetVision Israel Lines: 28 Message-ID: References: <7tvpna$cb5$1 AT solomon DOT cs DOT rose-hulman DOT edu> NNTP-Posting-Host: is.elta.co.il Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII X-Trace: news.netvision.net.il 939808710 15530 199.203.121.2 (13 Oct 1999 09:58:30 GMT) X-Complaints-To: abuse AT netvision DOT net DOT il NNTP-Posting-Date: 13 Oct 1999 09:58:30 GMT X-Sender: eliz AT is In-Reply-To: <7tvpna$cb5$1@solomon.cs.rose-hulman.edu> To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp 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 Oct 1999, Damian Yerrick wrote: > I brought some DJGPP-built programs to my friend's > Linux PC and tried them under FreeDOS on DOSEMU. > They wouldn't run, even though I also brought along and > unzipped CWSDPMI. DOSEmu has its own DPMI server, so you shouldn't need CWSDPMI and you shouldn't even try to use CWSDPMI. If you load CWSDPMI manually *before* running DJGPP programs, don't: it won't work, exactly like it doesn't on Windows. If DJGPP programs run under DOSEmu claim there's no DPMI and ask for csdpmi*b.zip, it probably means that DOSEmu's own DPMI services are somehow disabled. Either the DOSEmu docs or section 3.4 of the DJGPP FAQ might help here. > Error message when I started my program: > > Protected mode not accessible This means that CWSDPMI tried switching the CPU into protected mode, and that failed. It's no surprise it fails on Linux: the CPU is already in protected mode, so Linux doesn't allow to fiddle with the PE flag in the CR0 register, which is what CWSDPMI does to enter PM. The only way to go is to use the DOSEmu's built-in DPMI services.