VOGONS


First post, by ruthan

User metadata
Rank Oldbie
Rank
Oldbie

Introduction
I spend some time with fiddling around Qemu DOS machine as other alternative to Dosbox,PCem, Vmware workstation, Virtual box.. to be honest, Qemu was for me always last change, because is not for me user friendly and i have not good experience with this project. Tts probably most ambitions software project (it has realtime instruction translation from x86 to ARM, Power PC etc.. and lots of inbuild virtual devices), which has its disadvantages.. because lots of thing are not working, half-working, bugged not implemented.. and even if they are working, they are not presented in nice shinny package. For example there is not for years any good GUI QEMU manager for Windows, so you have make some ungly very long command to start up you machine..

Why have sense to mess with QEMU and Dos? + with QEMU in general
well on paper everything should be ready.. you can emulate old PS/2 ports machine and there is some SB16 virtual device and virtual VGA compatible video cards. Networking is also working fine.
As bonus there is some experimental 3Dfx support (kjliew projects..), to be honest, i had problems to keep it working, because its not play nice with other Virtualizers on same machine and even that results was quite slow, but it could improve overtime - details: QEMU 3Dfx Glide Pass-Through (WHPX/KVM works!!!)
QEMU also advantages for emulation for more modern OS, but you only on Linux, where through KVM can Pass through PCI/ PCI-E devices as videocards.. to solve biggest problem of Virtualization gaming which is not good enough videocards..
If you care about Linux KVM, there is some more info:
https://www.youtube.com/watch?v=16dbAUrtMX4 // If some is able to find better and nore modern video, on subject, im all in.

I tested QEMU 4.2 on Windows 10 1909, i wonder if same problems are present on other platforms as Linux and Mac OS, but my guess is that they are. But yeah QEMU was always Linux aimed, even when it is multiplatform problems.. and its not place so nice with other OS as Virtual and Vmware Workstation / Player which have almost 100% feature parity on all supported OS.

There is of course chance that some problems, listed bellow are only my mistakes, but its sense of this thread to find out.

If this thread would generate some good vibe, we can keep results updated with newer Qemu releases etc.

List of problems:

  1. Sound is broken - something with DSound is bugged:
    Im getting in console when i run some game with Dos these messages spam:
    dsound: Reason: An invalid parameter was passed to the returning function
    dsound: Failed to lock buffer

    There are some source codes patches (*.diff files) from kjliew: Re: QEMU 3Dfx Glide Pass-Through (WHPX/KVM works!!!) , if you are able to compile it - after that pleas share binary.
  2. Keyboard problems - arrows keys press is some apps are detected twice and numlock is not working for number keys writing, we already have special thread about it here:
    Qemu On Windows - DOS machine - Keyboard arrows problem (double press detected in some Filemanagers)
  3. Im not able to exchange CD image on the fly (needed for some games). I messed with command like - in console(ATL+CRTL+2) eject ide1-cd0 and change ide-cd0 D:/Games/!Emulators/Dos-QEMU/ISOs/TestChangeISO.iso , but system so never able to find new CD data.. simply drive so empty.. but when i reboot virtual machine, new change image is now working.
  4. I have problem make Quake Demo working with 640x480+, with 320x200 working fine.
    I tried 3 virtual videocards settings: -vga cirrus 640x480 is not available, probably emulated GPU has not enough VRAM or some Vesa2 utility is needed. For -vga std and -vga vmware // 640x480 is available in game menu, but when i tried to set it, im getting: Unable to load VESA palette in dos prompt and game crashing.
    With vmware svgaII other Q2DOS 640x480 and 1024x768 its working fine, so it not working only with some games.

If you care about QEMU DOS performance i already addressed it here:
Re: Old+Modern videocards pure DOS benchmarking- which one is fastest?, need your numbers + analysis, 320x200 to 1600x12 // Numbers are in online sheet linked in thread.

Basic QEMU Dos tutorial:
https://gunkies.org/wiki/Installing_MS-DOS_on_Qemu

In next round, i will maybe, finnaly learn something about Bochs, it looks as even more low level hell..

Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.

Reply 2 of 3, by ruthan

User metadata
Rank Oldbie
Rank
Oldbie

I just tested QEMU on Linux, in last Mint is still 2.11, but i doubt that it would be difference.

1) Dos sound is working, in Doom FM is ok, but FX effect are there, but sound bad.
2) Is even worse, when i start FileWizzard or Dos navigator, im getting instead of arrows only numbers in console and is the same for keyboard, so these File managers are completly dead.
4) Quake problem is the same.

Is its not about bad Windows build..

Im old goal oriented goatman, i care about facts and freedom, not about egos+prejudices. Hoarding=sickness. If you want respect, gain it by your behavior. I hate stupid SW limits, SW=virtual world, everything should be possible if you have enough raw HW.

Reply 3 of 3, by cst1984

User metadata
Rank Newbie
Rank
Newbie

Hello, I just started emulating dos on qemu. I managed to setup dos-mode win98se with freedos packages for networking and I have reached a couple problems.

1. Freeze when trying to use rtl8139 100mbps

Right now I'm stuck with 10mbps even though the card supposedly supports 100mbps. Whenever I tried to run the packet driver with 100mbps mode the VM would get stuck and I'd have to reboot.
This is how I tried to load that driver:

c:\ rtspkt 0x60 -m auto

image.png

I also tried to use e1000 drivers but no use, those would fail as well

2. Qemu screen is stuck in 720x400 resolution

Basically that. I tried to use vmode but when opening a program it would go back to that resolution.

Basically those problems. If anyone managed to solve them I'd be really grateful.

Info about my setup:
Host: Arch Linux
Qemu cmdline:

#!/bin/bash

qemu-system-x86_64 \
-cpu pentium3 \
-m 512 \
-drive file=dos71.disk,format=raw,aio=native,cache.direct=on,cache=none \
-netdev bridge,id=tap0 -device rtl8139,netdev=tap0,mac=52:54:00:12:34:56 \
-device VGA \
-soundhw sb16 \
-monitor stdio \
-rtc base=localtime \
-display sdl