DOSEMU


Contents

  1. What is DOSEMU ?
  2. Where to get it ?
  3. Quick start
  4. DOSEMU and X-windows
  5. DOSEMU and MS-Windows
  6. Important notes
  7. Conslusion
  8. Examples

What is DOSEMU ?

DOSEMU is a PC Emulator application that allows Linux to run a DOS operating system in a virtual x86 machine. This allows you to run many DOS applications.

These are capabilities of DOSEMU worth noting:


Where to get it ?

The DOSEMU PC Emulator (version 0.60.3) can be downloaded from the following FTP sites:
  tsx-11.mit.edu:/pub/linux/ALPHA/dosemu/dosemu0.60.3.tgz
  dspsun.eas.asu.edu:/pub/dosemu/dosemu0.60.3.tgz
  sunsite.unc.edu:/pub/Linux/system/Emulators/dosemu0.60.3.tgz 
I recommend this Linux WWW:
  http://linux.ms.mff.cuni.cz/LINUX/Archive/Emulators/dosemu/dosemu0.60.3.tgz 

Quick start

Instructions on how to quickly get DOSEMU up and running (see QuickStart file).

1. Kernel/GCC/libc requirements

Kernel:
- Linux version 1.1.43 or better is now required for running DOSEMU, version 1.2.2 is recommended.
- If you are running 1.1.59, you should upgrade to version 1.2.2. There are known disk access bugs through the mid 1.1.60's which are known to cause file corruption.
- The kernel must be compiled with System V IPC enabled.
GCC:
- At least GCC 2.5.8
Libc:
- At least 4.5.21
Swap:
- Plenty of swap, since DOSEMU requires between 12 and 25 megabytes of total memory to compile, depending on Makefile configuration.
Note:
Slackware 2.2.0 includes kernel 1.2.1, gcc 2.6.3, libc 4.6.27 - it's O.K.

2. Compiling and installing DOSEMU

If you want to use programs that require DPMI, e.g. BP 7.0, BC++ 3.1 or MS-Windows 3.1, read Preparing for DPMI in DOSEMU and MS-Windows part.

To build the library files:

3. Configuring DOSEMU

4. Booting DOSEMU the first time

If you are new to DOSEMU: If you already have a HDIMAGE file:

5. Now that you've set up your HDIMAGE file

Notes: My advices: If something's not right see section 6. Something's not right in QuickStart file.


DOSEMU and X-windows

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. Before the first xdos runing run xset fp rehash. If xdos does not work, make sure:
  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.
If some keys or their combinations are not work properly check key mapping of your window manager.

You can run dosemu in console mode (via 'dos') while running X. Just remember to use ctrl-alt-<Fn> to go to a Virtual Console, and you can run any Linux application (dosemu is a linux-application).

Note:
Use ctrl-alt-F7 to switch back to X from dosemu.
For detail see ./doc/README.X and ./doc/DOSEMU-HOWTO files.


DOSEMU and MS-Windows

Windows 3.0 Real Mode

DOSEMU has been able to run Windows 3.0 in Real Mode for some time now. If you really, really, really want to run Windows under DOSEMU, this is the tact to take for the moment.

Windows 3.1 Protected Mode

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

There are many known problems. Windows is prone to crash, 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...

Preparing for DPMI

If you want to use programs that require DPMI, e.g. BP 7.0, BC++ 3.1 or MS-Windows 3.1, you have to patch your kernel and recompile it and compile dosemu with EMUMODULEs. You must be logged on as root.
   cd /usr/src
   patch < path_to_dosemu-0.60.3/dpmi/kernel.diff
   cd linux
   make zlilo     # (it's for LILO, use proper command for your system)
And uncomment the toplevel Makefile around line 21 so that it sets
   REQUIRES_EMUMODULE = -DREQUIRE_EMUMODLE
and set KERNEL_VERSION to proper string (eg. 1002001 for v. 1.2.1) then compile dosemu (via make most). I have already compiled dosemu and I must do 'make realclean' before recompile.

Don't forget load the emumodule using the included load_module.sh script before running dosemu. I call it in '/etc/rc.d/rc.local'. In my opinion it is the safest way to do NOT forget load the emumodule.

How run Windows 3.1

  1. Prepare linux and dosemu for DPMI.
  2. Get the WINOS2.ZIP distribution from tsx-11.mit.edu. I recommend a mirror of tsx-11 at
       ftp.cvut.cz/pub/linux/tsx-11/
         and there
       ALPHA/dosemu/Development/DosStuff/os2win31.zip (358K) 
  3. Unpack the WINOS2 files into your WINDOWS\SYSTEM directory. (Infact you only need WINDOWS/SYSTEM/os2k386.exe).
  4. Startup dosemu (make certain that DPMI is set to a value such as 4096).
  5. Copy the file ./dpmi/winemu.bat to your c: drive and edit it if you need.
  6. Look through SYSTEM.INI and comment out:
  7. Cross your fingers.
Good luck!

REMEMBER:  THIS IS NOT AT ALL RECOMMENDED!!!  THIS IS NOT RECOMMENDED!!!
           WE DO NOT RECOMMEND YOU TRY THIS!!!
For detail see ./doc/README.WIN and ./doc/DOSEMU-HOWTO files.


Important notes

If you haven't used DOSEMU in several months (Especially if the last version you used was DOSEMU 0.52 or earlier), please go to great caution to read the "QuickStart" file included with DOSEMU since the location and format of files (including the configuration file) has changed since the DOSEMU 0.50pl1.

While DOSEMU may be more stable than many of the previous releases, it must be noted that it is still possible to crash the Linux video and keyboard, if you don't follow instructions properly. In this case, it becomes necessary to use a remote terminal or even the RESET button, to reboot the system.

The main risks of DOSEMU are the 'graphics' capability and 'rawkeyboard'. These can be disabled in the DOSEMU configuration file, to make DOSEMU become bullet-proof, at the cost of some convenience.


Conslusion


Examples

Here are some interesting files: