home *** CD-ROM | disk | FTP | other *** search
- <!-- This is the dosemu HOWTO, SGML source -- >
- <!-- Mike Deisher, deisher@dspsun.eas.asu.edu -->
-
- <!doctype linuxdoc system>
-
- <article>
-
- <title>The dosemu HOWTO
- <author>edited by Mike Deisher, <tt/deisher@dspsun.eas.asu.edu/
- <date>v0.60pl4, 11 August 1995
-
- <abstract>
- This is the `Frequently Asked Questions' (FAQ) / HOWTO document for
- dosemu. The most up-to-date version of the dosemu-HOWTO may be found
- in <tt>dspsun.eas.asu.edu:/pub/dosemu</tt>.
- </abstract>
-
- <toc>
-
- <sect>The preliminaries
-
- <sect1>What is dosemu, anyway?
-
- <p>To quote the manual, "dosemu is a user-level program which uses
- certain special features of the Linux kernel and the 80386 processor
- to run MS-DOS 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."
-
- <sect1>What's the newest version of dosemu and where can I get it?
-
- <p>The newest version of dosemu is <tt>dosemu0.60</tt> and can be
- ftp'ed from:
- <verb>
- tsx-11.mit.edu:/pub/linux/ALPHA/dosemu/
- dspsun.eas.asu.edu:/pub/dosemu/
- </verb>
-
- However, pre-release versions are also available for developers and
- ALPHA testers. They may be found in
- <verb>
- tsx-11.mit.edu:/pub/linux/ALPHA/dosemu/Development
- dspsun.eas.asu.edu:/pub/dosemu/Development/
- </verb>
- and have names of the form <tt>pre0.61.*.tgz</tt>. The pre-release code
- has the advantage that it is compatible with the most recent Linux
- kernels. Also, it includes new features. Remember that this is ALPHA
- code, however: there may be serious bugs and very little documentation
- for new features.
-
- <sect1>Where can I follow the development?
-
- <p>If you want to follow the development of dosemu, you should
- consider subscribing to the linux-msdos-digest mailing list. To
- subscribe, send mail to <tt>Majordomo@vger.rutgers.edu</tt> with the
- following command in the body of your email message:
- <verb>
- subscribe linux-msdos-digest your_username@your.email.address
- </verb>
- If you ever want to remove yourself from the mailing list,
- you can send mail to <tt>Majordomo@vger.rutgers.edu</tt> with the
- following command in the body of your email message:
- <verb>
- unsubscribe linux-msdos-digest your_username@your.email.address
- </verb>
-
- <sect1>What documentation is available for dosemu?
-
- <p>The dosemu manual (<tt>dosemu.texinfo</tt>) 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 (<tt>am20@unix.york.ac.uk</tt>) and is
- posted once in a while to the MSDOS channel of Linux Activists.
-
- The EMU success list (EMUsuccess.txt) is a list of all programs that
- have been reported to work with dosemu. It is posted once in a while
- to the mailing list. The most recent version can be found on
- dspsun.eas.asu.edu:/pub/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. The most recent version can be found on
- <tt>dspsun.eas.asu.edu:/pub/dosemu</tt>.
-
- <sect1>How do I submit changes or additions to the HOWTO?
-
- <p>The preferred method is to edit the file,
- <tt>dosemu-HOWTO-xx.x.sgml</tt> to incorporate the changes, create a
- diff file by typing something like
-
- <verb>
- diff original-file new-file
- </verb>
-
- and send it to <tt>deisher@dspsun.eas.asu.edu</tt>. If you do not
- know SGML, that's ok. Changes or new information in any form will be
- accepted. Creating the diff file just makes it easier on the HOWTO
- maintainer. :-)
-
-
- <sect1>Message from Greg...
-
- <p>Unless otherwise stated, Linux HOWTO documents are copyrighted by
- their respective authors. Linux HOWTO documents may be reproduced and
- distributed in whole or in part, in any medium physical or electronic,
- as long as this copyright notice is retained on all copies. Commercial
- redistribution is allowed and encouraged; however, the author would
- like to be notified of any such distributions.
-
- All translations, derivative works, or aggregate works incorporating
- any Linux HOWTO documents must be covered under this copyright notice.
- That is, you may not produce a derivative work from a HOWTO and impose
- additional restrictions on its distribution. Exceptions to these rules
- may be granted under certain conditions; please contact the Linux HOWTO
- coordinator at the address given below.
-
- In short, we wish to promote dissemination of this information through as
- many channels as possible. However, we do wish to retain copyright on the
- HOWTO documents, and would like to be notified of any plans to redistribute
- the HOWTOs.
-
- If you have questions, please contact Greg Hankins, the Linux HOWTO
- coordinator, at gregh@cc.gatech.edu.
-
- <sect>Compiling and installing dosemu
-
- <sect1>Where are the installation instructions?
-
- <p>The installation instructions are in the file, "QuickStart",
- included in the distribution.
-
- <sect1>Top ten problems while compiling and installing dosemu.
-
- <p>(4/8/95)
-
- 1. Forgetting to read the QuickStart Guide.
-
- 2. Try to compile with a kernel older than 1.1.45.
-
- 3. Having the wrong linux kernel source sitting in <tt>/usr/src/linux</tt>
-
- 4. Use dosemu with a kernel that does not have IPC compiled in.
-
- 5. Compile with gcc older than 2.5.8 or libc older than 4.5.21.
-
- 6. Forget to edit your <tt>/etc/dosemu.conf</tt> file.
-
- 7. Forget to run "<tt>FDISK /mbr</tt>" on your hdimage.
-
- 8. Run DOSEMU with partition access while they are already mounted.
-
- 9. Don't install dosemu with sufficient privileges (i.e., root).
-
- 10. Try to run DOSEMU on a multi-user linux Internet Service Provider.
-
-
- <sect1>How can I build a single (non-library) executable?
-
- <p>Marty Leisner (<tt>leisner@sdsp.mc.xerox.com</tt>) reported (4/8/95)
- that
-
- If you want to build one executable with QMAGIC, define STATIC in the
- makefile. Otherwise there's a library/executable combination.
-
- <sect1>How do I make ELF binaries?
-
- <p>Marty Leisner (<tt>leisner@sdsp.mc.xerox.com</tt>) reported (4/8/95)
- that
-
- If you want to make ELF binaries, define ELF in the "<tt/Makefile/".
- You need to make and install the slang library separately. Slang
- works well as a shared ELF library.
-
- <sect1>How do I compile dosemu on a machine with low memory?
-
- <p>Marty Leisner (<tt>leisner@sdsp.mc.xerox.com</tt>) reported (4/8/95)
- that
-
- If you have problems with running out of swap space you may want to
- add <tt/CFLAGS+=-fno-inline/ after <tt/CFLAGS/ is defined in
- <tt>dpmi/Makefile</tt>. 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.
-
- <sect1>How can I speed up compilation?
-
- <p>Marty Leisner (<tt>leisner@sdsp.mc.xerox.com</tt>) reported (4/8/95)
- that
-
- The default optimization is -O2. You may want edit the makefile to
- use -O (compiled somewhat faster/smaller).
-
- <sect1>How can I compile non-interactively?
-
- <p>Marty Leisner (<tt>leisner@sdsp.mc.xerox.com</tt>) reported (4/8/95)
- that
-
- If you define <tt/do_DEBUG/ in the makefile, you'll get <tt/-Wall -g/
- and a non-tex, non-interactive make.
-
- <sect1>More compilation tips from Marty...
-
- <p>Marty Leisner (<tt>leisner@sdsp.mc.xerox.com</tt>) reported (4/8/95)
- 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, "<tt/nmmmppp/", where
- "<tt/n/" is the version, "<tt/mmm/" is the minor version, and
- "<tt/ppp/" is the patchlevel. For example, kernel 1.1.88 corresponds
- to "1001088" and kernel 1.2.1 to "1002001".
-
- Begin all makes at the top level for best results. At the top level,
- entering "<tt>make subdirectory</tt>" will make the subdirectory. Each
- directory (and the top), has targets "<tt/clean/" and
- "<tt/realclean/". "<tt/clean/" will remove the objects,
- "<tt/realclean/" will also remove dependencies and other files.
-
- <sect1>Do I need to compile dosemu as root?
-
- <p>(4/8/95)
-
- No. You must install it as root, though.
-
- <p>Marty Leisner (<tt>leisner@sdsp.mc.xerox.com</tt>) 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.
-
- <sect1>The makefile is in an infinite loop...
-
- <p>James B. MacLean (<tt>jmaclean@fox.nstn.ns.ca</tt>) reported
- (4/12/95) that
-
- We have seen these at certain times, usually when a timestamp plays an
- issue. Some people fix it by upgrading their kernel, while others
- (myself included) just "<tt/make realclean/" then "<tt/make most/".
-
-
- <sect>Hard disk setup
-
- <sect1>How do I use my hard disk with dosemu?
-
- <p>First, mount your dos hard disk partition as a Linux subdirectory.
- For example, you could create a directory in Linux such as /dos (mkdir
- -m 755 /dos) and add a line like
- <verb>
- /dev/hda1 /dos msdos umask=022
- </verb>
- to your /etc/fstab. (In this example, the 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 <tt>mount
- /dos</tt>. Now you can add a line like
- <verb>
- lredir d: linux\fs/dos
- </verb>
- to the AUTOEXEC.BAT file in your hdimage (see the comments on LREDIR
- below). On a multi-user system you may want to use
- <verb>
- lredir d: linux\fs\${home}
- </verb>
- where "home" is the name of an environmental variable that contains
- the location of the dos directory (/dos in this example).
-
- ---------------------
-
- <p>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.
-
- ---------------------
-
- <p> Robert D. Warren (<tt>rw11258@xx.acs.appstate.edu</tt>) reported
- (4/28/94) 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:
- <verb>
- install=c:\lredir.exe c: LINUX\FS\home/dos
- </verb>
- This will execute lredir just before the command interpreter runs. And
- I have successfully run it with both command.com and 4DOS. This
- eliminates the offset problem using lredir in autoexec.bat.
-
- <p> Uwe Bonnes (<tt>bon@elektron.ikp.physik.th-darmstadt.de</tt>) adds
- (8/11/95) that
-
- It is usefull to do:
- <verb>
- install=C:\subst.exe g: c:
- </verb>
- 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
- "<tt/autoexec.emu/" to keep dos and dosemu apart.
-
-
- <sect1>Can I use my stacked/double-spaced/super-stored disk?
-
- <p>At this time, compressed drives cannot be accessed via the
- redirector (lredir or emufs). However, many people have had success
- by simply uncommenting the
- <verb>
- disk { wholedisk "/dev/hda" } # 1st partition on 1st disk
- </verb>
- line in their dosemu config file. Others have had success using
- <verb>
- disk { partition "/dev/hda1" }
- </verb>
-
- 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.
-
- ---------------------
-
- If LILO is installed, the above will not work. However...
-
- Thomas Mockridge (<tt>thomas@aztec.co.za</tt>) reported (8/5/94) that
-
- To boot dosemu with LILO and Stacker 4.0 I did a little work around...
-
- 1. <tt>dd</tt> the MBR to a file. (or norton utility, etc., first 512 bytes)
-
- 2. Boot dos (from full boot not emu), do a fdisk /mbr, make your dos
- partition active with (dos) fdisk.
-
- 3. Copy the new MBR to a file.
-
- 4. Replace the original MBR
-
- 5. Copy the second MBR to /var/lib/dosemu/partition.hda? (Whichever is
- your dos partition)
-
- 6. Set dosemu.conf
- <verb>
- disk {partition "/dev/hda? ?"}
- </verb>
-
- 7. Start dosemu and and voila! No LILO.
-
- ---------------------
-
- Holger Schemel (<tt>q99492@pbhrzx.uni-paderborn.de</tt>) reported
- (2/10/94) 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 (<tt>moffatd@dcs.gla.ac.uk</tt>) also reported
- (3/27/94)
-
- "...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."
-
- <sect>Parallel ports, serial ports and mice
-
- <sect1>Where are the (microsoft compatible) mouse drivers?
-
- <p>Tom Kimball (<tt>tk@pssparc2.oc.com</tt>) reported (11/24/93) that
-
- Several people said to use a different mouse driver and suggested
- some. I found a couple that seem to work fine.
- <verb>
- oak.oakland.edu:/pub/msdos/mouse/mouse701.zip (mscmouse)
- oak.oakland.edu:/pub/msdos/mouse/gmous102.zip (gmouse)
- </verb>
-
- <sect1>Why doesn't the mouse driver work?
-
- <p>Mark Rejhon (<tt>mdrejhon@magi.com</tt>) reported (4/7/95) that
-
- If you start the mouse driver and it just hangs (it might actually
- take 30-60s), but if you are waiting longer than a minute for the
- mouse driver to start, try specifying the COM port that the mouse
- is on, at the mouse driver command line.
-
- <sect1>Why does dosemu clobber COM4?
-
- <p>Rob Janssen (<tt>rob@pe1chl.ampr.org</tt>) reported (3/24/94) that
-
- According to <tt>jmorriso@bogomips.ee.ubc.ca</tt>, "dosemu still
- clobbers COM4 (0x2e8, IRQ 5). 0x2e8 isn't in ports{} in config. I
- have to run setserial /dev/cua3 irq 5 on it after dosemu exits."
-
- This is caused by your VGA BIOS. I have found that by enabling the IO
- port trace and seeing where it was clobbered.
-
- Disable the "<tt/allowvideoportaccess on/" line in config and it will
- work fine. When you then have problems with the video, try to enable
- more selective ranges of IO addresses (e.g., 40-43).
-
- <sect1>How do I use dosemu over the serial ports?
-
- <p>
-
-
- <sect1>How can I switch between dosemu and a shell over the serial line?
-
- <p>John Taylor (<tt>taylor@pollux.cs.uga.edu</tt>) reported (5/25/94)
- that
-
- I am running Linux 1.1.13 and want to point out a great feature that
- should be protected and not taken out (IMHO). With the 52 version, I
- can run the program, "screen." From screen, i can invoke dos -D-a.
- What is really great (IMHO) is the screen commands (the CTRL-A cmds)
- still work. This means I can do a CTRL-A C and add another unix shell,
- and switch between the two (DOS / UNIX). This allows me to use dosemu
- over the serial line really well, because switching is made easy.
-
- <sect1>How can I get the parallel ports to work?
-
- <p>Dennis Flaherty (<tt>dennisf@flaherty.elk.miles.com</tt>) reported
- (3/2/95) that
-
- 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
- <verb>
- ports { 0x3b8 0x3b9 0x3ba 0x3bb 0x3bc 0x3bd 0x3be 0x3bf } # lpt0
- </verb>
- for the "monitor card" printer port (corresponds to /dev/lp0), or
- <verb>
- ports { 0x378 0x379 0x37a 0x37b 0x37c 0x37d 0x37e 0x37f } # lpt1
- ports { 0x278 0x279 0x27a 0x27b 0x27c 0x27d 0x27e 0x27f } # lpt2
- </verb>
- for LPT1 (/dev/lp1) and LPT2 (/dev/lp2) respectively.
-
- <sect>Multiple users and Non-interactive sessions
-
- <sect1>Can I use dosemu on a multi-user system?
-
- <p>Corey Sweeney (<tt>corey@amiganet.xnet.com</tt>) reported (12/8/93)
- 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 <tt>/etc/dosemu.conf</tt> file
- there exists the line saying that the hard drive image is "hdimage".
- If you change this to <tt>/var/lib/dosemu/hdimage</tt> 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 <tt>/var/lib/dosemu</tt> 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).
-
- <p><tt/[/Note: Users may also create a personal configuration file
- named <tt>~/.dosrc</tt> (same format as <tt>/etc/dosemu.conf</tt>) to
- run their own copy of dos.]
-
- <sect1>How can I run dos commands non-interactively?
-
- <p>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:
-
- <p>Dan Newcombe (<tt>newcombe@aa.csc.peachnet.edu</tt>) reported
- (1/27/94) 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. <tt/[/Your dos partition is assumed to be mounted under
- Linux, already.]
-
- Suppose you wanted to run wp60.exe with the parameter "<tt>wp60
- d:\doc\paper.txt</tt>". You would do something like
- "<tt>dosrun wp60 d:\doc\paper.txt</tt>". "<tt>dosrun</tt>"
- would be a linux shell program that would a) edit/modify/recreate the
- dos <tt>autoexec.bat</tt> from your dos partition and b) simply run
- dosemu (e.g., "<tt>dos -C >/dev/null</tt>". Step a) would somehow
- keep all the stuff you'd normally want in <tt>autoexec.bat</tt> (e.g.,
- mouse.com) and the last line would be "<tt>wp60
- d:\doc\paper.txt</tt>".
-
- On the dosemu side, beforehand, you would have to modify the
- <tt>config.sys</tt> file (located in hdimage) so that it 1) uses emufs
- to access the dos partition as <tt>D:</tt>, 2) sets
- "<tt>COMPSEC=D:&bsol</tt> (I think. I don't have a DOS manual around.),
- and 3) sets "<tt>shell=c:\command.com /p</tt>".
-
- 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.
-
- ---------------------
-
- <p>Daniel T. Schwager (<tt>danny@dragon.s.bawue.de</tt>) reported
- (7/2/94) that
-
- You can use different dosemu.conf files (and different hd-boot-images
- with different autoexec.bat's) and call dosemu like
- <verb>
- $ dos -F my_quicken_q_exe_dosemu.conf
- </verb>
-
- ---------------------
-
- <p>Dietmar Braun (<tt>braun@math20.mathematik.uni-bielefeld.de</tt>)
- reported (7/4/94) 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 "<tt>DOS</tt>" which does something like
- <verb>
- mkdir /tmp/dos.$$
- DOSTMP=/tmp/dos.$$; export DOSTMP
- </verb>
- and then a little trick to get "<tt>echo $* >
- $DOSTMP/startup.bat</tt>" really working (actually a small C Program
- which turns '/' in '<tt>&bsol</tt>' and terminates lines correctly for
- messy dos with cr/lf pairs and adds <tt>^Z</tt> at the end of the
- file), creates startup files, links and so on in this directory, and
- then starts dosemu. Within "<tt>autoexec.bat</tt>" drive c: is
- redirected from hdimage to this tmp-directory, which has links for
- <tt>$HOME</tt> and <tt>$PWD</tt>.
-
- So if I want to see my filenames shortened to 8.3 I can type "<tt>DOS
- dir</tt>" and I get my current directory listing. So I have full DOS
- multi user (I don't have any DOS partition and redirecting to Linux
- preserves user permissions) and multi tasking. (dosemu sessions
- are completely independent). I did this once to be able to use a dos
- driver for my printer. My printcap df is actually a DOS program. So
- you can even make DOS executables act as lpr filters.
-
- <sect>dosemu and Netware
-
- <sect1>How do I get Netware access from dosemu?
-
- <p>James B. MacLean (<tt>jmaclean@fox.nstn.ns.ca</tt>) reported
- (11/28/94) that
-
- Dosemu now supports pdipx (an IPX over pktdrvr) and pdether (uses
- Novell's MLID spec) to access Novell LAN's via the built in packet
- driver. The packet driver sits at interrupt 0x60, and abids by the
- normal packet driver rules. That said, beware of trying any DOS TCP/IP
- just yet. Single access can be made by:
- <verb>
- 1) cd ./net
- 2) cp libpacket.c.single libpacket.c
- 3) cp pktnew.c.single pktnew.c
- 4) recompile dosemu
- 5) run dosemu
- 6) load pdether as described by its docs (pdipx is another method)
- 7) load netx
- 8) enjoy netware access :-)
- </verb>
- If you need special access to your NIC, read on. By default
- dosemu will not get interrupts from the kernel. That said, if you'd
- like to give your NIC to dosemu for it to control, maybe for access to
- Netware on the network through a NETX client, I do have a driver
- (Silly Interrupt Generator) to put in the kernel that any program,
- like dosemu can use to get at the interrupt for your NIC. I use it in
- dosemu to access a Novell Lite network in the past until the packet
- driver existed.
-
- Any interested parties should E-mail me
- (<tt>jmaclean@fox.nstn.ns.ca</tt>) and I'll pass along some
- directions.
-
- Want multiple dosemu's access to Novell?
- <verb>
- 1) compile current [pre-release] dosemu
- 2) follow directions in ./v-net/dosnet.README
- 3) carry on from 5) above.
- </verb>
-
- <sect1>Netware HOWTO
-
- <p>(4/8/95)
-
- The Netware-HOWTO by Lauri Tischler (<tt>ltischler@fipower.pp.fi</tt>)
- is now a separate document. It is included with the dosemu
- distribution and may also be found at your favorite HOWTO sites (e.g.,
- <tt>http://sunsite.unc.edu/mdw/linux.html</tt>).
-
- <sect>dosemu and X-windows
-
- <sect1>Can I run dosemu in console mode while running X?
-
- <p>Ronald Schalk (<tt>R.Schalk@uci.kun.nl</tt>) reported (1/17/94)
- that
-
- Yes, no problem. Just remember to use ctrl-alt-<Fn<tt/>/ to go to
- a Virtual Console (VC), and you can run any Linux application (dosemu
- is a linux-application). I've got almost always WP5.1 in a dos
- session.
-
- <tt/[/Note: Use ctrl-alt-F7 to switch back to X from dosemu.]
-
-
- <sect1>Is it possible to run dosemu in a window in X-windows?
-
- <p>Mark Rejhon (<tt>mdrejhon@magi.com</tt>) reported (4/8/95) that
-
- If you have X installed and you have successfully compiled dosemu
- and run it successfully outside X-windows, you should be able to
- run "<tt/xdos/" or "<tt/dos -X/" right away to bring up a dosemu
- window. If this does not work, make sure:
-
- <verb>
- 1. Dosemu has X support compiled in (X_SUPPORT=1 in the Makefile).
-
- 2. Installed the VGA font. You can do this by running the
- 'xinstallvgafont' script in the dosemu-0.60 source directory:
-
- sh xinstallvgafont
-
- 3. 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.
-
- 4. Configured the X-related configuration options in your
- /etc/dosemu.conf file.
- </verb>
-
- Alternatively, you can run dosemu inside a color xterm,
- which is not recommended because many color xterms have buggy
- support for the complex text display capabilities of dosemu.
- This does not require <tt/X_SUPPORT/ to be compiled into dosemu.
- However, if you really want to do this, do the following steps:
-
- <verb>
- 1. Install ansi_xterm. The recommended package is available as:
- tsx-11.mit.edu:/pub/linux/ALPHA/dosemu/Development/ansi-xterm-R6.tar.gz
-
- 2. Installed the VGA font. You can do this by running the
- 'xinstallvgafont' script in the dosemu-0.60 source directory:
-
- sh xinstallvgafont
-
- 3. 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.
-
- 4. Configured the terminal-related (not X-related) settings in
- /etc/dosemu.conf
- </verb>
-
- <p>Marty Leisner (<tt>leisner@sdsp.mc.xerox.com</tt>) reported (3/31/95)
- that
-
- I have xrdb log the following resources
- <verb>
- dosxterm*Font: vga
- dosxterm*geometry: 80x25
- dosxterm*saveLines: 25
- </verb>
- or I alias "<tt/dosxterm/" to
- "<tt/term -fn vga -title dosxterm -geometry 80x25 -sl 25/"
-
- If you use the xrdb method, all you have to do is run
- "<tt/xterm -name dosxterm/"
-
- <sect1>Does ansi emulation work properly?
-
- <p>Marty Leisner (<tt>leisner@sdsp.mc.xerox.com</tt>) reported (3/31/95)
- that
-
- Yes. I use <tt/nnansi.com/ under X windows. I find 25, 43 and 50
- line mode work properly, however 50 line mode is difficult to use on a
- 1024x768 screen (unless smaller fonts are used are you use a bigger
- screen. 43 line mode will resize the <tt/xterm/ window to use 43 lines.
-
-
- <sect>dosemu and MS-Windows 3.1
-
- <sect1>Is it possible to run MS-Windows 3.1 under dosemu?
-
- <p>The <tt/README/ file says:
-
- <verb>
- ***************************************************************
- * WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!! *
- * *
- * Danger Will Robinson!!! This is not yet fully supported *
- * and there are many known bugs! Large programs will almost *
- * certainly NOT WORK!!! BE PREPARED FOR SYSTEM CRASHES IF *
- * YOU TRY THIS!!! *
- * *
- * WARNING!!! WARNING!!! WARNING!!! WARNING!!! WARNING!!! *
- ***************************************************************
- </verb>
-
- What, you're still reading? Okay, it is possible to boot WINOS2 (the
- modified version of Windows 3.1 that OS/2 uses) under dosemu. Many
- kudos to Lutz and Dong!
-
- There are many known problems. Windows is prone to crash and could
- take data with it. Large programs will not load. The mouse may be
- painfully sluggish, 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.) 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...
-
- <verb>
- 1. Get dosemu & the Linux source distributions.
- 2. Unpack dosemu.
- 3. Patch the linux kernel with the file kernel.diff in the dosemu ./dpmi
- directory.
- 4. Recompile the kernel.
- 5. Compile dosemu.
- 6. Reboot the kernel.
- 7. Get the WINOS2.ZIP distribution from tsx-11.mit.edu
- 8. Unpack the WINOS2 files into your WINDOWS\SYSTEM directory.
- 9. Reboot linux, and startup dosemu (make certain that DPMI is "ON")
- 10. Copy the file winemu.bat to your c: drive.
- 11. Cross your fingers.
- </verb>
-
- Good luck!
-
- <verb>
- REMEMBER: THIS IS NOT AT ALL RECOMMENDED!!! THIS IS NOT RECOMMENDED!!!
- WE DO NOT RECOMMEND YOU TRY THIS!!!
- </verb>
-
- <sect>Video and sound
-
- <sect1>Can I run 32-bit video games under dosemu?
-
- <p>Mark Rejhon (<tt>mdrejhon@magi.com</tt>) reported (4/8/95) 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
- <tt>/etc/dosemu.conf</tt> 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. Please send Email to the
- EMUsuccess.txt maintainer if the game works successfully!
-
-
- <sect1>Exiting from dosemu gives me a screen full of garbage.
-
- <p> (4/8/95)
-
- The problem is that the font information for the VGA text screen is
- not being saved. Get a copy of the svgalib package. The current
- source is in
- <verb>
- sunsite.unc.edu:/pub/Linux/libs/graphics/svgalib125.tar.gz
- </verb>
- It may also be available as a pre-compiled package in your favorite
- Linux distribution (e.g., Slackware, etc.). Use <tt/savetextmode/ to
- save the current text mode and font to a file in <tt>/tmp</tt> before
- running dosemu. Then run <tt/textmode/ upon exiting dosemu to restore
- it.
-
- <sect1>How do I get dosemu to work with my Trident/Actix/other video card?
-
- <p><tt/[/The screen flickers violently, displays the video BIOS startup
- message, and hangs.]
-
- Andrew Tridgell (<tt>tridge@nimbus.anu.edu.au</tt>) reported (1/29/94)
- that
-
- I found with early versions it would work if I used:
- <verb>
- ports { 0x42 }
- </verb>
- 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:
- <verb>
- ports { readonly 0x42 }
- </verb>
- and it boots dosemu more slowly, but more reliably.
-
- ---------------------
-
- Tim Shnaider (<tt>tims@kcbbs.gen.nz</tt>) also reported (1/18/94) 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 <tt>/etc/dosemu</tt>
- directory There will be a few video lines. Here is my video line
- <verb>
- video { vga console graphics chipset trident memsize 1024 vbios_file
- /etc/dosemu/vbios }
- </verb>
- where vbios is the file generated by typing
- <verb>
- getrom > vbios
- </verb>
-
- ---------------------
-
- <p>Douglas Gleichman (<tt>p86884@tcville.edsg.hac.com</tt>) reported
- (9/1/94) that (with the ATI Graphics Ultra)
-
- For dosemu 0.52 you need to add this line to your dosemu.conf file:
- <verb>
- ports { 0x1ce 0x1cf 0x238 0x23b 0x23c 0x23f 0x9ae8 0x9ae9 0x9aee 0x9aef }
- </verb>
- The board self test will list a failure but graphics programs will
- run fine.
-
- <sect1>Why doesn't my soundcard software work with dosemu?
-
- <p>Hannu Savolainen (<tt>hsavolai@cs.Helsinki.FI</tt>) reported
- (3/21/94) 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.
-
- <p>James B. MacLean (<tt>jmaclean@fox.nstn.ns.ca</tt>) reported
- (6/19/94) 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 :-),
-
- <sect>Other Hardware
-
- <sect1>How do I get my xxxxx device working under dosemu?
-
- <p>Corey Sweeney (<tt>corey@bbs.xnet.com</tt>) reported (5/30/94) 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<tt/&/T manual:) then run dosemu with
- "<tt>dos -D+i 2> /tmp/io.debug</tt>". Run your device software, then
- exit dosemu. Look through <tt>/tmp/io.debug</tt> and find any port
- numbers it might give you. Try adding those to the port lines and try
- running dosemu again.
-
- 3. If you still fail then you may need interrupts. Find out what
- interrupt the card uses and get the SIG.tgz (silly interrupt generator)
- from somewhere on tsx-11.mit.edu. Install it as specified in the
- instructions.
-
- and that's about it...
-
- Question: What if my card uses DMA? Answer: Your screwed.
-
- <sect>Problems and fixes
-
- <sect1>Dosemu crashed and now I can't type anything.
-
- <p>Daniel Barlow(<tt>jo95004@sable.ox.ac.uk</tt>) reported (4/8/95) that
-
- If you have no terminal or network access that you can use to log in,
- you may have to press the reset button. If you can still get a usable
- shell somehow, run "<tt/kbd_mode -a/" to switch the keyboard out of
- raw mode, and/or "<tt/stty sane/" on the console so that you can see
- what you're typing.
-
- A useful thing to do is to use a script to run dosemu, and run
- "<tt/kbd_mode -a/" automatically right after dosemu. When dosemu
- crashes, the script usually will resume running, and execute the
- "<tt/kbd_mode -a/" command.
-
- <sect1>I've enabled EMS memory in dosemu.conf but it does not help.
-
- <p>Rob Janssen (<tt>rob@pe1chl.ampr.org</tt>) reported (7/11/94)
-
- Don't forget to load the provided ems.sys from the config.sys file.
-
- <sect1>How do I get rid of all those annoying "disk change" messages?
-
- <p>(8/11/94)
-
- Grab and install <tt/klogd/. Try
- <verb>
- sunsite.unc.edu:/pub/Linux/system/Daemons/sysklogd1.2.tgz
- </verb>
-
- <sect1>Why won't dosemu run a second time after exiting in console mode?
-
- <p> Aldy Hernandez (<tt>aldy@sauron.cc.andrews.edu</tt>) reported
- (7/8/94) that
-
- You should disable your video and/or BIOS caching.
-
- <sect1>Why will dosemu run in a term but not in the console?
-
- <p>JyiJiin Luo (<tt>jjluo@casbah.acns.nwu.edu</tt>) reported (4/19/94)
- that
-
- I experienced exactly the same problem before. I figured out all the
- video shadow in my AMI BIOS must be disabled. Now dosemu runs fine on
- my system.
-
- <sect1>How can I speed up dosemu?
-
- <p>In some cases it is useful to play with the value of the
- <tt/HogThreshold/ variable in your <tt/dosemu.conf/ file.
-
- <p>Daniel Barlow(<tt>jo95004@sable.ox.ac.uk</tt>) reported (4/8/95) that
-
- HogThreshold should now be set to approximately half of the BogoMips
- value that the system reports on boot.
-
-
- <sect1>My CDROM drive has problems reading some files under dosemu.
-
- <p>Vinod G Kulkarni (<tt>vinod@cse.iitb.ernet.in</tt>) reported
- (4/7/94) that
-
- When a CDROM is mounted from linux and used from within dosemu (mapped
- drive), there could be some problems. The CD-ROM driver (iso9660) in
- the kernel tries to find out the type of the file (i.e. binary or
- text). If it can't find, it tries to guess the type of the file using
- a heuristic. This heuristic fails under some circumstances when a
- (almost) text file is to be treated as binary. (I do not know if it
- is a bug or feature.)
-
- The result of this is that if you copy such a file from CD-ROM (from
- linux itself, and not necessarily dosemu), the resulting file will be
- usually bigger than original file. (Blanks get added before
- <tt/^J/,<tt/^M/.) So a program running in dosemu gives an error or
- hangs, which may be mistaken as problem of dosemu.
-
- <p>Rob Janssen (<tt>pe1chl@rabo.nl</tt>) reported (8/10/94) that
-
- The way to solve this is to turn off conversion altogether. Pass the
- option "<tt>-o conv=binary</tt>" to the mount command mounting the
- CD-ROM, or use the following in <tt>/etc/fstab</tt>:
- <verb>
- /dev/cdrom /cdrom iso9660 conv=binary,ro
- </verb>
- No patches to the kernel are necessary.
-
- <sect1>How do I see debugging output?
-
- <p>Daniel Barlow(<tt>jo95004@sable.ox.ac.uk</tt>) reported (4/8/95) that
-
- As of dosemu 0.60, debugging output is redirected to a file specified
- on the command line. Use "<tt>dos -D+a -o /tmp/debug</tt>" to log all
- debug output to <tt>/tmp/debug</tt>. There should no longer be any
- need to redirect <tt/stderr/.
-
-
- <sect1>Why are my keystrokes echoed ttwwiiccee??
-
- <p>Nick Holloway (<tt>alfie@dcs.warwick.ac.uk</tt>) reported (2/22/94)
- 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).
-
- <sect>Contributing to the dosemu project
-
- <sect1>Who is responsible for dosemu?
-
- <p>(3/18/94)
-
- Dosemu is built upon the work of Matthias Lautner and Robert Sanders.
- James B. MacLean (<tt>jmaclean@fox.nstn.ns.ca</tt>) is responsible for
- organizing the latest releases of dosemu.
- <verb>
- History of dosemu
-
- Version Date Person
- -------------------------------------------------
- 0.1 September 3, 1992 Matthias Lautner
- 0.2 September 13, 1992 Matthias Lautner
- 0.3 ??? Matthias Lautner
- 0.4 November 26, 1992 Matthias Lautner
- 0.47 January 27, 1993 Robert Sanders
- 0.47.7 February 5, 1993 Robert Sanders
- 0.48 February 16, 1993 Robert Sanders
- 0.48pl1 February 18, 1993 Robert Sanders
- 0.49 May 20, 1993 Robert Sanders
- 0.49pl2 November 18, 1993 James MacLean
- 0.49pl3 November 30, 1993 James MacLean
- 0.49pl3.3 December 3, 1993 James MacLean
- 0.50 March 4, 1994 James MacLean
- 0.50pl1 March 18, 1994 James MacLean
- 0.52 June 16, 1994 James MacLean
- 0.60 April 9, 1995 James MacLean
- </verb>
-
- <sect1>I want to help. Who should I contact?
-
- <p>The dosemu project is a team effort. If you wish to contribute,
- see the DPR (dosemu Project Registry). A current copy may be found in
- <tt>dspsun.eas.asu.edu:/pub/dosemu</tt>.
-
- </article>
-