* DOSEMU-1.1.5 vs. DPMI
2003-06-07 0:07 [ANNOUNCE] DOSEMU-1.1.5 Bart Oldeman
@ 2003-06-10 20:43 ` Peter B. Steiger
0 siblings, 0 replies; 4+ messages in thread
From: Peter B. Steiger @ 2003-06-10 20:43 UTC (permalink / raw)
To: linux-msdos
1.1.5 compiles and runs fine, but I seem to be having some trouble with my
DPMI-based programs. Hardware is AMD Duron 850MHz with 512MB RAM.
There's a 60-GB drive with a 10-GB fat32 partition on which I installed
Windows 98 rev. A. Linux is Linux From Scratch using kernel 2.4.20, gcc 3.2.2.
Since I own Tool O' The Devil '98, I do not use freedos; my boot directory
/usr/share/dosemu/bootdisk just contains links to /mnt/fat32 files and folders.
The program I'm most interested in running was written in Clipper, an old dBase-
type compiler that actually creates the EXE with a complete p-code parser built
in so it can interpret your program on-the-fly. The EXE is linked with Blinker,
which allows you to link as a real mode or protected mode application.
In real mode my test program works fine... just a "Hello, world" display; I can
also run an enormous memory hog test that creates a meg or two of string
arrays in real mode (swapping to a disk file for VM). But if I try to run either
of those programs in protected mode, I get:
DPMI unhandled exception 06 - terminating client
it is likely that dosemu is unstable now and should be rebooted
... as soon as the program loads, before any output appears. This happens
regardless of whether I run as root (yeah, I know, danger Will Robinson...) or anyone
else. The same error occurs at the console and in an X window with xdosemu. I
tried building with and without mitshm; it makes no difference.
What's strange is, this used to work. I'm using the same hardware and the same
dosemu.conf files I had when I ran Red Hat 7.3 with kernel 2.4.20, gcc 2.96, dosemu
1.0.something last year.
Relevant portions of dosemu.conf are:
$_xms = (16383)
$_ems = (off)
$_dpmi = (65535)
$_dosmem = (639)
I have experimented with various amounts of each type of memory, and I have made
sure that /proc/sys/kernel/shmmax has a high enough limit to handle anything I throw
at it. The kernel is compiled with the SYSVIPC option enabled.
config.sys says:
device=C:\windows\himem.sys
device=C:\windows\emm386.exe noems
dos=high,umb
files=100
I can supply the complete dosemu.conf and/or the two EXE files (with and without
DPMI support linked in) if anyone is bored enough or curious enough to explore this;
I'm an applications developer so my knowledge of what's going on with the system's
use of memory is just about nonexistent.
Any ideas, suggestions, or general ridicule gratefully accepted through the list or my
own email. Thanks!
pbs
--------
Peter B. Steiger
Cheyenne, WY
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: DOSEMU-1.1.5 vs. DPMI
@ 2003-06-10 21:18 Stas Sergeev
0 siblings, 0 replies; 4+ messages in thread
From: Stas Sergeev @ 2003-06-10 21:18 UTC (permalink / raw)
To: linux-msdos
Hello.
Peter B. Steiger wrote:
> DPMI unhandled exception 06 - terminating client What's
> strange is, this used to work.
DPMI underwent a major surgery recently,
so there is no surprise.
> the same dosemu.conf files I had when I ran Red Hat 7.3
> with kernel 2.4.20, gcc 2.96, dosemu 1.0.something last
> year.
Just to be paranoid, could you please
verify that it still works on 1.0.2.1?
You have changed gcc and probably something
else, so who knows...
> device=C:\windows\himem.sys
> device=C:\windows\emm386.exe noems
Neither of this will work under dosemu.
> I can supply the complete dosemu.conf and/or the two EXE
> files (with and without DPMI support linked in)
Yes. Please open the bug entry in dosemu's
BTS on sourceforge and upload your files
there.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: DOSEMU-1.1.5 vs. DPMI
@ 2003-06-12 23:28 Peter B. Steiger
0 siblings, 0 replies; 4+ messages in thread
From: Peter B. Steiger @ 2003-06-12 23:28 UTC (permalink / raw)
To: linux-msdos
Stas says:
> Just to be paranoid, could you please
> verify that it still works on 1.0.2.1?
> You have changed gcc and probably something
> else, so who knows...
OK, here's what I found out:
1.0.2.1 installed from precompiled binaries works under kernel 2.4.20, gcc 3.2.2
The binaries I thought were 1.0.x on my RH system (kernel 2.4.20, gcc 2.96) are
something newer; the announce file says it's 1.1.2 but I can no longer test it
because the binaries crash on my current (kernel 2.4.20, gcc 3.2.2) system. I
also can't get 1.1.2 to compile on my current system.
1.1.5 compiled easily on gcc 3.2.2, but it will not handle the DPMI calls by Clipper
the way the earlier versions did. Also, while writing all this and running tests, I
found the 1.1.5.1 patch and built that, but I got the same results.
I used the free pascal compiler on my NT to create some test programs that
allocate large amounts of DPMI memory, and they work fine with 1.1.5.{0,1} So
it's not ALL uses of DPMI that fail, only the Clipper programs.
> Yes. Please open the bug entry in dosemu's
> BTS on sourceforge and upload your files
> there.
Done. I included the Pascal EXE that requests DPMI successfully and the
boot.log that it generated with +M enabled in debug, and the Clipper EXE and
boot.log that show DPMI crashing.
pbs
--------
Peter B. Steiger
Cheyenne, WY
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: DOSEMU-1.1.5 vs. DPMI
@ 2003-06-23 6:02 Peter B. Steiger
0 siblings, 0 replies; 4+ messages in thread
From: Peter B. Steiger @ 2003-06-23 6:02 UTC (permalink / raw)
To: linux-msdos
Stas,
I wrote those example EXEs for my own testing and then like an idiot I didn't
clean them up for anyone else to make sense of... I uploaded a new pair of tests
(dpmiok.exe and dpmibad.exe) and their corresponding logs with -D9+M debug
options as you requested. Unfortunately that won't tell you much more than the
previous log files did... my dpmibad.log stops where it does because it halts with
the exception error 06 before any output appears.
I see from your comments on the bug report that you did get correct output
from dpmibad.exe... that tells me that the fault lies not in dosemu or the dpmi
handling routines, but my own build or my configuration... probably my build,
since the same configuration works with the older prebuilt binary.
configure options are:
--prefix=/usr --datadir=/usr/share --disable-use-svgalib --enable-mitshm --
enable-experimental --enable-dodebug --enable-debug --enable-aspi --disable-
cpuemu --with-syshdimagedir=/usr/share/dosemu --with-fdtarball=none
compiling with gcc 3.2.2 on kernel 2.4.20. Anything in the above you did
differently which might affect the DPMI performance?
pbs
--------
Peter B. Steiger
Cheyenne, WY
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2003-06-23 6:02 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-06-23 6:02 DOSEMU-1.1.5 vs. DPMI Peter B. Steiger
-- strict thread matches above, loose matches on Subject: below --
2003-06-12 23:28 Peter B. Steiger
2003-06-10 21:18 Stas Sergeev
2003-06-07 0:07 [ANNOUNCE] DOSEMU-1.1.5 Bart Oldeman
2003-06-10 20:43 ` DOSEMU-1.1.5 vs. DPMI Peter B. Steiger
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox