Note: This is a *very* old document. I had been using Linux for about 6 months. These days it would be foolish to use DOSEMU for anything, let alone for gaming, when DosBox does the job orders of magnitude better and more easily. I leave this on the net for historical perspective. My system Satan is a dual PII/233 running Suse linux 6.2. These are my notes on dosemu. After reading the howto and some other documents, I simply typed dos from an Eterm and got: CPU speed set to 233/1 MHz Running on CPU=586, FPU=1, rdtsc=1 DOS-C compatibility 3.31 (C) Copyright 1995, 1996, 1997, 1998 Pasquale J. Villani All Rights Reserved DOS-C version 1.0 Beta 2 [FreeDOS Release] (Build 1937). DOS-C is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. For technical information and description of the DOS-C operating system consult "FreeDOS Kernel" by Pat Villani, published by Miller Freeman Publishing, Lawrence KS, USA (ISBN 0-87930-436-7). Running dosemu-0.98.8.0 compatibility, DosC patch 1 Process 0 starting: command.com ****************************************************************************** Please note that this is only a simple DOSEMU session based on FreeDOS. You will find some DOS features you are used to missing. In particular you will not be able to modify or create any file within this session. If you want to use FreeDOS *and* be able to write files you have to use a DOSEMU image file or you need direct partition access. On the other hand, DOSEMU is quite capable of booting another DOS. If you have a directory with DOS/Win9x installed, follow these steps to get it running in DOSEMU: - create a symbolic link to your DOS: ln -snf /where/my/dos/dir/is /var/lib/dosemu/drives/c - if you want, add more drives (e.g. ln -snf /d /var/lib/dosemu/drives/d) If you're using Win9x you might want to edit msdos.sys: - comment out the WinDir=C:\WINDOWS entry - change/add the following options: BootGUI=0 Logo=0 And do not load any keyboard driver using keyb.exe (read the docu on this). ****************************************************************************** Dosemu version 0.98.8 detected Welcome to DOSEMU 0.98! C:\> It worked the first time without a hitch. I didn't know how to get out; the howto says that ctl-alt-pgdown should do it, but it didn't. Ended up having to send a TERM signal to the dos process. I noticed that I can type xdos as well as dos. dos will boot boot msdog in the current xterm. xdos will create a new window for itself. This uses FreeDOS, which has some limitations as the opening message states. Since I also have a dual boot system named Lucifer with Suse 6.2/win95, I decided to switch from FreeDOS to MS DOS 7.0, which is also known as Win95. Here's what I did: 1) Created /dos 1a- Placed command.com, config.sys, io.sys, msdos.sys into the directory. 2) Created /dos/windows 3) Created /dos/windows/command 3a- Copied all files from C:\windows\command\*.* to /dos/windows/command/* 4) Modified /etc/dosemu.conf to reflect dos in /dos. Here's the change: #$_hdimage = "drives/*" # list of hdimages under /var/lib/dosemu $_hdimage = "dos" I commented out the 1st line (was the original) and typed in the 2nd line. 5) ln -s /dos /var/lib/dosemu 6) From an Eterm, I typed dos and it worked. However, I got the non-fatal error message The following file is missing or corrupted: C:\WINDOWS\IFSHLP.SYS The following file is missing or corrupted: WIN.COM Microsoft(R) Windows 95 (C)Copyright Microsoft Corp 1981-1996. Cannot find WIN.COM, unable to continue loading Windows C:\> So I sent the dos process a TERM signal again and copied these two files into /dos/windows and typed dos from an Eterm, but then I got the fatal error: Starting Windows 95... VMM32.VXD is required to run Windows. If this file is not in your PATH, you may need to reinstall Windows. Windows has stopped. Press CTRL+ALT+DELETE to restart your computer. I killed the process again, and created the directory /dos/windows/system and copied this VMM32.VXD into the directory. When I ran dos from an Eterm, I got the very odd fatal error: Starting Windows 95... You can now safely turn off your computer. If you want to restart your computer, press CTRL+ALT+DEL. Hmmm... perhaps I should just delete win.com, ifshlp.sys and vmm32.vxd files? dosemu worked fine without them. Time to RTFM. I found out how to make the thing work when the win.com, ifshlp.sys and vmm32.vxd fils are present. Editing /dos/msdos.sys, I changed [Options] BootMulti=1 BootGUI=1 Network=1 to [Options] BootMulti=1 Logo=0 BootGUI=0 Network=1 and now when I type dos from an Eterm, I get: Linux DOS emulator 0.98.8.0 $Date: 99/07/07 $ Last configured at Tue Jul 20 17:18:01 CEST 1999 on linux This is work in progress. Please test against a recent version before reporting bugs and problems. Bugs, Patches & New Code to linux-msdos@vger.rutgers.edu Starting Windows 95... Microsoft(R) Windows 95 (C)Copyright Microsoft Corp 1981-1996. File creation error C:\> Using strace, I ran dos again, and hunted down the suspicious lines: write(10, "Loading Device = C:\\WINDOWS\\SETVER.EXE\r\n", 40) = 40 write(10, "LoadFailed = C:\\WINDOWS\\SETVER.EXE\r\n", 40) = 40 Cool. Just for shits and giggles, let's list all the ENOENT errors (which are basically "file not found" errors). stat("/var/lib/dosemu/dos/BOOTLOG.PRV", 0xbfffece0) = -1 ENOENT stat("/var/lib/dosemu/dos/autoexec.bat", 0xbfffece0) = -1 ENOENT check stat("/var/lib/dosemu/dos/autoexec.w40", 0xbfffece0) = -1 ENOENT stat("/var/lib/dosemu/dos/bootlog.prv", 0xbfffece0) = -1 ENOENT check stat("/var/lib/dosemu/dos/bootlog.txt", 0xbfffece0) = -1 ENOENT stat("/var/lib/dosemu/dos/command.w40", 0xbfffece0) = -1 ENOENT stat("/var/lib/dosemu/dos/config.app", 0xbfffece0) = -1 ENOENT stat("/var/lib/dosemu/dos/config.w40", 0xbfffece0) = -1 ENOENT stat("/var/lib/dosemu/dos/config.wos", 0xbfffece0) = -1 ENOENT stat("/var/lib/dosemu/dos/dblspace.bin", 0xbfffece0) = -1 ENOENT stat("/var/lib/dosemu/dos/dblspace.w40", 0xbfffece0) = -1 ENOENT stat("/var/lib/dosemu/dos/drvspace.bin", 0xbfffece0) = -1 ENOENT check stat("/var/lib/dosemu/dos/drvspace.ini", 0xbfffece0) = -1 ENOENT stat("/var/lib/dosemu/dos/drvspace.w40", 0xbfffece0) = -1 ENOENT stat("/var/lib/dosemu/dos/msdos.w40", 0xbfffece0) = -1 ENOENT stat("/var/lib/dosemu/dos/msdossys.sts", 0xbfffece0) = -1 ENOENT stat("/var/lib/dosemu/dos/protman$", 0xbfffece0) = -1 ENOENT stat("/var/lib/dosemu/dos/stacker.bin", 0xbfffece0) = -1 ENOENT stat("/var/lib/dosemu/dos/winboot.ini", 0xbfffece0) = -1 ENOENT stat("/var/lib/dosemu/dos/winboot.sys", 0xbfffece0) = -1 ENOENT stat("/var/lib/dosemu/dos/windows/command.com", 0xbfffece0) = -1 ENOENT stat("/var/lib/dosemu/dos/windows/setver.exe", 0xbfffece0) = -1 ENOENT check stat("/var/lib/dosemu/dos/windows/system.da0", 0xbfffece0) = -1 ENOENT stat("/var/lib/dosemu/dos/windows/system.dat", 0xbfffece0) = -1 ENOENT Gee whiz! It even looks for the registry! After copying the files that say check playing around, I've come to a few conclusions. 1- When the system tries to execute 32bit code, it gives that strange "ready to shut off" message. 2- If autoexec.bat is present, the system must start some 32 bit code (this is windows 95, after all). autoexec.bat should NOT be present. 3- The file creation error was fixed with copying SETVER.EXE to satan. I'm going to give my dosemu its first test. I'll make it a hard one, too. I have a copy of Alone In the Dark II. I copied the entire disk into /dos/aitd2 and ran install.exe. It came back with "No mouse driver detected !!!" $_mouse = "logitech" $_mouse_dev = "/dev/mouse" i also tried $_mouse = "ps2" It kept telling me that no mouse driver is installed. I tried the same thing on the console. Funky low res graphics appeared. At least that's a start! The mouse worked only nominally. I would lose control periodically. I next tried the same thing in xdos. mouse control was good, but the cursor would disappear when it was in the xdos window, so I had to guess where the cursor was. In addition, the graphics were funky (hi res, but... wierd). I got the message: *** Sorry, video mode (0x10) is not fully supported. You may get *** *** better results using a recent developer release of DOSEMU. *** I tried running the program without going through the install process and got: Memory Error : No EMS Driver or not enough EMS memory DETECTED I think this test of AITD2 has failed. In WINE terms, I'd rate AITD under xdos to be a 2. Eradicator ========== Copied the entire cd into /dos/game, ran xdos and ran the installation program. The installation went flawlessly. Unfortunately, when I tried playing the game, I got: ERROR: general protection at 0x968f: 66 ERROR: SIGSEGV, protected insn...exiting! I think dosemu has trouble with graphics. Syndicate ========= Tried Syndicate. Did the same thing but the installation program didn't even work this time. Got the same message as Eradicator. How do people get Duke Nukem running?!? OK, I set $_dpmi=(4000) in /etc/dosemu.conf. In consile DOS, I get nothing (it hangs) but in xdos under X, I get a beautiful splash screen for the game. But when I try to continue by pressing escape the screen darkens as if it's trying to go into SVGA mode and the game crashes. When I try to run some of the binaries, I usually get a second of neat graphics and then it segfaults. Never got this to run in win95 anyhow! CDROM ===== Cool news: added the following line to /dos/config.sys: devicehigh=c:\commands\cdrom.sys added the following line to autoexec.bat: c:\windows\command\mscdex.exe /d:mscd0001 /L:d and added the symbolic link: ln -s /var/lib/dosemu/commands /dos and now I can access my cdrom drive in dosemu! Cool beans! What makes it even cooler is that I have a scsi plextor 40 U2W. I thought I'd have to screw with SCSI stuff, but lo and behold everything is done behind the scene. Exiting DOSEMU ============== To exit dos/xdos, run /var/lib/dosemu/commands/exitemu.com. i made the link ln -s /var/lib/dosemu/commands /dos/ and added the following line to autoexec.bat: PATH=c:\windows;c:\commands;c:\windows\command When i run xdos, another option is to hit ct-alt-pgdown. Oh, I used edit in xdos to modify autoexec.bat and it worked literally flawlessly. The mouse was perect. Everything was perfect. I think dosemu's downfall is graphics.