Next Previous Contents

9. Video and sound

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

Mark Rejhon (mdrejhon@magi.com) reported (95/4/8) that

With the recent DPMI improvements that has gone into 0.60, you can now run some 32-bit video games in dosemu. If the game is compatible in an OS/2 DOS box, there are chances that it will work in dosemu. (Example 32-bit games include Descent, Dark Forces, Mortal Kombat 2, Rise of The Triad, which have all successfully been tested in recent dosemu releases).

Before you attempt to run a video game, you must have the keyboard configured in raw keyboard mode and enabled VGA graphics modes, in the /etc/dosemu.conf file. If you have successfully run graphics programs in dosemu, and are prepared to take the risk of a possible system crash (this is because you are letting dosemu run with root access to the video card, and leaves the possibility of putting the video card in a bad state that is difficult to recover from) then you can go ahead and try running the video game.

Note, however, you will have to turn off the sound in the game. (Someone will have to program in sound board emulation before we can avoid this). Note that game timers can be a little bit slow, due to Linux multitasking and lack of high-frequency timer support. So the games may run from anywhere from 5 to 100 percent speed. Typically, the speed is approximately 50 percent in recent dosemu releases and is expected to improve eventually.

Who knows, it might even work. If you can't get it to work, check EMUfailure if the program is listed there, or falls in a category of programs that at present don't or probably never work with dosemu. If you think, it should be listed in EMUfailure, report to linux-msdos@vger.rutgers.edu

Addition from (lermen@elserv.ffm.fgan.de(97/2/11)):

There is a security hole when having enabled DPMI and having dosemu suid root (especially when using dos4gw-based games), the client is able to access the whole user space, hence also can modify the dosemu code itself. Use of the 'secure on' option in /etc/dosemu.conf disables this, but then you can't run those games.

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

(95/4/8)

The problem is that the font information for the VGA text screen is not being saved. Get a copy of the svgalib package. The current source is in

sunsite.unc.edu:/pub/Linux/libs/graphics/svgalib125.tar.gz
It may also be available as a pre-compiled package in your favorite Linux distribution (e.g., Slackware, etc.). Use savetextmode to save the current text mode and font to a file in /tmp before running dosemu. Then run textmode upon exiting dosemu to restore it.

Addition from (lermen@elserv.ffm.fgan.de(97/2/11)):

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

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

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

Andrew Tridgell (tridge@nimbus.anu.edu.au) reported (94/1/29) that

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

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

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

   ports { readonly 0x42 }
and it boots dosemu more slowly, but more reliably.

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

Tim Shnaider (tims@kcbbs.gen.nz) also reported (94/1/18) that

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

   video { vga console graphics chipset trident memsize 1024 vbios_file
   /etc/dosemu/vbios }
where vbios is the file generated by typing
   getrom > vbios

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

Douglas Gleichman (p86884@tcville.edsg.hac.com) reported (94/9/1) that (with the ATI Graphics Ultra)

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

 ports  { 0x1ce 0x1cf 0x238 0x23b 0x23c 0x23f 0x9ae8 0x9ae9 0x9aee 0x9aef }
The board self test will list a failure but graphics programs will run fine.

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

Hannu Savolainen (hsavolai@cs.Helsinki.FI) reported (94/3/21) that

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

James B. MacLean (macleajb@ednet.ns.ca) reported (94/6/19) that

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

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

And Corey Sweeney (orey@d94.nnb.interaccess.com) reports (97/2/15)

Sound code is being currectly being worked on


Next Previous Contents