home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 13 / CDA13.ISO / DOC / HOWTO / DOSEMU_H.GZ / DOSEMU_H
Encoding:
Text File  |  1996-03-14  |  38.0 KB  |  1,002 lines

  1.   The dosemu HOWTO
  2.   edited by Mike Deisher, deisher@dspsun.eas.asu.edu
  3.   v0.60pl4, 11 August 1995
  4.  
  5.   This is the `Frequently Asked Questions' (FAQ) / HOWTO document for
  6.   dosemu.  The most up-to-date version of the dosemu-HOWTO may be found
  7.   in dspsun.eas.asu.edu:/pub/dosemu.
  8.  
  9.   1.  The preliminaries
  10.  
  11.   1.1.  What is dosemu, anyway?
  12.  
  13.   To quote the manual, "dosemu is a user-level program which uses
  14.   certain special features of the Linux kernel and the 80386 processor
  15.   to run MS-DOS in what we in the biz call a `DOS box.'  The DOS box, a
  16.   combination of hardware and software trickery, has these capabilities:
  17.  
  18.   o the ability to virtualize all input/output and processor control
  19.   instructions
  20.  
  21.   o the ability to support the word size and addressing modes of the
  22.   iAPX86 processor family's "real mode," while still running within the
  23.   full protected mode environment
  24.  
  25.   o the ability to trap all DOS and BIOS system calls and emulate such
  26.   calls as are necessary for proper operation and good performance
  27.  
  28.   o the ability to simulate a hardware environment over which DOS
  29.   programs are accustomed to having control.
  30.  
  31.   o the ability to provide MS-DOS services through native Linux
  32.   services; for example, dosemu can provide a virtual hard disk drive
  33.   which is actually a Linux directory hierarchy."
  34.  
  35.   1.2.  What's the newest version of dosemu and where can I get it?
  36.  
  37.   The newest version of dosemu is dosemu0.60 and can be ftp'ed from:
  38.  
  39.        tsx-11.mit.edu:/pub/linux/ALPHA/dosemu/
  40.        dspsun.eas.asu.edu:/pub/dosemu/
  41.  
  42.   However, pre-release versions are also available for developers and
  43.   ALPHA testers.  They may be found in
  44.  
  45.        tsx-11.mit.edu:/pub/linux/ALPHA/dosemu/Development
  46.        dspsun.eas.asu.edu:/pub/dosemu/Development/
  47.  
  48.   and have names of the form pre0.61.*.tgz.  The pre-release code has
  49.   the advantage that it is compatible with the most recent Linux ker¡
  50.   nels.  Also, it includes new features.  Remember that this is ALPHA
  51.   code, however: there may be serious bugs and very little documentation
  52.   for new features.
  53.  
  54.   1.3.  Where can I follow the development?
  55.  
  56.   If you want to follow the development of dosemu, you should consider
  57.   subscribing to the linux-msdos-digest mailing list.  To subscribe,
  58.   send mail to Majordomo@vger.rutgers.edu with the following command in
  59.   the body of your email message:
  60.  
  61.       subscribe linux-msdos-digest your_username@your.email.address
  62.  
  63.   If you ever want to remove yourself from the mailing list, you can
  64.   send mail to Majordomo@vger.rutgers.edu with the following command in
  65.   the body of your email message:
  66.  
  67.       unsubscribe linux-msdos-digest your_username@your.email.address
  68.  
  69.   1.4.  What documentation is available for dosemu?
  70.  
  71.   The dosemu manual (dosemu.texinfo) written by Robert Sanders has not
  72.   been updated in some time but is still a good source of information.
  73.   It is distributed with dosemu.
  74.  
  75.   The "dosemu Novice's Altering Guide" or DANG is a road map to the
  76.   inner workings of dosemu.  It is designed for the adventurous, those
  77.   who wish to modify the source code themselves.  The DANG is maintained
  78.   by Alistair MacDonald (am20@unix.york.ac.uk) and is posted once in a
  79.   while to the MSDOS channel of Linux Activists.
  80.  
  81.   The EMU success list (EMUsuccess.txt) is a list of all programs that
  82.   have been reported to work with dosemu.  It is posted once in a while
  83.   to the mailing list.  The most recent version can be found on
  84.   dspsun.eas.asu.edu:/pub/dosemu.
  85.  
  86.   And then, of course, there is the dosemu FAQ/HOWTO.  But you already
  87.   know about that, don't you.  It is also posted once in a while to the
  88.   mailing list.  The most recent version can be found on
  89.   dspsun.eas.asu.edu:/pub/dosemu.
  90.  
  91.   1.5.  How do I submit changes or additions to the HOWTO?
  92.  
  93.   The preferred method is to edit the file, dosemu-HOWTO-xx.x.sgml to
  94.   incorporate the changes, create a diff file by typing something like
  95.  
  96.                  diff original-file new-file
  97.  
  98.   and send it to deisher@dspsun.eas.asu.edu.  If you do not know SGML,
  99.   that's ok.  Changes or new information in any form will be accepted.
  100.   Creating the diff file just makes it easier on the HOWTO maintainer.
  101.   :-)
  102.  
  103.   1.6.  Message from Greg...
  104.  
  105.   Unless otherwise stated, Linux HOWTO documents are copyrighted by
  106.   their respective authors. Linux HOWTO documents may be reproduced and
  107.   distributed in whole or in part, in any medium physical or electronic,
  108.   as long as this copyright notice is retained on all copies. Commercial
  109.   redistribution is allowed and encouraged; however, the author would
  110.   like to be notified of any such distributions.
  111.  
  112.   All translations, derivative works, or aggregate works incorporating
  113.   any Linux HOWTO documents must be covered under this copyright notice.
  114.   That is, you may not produce a derivative work from a HOWTO and impose
  115.   additional restrictions on its distribution. Exceptions to these rules
  116.   may be granted under certain conditions; please contact the Linux
  117.   HOWTO coordinator at the address given below.
  118.  
  119.   In short, we wish to promote dissemination of this information through
  120.   as many channels as possible. However, we do wish to retain copyright
  121.   on the HOWTO documents, and would like to be notified of any plans to
  122.   redistribute the HOWTOs.
  123.  
  124.   If you have questions, please contact Greg Hankins, the Linux HOWTO
  125.   coordinator, at gregh@cc.gatech.edu.
  126.  
  127.   2.  Compiling and installing dosemu
  128.  
  129.   2.1.  Where are the installation instructions?
  130.  
  131.   The installation instructions are in the file, "QuickStart", included
  132.   in the distribution.
  133.  
  134.   2.2.  Top ten problems while compiling and installing dosemu.
  135.  
  136.   (4/8/95)
  137.  
  138.   1. Forgetting to read the QuickStart Guide.
  139.  
  140.   2. Try to compile with a kernel older than 1.1.45.
  141.  
  142.   3. Having the wrong linux kernel source sitting in /usr/src/linux
  143.  
  144.   4. Use dosemu with a kernel that does not have IPC compiled in.
  145.  
  146.   5. Compile with gcc older than 2.5.8 or libc older than 4.5.21.
  147.  
  148.   6. Forget to edit your /etc/dosemu.conf file.
  149.  
  150.   7. Forget to run "FDISK /mbr" on your hdimage.
  151.  
  152.   8. Run DOSEMU with partition access while they are already mounted.
  153.  
  154.   9. Don't install dosemu with sufficient privileges (i.e., root).
  155.  
  156.   10. Try to run DOSEMU on a multi-user linux Internet Service Provider.
  157.  
  158.   2.3.  How can I build a single (non-library) executable?
  159.  
  160.   Marty Leisner (leisner@sdsp.mc.xerox.com) reported (4/8/95) that
  161.  
  162.   If you want to build one executable with QMAGIC, define STATIC in the
  163.   makefile.  Otherwise there's a library/executable combination.
  164.  
  165.   2.4.  How do I make ELF binaries?
  166.  
  167.   Marty Leisner (leisner@sdsp.mc.xerox.com) reported (4/8/95) that
  168.  
  169.   If you want to make ELF binaries, define ELF in the "Makefile".  You
  170.   need to make and install the slang library separately.  Slang works
  171.   well as a shared ELF library.
  172.  
  173.   2.5.  How do I compile dosemu on a machine with low memory?
  174.  
  175.   Marty Leisner (leisner@sdsp.mc.xerox.com) reported (4/8/95) that
  176.  
  177.   If you have problems with running out of swap space you may want to
  178.   add CFLAGS+=-fno-inline after CFLAGS is defined in dpmi/Makefile.  Be
  179.   careful before you do this and check for the existence of swap space.
  180.   I found Linux crashes a times when it has no swap space.
  181.  
  182.   2.6.  How can I speed up compilation?
  183.  
  184.   Marty Leisner (leisner@sdsp.mc.xerox.com) reported (4/8/95) that
  185.  
  186.   The default optimization is -O2.  You may want edit the makefile to
  187.   use -O (compiled somewhat faster/smaller).
  188.  
  189.   2.7.  How can I compile non-interactively?
  190.  
  191.   Marty Leisner (leisner@sdsp.mc.xerox.com) reported (4/8/95) that
  192.  
  193.   If you define do_DEBUG in the makefile, you'll get -Wall -g and a non-
  194.   tex, non-interactive make.
  195.  
  196.   2.8.  More compilation tips from Marty...
  197.  
  198.   Marty Leisner (leisner@sdsp.mc.xerox.com) reported (4/8/95) that
  199.  
  200.   You need to have build the kernel on your system to get the current
  201.   version.  If not, you may want to hand modify KERNEL_VERSION in the
  202.   top level Makefile.  The number is of the form, "nmmmppp", where "n"
  203.   is the version, "mmm" is the minor version, and "ppp" is the
  204.   patchlevel.  For example, kernel 1.1.88 corresponds to "1001088" and
  205.   kernel 1.2.1 to "1002001".
  206.  
  207.   Begin all makes at the top level for best results.  At the top level,
  208.   entering "make subdirectory" will make the subdirectory.  Each
  209.   directory (and the top), has targets "clean" and "realclean".  "clean"
  210.   will remove the objects, "realclean" will also remove dependencies and
  211.   other files.
  212.  
  213.   2.9.  Do I need to compile dosemu as root?
  214.  
  215.   (4/8/95)
  216.  
  217.   No.  You must install it as root, though.
  218.  
  219.   Marty Leisner (leisner@sdsp.mc.xerox.com) adds
  220.  
  221.   In order to access I/O ports (including the console) dosemu needs to
  222.   run as root.  Running dosemu on an xterm or in X windows and requiring
  223.   now direct hardware access allows you to run dosemu as a user.  The
  224.   security/setuid implications will be worked on in development
  225.   releases.
  226.  
  227.   2.10.  The makefile is in an infinite loop...
  228.  
  229.   James B. MacLean (jmaclean@fox.nstn.ns.ca) reported (4/12/95) that
  230.  
  231.   We have seen these at certain times, usually when a timestamp plays an
  232.   issue.  Some people fix it by upgrading their kernel, while others
  233.   (myself included) just "make realclean" then "make most".
  234.  
  235.   3.  Hard disk setup
  236.  
  237.   3.1.  How do I use my hard disk with dosemu?
  238.  
  239.   First, mount your dos hard disk partition as a Linux subdirectory.
  240.   For example, you could create a directory in Linux such as /dos (mkdir
  241.   -m 755 /dos) and add a line like
  242.  
  243.      /dev/hda1       /dos     msdos   umask=022
  244.  
  245.   to your /etc/fstab.  (In this example, the hard disk is mounted read-
  246.   only.  You may want to mount it read/write by replacing "022" with
  247.   "000" and using the -m 777 option with mkdir).  Now mount /dos.  Now
  248.   you can add a line like
  249.  
  250.     lredir d: linux\fs/dos
  251.  
  252.   to the AUTOEXEC.BAT file in your hdimage (see the comments on LREDIR
  253.   below).  On a multi-user system you may want to use
  254.  
  255.     lredir d: linux\fs\${home}
  256.  
  257.   where "home" is the name of an environmental variable that contains
  258.   the location of the dos directory (/dos in this example).
  259.  
  260.   ---------------------
  261.  
  262.   Tim Bird (Tim_R_Bird@Novell.COM) states that LREDIR users should
  263.  
  264.   be careful when they use LREDIR in the autoexec, because COMMAND.COM
  265.   will continue parsing the autoexec.bat from the redirected drive as
  266.   the same file offset where it left off in the autoexec.bat on the
  267.   physical drive.  For this reason, it is safest to have the
  268.   autoexec.bat on the redirected drive and the physical drive
  269.   (diskimage) be the same.
  270.  
  271.   ---------------------
  272.  
  273.   Robert D. Warren (rw11258@xx.acs.appstate.edu) reported (4/28/94) that
  274.  
  275.   I boot off a small hdimage file (less than 1 MB - and twice as large
  276.   as needs be at that), and the next to last line in my config.sys file
  277.   on the hdimage boot image is:
  278.  
  279.           install=c:\lredir.exe c: LINUX\FS\home/dos
  280.  
  281.   This will execute lredir just before the command interpreter runs. And
  282.   I have successfully run it with both command.com and 4DOS.  This elim¡
  283.   inates the offset problem using lredir in autoexec.bat.
  284.  
  285.   Uwe Bonnes (bon@elektron.ikp.physik.th-darmstadt.de) adds (8/11/95)
  286.   that
  287.  
  288.   It is usefull to do:
  289.  
  290.   install=C:\subst.exe g: c:
  291.  
  292.   before that, so you have still access to your hdimage as drive g:
  293.   Another useful tip in that circumstance is to configure dosemu to use
  294.   "autoexec.emu" to keep dos and dosemu apart.
  295.  
  296.   3.2.  Can I use my stacked/double-spaced/super-stored disk?
  297.  
  298.   At this time, compressed drives cannot be accessed via the redirector
  299.   (lredir or emufs).  However, many people have had success by simply
  300.   uncommenting the
  301.  
  302.      disk { wholedisk "/dev/hda" }        # 1st partition on 1st disk
  303.  
  304.   line in their dosemu config file.  Others have had success using
  305.  
  306.      disk { partition "/dev/hda1" }
  307.  
  308.   If your dos partition is already mounted with write access and you try
  309.   to run dosemu with partition or whole disk access, dosemu will print a
  310.   warning message and abort.  This prevents DOS and Linux from making
  311.   independent writes to your disk and trashing the data on your dos
  312.   partition.
  313.  
  314.   ---------------------
  315.  
  316.   If LILO is installed, the above will not work.  However...
  317.  
  318.   Thomas Mockridge (thomas@aztec.co.za) reported (8/5/94) that
  319.  
  320.   To boot dosemu with LILO and Stacker 4.0 I did a little work around...
  321.  
  322.   1. dd the MBR to a file. (or norton utility, etc., first 512 bytes)
  323.  
  324.   2. Boot dos (from full boot not emu), do a fdisk /mbr, make your dos
  325.   partition active with (dos) fdisk.
  326.  
  327.   3. Copy the new MBR to a file.
  328.  
  329.   4. Replace the original MBR
  330.  
  331.   5. Copy the second MBR to /var/lib/dosemu/partition.hda? (Whichever is
  332.   your dos partition)
  333.  
  334.   6. Set dosemu.conf
  335.  
  336.                  disk {partition "/dev/hda? ?"}
  337.  
  338.   7. Start dosemu and and voila!  No LILO.
  339.  
  340.   ---------------------
  341.  
  342.   Holger Schemel (q99492@pbhrzx.uni-paderborn.de) reported (2/10/94)
  343.   that
  344.  
  345.   Works even fine under dosemu with MS-DOS 6.0. If you have problems,
  346.   then you have to edit the file 'DBLSPACE.INI' manually and change the
  347.   disk letter to the letter your drive gets under dosemu.
  348.  
  349.   ---------------------
  350.  
  351.   Darren J Moffat (moffatd@dcs.gla.ac.uk) also reported (3/27/94)
  352.  
  353.   "...use 6.2 if you can get it!!  Just make sure you have a LILO boot
  354.   disk on hand since dos 6{.2} will change the MBR of the boot HZ."
  355.  
  356.   4.  Parallel ports, serial ports and mice
  357.  
  358.   4.1.  Where are the (microsoft compatible) mouse drivers?
  359.  
  360.   Tom Kimball (tk@pssparc2.oc.com) reported (11/24/93) that
  361.  
  362.   Several people said to use a different mouse driver and suggested
  363.   some.  I found a couple that seem to work fine.
  364.  
  365.      oak.oakland.edu:/pub/msdos/mouse/mouse701.zip   (mscmouse)
  366.      oak.oakland.edu:/pub/msdos/mouse/gmous102.zip   (gmouse)
  367.  
  368.   4.2.  Why doesn't the mouse driver work?
  369.  
  370.   Mark Rejhon (mdrejhon@magi.com) reported (4/7/95) that
  371.  
  372.   If you start the mouse driver and it just hangs (it might actually
  373.   take 30-60s), but if you are waiting longer than a minute for the
  374.   mouse driver to start, try specifying the COM port that the mouse is
  375.   on, at the mouse driver command line.
  376.  
  377.   4.3.  Why does dosemu clobber COM4?
  378.  
  379.   Rob Janssen (rob@pe1chl.ampr.org) reported (3/24/94) that
  380.  
  381.   According to jmorriso@bogomips.ee.ubc.ca, "dosemu still clobbers COM4
  382.   (0x2e8, IRQ 5). 0x2e8 isn't in ports{} in config.  I have to run
  383.   setserial /dev/cua3 irq 5 on it after dosemu exits."
  384.  
  385.   This is caused by your VGA BIOS.  I have found that by enabling the IO
  386.   port trace and seeing where it was clobbered.
  387.  
  388.   Disable the "allowvideoportaccess on" line in config and it will work
  389.   fine.  When you then have problems with the video, try to enable more
  390.   selective ranges of IO addresses (e.g., 40-43).
  391.  
  392.   4.4.  How do I use dosemu over the serial ports?
  393.  
  394.   4.5.  How can I switch between dosemu and a shell over the serial
  395.   line?
  396.  
  397.   John Taylor (taylor@pollux.cs.uga.edu) reported (5/25/94) that
  398.  
  399.   I am running Linux 1.1.13 and want to point out a great feature that
  400.   should be protected and not taken out (IMHO). With the 52 version, I
  401.   can run the program, "screen."  From screen, i can invoke dos -D-a.
  402.   What is really great (IMHO) is the screen commands (the CTRL-A cmds)
  403.   still work. This means I can do a CTRL-A C and add another unix shell,
  404.   and switch between the two (DOS / UNIX).  This allows me to use dosemu
  405.   over the serial line really well, because switching is made easy.
  406.  
  407.   4.6.  How can I get the parallel ports to work?
  408.  
  409.   Dennis Flaherty (dennisf@flaherty.elk.miles.com) reported (3/2/95)
  410.   that
  411.  
  412.   The dosemu.conf has lines at the end to redirect printers to either
  413.   lpr or a file.  If you want direct access to the bare metal, comment
  414.   out these emulation lines, and add the line
  415.  
  416.   ports { 0x3b8 0x3b9 0x3ba 0x3bb 0x3bc 0x3bd 0x3be 0x3bf } # lpt0
  417.  
  418.   for the "monitor card" printer port (corresponds to /dev/lp0), or
  419.  
  420.   ports { 0x378 0x379 0x37a 0x37b 0x37c 0x37d 0x37e 0x37f } # lpt1
  421.   ports { 0x278 0x279 0x27a 0x27b 0x27c 0x27d 0x27e 0x27f } # lpt2
  422.  
  423.   for LPT1 (/dev/lp1) and LPT2 (/dev/lp2) respectively.
  424.  
  425.   5.  Multiple users and Non-interactive sessions
  426.  
  427.   5.1.  Can I use dosemu on a multi-user system?
  428.  
  429.   Corey Sweeney (corey@amiganet.xnet.com) reported (12/8/93) that
  430.  
  431.   If you are running dosemu on a system in which more then one person
  432.   may want to run dosemu, then you may want to change the directory of
  433.   your hard drive image.  Currently in the /etc/dosemu.conf file there
  434.   exists the line saying that the hard drive image is "hdimage".  If you
  435.   change this to /var/lib/dosemu/hdimage then people do not have to
  436.   worry about what directory they are in when they run dosemu, and
  437.   hdimage does not have to be moved each time you upgrade to the next
  438.   patch level.
  439.  
  440.   If you do do this for multi-user dosemu, then you will want to make
  441.   the hdimage in /var/lib/dosemu read-only for everyone but the dosemu
  442.   administrator.
  443.  
  444.   Note that you can use the new emufs.sys thing to mount a "public"
  445.   directory and/or a "private" directory (a sub-directory in each
  446.   person's home directory).
  447.  
  448.   [Note: Users may also create a personal configuration file named
  449.   ~/.dosrc (same format as /etc/dosemu.conf) to run their own copy of
  450.   dos.]
  451.  
  452.   5.2.  How can I run dos commands non-interactively?
  453.  
  454.   I have been meaning to write an article on this for quite some time
  455.   but have not gotten around to it.  Here are some hints from others:
  456.  
  457.   Dan Newcombe (newcombe@aa.csc.peachnet.edu) reported (1/27/94) that
  458.  
  459.   Here is an idea (untested) to be able to run a DOS command from the
  460.   command line (or menu choice, etc...) without modifying the actual
  461.   emulator.  [Your dos partition is assumed to be mounted under Linux,
  462.   already.]
  463.  
  464.   Suppose you wanted to run wp60.exe with the parameter "wp60
  465.   d:ocaper.txt".
  466.   You would do something like "dosrun wp60 d:ocaper.txt".
  467.   "dosrun" would be a linux shell program that would a)
  468.   edit/modify/recreate the dos autoexec.bat from your dos partition and
  469.   b) simply run dosemu (e.g., "dos -C >/dev/null".  Step a) would
  470.   somehow keep all the stuff you'd normally want in autoexec.bat (e.g.,
  471.   mouse.com) and the last line would be "wp60 d:ocaper.txt".
  472.  
  473.   On the dosemu side, beforehand, you would have to modify the
  474.   config.sys file (located in hdimage) so that it 1) uses emufs to
  475.   access the dos partition as D:, 2) sets "COMPSEC=D:\fR (I think.  I
  476.   don't have a DOS manual around.), and 3) sets "shell=c:
  477.  
  478.   The idea is that for each time that you load the DOS emulator, you
  479.   will recreate an autoexec.bat that is specific to that session.  What
  480.   makes it specific is that the last line will execute the program you
  481.   want.  The modifications on the hdimage are to tell the emulator/DOS
  482.   that you want to use (and effectively) boot off of D:, which will be
  483.   the actual DOS partition.
  484.  
  485.   If you do not use hdimage and access the DOS filesystem directly upon
  486.   boot-up of dosemu, then this will work, and you don't have to go
  487.   through the hdimage part of this all.
  488.  
  489.   ---------------------
  490.  
  491.   Daniel T. Schwager (danny@dragon.s.bawue.de) reported (7/2/94) that
  492.  
  493.   You can use different dosemu.conf files (and different hd-boot-images
  494.   with different autoexec.bat's) and call dosemu like
  495.  
  496.   $ dos -F my_quicken_q_exe_dosemu.conf
  497.  
  498.   ---------------------
  499.  
  500.   Dietmar Braun (braun@math20.mathematik.uni-bielefeld.de) reported
  501.   (7/4/94) that
  502.  
  503.   This is no problem at all when you use the redirector of dosemu.  It
  504.   is possible to redirect a drive letter to a linux path given by an
  505.   environment variable.
  506.  
  507.   So I have a shell script named "DOS" which does something like
  508.  
  509.    mkdir /tmp/dos.$$
  510.    DOSTMP=/tmp/dos.$$; export DOSTMP
  511.  
  512.   and then a little trick to get "echo $* > $DOSTMP/startup.bat" really
  513.   working (actually a small C Program which turns '/' in '\fR' and ter¡
  514.   minates lines correctly for messy dos with cr/lf pairs and adds ^Z at
  515.   the end of the file), creates startup files, links and so on in this
  516.   directory, and then starts dosemu. Within "autoexec.bat" drive c: is
  517.   redirected from hdimage to this tmp-directory, which has links for
  518.   $HOME and $PWD.
  519.  
  520.   So if I want to see my filenames shortened to 8.3 I can type "DOS dir"
  521.   and I get my current directory listing.  So I have full DOS multi user
  522.   (I don't have any DOS partition and redirecting to Linux preserves
  523.   user permissions) and multi tasking. (dosemu sessions are completely
  524.   independent).  I did this once to be able to use a dos driver for my
  525.   printer. My printcap df is actually a DOS program. So you can even
  526.   make DOS executables act as lpr filters.
  527.  
  528.   6.  dosemu and Netware
  529.  
  530.   6.1.  How do I get Netware access from dosemu?
  531.  
  532.   James B. MacLean (jmaclean@fox.nstn.ns.ca) reported (11/28/94) that
  533.  
  534.   Dosemu now supports  pdipx  (an IPX over pktdrvr)  and  pdether  (uses
  535.   Novell's  MLID spec)  to  access  Novell LAN's via the built in packet
  536.   driver.   The  packet  driver sits at interrupt 0x60, and abids by the
  537.   normal packet driver rules.  That said, beware of trying any DOS
  538.   TCP/IP just yet.  Single access can be made by:
  539.  
  540.   1) cd ./net
  541.   2) cp libpacket.c.single libpacket.c
  542.   3) cp pktnew.c.single pktnew.c
  543.   4) recompile dosemu
  544.   5) run dosemu
  545.   6) load pdether as described by its docs (pdipx is another method)
  546.   7) load netx
  547.   8) enjoy netware access :-)
  548.  
  549.   If you  need  special  access  to  your  NIC,  read  on.   By  default
  550.   dosemu  will  not  get interrupts from the kernel. That said, if you'd
  551.   like to give your NIC to dosemu for it to control, maybe for access to
  552.   Netware  on  the  network  through  a  NETX client, I do have a driver
  553.   (Silly Interrupt Generator) to put in the  kernel  that  any  program,
  554.   like dosemu can use to get at the interrupt for your NIC.  I use it in
  555.   dosemu to access a Novell Lite network in the  past  until  the packet
  556.   driver existed.
  557.  
  558.   Any interested parties should E-mail me (jmaclean@fox.nstn.ns.ca) and
  559.   I'll pass along some directions.
  560.  
  561.   Want multiple dosemu's access to Novell?
  562.  
  563.   1) compile current [pre-release] dosemu
  564.   2) follow directions in ./v-net/dosnet.README
  565.   3) carry on from 5) above.
  566.  
  567.   6.2.  Netware HOWTO
  568.  
  569.   (4/8/95)
  570.  
  571.   The Netware-HOWTO by Lauri Tischler (ltischler@fipower.pp.fi) is now a
  572.   separate document.  It is included with the dosemu distribution and
  573.   may also be found at your favorite HOWTO sites (e.g.,
  574.   http://sunsite.unc.edu/mdw/linux.html).
  575.  
  576.   7.  dosemu and X-windows
  577.  
  578.   7.1.  Can I run dosemu in console mode while running X?
  579.  
  580.   Ronald Schalk (R.Schalk@uci.kun.nl) reported (1/17/94) that
  581.  
  582.   Yes, no problem.  Just remember to use ctrl-alt-<Fn> to go to a
  583.   Virtual Console (VC), and you can run any Linux application (dosemu is
  584.   a linux-application).  I've got almost always WP5.1 in a dos session.
  585.  
  586.   [Note:  Use ctrl-alt-F7 to switch back to X from dosemu.]
  587.  
  588.   7.2.  Is it possible to run dosemu in a window in X-windows?
  589.  
  590.   Mark Rejhon (mdrejhon@magi.com) reported (4/8/95) that
  591.  
  592.   If you have X installed and you have successfully compiled dosemu and
  593.   run it successfully outside X-windows, you should be able to run
  594.   "xdos" or "dos -X" right away to bring up a dosemu window.  If this
  595.   does not work, make sure:
  596.  
  597.     1. Dosemu has X support compiled in (X_SUPPORT=1 in the Makefile).
  598.  
  599.     2. Installed the VGA font.  You can do this by running the
  600.         'xinstallvgafont' script in the dosemu-0.60 source directory:
  601.  
  602.            sh xinstallvgafont
  603.  
  604.     3. Set up your X key-mappings.  In an xterm, type
  605.  
  606.        xmodmap -e "keycode 22 = 0xff08"
  607.        xmodmap -e "keycode 107 = 0xffff"
  608.  
  609.        These lines fixes the backspace and delete keys respectively.
  610.  
  611.     4. Configured the X-related configuration options in your
  612.        /etc/dosemu.conf file.
  613.  
  614.   Alternatively, you can run dosemu inside a color xterm, which is not
  615.   recommended because many color xterms have buggy support for the
  616.   complex text display capabilities of dosemu.  This does not require
  617.   X_SUPPORT to be compiled into dosemu.  However, if you really want to
  618.   do this, do the following steps:
  619.  
  620.     1. Install ansi_xterm.  The recommended package is available as:
  621.        tsx-11.mit.edu:/pub/linux/ALPHA/dosemu/Development/ansi-xterm-R6.tar.gz
  622.  
  623.     2. Installed the VGA font.  You can do this by running the
  624.         'xinstallvgafont' script in the dosemu-0.60 source directory:
  625.  
  626.            sh xinstallvgafont
  627.  
  628.     3. Set up your X key-mappings.  In an xterm, type
  629.  
  630.        xmodmap -e "keycode 22 = 0xff08"
  631.        xmodmap -e "keycode 107 = 0xffff"
  632.  
  633.        These lines fixes the backspace and delete keys, respectively.
  634.  
  635.     4. Configured the terminal-related (not X-related) settings in
  636.        /etc/dosemu.conf
  637.  
  638.   Marty Leisner (leisner@sdsp.mc.xerox.com) reported (3/31/95) that
  639.  
  640.   I have xrdb log the following resources
  641.  
  642.   dosxterm*Font:  vga
  643.   dosxterm*geometry:      80x25
  644.   dosxterm*saveLines: 25
  645.  
  646.   or I alias "dosxterm" to "term -fn vga -title dosxterm -geometry 80x25
  647.   -sl 25"
  648.  
  649.   If you use the xrdb method, all you have to do is run "xterm -name
  650.   dosxterm"
  651.  
  652.   7.3.  Does ansi emulation work properly?
  653.  
  654.   Marty Leisner (leisner@sdsp.mc.xerox.com) reported (3/31/95) that
  655.  
  656.   Yes.  I use nnansi.com under X windows.  I find 25, 43 and 50 line
  657.   mode work properly, however 50 line mode is difficult to use on a
  658.   1024x768 screen (unless smaller fonts are used are you use a bigger
  659.   screen.  43 line mode will resize the xterm window to use 43 lines.
  660.  
  661.   8.  dosemu and MS-Windows 3.1
  662.  
  663.   8.1.  Is it possible to run MS-Windows 3.1 under dosemu?
  664.  
  665.   The README file says:
  666.  
  667.   ***************************************************************
  668.   *    WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!!   *
  669.   *                                                             *
  670.   *  Danger Will Robinson!!!  This is not yet fully supported   *
  671.   *  and there are many known bugs!  Large programs will almost *
  672.   *  certainly NOT WORK!!!  BE PREPARED FOR SYSTEM CRASHES IF   *
  673.   *  YOU TRY THIS!!!                                            *
  674.   *                                                             *
  675.   *    WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!!   *
  676.   ***************************************************************
  677.  
  678.   What, you're still reading?  Okay, it is possible to boot WINOS2 (the
  679.   modified version of Windows 3.1 that OS/2 uses) under dosemu.  Many
  680.   kudos to Lutz and Dong!
  681.  
  682.   There are many known problems.  Windows is prone to crash and could
  683.   take data with it.  Large programs will not load.  The mouse may be
  684.   painfully sluggish, etc., etc., etc.  In other words, it is NOT ready
  685.   for daily use.  Many video cards are known to have problems (you may
  686.   see a nice white screen.)  Your program groups are all likely to
  687.   disappear.  Basically, it's a pain.
  688.  
  689.   On the other hand, if you're dying to see the little Windows screen
  690.   running under Linux and you have read this CAREFULLY and PROMISE NOT
  691.   TO BOMBARD THE DOSEMU DEVELOPERS WITH "MS Word 6.0 doesn't run!!!"
  692.   MESSAGES...
  693.  
  694.   1.  Get dosemu & the Linux source distributions.
  695.   2.  Unpack dosemu.
  696.   3.  Patch the linux kernel with the file kernel.diff in the dosemu ./dpmi
  697.       directory.
  698.   4.  Recompile the kernel.
  699.   5.  Compile dosemu.
  700.   6.  Reboot the kernel.
  701.   7.  Get the WINOS2.ZIP distribution from tsx-11.mit.edu
  702.   8.  Unpack the WINOS2 files into your WINDOWS\SYSTEM directory.
  703.   9.  Reboot linux, and startup dosemu (make certain that DPMI is "ON")
  704.   10. Copy the file winemu.bat to your c: drive.
  705.   11. Cross your fingers.
  706.  
  707.   Good luck!
  708.  
  709.   REMEMBER:  THIS IS NOT AT ALL RECOMMENDED!!!  THIS IS NOT RECOMMENDED!!!
  710.              WE DO NOT RECOMMEND YOU TRY THIS!!!
  711.  
  712.   9.  Video and sound
  713.  
  714.   9.1.  Can I run 32-bit video games under dosemu?
  715.  
  716.   Mark Rejhon (mdrejhon@magi.com) reported (4/8/95) that
  717.  
  718.   With the recent DPMI improvements that has gone into 0.60, you can now
  719.   run some 32-bit video games in dosemu.   If the game is compatible in
  720.   an OS/2 DOS box, there are chances that it will work in dosemu.
  721.   (Example 32-bit games include Descent, Dark Forces, Mortal Kombat 2,
  722.   Rise of The Triad, which have all successfully been tested in recent
  723.   dosemu releases).
  724.  
  725.   Before you attempt to run a video game, you must have the keyboard
  726.   configured in raw keyboard mode and enabled VGA graphics modes, in the
  727.   /etc/dosemu.conf file.  If you have successfully run graphics programs
  728.   in dosemu, and are prepared to take the risk of a possible system
  729.   crash (this is because you are letting dosemu run with root access to
  730.   the video card, and leaves the possibility of putting the video card
  731.   in a bad state that is difficult to recover from) then you can go
  732.   ahead and try running the video game.
  733.  
  734.   Note, however, you will have to turn off the sound in the game.
  735.   (Someone will have to program in sound board emulation before we can
  736.   avoid this).  Note that game timers can be a little bit slow, due to
  737.   Linux multitasking and lack of high-frequency timer support.  So the
  738.   games may run from anywhere from 5 to 100 percent speed.  Typically,
  739.   the speed is approximately 50 percent in recent dosemu releases and is
  740.   expected to improve eventually.
  741.  
  742.   Who knows, it might even work.  Please send Email to the
  743.   EMUsuccess.txt maintainer if the game works successfully!
  744.  
  745.   9.2.  Exiting from dosemu gives me a screen full of garbage.
  746.  
  747.   (4/8/95)
  748.  
  749.   The problem is that the font information for the VGA text screen is
  750.   not being saved.  Get a copy of the svgalib package.  The current
  751.   source is in
  752.   sunsite.unc.edu:/pub/Linux/libs/graphics/svgalib125.tar.gz
  753.  
  754.   It may also be available as a pre-compiled package in your favorite
  755.   Linux distribution (e.g., Slackware, etc.).  Use savetextmode to save
  756.   the current text mode and font to a file in /tmp before running
  757.   dosemu.  Then run textmode upon exiting dosemu to restore it.
  758.  
  759.   9.3.  How do I get dosemu to work with my Trident/Actix/other video
  760.   card?
  761.  
  762.   [The screen flickers violently, displays the video BIOS startup
  763.   message, and hangs.]
  764.  
  765.   Andrew Tridgell (tridge@nimbus.anu.edu.au) reported (1/29/94) that
  766.  
  767.   I found with early versions it would work if I used:
  768.  
  769.      ports { 0x42 }
  770.  
  771.   but that sometimes my machine would crash when it was cycling the
  772.   video BIOS in dosemu. This is because you're allowing the VGA BIOS to
  773.   re-program your clock, which severely stuffs with Linux.
  774.  
  775.   This prompted me to write the read-only and masking patches for
  776.   dosemu, which I believe are still in the latest version. I now use:
  777.  
  778.      ports { readonly 0x42 }
  779.  
  780.   and it boots dosemu more slowly, but more reliably.
  781.  
  782.   ---------------------
  783.  
  784.   Tim Shnaider (tims@kcbbs.gen.nz) also reported (1/18/94) that
  785.  
  786.   One way of fixing this is to use the GETROM program to dump your video
  787.   BIOS to a file and edit the config file in the /etc/dosemu directory
  788.   There will be a few video lines.  Here is my video line
  789.  
  790.      video { vga console graphics chipset trident memsize 1024 vbios_file
  791.      /etc/dosemu/vbios }
  792.  
  793.   where vbios is the file generated by typing
  794.  
  795.      getrom > vbios
  796.  
  797.   ---------------------
  798.  
  799.   Douglas Gleichman (p86884@tcville.edsg.hac.com) reported (9/1/94) that
  800.   (with the ATI Graphics Ultra)
  801.  
  802.   For dosemu 0.52 you need to add this line to your dosemu.conf file:
  803.  
  804.    ports  { 0x1ce 0x1cf 0x238 0x23b 0x23c 0x23f 0x9ae8 0x9ae9 0x9aee 0x9aef }
  805.  
  806.   The board self test will list a failure but graphics programs will run
  807.   fine.
  808.  
  809.   9.4.  Why doesn't my soundcard software work with dosemu?
  810.  
  811.   Hannu Savolainen (hsavolai@cs.Helsinki.FI) reported (3/21/94) that
  812.  
  813.   The dosemu and any DOS program with it run under control of a
  814.   protected mode operating system. This means that the memory is not
  815.   mapped as the program expects. If it somehow manages to start DMA
  816.   based recording with SB, the recorded sound doesn't find it's way to
  817.   the application. It just destroys some data in the memory.
  818.  
  819.   James B. MacLean (jmaclean@fox.nstn.ns.ca) reported (6/19/94) that
  820.  
  821.   Sorry to disappoint, but at this time dosemu does not support directly
  822.   the necessary interception of interrupts or DMA generally required for
  823.   sound card access via dosemu :-(.
  824.  
  825.   It's bound to happen at some future date though :-),
  826.  
  827.   10.  Other Hardware
  828.  
  829.   10.1.  How do I get my xxxxx device working under dosemu?
  830.  
  831.   Corey Sweeney (corey@bbs.xnet.com) reported (5/30/94) that
  832.  
  833.   Here is a log of my adventures trying to get devices working under
  834.   dosemu.  So far I've gotten my voice mail system working and my
  835.   scanner half working.  Here's how:
  836.  
  837.   1. Look in your manual and find if your card uses any ports.  If your
  838.   manual gives you some, put them in your config file at the "ports"
  839.   line.  Remember that sometimes you need to have several ports in a
  840.   row, and the first one might be the only one documented.
  841.  
  842.   2. Try it out. If it doesn't work, or you don't have a manual (or your
  843.   manual is as crappy as my AT&T manual:) then run dosemu with "dos -D+i
  844.   2> /tmp/io.debug".  Run your device software, then exit dosemu.  Look
  845.   through /tmp/io.debug and find any port numbers it might give you.
  846.   Try adding those to the port lines and try running dosemu again.
  847.  
  848.   3. If you still fail then you may need interrupts.  Find out what
  849.   interrupt the card uses and get the SIG.tgz (silly interrupt
  850.   generator) from somewhere on tsx-11.mit.edu.  Install it as specified
  851.   in the instructions.
  852.  
  853.   and that's about it...
  854.  
  855.   Question: What if my card uses DMA?  Answer: Your screwed.
  856.  
  857.   11.  Problems and fixes
  858.  
  859.   11.1.  Dosemu crashed and now I can't type anything.
  860.  
  861.   Daniel Barlow(jo95004@sable.ox.ac.uk) reported (4/8/95) that
  862.  
  863.   If you have no terminal or network access that you can use to log in,
  864.   you may have to press the reset button.  If you can still get a usable
  865.   shell somehow, run "kbd_mode -a" to switch the keyboard out of raw
  866.   mode, and/or "stty sane" on the console so that you can see what
  867.   you're typing.
  868.  
  869.   A useful thing to do is to use a script to run dosemu, and run
  870.   "kbd_mode -a" automatically right after dosemu.  When dosemu crashes,
  871.   the script usually will resume running, and execute the "kbd_mode -a"
  872.   command.
  873.  
  874.   11.2.  I've enabled EMS memory in dosemu.conf but it does not help.
  875.  
  876.   Rob Janssen (rob@pe1chl.ampr.org) reported (7/11/94)
  877.  
  878.   Don't forget to load the provided ems.sys from the config.sys file.
  879.  
  880.   11.3.  How do I get rid of all those annoying "disk change" messages?
  881.  
  882.   (8/11/94)
  883.  
  884.   Grab and install klogd.  Try
  885.  
  886.            sunsite.unc.edu:/pub/Linux/system/Daemons/sysklogd1.2.tgz
  887.  
  888.   11.4.  Why won't dosemu run a second time after exiting in console
  889.   mode?
  890.  
  891.   Aldy Hernandez (aldy@sauron.cc.andrews.edu) reported (7/8/94) that
  892.  
  893.   You should disable your video and/or BIOS caching.
  894.  
  895.   11.5.  Why will dosemu run in a term but not in the console?
  896.  
  897.   JyiJiin Luo (jjluo@casbah.acns.nwu.edu) reported (4/19/94) that
  898.  
  899.   I experienced exactly the same problem before. I figured out all the
  900.   video shadow in my AMI BIOS must be disabled. Now dosemu runs fine on
  901.   my system.
  902.  
  903.   11.6.  How can I speed up dosemu?
  904.  
  905.   In some cases it is useful to play with the value of the HogThreshold
  906.   variable in your dosemu.conf file.
  907.  
  908.   Daniel Barlow(jo95004@sable.ox.ac.uk) reported (4/8/95) that
  909.  
  910.   HogThreshold should now be set to approximately half of the BogoMips
  911.   value that the system reports on boot.
  912.  
  913.   11.7.  My CDROM drive has problems reading some files under dosemu.
  914.  
  915.   Vinod G Kulkarni (vinod@cse.iitb.ernet.in) reported (4/7/94) that
  916.  
  917.   When a CDROM is mounted from linux and used from within dosemu (mapped
  918.   drive), there could be some problems. The CD-ROM driver (iso9660) in
  919.   the kernel tries to find out the type of the file (i.e. binary or
  920.   text).  If it can't find, it tries to guess the type of the file using
  921.   a heuristic. This heuristic fails under some circumstances when a
  922.   (almost) text file is to be treated as binary.  (I do not know if it
  923.   is a bug or feature.)
  924.  
  925.   The result of this is that if you copy such a file from CD-ROM (from
  926.   linux itself, and not necessarily dosemu), the resulting file will be
  927.   usually bigger than original file. (Blanks get added before ^J,^M.)
  928.   So a program running in dosemu gives an error or hangs, which may be
  929.   mistaken as problem of dosemu.
  930.  
  931.   Rob Janssen (pe1chl@rabo.nl) reported (8/10/94) that
  932.  
  933.   The way to solve this is to turn off conversion altogether.  Pass the
  934.   option "-o conv=binary" to the mount command mounting the CD-ROM, or
  935.   use the following in /etc/fstab:
  936.  
  937.   /dev/cdrom      /cdrom          iso9660 conv=binary,ro
  938.  
  939.   No patches to the kernel are necessary.
  940.  
  941.   11.8.  How do I see debugging output?
  942.  
  943.   Daniel Barlow(jo95004@sable.ox.ac.uk) reported (4/8/95) that
  944.  
  945.   As of dosemu 0.60, debugging output is redirected to a file specified
  946.   on the command line.  Use "dos -D+a -o /tmp/debug" to log all debug
  947.   output to /tmp/debug.  There should no longer be any need to redirect
  948.   stderr.
  949.  
  950.   11.9.  Why are my keystrokes echoed ttwwiiccee??
  951.  
  952.   Nick Holloway (alfie@dcs.warwick.ac.uk) reported (2/22/94) that
  953.  
  954.   After running dos after playing with some stty settings, I was getting
  955.   doubled key presses.  I can now reveal what the reason is!
  956.  
  957.   It only happens when dos is run on the console with 'istrip' set.
  958.   This is (I think) because the raw scancodes are mutilated by the
  959.   'istrip', so that key release events look like key press events.
  960.  
  961.   So, the input processing needs to be turned off when using the scan
  962.   codes on a console (it wouldn't be a good idea to do it for tty
  963.   lines).
  964.  
  965.   12.  Contributing to the dosemu project
  966.  
  967.   12.1.  Who is responsible for dosemu?
  968.  
  969.   (3/18/94)
  970.  
  971.   Dosemu is built upon the work of Matthias Lautner and Robert Sanders.
  972.   James B. MacLean (jmaclean@fox.nstn.ns.ca) is responsible for
  973.   organizing the latest releases of dosemu.
  974.  
  975.                          History of dosemu
  976.  
  977.             Version    Date                Person
  978.            -------------------------------------------------
  979.             0.1        September 3, 1992   Matthias Lautner
  980.             0.2        September 13, 1992  Matthias Lautner
  981.             0.3        ???                 Matthias Lautner
  982.             0.4        November 26, 1992   Matthias Lautner
  983.             0.47       January 27, 1993    Robert Sanders
  984.             0.47.7     February 5, 1993    Robert Sanders
  985.             0.48       February 16, 1993   Robert Sanders
  986.             0.48pl1    February 18, 1993   Robert Sanders
  987.             0.49       May 20, 1993        Robert Sanders
  988.             0.49pl2    November 18, 1993   James MacLean
  989.             0.49pl3    November 30, 1993   James MacLean
  990.             0.49pl3.3  December 3, 1993    James MacLean
  991.             0.50       March 4, 1994       James MacLean
  992.             0.50pl1    March 18, 1994      James MacLean
  993.             0.52       June 16, 1994       James MacLean
  994.             0.60       April 9, 1995       James MacLean
  995.  
  996.   12.2.  I want to help.  Who should I contact?
  997.  
  998.   The dosemu project is a team effort.  If you wish to contribute, see
  999.   the DPR (dosemu Project Registry).  A current copy may be found in
  1000.   dspsun.eas.asu.edu:/pub/dosemu.
  1001.  
  1002.