specific Creative Labs SB16 card used in Virtualbox

Discussions about using non Windows and Linux guests such as FreeBSD, DOS, OS/2, OpenBSD, etc.
Post Reply
ssybesma
Posts: 19
Joined: 18. Dec 2016, 23:26

specific Creative Labs SB16 card used in Virtualbox

Post by ssybesma »

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
ghr
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

Post by ghr »

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...
mpack
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

Post by mpack »

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.
Post Reply