From: "Bryan J. Smith" <b.j.smith@ieee.org>
To: "Dinu M.C" <dinu_l@personal.ro>
Cc: linux-msdos@vger.kernel.org
Subject: Re: HELP!!!!!!!! -- VCPI not supported in any 32-bit OS ...
Date: Tue, 21 Jan 2003 17:42:54 -0500 (EST) [thread overview]
Message-ID: <1043188974.3e2dccee036eb@webmail.smithconcepts.com> (raw)
In-Reply-To: <200301212227.h0LMRDF03081@zerg.codec.ro>
Quoting "Dinu M.C" <dinu_l@personal.ro>:
> Hi!
> I am a new user of MDK linux.....and I need run a MS-DOS program;
> I try dosemu from the install. CD (ver. 3.9.xxx) and everything work
> just fine.....
> but my program NOT.
> That is the error message I recive:
> "C:\WINFARM>winfarm.exe
> Phar Lap err 35: The 386 chip is currently executing
> in virtual 8086 mode under the control of another program. You must
> turn off this other program in order to use 386|DOS-Extender to run in
> protected mode."
> LITTLE HELP, PLEASE!!!!!
The older Phar Lap DOS Extender API uses the Virtual Control Program Interface
(VCPI) approach to >1MB direct memory access. It requires direct and _complete_
control of the "Ring 0" of the i386 memory management unit (MMU). So it must be
run on a system where "Ring 0" is not under control of any other program.
All 32-bit OSes, DOS-based Windows (386-Enhanced and all 95/98/ME) versions,
OS/2 and NT-based Windows (always 32-bit), Linux, etc... _must_ control "Ring 0"
to run. So VCPI programs can _not_ run under them -- _period_.
As such, you must run it in "pure" DOS without a memory manager controlling Ring
0*1*.
VCPI was quickly replaced with DOS Protected Mode Interface (DPMI) which used a
single "DPMI manager" to control Ring 0 and then programs written for DPMI would
use DPMI function calls to access memory. This meant that you could now have
multiple programs running at the same time too, unlike VCPI*2*.
Which is what all DOS-based Windows versions use, including 95/98/ME (MS-DOS
7.x). DR-DOS 7.x also includes it, and Caldera showed it could completely
replace the "bundled" MS-DOS 7.x in Windows 95/98/ME (resulting in a lawsuit
that resulted in Microsoft paying some ~$300M (undisclosed) to Caldera).
OS/2 2.x+ and NT use different techniques, but natively support DPMI in their
DOS Virtual Machines (e.g., NTVDM). Same deal with Linux, DOSEmu is the DOS
Virtual Machine for Linux, which can be heavily customized, including DPMI.
-- Bryan
NOTE *1*: Some DOS memory managers, from MS EMM386 to Qualitas 386Max, could
"give up" Ring 0 as long as no other XMS, EMS or DPMI programs were loaded. In
that case, you could load them and still be able to run a VCPI program. Of
course, if you load modified device drivers that used DPMI to conserve sub-1MB
memory (both 640KB and UMB areas), like DR-DOS 7.x allowed, then you couldn't
run VCPI programs.
NOTE *2*: QEMM's DeskView actually used VCPI to not only access >1MB, but was a
VCPI program that acted as a "manager" that allowed multiple programs to run.
This was done by using a proprietary API, that could be licensed, so they
could run under DeskView. It was the proprietary predecessor to the DPMI
standard and today's common DOS task switching used in DOS and DOS-based Windows.
--
Bryan J. Smith, E.I. (BSECE) Contact Info: http://thebs.org
[ http://thebs.org/files/resume/BryanJonSmith_certifications.pdf ]
------------------------------------------------------------------
"Bryan J. Smith uses a modicum of talent and a membership in IEEE
to harass others and show off" -- Peter Buxton
prev parent reply other threads:[~2003-01-21 22:42 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-01-21 22:27 HELP!!!!!!!! Dinu M.C
2003-01-21 22:42 ` Bryan J. Smith [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1043188974.3e2dccee036eb@webmail.smithconcepts.com \
--to=b.j.smith@ieee.org \
--cc=dinu_l@personal.ro \
--cc=linux-msdos@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox