  The dosemu HOWTO
  by Mike Deisher.  Updated by Uwe Bonnes, bboonn@@eelleekk--
  ttrroonn..iikkpp..pphhyyssiikk..tthh--ddaarrmmssttaaddtt..ddee
  For dosemu-0.64.4 (in progress), 15 March 1997

  This is the `Frequently Asked Questions' (FAQ) / HOWTO document for
  dosemu.  The most up-to-date version of the dosemu-HOWTO may be found
  in ffttpp..mmaatthheemmaattiikk..tthh--ddaarrmmssttaaddtt..ddee:://ppuubb//lliinnuuxx//bboonnnneess//.
  ______________________________________________________________________

  Table of Contents:

  1.      The preliminaries

  1.1.    What is dosemu, anyway?

  1.2.    Names and numbers

  1.3.    What version of Dosemu should I use?

  1.4.    What's the newest version of dosemu and where can I get it?

  1.5.    Where can I ask questions?

  1.6.    Where can I report bugs and ask questions?

  1.7.    Where can I follow the development?

  1.8.    What documentation is available for dosemu?

  1.9.    I have a program that fails, not listed in EMUfailure

  1.10.   How do I submit changes or additions to the HOWTO?

  1.11.   Message from Greg...

  2.      Compiling and installing dosemu

  2.1.    Where are the installation instructions?

  2.2.    Top ten problems while compiling and installing dosemu.

  2.3.    How can I use dosemu on an older version of the Linux Kernel.

  2.4.    How do I make aout binaries?

  2.5.    How do I compile dosemu on a machine with low memory?

  2.6.    Compilation fails with some strange error regarding "slang"

  2.7.    What configurabe options are available

  2.8.    How can I speed up compilation?

  2.9.    More compilation tips from Marty...

  2.10.   Do I need to compile dosemu as root?

  2.11.   How to I patch dosemu.

  2.12.   What versions of DOS are known to run with dosemu.

  2.13.   Versions known not to run

  3.      Hard disk setup

  3.1.    How do I use my hard disk with dosemu?

  3.2.    How can I access the hdimage from Linux?

  3.3.    Can I use my stacked/double-spaced/super-stored disk?

  4.      Parallel ports, serial ports and mice

  4.1.    Port access worked with older version, but doesn't work now!

  4.2.    Port access was faster with older versions!

  4.3.    Where are the (microsoft compatible) mouse drivers?

  4.4.    Why doesn't the mouse driver work?

  4.5.    Why does dosemu clobber COM4?

  4.6.    How do I use dosemu over the serial ports?

  4.7.    How can I switch between dosemu and a shell over the serial
  line?

  4.8.    How can I get the parallel ports to work?

  5.      Multiple users and Non-interactive sessions

  5.1.    Can I use dosemu on a multi-user system?

  5.2.    How can I run dos commands non-interactively?

  6.      dosemu and Netware

  6.1.    How do I get Netware access from dosemu?

  7.      dosemu and X-windows(97/2/9).

  7.1.    Can I run dosemu in console mode while running X?

  7.2.    Is it possible to run dosemu in a window in X-windows?

  7.3.    Xdos dosen't work on a remote X-display!

  7.4.    Xdos dosen't find the VGA font

  7.5.    The vga font is very smal on my high resolution  Display

  7.6.    Dosemu compilation fails with some strange error regarding X!

  7.7.    Does ansi emulation work properly?

  8.      dosemu and MS-Windows 3.1

  8.1.    Is it possible to run MS-Windows 3.1 under dosemu?

  8.2.    Can I run 32bit stuff with winemu

  8.3.    Errormessage: Cannot find the vdtapi.386 file when starting
  dosemu

  8.4.    Windows 3.x in xdos:

  8.5.    Can I install windows from within dosemu?

  8.6.    Notes for the mouse under win31-in-xdos:

  8.7.    Why did my Icon dissapear from the Programmanager?

  9.      Video and sound

  9.1.    Can I run 32-bit video games under dosemu?

  9.2.    Exiting from dosemu gives me a screen full of garbage.

  9.3.    How do I get dosemu to work with my Trident/Actix/other video
  card?

  9.4.    Why doesn't my soundcard software work with dosemu?

  10.     Games

  10.1.   Duke3d dosen't work

  11.     Other Hardware

  11.1.   How do I get my xxxxx device working under dosemu?

  12.     Problems and fixes

  12.1.   Security issues

  12.2.   Dosemu dies when booting. I have Win95 installed.

  12.3.   Dosemu hangs! How can I kill it?

  12.4.   Dosemu crashed and now I can't type anything.

  12.5.   I've enabled EMS memory in dosemu.conf but it does not help.

  12.6.   How do I get rid of all those annoying "disk change" messages?

  12.7.   Why won't dosemu run a second time after exiting in console
  mode?

  12.8.   Why will dosemu run in a term but not in the console?

  12.9.   How can I speed up dosemu?

  12.10.  My CDROM drive has problems reading some files under dosemu.

  12.11.  How do I see debugging output?

  12.12.  Why are my keystrokes echoed ttwwiiccee??

  12.13.  Dosemu scrambles my screen?

  12.14.  MS FoxPro 2.6 won't run

  13.     Contributing to the dosemu project

  13.1.   Who is responsible for dosemu?

  13.2.   I want to help.  Who should I contact?
  ______________________________________________________________________

  11..  TThhee pprreelliimmiinnaarriieess

  11..11..  WWhhaatt iiss ddoosseemmuu,, aannyywwaayy??

  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 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 MS-DOS services through native Linux
  services; for example, dosemu can provide a virtual hard disk drive
  which is actually a Linux directory hierarchy."

  11..22..  NNaammeess aanndd nnuummbbeerrss

       (xx/yy/zz) means day zz in month yy in year xx(97/2/9).

       winemu mean WinOS/2 running in dosemu(97/2/10).

  11..33..  WWhhaatt vveerrssiioonn ooff DDoosseemmuu sshhoouulldd II uussee??

  Dosemu uses the same numbering scheme as the kernel. Uneven second
  numbers are for possible unstable developper releases, even second
  numbers are for releases considered stable. At the time of writing,
  00..6644..44 is the latest stable release, while 00..6655..00..66 ist the latest
  developper's release. So if you want to use dosemu, get the latest
  ssttaabbllee release (97/02/28).

       (xx/yy/zz) means day zz in month yy in year xx(97/2/9).

       winemu mean WinOS/2 running in dosemu(97/2/10).

  11..44..  WWhhaatt''ss tthhee nneewweesstt vveerrssiioonn ooff ddoosseemmuu aanndd wwhheerree ccaann II ggeett iitt??

  The newest version of dosemu as of (97/2/9) is ddoosseemmuu00..6644..44 and can be
  ftp'ed from:

       tsx-11.mit.edu:/pub/linux/ALPHA/dosemu/

       ftp.suse.com:/pub/dosemu/

  However, pre-release versions are also available for developers and
  ALPHA testers.  They can be retrieved from:

  http://www.ednet.ns.ca/auto/rddc

  Remember that this is ALPHA code, however: there may be serious bugs
  and very little documentation for new features. At present, the devel-
  opment version is known to have bugs. Please use it only if you like
  to do active development. Don't report bugs in the development ver-
  sion, fix them instead.

  11..55..  WWhheerree ccaann II aasskk qquueessttiioonnss??

  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

       http://www.dejanews.com

  to find all newsnet articles containing the keywords of your question.
  Helping yourself will probably be faster than asking a well known
  question. It too frees up the time of developpers from answering
  trivial question and so helps the further development of
  dosemu(97/2/9) .

  11..66..  WWhheerree ccaann II rreeppoorrtt bbuuggss aanndd aasskk qquueessttiioonnss??

  If you want to ask questions and report bugs regarding dosemu, you
  should consider subscribing to the linux-msdos-digest mailing list.
  To subscribe, send mail to MMaajjoorrddoommoo@@vvggeerr..rruuttggeerrss..eedduu with the
  following command in the body of your email message:

      subscribe linux-msdos-digest your_username@your.email.address

  If you ever want to remove yourself from the mailing list, you can
  send mail to MMaajjoorrddoommoo@@vvggeerr..rruuttggeerrss..eedduu with the following command in
  the body of your email message:

      unsubscribe linux-msdos-digest your_username@your.email.address

  (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 news-
  group named lliinnuuxx..ddeevv..mmssddooss. If your News provider doesn't carry that
  group, ask her(him) to add that group(97/2/10).

  11..77..  WWhheerree ccaann II ffoollllooww tthhee ddeevveellooppmmeenntt??

  If you want to follow the development of dosemu, there is a mailing
  list for developpers.  To subscribe, send mail to
  MMaajjoorrddoommoo@@eeddnneett..nnss..ccaa with the following command in the body of your
  email message:

      subscribe msdos-devel your_username@your.email.address

  If you ever want to remove yourself from the mailing list, you can
  send mail to MMaajjoorrddoommoo@@eeddnneett..nnss..ccaa with the following command in the
  body of your email message:

      unsubscribe dosemu-devel your_username@your.email.address

  PPlleeaassee, don't use this list for the things linux-dosemu-digest is
  thought for. Contributions to msdos-devel should concern the further
  development of dosemu. Normal installation problems shouldn't be
  reported here, and are normally ignored by those reading that
  list(97/2/9).

  11..88..  WWhhaatt ddooccuummeennttaattiioonn iiss aavvaaiillaabbllee ffoorr ddoosseemmuu??

  The dosemu manual (ddoosseemmuu..tteexxiinnffoo) written by Robert Sanders has not
  been updated in some time but is still a good source of information.
  It is distributed with dosemu.

  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 (aalliissttaaiirr@@sslliitteessyyss..ddeemmoonn..ccoo..uukk) and is found in
  the doc-directory of the dosemu source tree.

  The EMU failure list (EMUfailure.txt) is a list of all programs known
  nnoott 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 in ffttpp..mmaatthheemmaattiikk..tthh--
  ddaarrmmssttaaddtt..ddee:://ppuubb//lliinnuuxx//bboonnnneess//(97/2/9).

  11..99..  II hhaavvee aa pprrooggrraamm tthhaatt ffaaiillss,, nnoott lliisstteedd iinn EEMMUUffaaiilluurree

  First check, if the failure of your program is not caused by some of
  the fundamental incapabilities of dosemu, listed in EMUfailure. If you
  think you have something new, please report to 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. 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 keeps your logs at hand, if
  others ask detailed(97/2/10).

  11..1100..  HHooww ddoo II ssuubbmmiitt cchhaannggeess oorr aaddddiittiioonnss ttoo tthhee HHOOWWTTOO??

  The preferred method is to edit the file ddoosseemmuu--HHOOWWTTOO--xxxx..xx..ssggmmll to
  incorporate the changes, create a diff file by typing something like

       diff -uw original-file new-file

  and send it to bboonn@@eelleekkttrroonn..iikkpp..pphhyyssiikk..tthh--ddaarrmmssttaaddtt..ddee.  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.  :-)(97/2/9)
  11..1111..  MMeessssaaggee ffrroomm GGrreegg......

  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).

  22..  CCoommppiilliinngg aanndd iinnssttaalllliinngg ddoosseemmuu

  22..11..  WWhheerree aarree tthhee iinnssttaallllaattiioonn iinnssttrruuccttiioonnss??

  The installation instructions are in the file, "QuickStart", included
  in the distribution.

  22..22..  TToopp tteenn pprroobblleemmss wwhhiillee ccoommppiilliinngg aanndd iinnssttaalllliinngg ddoosseemmuu..

  1. Forgetting to read the QQuuiicckkSSttaarrtt 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 //uussrr//ssrrcc//lliinnuuxx or
  missing //uussrr//ssrrcc//lliinnuuxx//iinncclluuddee//vveerrssiioonn..hh

  5. Use dosemu with a kernel that does not have IIPPCC compiled in.

  6. Compile with gcc older than 2.7.2 or libc older than x.x.x.

  7. Forget to edit your //eettcc//ddoosseemmuu..ccoonnff file.

  8. Run DOSEMU with partition access while they are already mounted.

  9. Don't install dosemu with sufficient privileges (i.e., root).
  (97/04/08)

  22..33..  HHooww ccaann II uussee ddoosseemmuu oonn aann oollddeerr vveerrssiioonn ooff tthhee LLiinnuuxx KKeerrnneell..

  If you still use 1.2.13 and can't upgarde for some reasons, use
  ddoosseemmuu--00..6600..44. If you use some version of dosemu below 2.0.28 and
  2.1.15, Hans Lermen (lleerrmmeenn@@eellsseerrvv..ffffmm..ffggaann..ddee) reported (97/1/25 and
  97/2/11)

       > Is the dosemu-0.64.3.tgz version of dosemulator for the 2.xx.yy ver-
       sions > of the linux kernel ??
       Yes, but ...

         if ( ((xx == 0) && (yy >= 28)) || ((xx >= 1) && (yy >= 15)) )
           take_dosemu_0_64_4();
         else {
           if (xx == 1)  exit(1);
           take_dosemu_0_64_2_x();
         }

       ;-)

  22..44..  HHooww ddoo II mmaakkee aaoouutt bbiinnaarriieess??

  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(97/2/11).

  22..55..  HHooww ddoo II ccoommppiillee ddoosseemmuu oonn aa mmaacchhiinnee wwiitthh llooww mmeemmoorryy??

  Marty Leisner (lleeiissnneerr@@ssddsspp..mmcc..xxeerrooxx..ccoomm) reported (95/4/8) that

  If you have problems with running out of swap space you may want to
  add CFLAGS+=-fno-inline after CFLAGS is defined in ddppmmii//MMaakkeeffiillee.  Be
  careful before you do this and check for the existence of swap space.
  I found Linux crashes a times when it has no swap space.

  22..66..  CCoommppiillaattiioonn ffaaiillss wwiitthh ssoommee ssttrraannggee eerrrroorr rreeggaarrddiinngg ""ssllaanngg""

  You probably have installed your own version of the Slang library.
  Hans Lermen <<lleerrmmeenn@@eellsseerrvv..ffffmm..ffggaann..ddee>> writes(97/2/11):

         configure --enable-force-slang

  22..77..  WWhhaatt ccoonnffiigguurraabbee ooppttiioonnss aarree aavvaaiillaabbllee

  Try

       configure --help

  to get the list of configurable options listed (97/2/12)

  22..88..  HHooww ccaann II ssppeeeedd uupp ccoommppiillaattiioonn??

  Marty Leisner (lleeiissnneerr@@ssddsspp..mmcc..xxeerrooxx..ccoomm) reported (95/4/8) that

  The default optimization is -O2.  You may want edit the makefile to
  use -O (compiled somewhat faster/smaller).

  22..99..  MMoorree ccoommppiillaattiioonn ttiippss ffrroomm MMaarrttyy......

  Marty Leisner (lleeiissnneerr@@ssddsspp..mmcc..xxeerrooxx..ccoomm) reported (95/4/8) that

  You need to have build the kernel on your system to get the current
  version.  If not, you may want to hand modify KERNEL_VERSION in the
  top level Makefile.  The number is of the form, "nmmmppp", where "n"
  is the version, "mmm" is the minor version, and "ppp" is the
  patchlevel.  For example, kernel 1.1.88 corresponds to "1001088" and
  kernel 1.2.1 to "1002001".

  Addition from (lleerrmmeenn@@eellsseerrvv..ffffmm..ffggaann..ddee):

  For versions greater 0.64.3 this no longer is true. You need to have a
  valid <linux/version.h>, which has to be part off your standard
  /usr/include. If you don't have it, you either did a 'make clean' on
  your kernel source or your distributor failed to support you with
  this.

  22..1100..  DDoo II nneeeedd ttoo ccoommppiillee ddoosseemmuu aass rroooott??

  (95/4/8)

  No.  You must install it as root, though.

  Marty Leisner (lleeiissnneerr@@ssddsspp..mmcc..xxeerrooxx..ccoomm) adds

  In order to access I/O ports (including the console) dosemu needs to
  run as root.  Running dosemu on an xterm or in X windows and requiring
  now direct hardware access allows you to run dosemu as a user.  The
  security/setuid implications will be worked on in development
  releases(95/8/11).

  Have a look at ..;;//ddoocc//SSEECCUURRIITTYY..rreeaaddmmee too(97/2/9).

  22..1111..  HHooww ttoo II ppaattcchh ddoosseemmuu..

  If you do patch dosemu from one version to another, do "make
  pristine;./configure; make". 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).

  22..1122..  WWhhaatt vveerrssiioonnss ooff DDOOSS aarree kknnoowwnn ttoo rruunn wwiitthh ddoosseemmuu..

  Caldera's OpenDos (formerly known as DrDOS) is reported to work with
  dosemu (NNiiccoollaass SStt--PPiieerrrree <<ddrraaggggyy@@kkoossmmiicc..oorrgg>>. As OpenDos can be used
  free of charge for non-commercial use, it is preferred. However as of
  now, redistribution is not allowed. You must get OpenDos youself from
  Caldera's site http://www.caldera.com/dos Hopefully this will change
  soon, so dosemu can distribute a bootable hdimage.  MMssDDooss--66..2222 is
  known to work with dosemu.  MMssDDooss--77 aka WWiinn9955 works with dosemu to,
  supposed you have the boot logo switched off and you don't 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

  (97/3/7)

  22..1133..  VVeerrssiioonnss kknnoowwnn nnoott ttoo rruunn

  DOS 4.01 had problems by itself, do it won't work with dosemu either
  (Mattias Hembruch <mghembru@ece.uwaterloo.ca> 97/04/03)

  33..  HHaarrdd ddiisskk sseettuupp

  33..11..  HHooww ddoo II uussee mmyy hhaarrdd ddiisskk wwiitthh ddoosseemmuu??

  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

     /dev/hda1       /dos     msdos   umask=022

  to your /etc/fstab.  (In this example, the hard disk 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 mmoouunntt //ddooss.  Now
  you can add a line like

    lredir d: linux\fs/dos

  to the AUTOEXEC.BAT file in your hdimage (see the comments on LREDIR
  below).  On a multi-user system you may want to use

    lredir d: linux\fs\${home}

  where "home" is the name of an environmental variable that contains
  the location of the dos directory (/dos in this example)(95/8/11).

  ---------------------

  Tim Bird (Tim_R_Bird@Novell.COM) states that LREDIR users should be
  careful when they use LREDIR in the autoexec, because COMMAND.COM will
  continue parsing the autoexec.bat from the redirected drive as the
  same file offset where it left off in the autoexec.bat on the physical
  drive.  For this reason, it is safest to have the autoexec.bat on the
  redirected drive and the physical drive (diskimage) be the
  same(95/8/11).

  ---------------------

  Robert D. Warren (rrww1111225588@@xxxx..aaccss..aappppssttaattee..eedduu) reported (94/4/28) that

  I boot off a small hdimage file (less than 1 MB - and twice as large
  as needs be at that), and the next to last line in my config.sys file
  on the hdimage boot image is:

          install=c:\lredir.exe c: LINUX\FS\home/dos

  This will execute lredir just before the command interpreter runs. And
  I have successfully run it with both command.com and 4DOS.  This elim-
  inates the offset problem using lredir in autoexec.bat.

  Uwe Bonnes (bboonn@@eelleekkttrroonn..iikkpp..pphhyyssiikk..tthh--ddaarrmmssttaaddtt..ddee) adds (95/8/11)
  that

  It is usefull to do:

  install=C:\subst.exe g: c:

  before that, so you have still access to your hdimage as drive g:
  Another useful tip in that circumstance is to configure dosemu to use
  "aauuttooeexxeecc..eemmuu" to keep dos and dosemu apart.

  33..22..  HHooww ccaann II aacccceessss tthhee hhddiimmaaggee ffrroomm LLiinnuuxx??

  Use the recent mtools, version 3.0 at the time of writing. With a line
  in //eettcc//mmttoooollss..ccoonnff like

     drive g:  file="/var/lib/dosemu/hdimage" Offset=8832

  you can use the mtools on the hdimage, like "mdir g:". "mcopy g:/con-
  fig.emu /tmp" copies the config.emu file from the hdimage to /tmp/con-
  fig.emu. You can edit it there and copy it back. Use a drive letter
  you find sensible. "G:" is only an example(07/2/9).

  33..33..  CCaann II uussee mmyy ssttaacckkeedd//ddoouubbllee--ssppaacceedd//ssuuppeerr--ssttoorreedd ddiisskk??

  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

       http://sunsite.unc.edu:/pub/Linux/system/Filesystems/dosfs/

  A good idea is also to look in http://sun-
  site.unc.edu:/pub/Linux/Incoming for a newer version.  However, many
  people have had success by simply uncommenting the

     disk { wholedisk "/dev/hda" }        # 1st partition on 1st disk

  line in their dosemu config file.  Others have had success using

     disk { partition "/dev/hda1" }

  Do that on the risk to loose data on a dosemu crash(97/2/9)!

  If your dos partition is already mounted with write access and you try
  to run dosemu with partition or whole disk 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 (tthhoommaass@@aazztteecc..ccoo..zzaa) reported (94/8/5) that

  To boot dosemu with LILO and Stacker 4.0 I did a little work around...

  1. dddd 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

                 disk {partition "/dev/hda? ?"}

  7. Start dosemu and and voila!  No LILO.

  ---------------------

  Holger Schemel (qq9999449922@@ppbbhhrrzzxx..uunnii--ppaaddeerrbboorrnn..ddee) 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 (mmooffffaattdd@@ddccss..ggllaa..aacc..uukk) 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."

  44..  PPaarraalllleell ppoorrttss,, sseerriiaall ppoorrttss aanndd mmiiccee

  44..11..  PPoorrtt aacccceessss wwoorrkkeedd wwiitthh oollddeerr vveerrssiioonn,, bbuutt ddooeessnn''tt wwoorrkk nnooww!!

  Read ..//ddoocc//RREEAADDMMEE..ppoorrtt--iioo  and the port-section in ..//eettcc//ccoonnffiigg..ddiisstt

  44..22..  PPoorrtt aacccceessss wwaass ffaasstteerr wwiitthh oollddeerr vveerrssiioonnss!!

  To have a chance to log port access, by default every port access
  produces an exception out of vm86-mode. This takes some time. If you
  don't want to log port access, use the keyword ""ffaasstt"" in the
  appropriate port statement.

  44..33..  WWhheerree aarree tthhee ((mmiiccrroossoofftt ccoommppaattiibbllee)) mmoouussee ddrriivveerrss??

  Tom Kimball (ttkk@@ppssssppaarrcc22..oocc..ccoomm) 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.

     oak.oakland.edu:/pub/msdos/mouse/mouse701.zip   (mscmouse)
     oak.oakland.edu:/pub/msdos/mouse/gmous102.zip   (gmouse)

  Normally you can use dosemu's internaldriver, so you don't need any
  additional mousedriver in dosemu outside winemu(97/2/10).
  44..44..  WWhhyy ddooeessnn''tt tthhee mmoouussee ddrriivveerr wwoorrkk??

  Mark Rejhon (mmddrreejjhhoonn@@mmaaggii..ccoomm) 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.

  44..55..  WWhhyy ddooeess ddoosseemmuu cclloobbbbeerr CCOOMM44??

  Rob Janssen (rroobb@@ppee11cchhll..aammpprr..oorrgg) reported (94/3/24) that

  According to jjmmoorrrriissoo@@bbooggoommiippss..eeee..uubbcc..ccaa, "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 "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).

  44..66..  HHooww ddoo II uussee ddoosseemmuu oovveerr tthhee sseerriiaall ppoorrttss??

  44..77..  HHooww ccaann II sswwiittcchh bbeettwweeeenn ddoosseemmuu aanndd aa sshheellll oovveerr tthhee sseerriiaall
  lliinnee??

  John Taylor (ttaayylloorr@@ppoolllluuxx..ccss..uuggaa..eedduu) 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.

  44..88..  HHooww ccaann II ggeett tthhee ppaarraalllleell ppoorrttss ttoo wwoorrkk??

  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

       ports { device /dev/lp0 fast range 0x3bc 0x3bf  } # lpt0

  for the "monitor card" printer port (corresponds to /dev/lp0), or

       ports { device /dev/lp1 fast range 0x378 0x37f } # lpt1

       ports { device /dev/lp1 fast range 0x278 0x27f } # lpt2

  for LPT1 (/dev/lp1) and LPT2 (/dev/lp2) respectively(97/2/9).

  55..  MMuullttiippllee uusseerrss aanndd NNoonn--iinntteerraaccttiivvee sseessssiioonnss

  55..11..  CCaann II uussee ddoosseemmuu oonn aa mmuullttii--uusseerr ssyysstteemm??

  Corey Sweeney (ccoorreeyy@@aammiiggaanneett..xxnneett..ccoomm) reported (93/12/8) that

  If you are running dosemu on a system in which more then one person
  may want to run dosemu, then you may want to change the directory of
  your hard drive image.  Currently in the //eettcc//ddoosseemmuu..ccoonnff file there
  exists the line saying that the hard drive image is "hdimage".  If you
  change this to //vvaarr//lliibb//ddoosseemmuu//hhddiimmaaggee then people do not have to
  worry about what directory they are in when they run dosemu, and
  hdimage does not have to be moved each time you upgrade to the next
  patch level.

  If you do do this for multi-user dosemu, then you will want to make
  the hdimage in //vvaarr//lliibb//ddoosseemmuu read-only for everyone but the dosemu
  administrator.

  Note that you can use the new emufs.sys thing to mount a "public"
  directory and/or a "private" directory (a sub-directory in each
  person's home directory).

  [Note: Users may also create a personal configuration file named
   //..ddoossrrcc (same format as //eettcc//ddoosseemmuu..ccoonnff) to run their own copy of
  dos.]

  55..22..  HHooww ccaann II rruunn ddooss ccoommmmaannddss nnoonn--iinntteerraaccttiivveellyy??

  I have been meaning to write an article on this for quite some time
  but have not gotten around to it.  Here are some hints from others:

  Dan Newcombe (nneewwccoommbbee@@aaaa..ccsscc..ppeeaacchhnneett..eedduu) reported (94/1/27) that

  Here is an idea (untested) to be able to run a DOS command from the
  command line (or menu choice, etc...) without modifying the actual
  emulator.  [Your dos partition is assumed to be mounted under Linux,
  already.]

  Suppose you wanted to run wp60.exe with the parameter "wwpp6600
  dd::\\ddoocc\\ppaappeerr..ttxxtt".  You would do something like "ddoossrruunn wwpp6600
  dd::\\ddoocc\\ppaappeerr..ttxxtt".  "ddoossrruunn" would be a linux shell program that would
  a) edit/modify/recreate the dos aauuttooeexxeecc..bbaatt from your dos partition
  and b) simply run dosemu (e.g., "ddooss --CC >>//ddeevv//nnuullll".  Step a) would
  somehow keep all the stuff you'd normally want in aauuttooeexxeecc..bbaatt (e.g.,
  mouse.com) and the last line would be "wwpp6600 dd::\\ddoocc\\ppaappeerr..ttxxtt".

  On the dosemu side, beforehand, you would have to modify the
  ccoonnffiigg..ssyyss file (located in hdimage) so that it 1) uses emufs to
  access the dos partition as DD::, 2) sets "CCOOMMPPSSEECC==DD::\\ (I think.  I
  don't have a DOS manual around.), and 3) sets "sshheellll==cc::\\ccoommmmaanndd..ccoomm
  //pp".

  The idea is that for each time that you load the DOS emulator, you
  will recreate an autoexec.bat that is specific to that session.  What
  makes it specific is that the last line will execute the program you
  want.  The modifications on the hdimage are to tell the emulator/DOS
  that you want to use (and effectively) boot off of D:, which will be
  the actual DOS partition.

  If you do not use hdimage and access the DOS filesystem directly upon
  boot-up of dosemu, then this will work, and you don't have to go
  through the hdimage part of this all.
  ---------------------

  Daniel T. Schwager (ddaannnnyy@@ddrraaggoonn..ss..bbaawwuuee..ddee) 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

  $ dos -F my_quicken_q_exe_dosemu.conf

  ---------------------

  Dietmar Braun (bbrraauunn@@mmaatthh2200..mmaatthheemmaattiikk..uunnii--bbiieelleeffeelldd..ddee) 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 "DDOOSS" which does something like

   mkdir /tmp/dos.$$
   DOSTMP=/tmp/dos.$$; export DOSTMP

  and then a little trick to get "eecchhoo $$** >> $$DDOOSSTTMMPP//ssttaarrttuupp..bbaatt" really
  working (actually a small C Program which turns '/' in '\\' and termi-
  nates lines correctly for messy dos with cr/lf pairs and adds ^^ZZ at
  the end of the file), creates startup files, links and so on in this
  directory, and then starts dosemu. Within "aauuttooeexxeecc..bbaatt" drive c: is
  redirected from hdimage to this tmp-directory, which has links for
  $$HHOOMMEE and $$PPWWDD.

  So if I want to see my filenames shortened to 8.3 I can type "DDOOSS ddiirr"
  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.

  66..  ddoosseemmuu aanndd NNeettwwaarree

  66..11..  HHooww ddoo II ggeett NNeettwwaarree aacccceessss ffrroomm ddoosseemmuu??

  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
  (ffttpp::////ffttpp..ggwwddgg..ddee:://ppuubb//lliinnuuxx//mmiisscc//nnccppffss). If you need real IPX
  access, e.g. to run Novell's "syscon", read ..//ddoocc//NNOOVVEELLLL--HHOOWWTTOO..ttxxtt.

  77..  ddoosseemmuu aanndd XX--wwiinnddoowwss((9977//22//99))..

  77..11..  CCaann II rruunn ddoosseemmuu iinn ccoonnssoollee mmooddee wwhhiillee rruunnnniinngg XX??

  Ronald Schalk (RR..SScchhaallkk@@uuccii..kkuunn..nnll) reported (94/1/17) that

  Yes, no problem.  Just remember to use ctrl-alt-<Fn> 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.

  [Note:  Use ctrl-alt-F7 to switch back to X from dosemu, if X runs on
  VC7.]

  77..22..  IIss iitt ppoossssiibbllee ttoo rruunn ddoosseemmuu iinn aa wwiinnddooww iinn XX--wwiinnddoowwss??

  If you have X installed and you have successfully compiled dosemu and
  run it successfully outside X-windows, you should be able to run
  "xdos" or "dos -X" right away to bring up a dosemu window.  If this
  does not work, make sure:

    1. Dosemu has X support compiled in. This is default, however
       if you you have configured dosemu with
       "./configured --without-x", you don't have X support. So make
       "make pristine; ./configure; 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 fixes the backspace and delete keys respectively.
    3. Configured the X-related configuration options in your
       /etc/dosemu.conf file.

  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
  X_SUPPORT to be compiled into dosemu.  However, if you really want to
  do this, do the following steps:

    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 fixes the backspace and delete keys, respectively.

    3. Configured the terminal-related (not X-related) settings in
       /etc/dosemu.conf

  (972/9).

  Marty Leisner (lleeiissnneerr@@ssddsspp..mmcc..xxeerrooxx..ccoomm) reported (95/3/31) that

  I have xrdb log the following resources

       dosxterm*Font:  vga dosxterm*geometry:      80x25 dosxterm*saveLines:
       25

  or I alias "dosxterm" to "term -fn vga -title dosxterm -geometry 80x25
  -sl 25"

  If you use the xrdb method, all you have to do is run "xterm -name
  dosxterm"

  77..33..  XXddooss ddoosseenn''tt wwoorrkk oonn aa rreemmoottee XX--ddiissppllaayy!!

  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, configure dosemu with ""..//ccoonnffiigguurree ----eennaabbllee--
  nnoommiittsshhmm"" after a ""mmaakkee pprriissttiinnee"" or on the clean source tree(97/2/9).

  77..44..  XXddooss ddoosseenn''tt ffiinndd tthhee VVGGAA ffoonntt

  Check that the vga fonts you installed are listed in the font.dir of
  the directory you installed the fonts in:

       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

  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
  dosen't work for you.  (97/2/13)

  77..55..  TThhee vvggaa ffoonntt iiss vveerryy ssmmaall oonn mmyy hhiigghh rreessoolluuttiioonn  DDiissppllaayy

  Look for the vga11x19 font.  (97/2/13)

  77..66..  DDoosseemmuu ccoommppiillaattiioonn ffaaiillss wwiitthh ssoommee ssttrraannggee eerrrroorr rreeggaarrddiinngg XX!!

  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).

  77..77..  DDooeess aannssii eemmuullaattiioonn wwoorrkk pprrooppeerrllyy??

  Marty Leisner (lleeiissnneerr@@ssddsspp..mmcc..xxeerrooxx..ccoomm) reported (95/3/31) that

  Yes.  I use 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 are you use a bigger
  screen.  43 line mode will resize the xterm window to use 43 lines.

  88..  ddoosseemmuu aanndd MMSS--WWiinnddoowwss 33..11

  88..11..  IIss iitt ppoossssiibbllee ttoo rruunn MMSS--WWiinnddoowwss 33..11 uunnddeerr ddoosseemmuu??

  The ..//ddoocc//RREEAADDMMEE..WWiinnddoowwss file says:

  ***************************************************************
  *    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!!!   *
  ***************************************************************

  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.

  On the other hand, if you're dying to see the little Windows screen
  running under Linux and you have read this CAREFULLY and PROMISE NOT
  TO BOMBARD THE DOSEMU DEVELOPERS WITH "MS Word 6.0 doesn't run!!!"
  MESSAGES...

  1.  Get DOSEMU & the Linux source distributions.
  2.  Unpack DOSEMU.
  3.  Configure DOSEMU typing './configure' and do _not_ disable vm86plus.
  4.  Compile DOSEMU typing 'make'.
  5.  Get the OS2WIN31.ZIP distribution from \&.\&.\&. ????
      \&.\&.\&. oh well, and now you have the first problem.
      It _was_ on ibm.com sometime ago, but has vanished from that site, and
      as long as it was there, we could mirror it. \&.\&.\&. you see the problem?
      However, use 'archie' to find it, it will be around somewhere on the net
      \&.\&.\&. for some time ;-)
  5.  Unpack the OS2WIN31 files into your WINDOWS\SYSTEM directory.
      (Infact you only need WINDOWS/SYSTEM/os2k386.exe and the mouse driver)
  7.  Startup dosemu (make certain that DPMI is set to a value such as 4096)
  8.  Copy the file winemu.bat to your c: drive.
  9.  Cross your fingers.

  Good luck!

  REMEMBER:  THIS IS NOT AT ALL RECOMMENDED!!!  THIS IS NOT RECOMMENDED!!!
             WE DO NOT RECOMMEND YOU TRY THIS!!!

  ---------

  88..22..  CCaann II rruunn 3322bbiitt ssttuuffff wwiitthh wwiinneemmuu

  Sorry, no you can't.  Win32s needs stuff running in ring 0. That's a
  "nono" with linux.  (97/04/27)

  88..33..  EErrrroorrmmeessssaaggee:: CCaannnnoott ffiinndd tthhee vvddttaappii..338866 ffiillee wwhheenn ssttaarrttiinngg
  ddoosseemmuu

  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)

  88..44..  WWiinnddoowwss 33..xx iinn xxddooss::

  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:

  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.

  88..55..  CCaann II iinnssttaallll wwiinnddoowwss ffrroomm wwiitthhiinn ddoosseemmuu??

  NNoo you cant't. Dos will tell you something like

       The XMS driver you have on your system is not compatible with Win-
       dows...

  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:

       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

  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)
  88..66..  NNootteess ffoorr tthhee mmoouussee uunnddeerr wwiinn3311--iinn--xxddooss::

  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:

       [windows]
       MouseThreshold1=0
       MouseThreshold2=0
       MouseSpeed=0

  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.  (97/2/10)

  88..77..  WWhhyy ddiidd mmyy IIccoonn ddiissssaappeeaarr ffrroomm tthhee PPrrooggrraammmmaannaaggeerr??

  MS-Windows and WinOS2 handle the program manager group different.
  While MS-Win store the setup in progman.ini, WinOS2 what's the conted
  of progman.ini in system.ini. Her a tip from ((ffrriieesstt@@aaccmm..oorrgg ((TToodddd TT..
  FFrriieess)))):

       cat progman.ini >> system.ini

  Be sure to use >> :-)

  99..  VViiddeeoo aanndd ssoouunndd

  99..11..  CCaann II rruunn 3322--bbiitt vviiddeeoo ggaammeess uunnddeerr ddoosseemmuu??

  Mark Rejhon (mmddrreejjhhoonn@@mmaaggii..ccoomm) 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
  //eettcc//ddoosseemmuu..ccoonnff file.  If you have successfully run graphics programs
  in dosemu, and are prepared to take the risk of a possible system
  crash (this is because you are letting dosemu run with root access to
  the video card, and leaves the possibility of putting the video card
  in a bad state that is difficult to recover from) then you can go
  ahead and try running the video game.

  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 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, report to lliinnuuxx--
  mmssddooss@@vvggeerr..rruuttggeerrss..eedduu

  Addition from (lleerrmmeenn@@eellsseerrvv..ffffmm..ffggaann..ddee(97/2/11)):

  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 on' option in /etc/dosemu.conf
  disables this, but then you can't run those games.

  99..22..  EExxiittiinngg ffrroomm ddoosseemmuu ggiivveess mmee aa ssccrreeeenn ffuullll ooff ggaarrbbaaggee..

  (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

  sunsite.unc.edu:/pub/Linux/libs/graphics/svgalib125.tar.gz

  It may also be available as a pre-compiled package in your favorite
  Linux distribution (e.g., Slackware, etc.).  Use savetextmode to save
  the current text mode and font to a file in //ttmmpp before running
  dosemu.  Then run textmode upon exiting dosemu to restore it.

  Addition from (lleerrmmeenn@@eellsseerrvv..ffffmm..ffggaann..ddee(97/2/11)):

  Have a look also at src/arch/linux/debugger/README.recover and
  README.dosdebug, dosdebug can aid you recovering.

  99..33..  HHooww ddoo II ggeett ddoosseemmuu ttoo wwoorrkk wwiitthh mmyy TTrriiddeenntt//AAccttiixx//ootthheerr vviiddeeoo
  ccaarrdd??

  [The screen flickers violently, displays the video BIOS startup
  message, and hangs.]

  Andrew Tridgell (ttrriiddggee@@nniimmbbuuss..aannuu..eedduu..aauu) reported (94/1/29) that

  I found with early versions it would work if I used:

     ports { 0x42 }

  but that sometimes my machine would crash when it was cycling the
  video BIOS in dosemu. This is because you're allowing the VGA BIOS to
  re-program your clock, which severely stuffs with Linux.

  This prompted me to write the read-only and masking patches for
  dosemu, which I believe are still in the latest version. I now use:

     ports { readonly 0x42 }

  and it boots dosemu more slowly, but more reliably.

  ---------------------

  Tim Shnaider (ttiimmss@@kkccbbbbss..ggeenn..nnzz) also reported (94/1/18) that

  One way of fixing this is to use the GETROM program to dump your video
  BIOS to a file and edit the config file in the //eettcc//ddoosseemmuu directory
  There will be a few video lines.  Here is my video line

     video { vga console graphics chipset trident memsize 1024 vbios_file
     /etc/dosemu/vbios }

  where vbios is the file generated by typing

     getrom > vbios

  ---------------------

  Douglas Gleichman (pp8866888844@@ttccvviillllee..eeddssgg..hhaacc..ccoomm) reported (94/9/1) that
  (with the ATI Graphics Ultra)

  For dosemu 0.52 you need to add this line to your dosemu.conf file:

   ports  { 0x1ce 0x1cf 0x238 0x23b 0x23c 0x23f 0x9ae8 0x9ae9 0x9aee 0x9aef }

  The board self test will list a failure but graphics programs will run
  fine.

  99..44..  WWhhyy ddooeessnn''tt mmyy ssoouunnddccaarrdd ssooffttwwaarree wwoorrkk wwiitthh ddoosseemmuu??

  Hannu Savolainen (hhssaavvoollaaii@@ccss..HHeellssiinnkkii..FFII) reported (94/3/21) that

  The dosemu and any DOS program with it run under control of a
  protected mode operating system. This means that the memory is not
  mapped as the program expects. If it somehow manages to start DMA
  based recording with SB, the recorded sound doesn't find it's way to
  the application. It just destroys some data in the memory.

  James B. MacLean (mmaacclleeaajjbb@@eeddnneett..nnss..ccaa) reported (94/6/19) that

  Sorry to disappoint, but at this time dosemu does not support directly
  the necessary interception of interrupts or DMA generally required for
  sound card access via dosemu :-(.

  It's bound to happen at some future date though :-),

  And CCoorreeyy SSwweeeenneeyy ((oorreeyy@@dd9944..nnnnbb..iinntteerraacccceessss..ccoomm)) reports (97/2/15)

       Sound code is being currectly being worked on

  1100..  GGaammeess

  1100..11..  DDuukkee33dd ddoosseenn''tt wwoorrkk

  Hans Lermen <<lleerrmmeenn@@eellsseerrvv..ffffmm..ffggaann..ddee>> 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.

  1111..  OOtthheerr HHaarrddwwaarree

  1111..11..  HHooww ddoo II ggeett mmyy xxxxxxxxxx ddeevviiccee wwoorrkkiinngg uunnddeerr ddoosseemmuu??

  Corey Sweeney (ccoorreeyy@@bbbbss..xxnneett..ccoomm) reported (94/5/30) that

  Here is a log of my adventures trying to get devices working under
  dosemu.  So far I've gotten my voice mail system working and my
  scanner half working.  Here's how:

  1. Look in your manual and find if your card uses any ports.  If your
  manual gives you some, put them in your config file at the "ports"
  line.  Remember that sometimes you need to have several ports in a
  row, and the first one might be the only one documented.

  2. Try it out. If it doesn't work, or you don't have a manual (or your
  manual is as crappy as my AT&T manual:) then run dosemu with "ddooss --DD++TT
  22>> //ttmmpp//iioo..ddeebbuugg".  Run your device software, then exit dosemu.  Look
  through //ttmmpp//iioo..ddeebbuugg and find any port numbers it might give you.
  Try adding those to the port lines and try running dosemu again. Ports
  below 0x400 with the keyword fast don't get logged(97/2/9)!

  3. If you still fail then you may need interrupts.

  Find out what interrupt the card uses and verify, that the kernel
  isn't using the IRQ in question (cat /proc/interrupts).  Hans Lermen
  wrote (97/2/17):

       1. Make sure Linux doesn't use this network card

       2. Set 'sillyint { use_sigio 5 }' in /etc/dosemu.conf

  (some addittions (97/2/11)) and that's about it...

  Question: What if my card uses DMA?  Answer: Your screwed.

  1122..  PPrroobblleemmss aanndd ffiixxeess

  1122..11..  SSeeccuurriittyy iissssuueess

  A full featured Dosemu needs to be suid root, e.g to access ports.
  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 on' option in /etc/dosemu.conf disables this, but
  then you can't run any more some applications like 32-bit video games
  (lleerrmmeenn@@eellsseerrvv..ffffmm..ffggaann..ddee(97/2/11)). E.g. running a well known
  compiler with full access might have smaller security implications
  then some game, obtained by some obscure source.

  1122..22..  DDoosseemmuu ddiieess wwhheenn bboooottiinngg.. II hhaavvee WWiinn9955 iinnssttaalllleedd..

  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)

  Learn about ddoossddeebbuugg and use it to control a dosemu session(97/2/9)

  1122..33..  DDoosseemmuu hhaannggss!! HHooww ccaann II kkiillll iitt??

  Learn about ddoossddeebbuugg and use it to control a dosemu session(97/2/9)

  1122..44..  DDoosseemmuu ccrraasshheedd aanndd nnooww II ccaann''tt ttyyppee aannyytthhiinngg..

  Daniel Barlow(jjoo9955000044@@ssaabbllee..ooxx..aacc..uukk) 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 "kbd_mode -a" to switch the keyboard out of raw
  mode, and/or "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
  "kbd_mode -a" automatically right after dosemu.  When dosemu crashes,
  the script usually will resume running, and execute the "kbd_mode -a"
  command.

  1122..55..  II''vvee eennaabblleedd EEMMSS mmeemmoorryy iinn ddoosseemmuu..ccoonnff bbuutt iitt ddooeess nnoott hheellpp..

  Rob Janssen (rroobb@@ppee11cchhll..aammpprr..oorrgg) reported (94/7/11)

  Don't forget to load the provided ems.sys from the config.sys file.

  1122..66..  HHooww ddoo II ggeett rriidd ooff aallll tthhoossee aannnnooyyiinngg ""ddiisskk cchhaannggee"" mmeessssaaggeess??

  (94/8/11)

  Grab and install klogd.  Try

           sunsite.unc.edu:/pub/Linux/system/Daemons/sysklogd1.2.tgz

  1122..77..  WWhhyy wwoonn''tt ddoosseemmuu rruunn aa sseeccoonndd ttiimmee aafftteerr eexxiittiinngg iinn ccoonnssoollee
  mmooddee??

  Aldy Hernandez (aallddyy@@ssaauurroonn..cccc..aannddrreewwss..eedduu) reported (94/7/8) that

  You should disable your video and/or BIOS caching.

  1122..88..  WWhhyy wwiillll ddoosseemmuu rruunn iinn aa tteerrmm bbuutt nnoott iinn tthhee ccoonnssoollee??

  JyiJiin Luo (jjjjlluuoo@@ccaassbbaahh..aaccnnss..nnwwuu..eedduu) 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.

  1122..99..  HHooww ccaann II ssppeeeedd uupp ddoosseemmuu??

  In some cases it is useful to play with the value of the HogThreshold
  variable in your dosemu.conf file.

  Daniel Barlow(jjoo9955000044@@ssaabbllee..ooxx..aacc..uukk) reported (95/4/8) that

  HogThreshold should now be set to approximately half of the BogoMips
  value that the system reports on boot.

  1122..1100..  MMyy CCDDRROOMM ddrriivvee hhaass pprroobblleemmss rreeaaddiinngg ssoommee ffiilleess uunnddeerr ddoosseemmuu..

  Vinod G Kulkarni (vviinnoodd@@ccssee..iiiittbb..eerrnneett..iinn) 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 ^J,^M.)
  So a program running in dosemu gives an error or hangs, which may be
  mistaken as problem of dosemu.

  Rob Janssen (ppee11cchhll@@rraabboo..nnll) reported (94/8/10) that

  The way to solve this is to turn off conversion altogether.  Pass the
  option "--oo ccoonnvv==bbiinnaarryy" to the mount command mounting the CD-ROM, or
  use the following in //eettcc//ffssttaabb:

  /dev/cdrom      /cdrom          iso9660 conv=binary,ro

  No patches to the kernel are necessary.

  1122..1111..  HHooww ddoo II sseeee ddeebbuuggggiinngg oouuttppuutt??

  Daniel Barlow(jjoo9955000044@@ssaabbllee..ooxx..aacc..uukk) reported (95/4/8) that

  As of dosemu 0.60, debugging output is redirected to a file specified
  on the command line.  Use "ddooss --DD++aa --oo //ttmmpp//ddeebbuugg" to log all debug
  output to //ttmmpp//ddeebbuugg.  There should no longer be any need to redirect
  stderr.

  1122..1122..  WWhhyy aarree mmyy kkeeyyssttrrookkeess eecchhooeedd ttttwwwwiiiicccceeee????

  Nick Holloway (aallffiiee@@ddccss..wwaarrwwiicckk..aacc..uukk) 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).

  1122..1133..  DDoosseemmuu ssccrraammbblleess mmyy ssccrreeeenn??

  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 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

  IIff iitt ddooeessnn''tt ffiixx iitt nnootthhiinngg wwiillll 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)

  1122..1144..  MMSS FFooxxPPrroo 22..66 wwoonn''tt rruunn

  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.

  1133..  CCoonnttrriibbuuttiinngg ttoo tthhee ddoosseemmuu pprroojjeecctt

  1133..11..  WWhhoo iiss rreessppoonnssiibbllee ffoorr ddoosseemmuu??

  (97/2/9)

  Dosemu is built upon the work of Matthias Lautner and Robert Sanders.
  James B. MacLean (jjmmaacclleeaann@@eeddnneett..nnss..ccaa) is responsible for organizing
  the latest releases of dosemu.

                         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

  1133..22..  II wwaanntt ttoo hheellpp..  WWhhoo sshhoouulldd II ccoonnttaacctt??

  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
  ..//ddoocc//DDAANNGG (97/2/9).

