Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the board
Thread view  Mix view  Order
Japheth

Homepage

Germany (South),
11.08.2022, 16:05
 

QEMU and DOS (Ultra)-DMA drivers (Emulation)

Hello,

Qemu allegedly supports just 2 "standard PCs": an i440FX (1996) and a Q35 (2009).

The Q35 is SATA (AHCI) only, so not very interesting here.

The i440FX has - according to docs - no support for UDMA. I checked WinXP running in Qemu: the HD is indeed accessed with mode "Multi-word" DMA 2.

So my question is: are there any DOS DMA drivers (UIDE, UDMA, XIDE, XHDD, ... ) that work with Qemu?

---
MS-DOS forever!

rr

Homepage E-mail

Berlin, Germany,
11.08.2022, 21:03

@ Japheth

QEMU and DOS (Ultra)-DMA drivers

> So my question is: are there any DOS DMA drivers (UIDE, UDMA, XIDE, XHDD,
> ... ) that work with Qemu?

May I ask why you are looking for such a driver?

---
Forum admin

marcov

11.08.2022, 23:22

@ rr

QEMU and DOS (Ultra)-DMA drivers

> > So my question is: are there any DOS DMA drivers (UIDE, UDMA, XIDE,
> XHDD,
> > ... ) that work with Qemu?
>
> May I ask why you are looking for such a driver?

It would reduce the number of calls (by bundling more per call) from the OS into the VM layer, speeding up things that are I/O heavy like compiling

Japheth

Homepage

Germany (South),
12.08.2022, 00:09

@ rr

QEMU and DOS (Ultra)-DMA drivers

> May I ask why you are looking for such a driver?

Hmmm - replying to a question with a "why" question - isn't that a common phenomenon in forums where wanabee experts want to demonstrate a noobie that he/she has no idea what they are doing? :-D

Seriously: I have a feeling that Qemu is a bit buggy in this terrain. My attempts to make a DMA driver work in Qemu ( xdma32.dll ) were NOT successful so far. And this seems a bit strange, because adding support for multi-word DMA for an UDMA driver is a rather simple, almost trivial thing to do. I did it in 86Box and it worked, but admittedly, 86Box isn't exactly regarded as the gold standard in the emulator world.

---
MS-DOS forever!

Japheth

Homepage

Germany (South),
12.08.2022, 22:04

@ Japheth

QEMU and DOS (Ultra)-DMA drivers

> So my question is: are there any DOS DMA drivers (UIDE, UDMA, XIDE, XHDD, .. ) that work with Qemu?

Yes, at least now; although it's a driver for Jemm only. I adjusted the xdma32 JLM contained in the Jemm package ( no binary available, just the source on github ).

As it has turned out, Qemu doesn't care about what DMA mode is set for a drive, it might be multi-word DMA 0-2 or Ultra DMA 0-6, there's no speed difference. DMA access is, however, significantly faster than PIO access ( which is the default ): on my VM, PIO access reads achieved about 9 MB/sec, while DMA access was 50 MB/sec up to 860 MB/sec ( the latter may occur if one reads a virtually "empty" qcow2 image ).

A warning: don't try (in qemu) the xdma32 binary supplied in the current release version (v5.82) - it might cause data losses.

---
MS-DOS forever!

rr

Homepage E-mail

Berlin, Germany,
13.08.2022, 21:16

@ Japheth

QEMU and DOS (Ultra)-DMA drivers

> > May I ask why you are looking for such a driver?
>
> Hmmm - replying to a question with a "why" question - isn't that a common
> phenomenon in forums where wanabee experts want to demonstrate a noobie
> that he/she has no idea what they are doing? :-D

I'm sorry for you and your experiences in other forums. ;-)

> Seriously: I have a feeling that Qemu is a bit buggy in this terrain. My
> attempts to make a DMA driver work in Qemu ( xdma32.dll ) were NOT
> successful so far. And this seems a bit strange, because adding support for
> multi-word DMA for an UDMA driver is a rather simple, almost trivial thing
> to do. I did it in 86Box and it worked, but admittedly, 86Box isn't exactly
> regarded as the gold standard in the emulator world.

I see. Thanks.

---
Forum admin

rr

Homepage E-mail

Berlin, Germany,
13.08.2022, 21:18

@ Japheth

QEMU and DOS (Ultra)-DMA drivers

> > So my question is: are there any DOS DMA drivers (UIDE, UDMA, XIDE, XHDD,
> .. ) that work with Qemu?
>
> Yes, at least now; although it's a driver for Jemm only. I adjusted the
> xdma32 JLM contained in the Jemm package ( no binary available, just the
> source on github ).

Thanks for your work. Now I just need to use Qemu some day. :-D
Do you think, your driver could work with Qemu 0.10 from 2009?

---
Forum admin

Japheth

Homepage

Germany (South),
14.08.2022, 08:39

@ rr

QEMU and DOS (Ultra)-DMA drivers

> Do you think, your driver could work with Qemu 0.10 from 2009?

No idea, but if it supports UDMA, why not?

I don't think that qemu is a good tool for DOS emulation. The keyboard emulation is the worst of all emulators I know of, the Soundblaster support is partially broken since several years, now the UDMA emulation is faulty, ...

The problem is, things like VirtualBox are even worse ...

---
MS-DOS forever!

Japheth

Homepage

Germany (South),
15.08.2022, 07:19

@ Japheth

old XDMA revived

For DOS real-mode in Qemu, the old Jack R. Ellis XDMA ( which was gpled )
has been revived:

https://github.com/Baron-von-Riedesel/XDMA

---
MS-DOS forever!

RayeR

Homepage

CZ,
16.08.2022, 19:01

@ Japheth

QEMU and DOS (Ultra)-DMA drivers

> I don't think that qemu is a good tool for DOS emulation. The keyboard
> emulation is the worst of all emulators I know of, the Soundblaster support
> is partially broken since several years, now the UDMA emulation is faulty,

I was also playing with QEMU for Windows and DOS some years ago and had the same feeling. There was some attempt to support HW virtualization via intel HAX driver but it was soo bugy, most of DOS pmode programs just crashed with "VCPU shutdown request" except Doom that ran 2-5 FPS (wow, 386SX speed on i7 @4,5GHz). If I remember I got some sound out but maybe only adlib... For VirtualBox (current version) AFAIK there's no SB16 emulation.
On the other hand QEMU has some interesting features like PCI passthrough but AFAIK it requires HW support - VT-d IO in CPU and maybe chipset support.

---
DOS gives me freedom to unlimited HW access.

Japheth

Homepage

Germany (South),
16.08.2022, 19:31

@ RayeR

QEMU and DOS (Ultra)-DMA drivers

> If I remember I got some sound out but maybe only adlib...

There's good news: I downloaded and compiled Qemu v6.2.0 today. Both the soundblaster and keyboard issues seem to be fixed.

The keyboard fix strangely requires a cmdline option to be added:

-global i8042.kbd-throttle=on ( https://bugs.launchpad.net/qemu/+bug/1897568 )

I remember I stumbled upon that keyboard bug in 2006 - so it just took 15 years to be fixed. Really good work!

---
MS-DOS forever!

RayeR

Homepage

CZ,
16.08.2022, 19:37

@ Japheth

QEMU and DOS (Ultra)-DMA drivers

Thx for info, I'll give a try. BTW seems there are more fresh builds of 7.1.0
https://qemu.weilnetz.de/w64/

---
DOS gives me freedom to unlimited HW access.

rr

Homepage E-mail

Berlin, Germany,
16.08.2022, 21:38

@ RayeR

QEMU and DOS (Ultra)-DMA drivers

> Thx for info, I'll give a try. BTW seems there are more fresh builds of
> 7.1.0
> https://qemu.weilnetz.de/w64/

And my Qemu 0.10 builds from 2009: https://www.bttr-software.de/download/qemu/ :-D

---
Forum admin

rr

Homepage E-mail

Berlin, Germany,
16.08.2022, 21:39

@ Japheth

QEMU and DOS (Ultra)-DMA drivers

> I remember I stumbled upon that keyboard bug in 2006 - so it just took 15
> years to be fixed. Really good work!

I'm sure there are older known but still-existing bugs in FreeDOS. ;-)

---
Forum admin

tom

Homepage

Germany (West),
17.08.2022, 00:26

@ rr

QEMU and DOS (Ultra)-DMA drivers

> > I remember I stumbled upon that keyboard bug in 2006 - so it just took
> 15
> > years to be fixed. Really good work!
>
> I'm sure there are older known but still-existing bugs in FreeDOS. ;-)

I don't think so. Unless 'FreeDOS' means all the 500 MB+ packages thrown out as 'FreeDOS'. What I understand as FreeDOS is 'base'.

And - in my opinion - there are at most few (if any) bugs remaining for years THAT HAVE A VALID/USEFUL BUG REPORT.

most of the rest of the 'bugs' are not resolvable due to bad buggy reporting, missings autoexec.bat/config.sys settings, etc.

Back to the board
Thread view  Mix view  Order
22649 Postings in 2111 Threads, 402 registered users, 897 users online (0 registered, 897 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum