I was hoping to find the exact model number the emulation is based on and any advice on getting better audio performance with DOS guests given that only DMA is supported and not I/O addressing.
Thanks!
Steve
specific Creative Labs SB16 card used in Virtualbox
-
- Volunteer
- Posts: 376
- Joined: 25. May 2007, 22:46
- Primary OS: MS Windows 7
- VBox Version: PUEL
- Guest OSses: DOS, Win3x, Win95, WinXP, Ubuntu, OS/2
Re: specific Creative Labs SB16 card used in Virtualbox
My advice: websearch on for example "DMA vs PIO" and discover why people in the Pre-Pentium Period (i.e. when we had SB cards) were quite happy to get/have DMA instead of "Programmed I/O", or PIO...
-
- Site Moderator
- Posts: 39156
- Joined: 4. Sep 2008, 17:09
- Primary OS: MS Windows 10
- VBox Version: PUEL
- Guest OSses: Mostly XP
Re: specific Creative Labs SB16 card used in Virtualbox
I have to say that the OPs comment doesn't make sense to me here either. I admit I've never programmed DMA on a Windows PC (I don't write Windows device drivers), but I've done it for lots of embedded firmware devices. Typically there will be some kind of peripheral device with memory mapped registers (IO registers), and a DMA controller which you configure similarly to a bit block transfer: source address, destination address, size of transfer, what to do when transfer completes (interrupt, then start again or stop). Etc.
My point is that in order for DMA to have something to do, there has to be a IO port or memory address that DMA can read from and write to. It's not either-or, it's both.
But, PIO mode will carry a huge bus overhead, just as it does in physical PCs, and in VMs it'd be a huge simulation overhead too - so I'd guess that "not supported" may just mean "not practical in a VM". You could do it, but you'd never get much more than squawks since you couldn't possibly keep up the data rate.
My point is that in order for DMA to have something to do, there has to be a IO port or memory address that DMA can read from and write to. It's not either-or, it's both.
But, PIO mode will carry a huge bus overhead, just as it does in physical PCs, and in VMs it'd be a huge simulation overhead too - so I'd guess that "not supported" may just mean "not practical in a VM". You could do it, but you'd never get much more than squawks since you couldn't possibly keep up the data rate.