mirror of https://github.com/tLDP/LDP
1322 lines
50 KiB
Plaintext
1322 lines
50 KiB
Plaintext
<!doctype linuxdoc system>
|
|
<!-- This is the dosemu HOWTO, SGML source -->
|
|
|
|
<!-- Mike Deisher, deisher@dspsun.eas.asu.edu -->
|
|
<!-- Uwe Bonnes, bon@elektron.ikp.physik.tu-darmstadt.de -->
|
|
<!-- David Hodges, davidhodges@altavista.net -->
|
|
<!-- Maintanance:Rahul Sundaram, rahulsundaram@yahoo.co.in -->
|
|
<!-- Changelog -->
|
|
<!-- 99/04/12: Added sections What operating systems does dosemu work
|
|
under ?, What processors does dosemu work on ?, What if I have
|
|
a DEC Alpha/Sparc/other non-Intel CPU ?, Can I run Microsoft
|
|
Windows programs under dosemu ?, I want to run something
|
|
that won't run under dosemu or Wine,
|
|
mention that lredir doesn't work under FreeDOS -->
|
|
<!-- 99/04/11: removed developers mailing list since the dosemu website
|
|
says it's invitation only -->
|
|
<!-- 99/04/11: updated mailing list address, web and ftp addresses,
|
|
latest version number, dosemu no longer needs to run as root -->
|
|
<!-- 97/08/12: Changes for mailing list at suse.com -->
|
|
<!-- 97/05/05: Voyetra's great DOS MIDI -->
|
|
<!-- 97/04/27: No .386 with winemu -->
|
|
<!-- 97/04/17: Greg's corrections for my typos -->
|
|
<!-- 97/04/08: Hans changes to common errors -->
|
|
<!-- : tips to restore console -->
|
|
<!-- : Tips for Foxpro 2.6 -->
|
|
<!-- 97/04/03: Don't use Dos 4.01 -->
|
|
<!-- 97/3/07: Msdos.sys settings to boot Dos7 -->
|
|
<!-- 97/2/28: Considerations on command.com and different Dos-Versions -->
|
|
<!-- Numbering scheme -->
|
|
<!-- 97/2/17: Tell about use_sigio -->
|
|
<!-- 97/2/16: Section for hints with games, date change -->
|
|
<!-- 97/2/15: Tell about present sound efforts -->
|
|
<!-- 97/2/13: Installing windows -->
|
|
<!-- 97/2/13: Some xdos fonts hints -->
|
|
<!-- 97/2/12: Some typos Hans noticed -->
|
|
<!-- Hints for configure -->
|
|
<!-- 97/2/11: Changes from Hans (diff) and Erik Mouw incorporated -->
|
|
<!-- Tell explicit some security issues -->
|
|
<!-- Tips for winemu/progman -->
|
|
<!-- 02/12/27 Rahul Sundaram- took over maintainance -->
|
|
|
|
|
|
<article>
|
|
|
|
<title>The dosemu HOWTO
|
|
<author> Rahul Sundaram
|
|
<date>2002-12-27
|
|
<abstract>
|
|
This is the `Frequently Asked Questions' (FAQ) / HOWTO document for
|
|
dosemu. The most up-to-date version of the dosemu-HOWTO may be found
|
|
at <bf><htmlurl
|
|
url="http://www.dosemu.org"name="http://www.dosemu.org"></bf>.
|
|
</abstract>
|
|
|
|
<toc>
|
|
|
|
<p>
|
|
Original authoring by Mike Deisher.
|
|
<p>
|
|
Updated by Uwe Bonnes for dosemu-0.64.4, 15 March 1997
|
|
<p>
|
|
Updated by David Hodges davidhodges@altavista.net For dosemu-0.98.8,
|
|
|
|
<bf><htmlurl url="mailto:rahulsundaram AT yahoo DOT co DOT in"
|
|
name="rahulsundaram@yahoo.co.in"></bf>
|
|
|
|
|
|
|
|
<sect>The preliminaries
|
|
|
|
<sect1>What is dosemu, anyway?
|
|
|
|
<p>To quote the manual, "dosemu" is a user-level program which uses
|
|
certain special features of the Linux kernel and the 80386 processor
|
|
to run MS-DOS/FreeDOS/DR-DOS in what we in the biz call a `DOS box.'
|
|
The DOS box, a combination of hardware and software trickery, has these
|
|
capabilities:
|
|
|
|
o the ability to virtualize all input/output and processor control
|
|
instructions
|
|
|
|
o the ability to support the word size and addressing modes of the
|
|
iAPX86 processor family's "real mode," while still running within
|
|
the full protected mode environment
|
|
|
|
o the ability to trap all DOS and BIOS system calls and emulate such
|
|
calls as are necessary for proper operation and good performance
|
|
|
|
o the ability to simulate a hardware environment over which DOS
|
|
programs are accustomed to having control.
|
|
|
|
o the ability to provide DOS services through native Linux
|
|
services; for example, dosemu can provide a virtual hard disk
|
|
drive which is actually a Linux directory hierarchy."
|
|
|
|
<sect1>What operating systems does dosemu work under ?
|
|
<p>
|
|
Dosemu is primarily written for Linux. It also works on NetBSD and
|
|
possibly FreeBSD, however the graphics emulation is unlikely to work
|
|
on NetBSD, which means that all DOS programs that use graphics mode
|
|
(most DOS programs) will not work under NetBSD.
|
|
|
|
<sect1>What processors does dosemu work on ?
|
|
<p>
|
|
Dosemu only works on Intel 80x86 processors, e.g. 80386, 80486,
|
|
Pentium etc.
|
|
|
|
<sect1>What if I have an Alpha/Sparc/Motorola/other non-Intel CPU ?
|
|
<p>
|
|
Dosemu only works on Intel 80x86 processors but there are alternatives:
|
|
Bochs (<bf><htmlurl
|
|
url="http://www.bochs.com"name="http://www.bochs.com"></bf>) is an open
|
|
source shareware PC emulator that
|
|
runs on most Unixes (as well as MS-Windows), and there are other
|
|
(non-free) alternatives - see the comp.emulators.misc FAQ, available via
|
|
usenet or <bf><htmlurl
|
|
url="ftp://rtfm.mit.edu/pub/usenet-by-hierarchy/comp/emulators/misc/"
|
|
name="ftp://rtfm.mit.edu/pub/usenet-by-hierarchy/comp/emulators/misc/"></bf>
|
|
|
|
<sect1>Do I need MS-DOS to use dosemu ?
|
|
<p>
|
|
No. You need some version of DOS but not necessarily MS-DOS.
|
|
See the section "What versions of DOS are known to run with dosemu ?"
|
|
|
|
<sect1>Can I run Microsoft Windows programs under dosemu ?
|
|
<p>
|
|
Not reliably. You would be better to use the Windows emulator
|
|
Wine (<bf><htmlurl url="http://www.winehq.com"
|
|
name="http://www.winehq.com"></bf>). If you insist on running Windows
|
|
under dosemu, see section 8 - dosemu and MS-Windows 3.1.
|
|
|
|
<sect1>I want to run something that won't run under DOSemu or Wine
|
|
<p>
|
|
See section 1.4.
|
|
<sect1>Names and numbers
|
|
<p>
|
|
<tscreen>(xx/yy/zz) means day zz in month yy in year xx.</tscreen>
|
|
<tscreen>winemu mean WinOS/2 running in dosemu.</tscreen>
|
|
|
|
<sect1>What version of Dosemu should I use?
|
|
<p>Dosemu uses the same numbering scheme as the kernel. Uneven second
|
|
numbers are for possible unstable developer releases, even second numbers
|
|
are for releases considered stable. At the time of writing, <bf>0.98.8</bf>
|
|
is the latest stable release, while <bf>0.99.10</bf> is the latest
|
|
developer's release. So if you want to use dosemu, get the latest
|
|
<bf>stable</bf> release.
|
|
|
|
<sect1>What's the newest version of dosemu and where can I get it?
|
|
|
|
<p>The newest version of dosemu as of 99/04/09 is
|
|
<bf>dosemu0.98.8</bf> and can be ftp'ed from:
|
|
<tscreen>
|
|
<htmlurl url="ftp://ftp.dosemu.org/pub/dosemu/"
|
|
name="ftp://ftp.dosemu.org/pub/dosemu/">
|
|
</tscreen>
|
|
|
|
Remember that this is ALPHA code, however: there may be serious bugs
|
|
and very little documentation for new features. The development version
|
|
is particularly likely to have bugs. Please use it only if you
|
|
like to do active development. Don't report bugs in the development
|
|
version, fix them instead.
|
|
|
|
<sect1>Where can I ask questions?
|
|
|
|
<p>If you have problems regarding installing and running dosemu after
|
|
reading the documentation, first try to help yourself: Your question
|
|
has probably been asked and perhaps answered before. Try some search
|
|
engine on the internet to retrieve that information. E.g. you can ask
|
|
<tscreen>
|
|
<htmlurl url="http://www.dejanews.com"
|
|
name="http://www.dejanews.com">
|
|
</tscreen>
|
|
|
|
to find all newsnet articles containing the keywords of your
|
|
question. Helping yourself will probably be faster than asking a well
|
|
known question. It also frees up the time of developers from answering
|
|
trivial question and so helps the further development of dosemu.
|
|
|
|
<sect1>Where can I report bugs and ask questions?
|
|
|
|
<p>If you want to ask questions and report bugs regarding dosemu, you
|
|
should consider subscribing to the linux-msdos mailing list.
|
|
To subscribe, send mail to <bf><htmlurl
|
|
url="mailto:Majordomo@vger.rutgers.edu"name="Majordomo@vger.rutgers.edu"></bf>
|
|
with the following command in the body of your email message:
|
|
<verb>
|
|
subscribe linux-msdos your_username@your.email.address
|
|
</verb>
|
|
If you ever want to remove yourself from the mailing list, you can
|
|
send mail to <bf><htmlurl
|
|
url="mailto:Majordomo@vger.rutgers.edu"name="Majordomo@vger.rutgers.edu"></bf>
|
|
with the following command in the body of your email message:
|
|
<verb>
|
|
unsubscribe linux-msdos your_username@your.email.address
|
|
</verb>
|
|
(95/8/11). When you are subscribed to linux-msdos, you can send your
|
|
report as mail to linux-msdos@vger.rutgers.edu. There is a gate that
|
|
send mails to linux-msdos@vger.rutgers.edu as postings to the
|
|
newsgroup named <bf>linux.dev.msdos</bf>. If your News provider
|
|
doesn't carry that group, ask her(him) to add that group.
|
|
Before you ask a question, you should carefully read all of the
|
|
documentation, including this HOWTO and check one of the mailing list
|
|
archives listed at <bf><htmlurl url="http://www.dosemu.org/mailinglist.html"
|
|
name="http://www.dosemu.org/mailinglist.html"></bf> to see whether your
|
|
question has already been asked and answered.
|
|
|
|
<sect1>What documentation is available for dosemu?
|
|
|
|
<p>
|
|
Dosemu comes with documentation. The main documentation files
|
|
README.txt and README-tech.txt cover virtually all aspects of dosemu
|
|
and may be more up-to-date than this HOWTO.
|
|
|
|
The "dosemu Novice's Altering Guide" or DANG is a road map to the
|
|
inner workings of dosemu. It is designed for the adventurous, those
|
|
who wish to modify the source code themselves. The DANG is maintained
|
|
by Alistair MacDonald (<bf><htmlurl url="mailto:alistair@slitesys.demon.co.uk"name="alistair@slitesys.demon.co.uk"></bf>) and is
|
|
found in the doc directory of the dosemu source tree.
|
|
|
|
|
|
The EMU failure list (EMUfailure.txt) is a partial list of programs known
|
|
<bf>not</bf> to work under dosemu.
|
|
|
|
|
|
And then, of course, there is the dosemu FAQ/HOWTO. But you already
|
|
know about that, don't you. It is also posted once in a while to the
|
|
mailing list and found in the doc-directory. The most recent version
|
|
can be found at <bf><htmlurl url="http://www.dosemu.org"
|
|
name="http://www.dosemu.org"></bf>.
|
|
|
|
<sect1>I have a program that fails, not listed in EMUfailure.txt
|
|
<p>First check, if the failure of your program is not caused by some
|
|
of the fundamental incapabilities of dosemu, listed in EMUfailure.txt. If
|
|
you think you have something new, please report to
|
|
<htmlurl url="mailto:linux-msdos@vger.rutgers.edu"
|
|
name="linux-msdos@vger.rutgers.edu">.
|
|
Perhaps it can be made going with the help others. Give detailed
|
|
information about your setup, tell the version of kernel, dosemu etc
|
|
and name the observed errors. You can use xdos to cut and paste the
|
|
error message into your report. But keep your report in a readable
|
|
form. We know the content of ../etc/config.dist. So only send the
|
|
active lines from your dosemu.conf. Try running dosemu with some or all
|
|
debug output turned on and scan through your debug output
|
|
and at first only send those parts you think are relevant. Few people
|
|
are willing to decode some long attachment to a mail, to do debugging
|
|
for others. But keep your logs at hand, in case others ask detailed
|
|
questions.
|
|
|
|
|
|
<sect1>How do I submit changes or additions to the HOWTO?
|
|
|
|
<p>The preferred method is to edit the file
|
|
<bf>dosemu-HOWTO-xx.x.sgml</bf> to incorporate the changes, create a
|
|
diff file by typing something like
|
|
|
|
<tscreen>
|
|
diff -uw original-file new-file
|
|
</tscreen>
|
|
|
|
and send it to <bf><htmlurl
|
|
url="mailto:davidhodges@altavista.net"name="davidhodges@altavista.net"</bf>.
|
|
If you do not know SGML, that's ok. Changes or new information in any
|
|
form will be accepted. Creating the diff file just makes it easier on
|
|
the HOWTO maintainer. :-)
|
|
|
|
|
|
<sect1>Message from Greg…
|
|
|
|
<p>Unless otherwise stated, Linux HOWTO documents are copyrighted by
|
|
their respective authors. Linux HOWTO documents may be reproduced and
|
|
distributed in whole or in part, in any medium physical or electronic,
|
|
as long as this copyright notice is retained on all copies. Commercial
|
|
redistribution is allowed and encouraged; however, the author would
|
|
like to be notified of any such distributions.
|
|
|
|
All translations, derivative works, or aggregate works incorporating
|
|
any Linux HOWTO documents must be covered under this copyright notice.
|
|
That is, you may not produce a derivative work from a HOWTO and impose
|
|
additional restrictions on its distribution. Exceptions to these rules
|
|
may be granted under certain conditions; please contact the Linux HOWTO
|
|
coordinator at the address given below.
|
|
|
|
In short, we wish to promote dissemination of this information through as
|
|
many channels as possible. However, we do wish to retain copyright on the
|
|
HOWTO documents, and would like to be notified of any plans to redistribute
|
|
the HOWTOs.
|
|
|
|
If you have questions, please contact Greg Hankins, the Linux HOWTO
|
|
coordinator, at gregh@cc.gatech.edu(95/8/11).
|
|
|
|
<sect>Compiling and installing dosemu
|
|
|
|
<sect1>Where are the installation instructions?
|
|
|
|
<p>The installation instructions are in the file, "QuickStart",
|
|
included in the distribution.
|
|
|
|
<sect1>Top ten problems while compiling and installing dosemu.
|
|
|
|
<p>
|
|
|
|
1. Forgetting to read the <bf>QuickStart</bf> Guide.
|
|
|
|
2. Try to compile some old version of dosemu.
|
|
|
|
3. Try to compile with a kernel older than 2.0.28 or 2.1.15.
|
|
|
|
4. Having the wrong linux kernel source sitting in <bf>/usr/src/linux</bf>
|
|
or missing <bf>/usr/src/linux/include/version.h</bf>
|
|
|
|
5. Use dosemu with a kernel that does not have <bf>IPC</bf> compiled in.
|
|
|
|
<!-- FIXME-->
|
|
6. Compile with gcc older than 2.7.2 or libc older than 5.x.x.
|
|
<!-- END FIXME-->
|
|
|
|
7. Forget to edit your <bf>/etc/dosemu.conf</bf>, <bf>/etc/dosemu.users</bf>
|
|
and <bf>/var/lib/dosemu/global.conf</bf> files
|
|
|
|
8. Run DOSEMU with partition access while they are already mounted.
|
|
|
|
9. Don't install dosemu with sufficient privileges (i.e., root).
|
|
|
|
10. Try to run programs that use DPMI without enabling dpmi in
|
|
/etc/dosemu.conf
|
|
|
|
<sect1>How do I make aout binaries?
|
|
|
|
<p> Starting with version 0.64.4 there is no a.out support any more.
|
|
If you absolutely need it, you must use version 0.64.3.1.
|
|
The configure script then should take care for this, if you setup is a
|
|
standard setup.
|
|
|
|
<sect1>How do I compile dosemu on a machine with low memory?
|
|
|
|
<p>Marty Leisner (<bf>leisner@sdsp.mc.xerox.com</bf>) reported (95/4/8)
|
|
that
|
|
|
|
If you have problems with running out of swap space you may want to
|
|
add <tt/CFLAGS+=-fno-inline/ after <tt/CFLAGS/ is defined in
|
|
<bf>dpmi/Makefile</bf>. Be careful before you do this and check for
|
|
the existence of swap space. I found Linux crashes at times when it
|
|
has no swap space.
|
|
|
|
<sect1>Compilation fails with some strange error regarding "slang"
|
|
<p>You probably have
|
|
<tscreen>
|
|
slangforce off
|
|
</tscreen>
|
|
in your compiletime-settings file. You need to change it to
|
|
<tscreen>
|
|
slangforce on
|
|
</tscreen>
|
|
and recompile.
|
|
|
|
<sect1>What configurable options are available ?
|
|
<p>
|
|
The compiletime-settings.help file describes the options you can change
|
|
at compile time. The README.txt file describes the options you can
|
|
change at run time.
|
|
|
|
<sect1>Do I need to run dosemu as root?
|
|
<p>
|
|
No. Although dosemu drops root privilege wherever possible, it is still
|
|
safer to not run dosemu as root, especially if you run DPMI
|
|
programs under dosemu. Most normal DOS applications don't need dosemu
|
|
to run as root, especially if you run dosemu under X.
|
|
Thus you should not allow users to run a suid root copy of dosemu,
|
|
wherever possible, but only a non-suid copy. You can configure this on
|
|
a per-user basis using the /etc/dosemu.users file.
|
|
<p>
|
|
Programs that require direct access to hardware ports (e.g. if the
|
|
program needs to talk to some unusual hardware that is not supported
|
|
by Linux and dosemu) require dosemu to run as root but printers,
|
|
serial ports, mice and video cards (and to a small extent sound -
|
|
hopefully more soon) are emulated by dosemu so you don't need direct
|
|
hardware access and don't need to run as root to use these.
|
|
|
|
<sect1>How do I patch dosemu ?
|
|
|
|
<p>If you do patch dosemu from one version to another, do
|
|
&dquot;make pristine;./configure; make&dquot;.
|
|
If you don't make pristine, at least the version
|
|
of the new executable will be wrong, if the whole thing compiles at
|
|
all(97/2/9).
|
|
|
|
|
|
<sect1>What versions of DOS are known to run with dosemu ?
|
|
<p>
|
|
All versions of DOS should work with dosemu, with the following caveats:
|
|
<p>
|
|
FreeDOS (<bf><htmlurl
|
|
url="http://www.freedos.org" name="http://www.freedos.org"></bf>) does not
|
|
(yet) have a working redirector so you will
|
|
not be able to access your Linux filesystem or Novell networking under
|
|
FreeDOS. Note also that FreeDOS is unreliable beta software and may
|
|
crash unexpectedly, trash its filesystem, etc. etc.
|
|
|
|
<p>DOS 4.01 had problems by itself, so it won't work reliably with dosemu
|
|
either.
|
|
|
|
<p>
|
|
With <bf>MsDos-7</bf> aka <bf>Win95</bf> you must not start the graphic shell
|
|
at bootup. If you make the hdimage bootable with the so called "Rescue Disk"
|
|
you are offered to make during the Windows installation, you get the right
|
|
settings. If you use your normal Win95 installation to transfer the system
|
|
files, have a look at the msdos.sys written on the hdimage and change the
|
|
settings under the section [Options] to have entries like
|
|
[Options]
|
|
Logo=0
|
|
BootGUI=0
|
|
|
|
<sect>Hard disk setup
|
|
|
|
<sect1>How do I use my hard disk with dosemu?
|
|
|
|
<p>First, mount your dos hard disk partition as a Linux subdirectory.
|
|
For example, you could create a directory in Linux such as /dos (mkdir
|
|
-m 755 /dos) and add a line like
|
|
<verb>
|
|
/dev/hda1 /dos msdos umask=022
|
|
</verb>
|
|
to your /etc/fstab. (In this example, the partition is mounted
|
|
read-only. You may want to mount it read/write by replacing "022"
|
|
with "000" and using the -m 777 option with mkdir). Now <bf>mount
|
|
/dos</bf>.
|
|
The README.txt says:
|
|
<verb>
|
|
you just can have a Linux directory containing all what you
|
|
want to have under your DOS C:. Copy your IO.SYS, MSDOS.SYS or what
|
|
ever to that directory (e.g. /var/lib/dosemu/bootdir), put
|
|
|
|
$_hdimage = "bootdir"
|
|
|
|
|
|
into your /etc/dosemu.conf, and up it goes. DOSEMU makes a lredir'ed
|
|
drive out of it and can boot from it. You can edit the config.sys and
|
|
the autoexec.bat within this directory before you start dosemu. Fur-
|
|
ther more, you may have a more sohisticated setup. Given you want to
|
|
run the same DOS drive as you normal have when booting into native
|
|
DOS, then you just mount you DOS partition under Linux (say to /dos)
|
|
and put links to its subdirectories into the boot dir. This way you
|
|
can decide which files/directories have to be visible under DOSEMU and
|
|
which have to be different. Here's a small and incomplete example
|
|
bootdir setup:
|
|
|
|
|
|
config.sys
|
|
autoexec.bat
|
|
command.com -> /dos/command.com
|
|
io.sys -> /dos/io.sys
|
|
msdos.sys -> /dos/msdos.sys
|
|
dos -> /dos/dos
|
|
bc -> /dos/bc
|
|
windows -> /dos/windows
|
|
|
|
|
|
There is, however, one drawback, you can't use the DosC kernel
|
|
(FreeDos) for it, because it hasn't yet a working redirector (will
|
|
hopefully be available some time in the future).
|
|
</verb>
|
|
|
|
<sect1>How can I access the hdimage from Linux?
|
|
|
|
<p>
|
|
Use mtools. With a line in <bf>/etc/mtools.conf</bf> like
|
|
<verb>
|
|
|
|
drive n: file="/var/lib/dosemu/hdimage" MTOOLS_SKIP_CHECK=1 \
|
|
MTOOLS_LOWER_CASE=1 MTOOLS_NO_VFAT=1 partition=1 offset=128
|
|
</verb>
|
|
you can use the mtools on the hdimage, like "mdir n:". "mcopy
|
|
n:/config.emu /tmp" copies the config.emu file from the hdimage to
|
|
/tmp/config.emu. You can edit it there and copy it back. Use a drive
|
|
letter you find sensible. "N:" is only an example.
|
|
|
|
<sect1>Can I use my stacked/double-spaced/super-stored disk?
|
|
|
|
<p>At this time, compressed drives cannot be accessed via the
|
|
redirector (lredir or emufs) on a standard kernel. There is a patch
|
|
for the kernel to mount compressed files under the name "dmsdosfs".
|
|
Find it on sunsite.unc.edu and its mirrors
|
|
<tscreen>
|
|
<htmlurl url="http://sunsite.unc.edu:/pub/Linux/system/filesystems/dosfs/"
|
|
name="http://sunsite.unc.edu:/pub/Linux/system/filesystems/dosfs/">
|
|
</tscreen>
|
|
A good idea is also to look in <htmlurl
|
|
url="http://sunsite.unc.edu:/pub/Linux/Incoming"
|
|
name="http://sunsite.unc.edu:/pub/Linux/Incoming"> for
|
|
a newer version.
|
|
The "wholedisk" option in older versions of dosemu is no longer
|
|
allowed in recent versions, however, a line like
|
|
<verb>
|
|
$_hdimage = "/dev/hda1"
|
|
</verb>
|
|
may work, at the risk that you could lose all data in that partition
|
|
on a dosemu crash.
|
|
|
|
If your dos partition is already mounted with write access and you try
|
|
to run dosemu with partition access, dosemu will print a
|
|
warning message and abort. This prevents DOS and Linux from making
|
|
independent writes to your disk and trashing the data on your dos
|
|
partition(95/8/11).
|
|
|
|
---------------------
|
|
|
|
If LILO is installed, the above will not work. However…
|
|
|
|
Thomas Mockridge (<bf>thomas@aztec.co.za</bf>) reported (94/8/5) that
|
|
|
|
To boot dosemu with LILO and Stacker 4.0 I did a little work around…
|
|
|
|
1. <bf>dd</bf> the MBR to a file. (or norton utility, etc., first 512 bytes)
|
|
|
|
2. Boot dos (from full boot not emu), do a fdisk /mbr, make your dos
|
|
partition active with (dos) fdisk.
|
|
|
|
3. Copy the new MBR to a file.
|
|
|
|
4. Replace the original MBR
|
|
|
|
5. Copy the second MBR to /var/lib/dosemu/partition.hda? (Whichever is
|
|
your dos partition)
|
|
|
|
6. Set dosemu.conf
|
|
<verb>
|
|
disk {partition "/dev/hda? ?"}
|
|
</verb>
|
|
|
|
7. Start dosemu and voila! No LILO.
|
|
|
|
For recent versions of dosemu you need to change the
|
|
<verb>
|
|
disk {partition "/dev/hda? ?"}
|
|
</verb>
|
|
line to something like
|
|
<verb>
|
|
$_hdimage = "/dev/hda1"
|
|
</verb>
|
|
---------------------
|
|
|
|
Holger Schemel (<bf>q99492@pbhrzx.uni-paderborn.de</bf>) reported
|
|
(94/2/10) that
|
|
|
|
Works even fine under dosemu with MS-DOS 6.0. If you have problems, then
|
|
you have to edit the file 'DBLSPACE.INI' manually and change the disk
|
|
letter to the letter your drive gets under dosemu.
|
|
|
|
---------------------
|
|
|
|
Darren J Moffat (<bf>moffatd@dcs.gla.ac.uk</bf>) also reported
|
|
(94/3/27)
|
|
|
|
"…use 6.2 if you can get it!! Just make sure you have a
|
|
LILO boot disk on hand since dos 6{.2} will change the MBR of the boot
|
|
HZ."
|
|
|
|
<sect1>Creating your own hdimage file.
|
|
<p>
|
|
The easy way is to use mkdexe - see README.txt for details.
|
|
The old-fashioned way (I don't know why anyone would want to do
|
|
it that way any more but here it is, just in case) is as follows:
|
|
|
|
There is an extra util program called mkfatimage16 which
|
|
allows for creating a hdimage file headers. The full information is in the
|
|
manpage (man/mkfatimage16.1) included in your distribution.
|
|
|
|
To create a hard disk image file with a geometry corresponding to that of a
|
|
real hard disk of 32 megabytes run:
|
|
<verb>
|
|
mkfatimage16 -k 32768 > hdimage
|
|
</verb>
|
|
|
|
This is probably too large for most needs; if you need this much
|
|
space, consider using the disk redirector."
|
|
|
|
Usually it is a good idea to format the drive after it.
|
|
|
|
<sect>Parallel ports, serial ports and mice
|
|
|
|
<sect1>Port access worked with older version, but doesn't work now!
|
|
|
|
<p>Read ..<bf>/doc/README.txt</bf> and the port-section
|
|
in ..<bf>/etc/config.dist</bf>
|
|
|
|
<sect1>Port access was faster with older versions!
|
|
|
|
<p>To have a chance to log port access, by default every port access
|
|
produces an exception out of vm86-mode. This takes some time.
|
|
<!-- FIXME is this still TRUE ? -->
|
|
If you don't want to log port access, use the keyword <bf>"fast"</bf> in the
|
|
appropriate port statement.
|
|
<!-- END FIXME -->
|
|
|
|
<sect1>Where are the (microsoft compatible) mouse drivers?
|
|
|
|
<p>Tom Kimball (<bf>tk@pssparc2.oc.com</bf>) reported (93/11/24) that
|
|
|
|
Several people said to use a different mouse driver and suggested
|
|
some. I found a couple that seem to work fine.
|
|
<verb>
|
|
oak.oakland.edu:/pub/msdos/mouse/mouse701.zip (mscmouse)
|
|
oak.oakland.edu:/pub/msdos/mouse/gmous102.zip (gmouse)
|
|
</verb>
|
|
Normally you can use dosemu's internaldriver, so you don't need any
|
|
additional mousedriver in dosemu outside winemu(97/2/10).
|
|
|
|
<sect1>Why doesn't the mouse driver work?
|
|
|
|
<p>Mark Rejhon (<bf>mdrejhon@magi.com</bf>) reported (95/4/7) that
|
|
|
|
If you start the mouse driver and it just hangs (it might actually
|
|
take 30-60s), but if you are waiting longer than a minute for the
|
|
mouse driver to start, try specifying the COM port that the mouse
|
|
is on, at the mouse driver command line.
|
|
|
|
<sect1>Why does dosemu clobber COM4?
|
|
|
|
<p>Rob Janssen (<bf>rob@pe1chl.ampr.org</bf>) reported (94/3/24) that
|
|
|
|
According to <bf>jmorriso@bogomips.ee.ubc.ca</bf>, "dosemu still
|
|
clobbers COM4 (0x2e8, IRQ 5). 0x2e8 isn't in ports{} in config. I
|
|
have to run setserial /dev/cua3 irq 5 on it after dosemu exits."
|
|
|
|
This is caused by your VGA BIOS. I have found that by enabling the IO
|
|
port trace and seeing where it was clobbered.
|
|
|
|
Disable the "<tt/allowvideoportaccess on/" line in config and it will
|
|
work fine. When you then have problems with the video, try to enable
|
|
more selective ranges of IO addresses (e.g., 40-43).
|
|
|
|
<sect1>How do I use dosemu over the serial ports?
|
|
|
|
<p>
|
|
|
|
|
|
<sect1>How can I switch between dosemu and a shell over the serial line?
|
|
|
|
<p>John Taylor (<bf>taylor@pollux.cs.uga.edu</bf>) reported (94/5/25)
|
|
that
|
|
|
|
I am running Linux 1.1.13 and want to point out a great feature that
|
|
should be protected and not taken out (IMHO). With the 52 version, I
|
|
can run the program, "screen." From screen, i can invoke dos -D-a.
|
|
What is really great (IMHO) is the screen commands (the CTRL-A cmds)
|
|
still work. This means I can do a CTRL-A C and add another unix shell,
|
|
and switch between the two (DOS / UNIX). This allows me to use dosemu
|
|
over the serial line really well, because switching is made easy.
|
|
|
|
<sect1>How can I get the parallel ports to work?
|
|
|
|
<p>The dosemu.conf has lines at the end to redirect printers to either
|
|
lpr or a file. If you want direct access to the bare metal, comment
|
|
out these emulation lines, and add the line
|
|
<tscreen>
|
|
$_ports { device /dev/lp0 fast range 0x3bc 0x3bf } # lpt0
|
|
</tscreen>
|
|
for the "monitor card" printer port (corresponds to /dev/lp0), or
|
|
<tscreen>
|
|
$_ports { device /dev/lp1 fast range 0x378 0x37f } # lpt1
|
|
</tscreen>
|
|
or
|
|
<tscreen>
|
|
$_ports { device /dev/lp1 fast range 0x278 0x27f } # lpt2
|
|
</tscreen>
|
|
for LPT1 (/dev/lp1) or LPT2 (/dev/lp2) respectively(97/2/9).
|
|
|
|
Hans Lermen (lermen@dosemu.org) writes:
|
|
|
|
But NOTE: these lines should not be _added_ simply, the string should
|
|
be concatenated such as:
|
|
|
|
$_ports = "...."
|
|
$_ports = $_ports, " device /dev/lp0 fast range 0x3bc 0x3bf"
|
|
=
|
|
This blank is important
|
|
|
|
|
|
<sect>Multiple users and Non-interactive sessions
|
|
|
|
<sect1>Can I use dosemu on a multi-user system?
|
|
|
|
<p>Yes, you can configure dosemu on a per-user basis. See README.txt for
|
|
details.
|
|
|
|
<sect1>How can I run dos commands non-interactively?
|
|
<p>
|
|
You can do any of the following:
|
|
1. redirect a file to dosemu standard input
|
|
2. use the keystroke configuration option and the -I command line option
|
|
as described in the README.txt file to specify keystrokes on the command
|
|
line that will act exactly as if you had typed them within dosemu
|
|
3. use the mkdexe program to create a DEXE file - a small
|
|
DOS filesystem image containing just the program you want to run -
|
|
see the README.txt file for details.
|
|
|
|
Here are some additional alternatives:
|
|
|
|
<p>Daniel T. Schwager (<bf>danny@dragon.s.bawue.de</bf>) reported
|
|
(94/7/2) that
|
|
|
|
You can use different dosemu.conf files (and different hd-boot-images
|
|
with different autoexec.bat's) and call dosemu like
|
|
<verb>
|
|
$ dos -F my_quicken_q_exe_dosemu.conf
|
|
</verb>
|
|
|
|
---------------------
|
|
|
|
<p>Dietmar Braun (<bf>braun@math20.mathematik.uni-bielefeld.de</bf>)
|
|
reported (94/7/4) that
|
|
|
|
This is no problem at all when you use the redirector of dosemu. It
|
|
is possible to redirect a drive letter to a linux path given by an
|
|
environment variable.
|
|
|
|
So I have a shell script named "<bf>DOS</bf>" which does something like
|
|
<verb>
|
|
mkdir /tmp/dos.$$
|
|
DOSTMP=/tmp/dos.$$; export DOSTMP
|
|
</verb>
|
|
and then a little trick to get "<bf>echo $* >
|
|
$DOSTMP/startup.bat</bf>" really working (actually a small C Program
|
|
which turns '/' in '<bf>&bsol</bf>' and terminates lines correctly for
|
|
messy dos with cr/lf pairs and adds <bf>^Z</bf> at the end of the
|
|
file), creates startup files, links and so on in this directory, and
|
|
then starts dosemu. Within "<bf>autoexec.bat</bf>" drive c: is
|
|
redirected from hdimage to this tmp-directory, which has links for
|
|
<bf>$HOME</bf> and <bf>$PWD</bf>.
|
|
|
|
So if I want to see my filenames shortened to 8.3 I can type "<bf>DOS
|
|
dir</bf>" and I get my current directory listing. So I have full DOS
|
|
multi user (I don't have any DOS partition and redirecting to Linux
|
|
preserves user permissions) and multi tasking. (dosemu sessions
|
|
are completely independent). I did this once to be able to use a dos
|
|
driver for my printer. My printcap df is actually a DOS program. So
|
|
you can even make DOS executables act as lpr filters.
|
|
|
|
<sect>dosemu and Netware
|
|
|
|
<sect1>How do I get Netware access from dosemu?
|
|
|
|
<p>As always, access through the Linux filesystem is preferred. Mount
|
|
your Netware drives with Caldera's Netware utilities or Volker
|
|
Lendecke's free ncpfs utility
|
|
(<bf><htmlurl url="ftp://ftp.gwdg.de:/pub/linux/misc/ncpfs"name="ftp://ftp.gwdg.de:/pub/linux/misc/ncpfs"</bf>). If you need real IPX access,
|
|
e.g. to run Novell's "syscon", read ..<bf>/doc/NOVELL-HOWTO.txt</bf>.
|
|
You probably can not currently access Netware from FreeDOS.
|
|
|
|
<sect>dosemu and X-windows(97/2/9).
|
|
|
|
<sect1>Can I run dosemu in console mode while running X?
|
|
|
|
<p>Ronald Schalk (<bf>R.Schalk@uci.kun.nl</bf>) reported (94/1/17)
|
|
that
|
|
|
|
Yes, no problem. Just remember to use ctrl-alt-<Fn<tt/>/ to go to
|
|
a Virtual Console (VC), and you can run any Linux application (dosemu
|
|
is a linux-application). I've got almost always WP5.1 in a dos
|
|
session.
|
|
|
|
<tt/[/Note: Use ctrl-alt-F7 to switch back to X from dosemu, if X
|
|
runs on VC7.]
|
|
|
|
|
|
<sect1>Is it possible to run dosemu in a window in X-windows?
|
|
|
|
<p>If you have X installed and you have successfully compiled dosemu
|
|
and run it successfully outside X-windows, you should be able to
|
|
run "<tt/xdos/" or "<tt/dos -X/" right away to bring up a dosemu
|
|
window. If this does not work, make sure:
|
|
|
|
<verb>
|
|
1. Dosemu has X support compiled in. This is default, however
|
|
if you have compiled dosemu with "x off" in the
|
|
compiletime-settings file you don't have X support. So changing
|
|
"x off" to "x on" in the compiletime-settings file, followed by
|
|
"make pristine; make; make install" should build
|
|
you a dosemu-executable with X support, if you have the
|
|
X-libraries installed in /usr/X11R6.
|
|
2. Set up your X key-mappings. In an xterm, type
|
|
|
|
xmodmap -e "keycode 22 = 0xff08"
|
|
xmodmap -e "keycode 107 = 0xffff"
|
|
|
|
These lines fix the backspace and delete keys respectively.
|
|
3. Configure the X-related configuration options in your
|
|
/etc/dosemu.conf file.
|
|
</verb>
|
|
|
|
Alternatively, you can run dosemu inside a color xterm,
|
|
which is not recommended because many color xterms have buggy
|
|
support for the complex text display capabilities of dosemu.
|
|
This does not require <tt/X_SUPPORT/ to be compiled into dosemu.
|
|
However, if you really want to do this, do the following steps:
|
|
|
|
<verb>
|
|
1. Install ansi_xterm. The recommended package is available as:
|
|
tsx-11.mit.edu:/pub/linux/ALPHA/dosemu/Development/ansi-xterm-R6.tar.gz
|
|
|
|
2. Set up your X key-mappings. In an xterm, type
|
|
|
|
xmodmap -e "keycode 22 = 0xff08"
|
|
xmodmap -e "keycode 107 = 0xffff"
|
|
|
|
These lines fix the backspace and delete keys, respectively.
|
|
|
|
3. Configure the terminal-related (not X-related) settings in
|
|
/etc/dosemu.conf
|
|
</verb>
|
|
|
|
<p>Marty Leisner (<bf>leisner@sdsp.mc.xerox.com</bf>) reported (95/3/31)
|
|
that
|
|
|
|
I have xrdb log the following resources
|
|
<tscreen>
|
|
dosxterm*Font: vga
|
|
dosxterm*geometry: 80x25
|
|
dosxterm*saveLines: 25
|
|
</tscreen>
|
|
or I alias "<tt/dosxterm/" to
|
|
"<tt/term -fn vga -title dosxterm -geometry 80x25 -sl 25/"
|
|
|
|
If you use the xrdb method, all you have to do is run
|
|
"<tt/xterm -name dosxterm/"
|
|
|
|
<sect1>Xdos dosen't work on a remote X-display!
|
|
|
|
<p>At present, dosemu is set up to use the MIT shared memory
|
|
extensions. This extension only works on a local display. If you want
|
|
to run xdos on a remote display, compile dosemu with "mitshm off" in
|
|
the compiletime-settings file after a <bf>"make pristine"</bf> or on
|
|
the clean source tree(97/2/9).
|
|
|
|
<sect1>Xdos dosen't find the VGA font
|
|
<p>Check that the vga fonts you installed are listed in the font.dir of the
|
|
directory you installed the fonts in:
|
|
<tscreen>
|
|
<verb>
|
|
hertz:~> grep misc /usr/X11R6/lib/X11/XF86Config
|
|
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
|
|
hertz:~> grep vga /usr/X11R6/lib/X11/fonts/misc/fonts.dir
|
|
vga.pcf vga
|
|
vga11x19.pcf vga11x19
|
|
hertz:~> ls /usr/X11R6/lib/X11/fonts/misc/vga*
|
|
/usr/X11R6/lib/X11/fonts/misc/vga.pcf
|
|
/usr/X11R6/lib/X11/fonts/misc/vga11x19.bdf
|
|
/usr/X11R6/lib/X11/fonts/misc/vga11x19.pcf
|
|
</verb>
|
|
</tscreen>
|
|
If you installed some X-fonts, like you did when you installed dosemu with
|
|
X-Support for the first time, "mkfontdir" and then "xset fp rehash" needs
|
|
to be run. The dosemu install should take care for "mkfontdir" and tells you
|
|
about "xset fp rehash". Tell us if it doesn't work for you.
|
|
(97/2/13)
|
|
|
|
<sect1>The vga font is very small on my high resolution display
|
|
<p>Look for the vga11x19 font.
|
|
(97/2/13)
|
|
|
|
<sect1>Dosemu compilation fails with some strange error regarding X!
|
|
|
|
<p>As stated above, dosemu uses the MIT shared memory extensions by
|
|
default. Under XFree86 they are only available with Version 3.1.2 and
|
|
above. If you have an older version, consider to upgrade, or configure
|
|
dosemu to not use this extension (see last section)(97/2/9).
|
|
|
|
<sect1>Does ansi emulation work properly?
|
|
|
|
<p>Marty Leisner (<bf>leisner@sdsp.mc.xerox.com</bf>) reported (95/3/31)
|
|
that
|
|
|
|
Yes. I use <tt/nnansi.com/ under X windows. I find 25, 43 and 50
|
|
line mode work properly, however 50 line mode is difficult to use on a
|
|
1024x768 screen (unless smaller fonts are used or you use a bigger
|
|
screen. 43 line mode will resize the <tt/xterm/ window to use 43 lines.
|
|
|
|
|
|
<sect>dosemu and MS-Windows 3.1
|
|
|
|
<sect1>Is it possible to run MS-Windows 3.1 under dosemu?
|
|
|
|
<p>The ..<bf>/doc/README.Windows</bf> file says:
|
|
|
|
<verb>
|
|
***************************************************************
|
|
* WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!! *
|
|
* *
|
|
* Danger Will Robinson!!! This is not yet fully supported *
|
|
* and there are many known bugs! Large programs will almost *
|
|
* certainly NOT WORK!!! BE PREPARED FOR SYSTEM CRASHES IF *
|
|
* YOU TRY THIS!!! *
|
|
* *
|
|
* WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!! *
|
|
***************************************************************
|
|
</verb>
|
|
|
|
Okay, it is possible to boot WINOS2 (the modified version of Windows 3.1
|
|
that OS/2 uses) under DOSEMU. Many kudos to Lutz & Dong!
|
|
|
|
However, YOU NEED BOTH LICENSES, for WINDOWS-3.1 as well OS/2 !!!
|
|
|
|
There are many known problems. Windows is prone to crash, could take data
|
|
with it, large programs will not load, etc. etc. etc.
|
|
In other words, it is NOT ready for daily use. Many video cards are known
|
|
to have problems (you may see a nice white screen, however, look below
|
|
for win31-in-xdos). Your program groups are all likely to disappear.
|
|
… Basically, it's a pain.
|
|
|
|
for more details see the README.txt file.
|
|
|
|
<sect1>Can I run 32bit stuff with winemu
|
|
<p>
|
|
Sorry, no you can't.
|
|
Win32s needs stuff running in ring 0. That's a "nono" with linux.
|
|
(97/04/27)
|
|
|
|
<sect1>Errormessage: Cannot find the vdtapi.386 file when starting dosemu
|
|
<p>
|
|
As explained above, winemu can't handle 32 bit stuff. All drivers ending in
|
|
386 are 32bit. So to run winemu, you have to delete all references to .386
|
|
drivers in your win.ini.
|
|
(97/04/27)
|
|
|
|
<sect1>Windows 3.x in xdos:
|
|
<p>As of version 0.64.3 DOSEMU is able to run Windows in xdos. Of
|
|
course, this is not recommended at all, but if you really want to try,
|
|
it is safer then starting windows-31 on the console, because _when_ it
|
|
crashes, it doesn't block your keyboard or freeze your screen.
|
|
|
|
Hints:
|
|
<verb>
|
|
1. Get Dosemu & Linux source.
|
|
2. Unpack dosemu.
|
|
3. Run "./configure" to configure Dosemu (it will enable vm86plus as a
|
|
default).
|
|
4. Type "make" to compile.
|
|
5. Get a Trident SVGA drivers for Windows. The files are tvgaw31a.zip
|
|
and/or tvgaw31b.zip. They are available at garbo.uwasa.fi in
|
|
/windows/drivers (any mirrors?).
|
|
6. Unpack the Trident drivers.
|
|
7. In Windows setup, install the Trident "800x600 256 color for 512K
|
|
boards" driver.
|
|
8. Do the things described above to get and install OS2WIN31.
|
|
10. Start xdos.
|
|
11. In Dosemu, go to windows directory and start winemu.
|
|
12. Cross your fingers.
|
|
</verb>
|
|
|
|
<sect1>Can I install windows from within dosemu?
|
|
|
|
<p>
|
|
<bf>No</bf> you can't. Dos will tell you something like
|
|
<tscreen>
|
|
The XMS driver you have on your system is not
|
|
compatible with Windows...
|
|
</tscreen>
|
|
You need to install windows from Dos. You can copy the windows tree to
|
|
somewhere on your Linux Filesystem and use lredir to mount it on the
|
|
same place as it is in dos. Example:
|
|
<tscreen>
|
|
You have windows in d:\windows
|
|
You have d:\ mounted as /dosc in Linux
|
|
You copy the windows tree to Linux,
|
|
e.g. "cp -a /dosd/windows /usr/share
|
|
Inside dosemu you redirect the copied tree like
|
|
lredir d: linux\fs\dosd
|
|
</tscreen>
|
|
Now dosemu can't mess around in you windows directory, but changes in the
|
|
windows directory aren't seen by dosemu too. If you want to do the
|
|
same with windows on drive c:> look in this FAQ how to redirect c:.
|
|
|
|
But you can use "setup" from inside the windows directory to install drivers
|
|
and change some settings.
|
|
(97/2/1497)
|
|
|
|
<sect1>Notes for the mouse under win31-in-xdos:
|
|
<p>
|
|
1. Use the mouse driver "mouse.drv" from WinOS2
|
|
|
|
2. In order to let the mouse properly work you need the following in your
|
|
win.ini file:
|
|
<verb>
|
|
[windows]
|
|
MouseThreshold1=0
|
|
MouseThreshold2=0
|
|
MouseSpeed=0
|
|
</verb>
|
|
|
|
3. The mouse cursor gets not painted by X, but by windows itself, so it depends
|
|
on the refresh rate how often it gets updated, though the mouse coordinates
|
|
movement itself will not get delayed.
|
|
( In fact you have 2 cursors, but the X-cursor is given an 'invisible'
|
|
cursor shape while within the DOS-Box. )
|
|
|
|
4. Because the coordinates passed to windows are interpreted relatively, we
|
|
need to calibrate the cursor. This is done automatically whenever you
|
|
enter the DOS-Box window: The cursor gets forced to 0,0 and then back
|
|
to its right coordinates. Hence, if you want to re-calibrate the cursor,
|
|
just move the cursor outside and then inside the DOS-Box again.
|
|
<!-- END FIXME-->
|
|
(97/2/10)
|
|
|
|
<sect1>Why did my Icon disappear from the Program manager?
|
|
<p>MS-Windows and WinOS2 handle the program manager group differently. While
|
|
MS-Win store the setup in progman.ini, WinOS2 wants the contents of
|
|
progman.ini in system.ini. Here's a tip from <bf>(friest@acm.org (Todd
|
|
T. Fries))</bf>:
|
|
<tscreen>
|
|
cat progman.ini >> system.ini
|
|
</tscreen>
|
|
Be sure to use >> :-)
|
|
|
|
<sect>Video and sound
|
|
|
|
<sect1>Can I run 32-bit video games under dosemu?
|
|
|
|
<p>Mark Rejhon (<bf>mdrejhon@magi.com</bf>) reported (95/4/8) that
|
|
|
|
With the recent DPMI improvements that has gone into 0.60, you can now
|
|
run some 32-bit video games in dosemu. If the game is compatible in
|
|
an OS/2 DOS box, there are chances that it will work in dosemu.
|
|
(Example 32-bit games include Descent, Dark Forces, Mortal Kombat 2,
|
|
Rise of The Triad, which have all successfully been tested in recent
|
|
dosemu releases).
|
|
|
|
Before you attempt to run a video game, you must have the keyboard
|
|
configured in raw keyboard mode and enabled VGA graphics modes, in the
|
|
<bf>/etc/dosemu.conf</bf> file.
|
|
|
|
Note, however, you will have to turn off the sound in the game.
|
|
(Someone will have to program in sound board emulation before we can
|
|
avoid this). Note that game timers can be a little bit slow, due to
|
|
Linux multitasking and lack of high-frequency timer support. So the
|
|
games may run from anywhere from 5 to 100 percent speed. Typically,
|
|
the speed is approximately 50 percent in recent dosemu releases and is
|
|
expected to improve eventually.
|
|
|
|
Who knows, it might even work. If you can't get it to work, check
|
|
EMUfailure.txt if the program is listed there, or falls in a category of
|
|
programs that at present don't or probably never work with dosemu. If
|
|
you think, it should be listed in EMUfailure.txt, report to
|
|
<bf>linux-msdos@vger.rutgers.edu</bf>
|
|
|
|
There is a security hole when having enabled DPMI and having dosemu
|
|
suid root (especially when using dos4gw-based games), the client is able
|
|
to access the whole user space, hence also can modify the dosemu code
|
|
itself. Use of the 'secure' option in /etc/dosemu.conf, e.g.
|
|
<tscreen>
|
|
$_secure = "ngd" # secure for: n (normal users), g (guest), d (dexe)
|
|
</tscreen>
|
|
disables this. It is better to run dosemu as a normal user under X
|
|
rather than root anyway.
|
|
|
|
<sect1>Exiting from dosemu gives me a screen full of garbage.
|
|
|
|
<p> (95/4/8)
|
|
|
|
The problem is that the font information for the VGA text screen is
|
|
not being saved. Get a copy of the svgalib package. The current
|
|
source is in
|
|
<verb>
|
|
sunsite.unc.edu:/pub/Linux/libs/graphics/svgalib-1.3.1.tar.gz
|
|
</verb>
|
|
It may also be available as a pre-compiled package in your favorite
|
|
Linux distribution (e.g., Slackware, etc.). Use <tt/savetextmode/ to
|
|
save the current text mode and font to a file in <bf>/tmp</bf> before
|
|
running dosemu. Then run <tt/textmode/ upon exiting dosemu to restore
|
|
it.
|
|
|
|
Addition from (<bf>lermen@elserv.ffm.fgan.de</bf>(97/2/11)):
|
|
|
|
Have a look also at src/arch/linux/debugger/README.recover and
|
|
README.dosdebug, dosdebug can aid you recovering.
|
|
|
|
<sect1>Why doesn't my soundcard software work with dosemu?
|
|
<p>
|
|
Dosemu includes a rudimentary soundblaster emulator called SBemu -
|
|
the documentation for it is currently at
|
|
http://www.slitesys.demon.co.uk/a.macdonald/dosemu/sound/
|
|
This is a work in progress, not completed yet so much or most
|
|
DOS software that uses sound will not work correctly with it yet.
|
|
|
|
<sect>Games
|
|
|
|
<sect1>Duke3d dosen't work
|
|
<p>Hans Lermen <bf><lermen@elserv.ffm.fgan.de></bf> said (97/2/16):
|
|
duke3d must be 'configured' via a setup, within this setup you have to choose
|
|
'keyboard + mouse', else it won't work.
|
|
|
|
<sect>Problems and fixes
|
|
|
|
<sect1>Security issues
|
|
<p>A full featured Dosemu needs to be suid root, e.g to access ports.
|
|
Most dos programs don't need this however so when running under X you
|
|
usually do not need to run dosemu as root.
|
|
Dosemu runs as suid "root" only where it is needed, and releases this right
|
|
thereafter. But with DPMI, the Dos client programm can access the whole user
|
|
space, hence also can modify the dosemu code itself. Use of the 'secure'
|
|
option in /etc/dosemu.conf disables this.
|
|
There are several other important security considerations discussed in the
|
|
Security section of the README.txt file.
|
|
|
|
<sect1>dosemu says "ERROR: general protection" and terminates when I run some program
|
|
<p>
|
|
This will happen if your program uses DPMI and you do not have DPMI
|
|
enabled. Try changing the line
|
|
<verb>
|
|
$_dpmi = (off)
|
|
</verb>
|
|
in /etc/dosemu.conf to
|
|
<verb>
|
|
$_dpmi = (nnnn)
|
|
</verb>
|
|
where nnnn is the number of kilobytes of memory you wish to give to
|
|
the DOS program (e.g. Doom requires about 4000 kilobytes). If you do
|
|
this, you should not run dosemu as root (see the Security Issues section) -
|
|
it is better not to run dosemu as root whenever possible, in any case.
|
|
<p>Another likely cause is that your program uses VCPI (see EMUfailure.txt
|
|
for more details) or some other means of switching to protected mode
|
|
(other than DPMI), in which case it will never work under dosemu.
|
|
<p>If none of these is the case, see section 1.14 I have a program that
|
|
fails, not listed in EMUfailure.txt.
|
|
|
|
<sect1>Dosemu dies when booting. I have Win95 installed.
|
|
<p>Dosemu relies that the Dos-Version on the hdimage and the Drive you map
|
|
to contain command.com are the same. If not, dosemu will crash sooner or
|
|
later. With the dual boot option Win95 offers when pressing the F4,F5 and
|
|
F8 Keys with the "Starting Win95" text, versions on the Win95 drive may
|
|
swap. Take special care for command.com. Let your shell variable in
|
|
config.emu point to the correct static version of command.com, e.g.:
|
|
shell=c:\win95\command.com c:\ /P /E:1024 (97/02/28)
|
|
|
|
|
|
<sect1>Dosemu hangs! How can I kill it?
|
|
<p>
|
|
Switch to another console and type dosdebug, then type kill (it may
|
|
take a while but will work eventually).
|
|
|
|
<sect1>Dosemu crashed and now I can't type anything.
|
|
|
|
<p>Daniel Barlow(jo95004@sable.ox.ac.uk) reported (95/4/8) that
|
|
|
|
If you have no terminal or network access that you can use to log in,
|
|
you may have to press the reset button. If you can still get a usable
|
|
shell somehow, run "<tt/kbd_mode -a/" to switch the keyboard out of
|
|
raw mode, and/or "<tt/stty sane/" on the console so that you can see
|
|
what you're typing.
|
|
|
|
A useful thing to do is to use a script to run dosemu, and run
|
|
"<tt/kbd_mode -a/" automatically right after dosemu. When dosemu
|
|
crashes, the script usually will resume running, and execute the
|
|
"<tt/kbd_mode -a/" command.
|
|
|
|
<sect1>I've enabled EMS memory in dosemu.conf but it does not help.
|
|
|
|
<p>Rob Janssen (rob@pe1chl.ampr.org) reported (94/7/11)
|
|
|
|
Don't forget to load the provided ems.sys from the config.sys file.
|
|
|
|
<sect1>How do I get rid of all those annoying "disk change" messages?
|
|
|
|
<p>(94/8/11)
|
|
|
|
Grab and install <tt/klogd/. Try
|
|
<verb>
|
|
sunsite.unc.edu:/pub/Linux/system/Daemons/sysklogd1.2.tgz
|
|
</verb>
|
|
|
|
<sect1>Why won't dosemu run a second time after exiting in console mode?
|
|
|
|
<p> Aldy Hernandez (<bf>aldy@sauron.cc.andrews.edu</bf>) reported
|
|
(94/7/8) that
|
|
|
|
You should disable your video and/or BIOS caching.
|
|
|
|
<sect1>Why will dosemu run in a term but not in the console?
|
|
|
|
<p>JyiJiin Luo (<bf>jjluo@casbah.acns.nwu.edu</bf>) reported (94/4/19)
|
|
that
|
|
|
|
I experienced exactly the same problem before. I figured out all the
|
|
video shadow in my AMI BIOS must be disabled. Now dosemu runs fine on
|
|
my system.
|
|
|
|
<sect1>How can I speed up dosemu?
|
|
|
|
<p>In some cases it is useful to play with the value of the
|
|
<tt/HogThreshold/ variable in your <tt/dosemu.conf/ file.
|
|
|
|
<p>Daniel Barlow(<bf>jo95004@sable.ox.ac.uk</bf>) reported (95/4/8) that
|
|
|
|
HogThreshold should now be set to approximately half of the BogoMips
|
|
value that the system reports on boot.
|
|
|
|
|
|
<sect1>My CDROM drive has problems reading some files under dosemu.
|
|
|
|
<p>Vinod G Kulkarni (<bf>vinod@cse.iitb.ernet.in</bf>) reported
|
|
(94/4/7) that
|
|
|
|
When a CDROM is mounted from linux and used from within dosemu (mapped
|
|
drive), there could be some problems. The CD-ROM driver (iso9660) in
|
|
the kernel tries to find out the type of the file (i.e. binary or
|
|
text). If it can't find, it tries to guess the type of the file using
|
|
a heuristic. This heuristic fails under some circumstances when a
|
|
(almost) text file is to be treated as binary. (I do not know if it
|
|
is a bug or feature.)
|
|
|
|
The result of this is that if you copy such a file from CD-ROM (from
|
|
linux itself, and not necessarily dosemu), the resulting file will be
|
|
usually bigger than original file. (Blanks get added before
|
|
<tt/^J/,<tt/^M/.) So a program running in dosemu gives an error or
|
|
hangs, which may be mistaken as problem of dosemu.
|
|
|
|
<p>Rob Janssen (<bf>pe1chl@rabo.nl</bf>) reported (94/8/10) that
|
|
|
|
The way to solve this is to turn off conversion altogether. Pass the
|
|
option "<bf>-o conv=binary</bf>" to the mount command mounting the
|
|
CD-ROM, or use the following in <bf>/etc/fstab</bf>:
|
|
<verb>
|
|
/dev/cdrom /cdrom iso9660 conv=binary,ro
|
|
</verb>
|
|
No patches to the kernel are necessary.
|
|
|
|
<sect1>How do I see debugging output?
|
|
|
|
<p>Daniel Barlow(<bf>jo95004@sable.ox.ac.uk</bf>) reported (95/4/8) that
|
|
|
|
As of dosemu 0.60, debugging output is redirected to a file specified
|
|
on the command line. Use "<bf>dos -D+a -o /tmp/debug</bf>" to log all
|
|
debug output to <bf>/tmp/debug</bf>. There should no longer be any
|
|
need to redirect <tt/stderr/.
|
|
|
|
|
|
<sect1>Why are my keystrokes echoed ttwwiiccee??
|
|
|
|
<p>Nick Holloway (<bf>alfie@dcs.warwick.ac.uk</bf>) reported (94/2/22)
|
|
that
|
|
|
|
After running dos after playing with some stty settings, I was getting
|
|
doubled key presses. I can now reveal what the reason is!
|
|
|
|
It only happens when dos is run on the console with 'istrip' set. This is
|
|
(I think) because the raw scancodes are mutilated by the 'istrip',
|
|
so that key release events look like key press events.
|
|
|
|
So, the input processing needs to be turned off when using the scan
|
|
codes on a console (it wouldn't be a good idea to do it for tty lines).
|
|
|
|
<sect1>Dosemu scrambles my screen?
|
|
<p> For those graphics cards not fully supported in dosemu, with allowed
|
|
console graphics a dosemu crash may leave your console in a scrambles and
|
|
nearly unusable way. To prepare for that situation, Spudgun
|
|
<spudgun@earthlight.co.nz> posted the following solution. First save your
|
|
registers when running on the console
|
|
˜> cat /usr/bin/savetextmode
|
|
˜> restoretextmode -w /etc/textregs
|
|
˜> restorefont -w /etc/fontdata
|
|
Then, when a crash happened, run following script:
|
|
restoretextmode -r /etc/textregs
|
|
restorefont -r /etc/fontdata
|
|
restorepalette
|
|
|
|
<bf>If it doesn't fix it nothing will</bf>
|
|
I also found having an X server running sometimes put my Vid card's
|
|
registers into a strange state where this script made things worse
|
|
I think since changing X servers and/or running savetextmode on a vt while X
|
|
was running helped. (97/04/08)
|
|
|
|
<sect1>MS FoxPro 2.6 won't run
|
|
<p>FoxPro 2.6 doesn't run on network drives. Alexey Naidyonov
|
|
<growler@growler.tsu.tula.ru> states on that problem:
|
|
And I guess your FoxPro files are on lredir'ed disk, yeah? The matter is that
|
|
FoxPro doesn't run on such disk, but when I said disk { partition ... } in
|
|
/etc/dosemu/conf, it runs.
|
|
|
|
|
|
<sect>Contributing to the dosemu project
|
|
|
|
|
|
<sect1>Who is responsible for dosemu?
|
|
|
|
<p>
|
|
|
|
Dosemu is built upon the work of Matthias Lautner and Robert Sanders.
|
|
Hans Lermen (lermen@dosemu.org) is responsible for
|
|
organizing the latest releases of dosemu.
|
|
<verb>
|
|
History of dosemu
|
|
|
|
Version Date Person
|
|
-------------------------------------------------
|
|
0.1 September 3, 1992 Matthias Lautner
|
|
0.2 September 13, 1992 Matthias Lautner
|
|
0.3 ??? Matthias Lautner
|
|
0.4 November 26, 1992 Matthias Lautner
|
|
0.47 January 27, 1993 Robert Sanders
|
|
0.47.7 February 5, 1993 Robert Sanders
|
|
0.48 February 16, 1993 Robert Sanders
|
|
0.48pl1 February 18, 1993 Robert Sanders
|
|
0.49 May 20, 1993 Robert Sanders
|
|
0.49pl2 November 18, 1993 James MacLean
|
|
0.49pl3 November 30, 1993 James MacLean
|
|
0.49pl3.3 December 3, 1993 James MacLean
|
|
0.50 March 4, 1994 James MacLean
|
|
0.50pl1 March 18, 1994 James MacLean
|
|
0.52 June 16, 1994 James MacLean
|
|
0.60 April 9, 1995 James MacLean
|
|
0.64.4 February 9,1997 Hans Lermen
|
|
0.66.3 April 20, 1997 Hans Lermen
|
|
0.98.1 December 9, 1998 Hans Lermen
|
|
0.98.6 March 21, 1999 Hans Lermen
|
|
</verb>
|
|
|
|
<sect1>I want to help. Who should I contact?
|
|
|
|
<p>The dosemu project is a team effort. If you wish to contribute,
|
|
see the DPR (dosemu Project Registry). A current copy may be found
|
|
in <bf>doc/DANG</bf>.
|
|
</article>
|