VOGONS


First post, by digger

User metadata
Rank Oldbie
Rank
Oldbie

Okay, so the AIL3 Miles protected mode driver pack (shared in this old thread post), as used in many protected mode DOS games, includes the driver files NVDIG.DIG and NVMPU.MDI, which are respectively the digital audio and MIDI drivers for NVIDA NV1 audio/video cards, such as the Diamond Edge 3D. (As an aside, I used to own one, which I gave away years ago, and these days those things seem to be going on eBay for over €400, ouch...)

Anyway... This, to my knowledge, makes the NVIDA NV1 the only PCI-based sound card that was ever supported natively by any DOS games, without requiring any kind of Sound Blaster emulation. (By all means, please correct me if I'm wrong. I'd love to hear/read otherwise!)

So after digging a bit further (hey, I've got to honor my nickname 😉), I found the following pictures on Wikipedia and Wikimedia, which helped me identify the type of sound chip that is on these audio/video combo cards.

Dedge3d.jpg
NV1_sound_chip_%28Analog_Devices_AD1845JP%29.png

So I googled a bit further, and found the datasheet for the AD1845JP Soundport from Analog Devices. And to my surprise, it stated that this was designed to be used in ISA and EISA devices. (By the way, I've never heard of any EISA sound card and I find the possibility of such a beast existing in the wild fascinating in its own right, but that's something for another topic.)

So as far as I've understood, it's a DAC (no FM synthesis integrated or anything), which has a direct 8-bit interface for ISA and EISA buses. It also supports DMA. All in all, it seems like a typical DAC to build a Sound Blaster and/or WSS ISA clone card around.

So what the heck is such a chip then doing on a PCI card? And how does it work? My best guess would be that the NVIDIA NV1 chipset included some kind of glue logic to bridge the 8-bit ISA interface on the chip with the PCI bus, including some kind of translation between Intel 8237 compatible third-party DMA (as expected by the chip) and first-party DMA as offered through PCI bus mastering.

Obviously, there is no way such a concoction could be compatible with any ISA cards, even ones based on the same AD1845JP chip. Therefore either software emulation or special drivers would be required, the latter of which is apparently exactly what these NVDIG.DIG and NVMPU.MDI are.

Now, although NV1-based audio/video cards such as the Diamond Edge 3D are very rare these days, the AD1845JP Soundport chip is not, and can still be ordered on-line very cheaply.

Over the years, there have been repeated inquiries by people on this forum about the feasibility of creating a PCI sound card with DOS sound compatibility, so classic DOS games could be enjoyed with sound even on more recent (post-ISA) PCs. Generally the answer was that this wasn't possible, due to the incompatibility with ISA DMA, and the obstacles to software-based Sound Blaster emulation (doesn't work in protected mode, doesn't support more modern motherboard chipsets, etc).

But am I wrong in speculating that a newly designed PCI card with an AD1845JP chip, wired up in the same way as it was on the NVIDA NV1, and paired with a dedicated (real) OPL3 chip, could be a workable solution for such newer PCs after all?

  • For real mode games, a software-based Sound Blaster emulator could be written that would work with such a card.
  • Direct I/O mode (non-DMA) Sound Blaster hardware compatibility could be implemented in hardware, allowing a small number of games to work that way out of the box. (A minority of games used the Sound Blaster without DMA.)
  • A sizable chunk of protected mode DOS games supported the AIL3 Miles drivers, and for such a card, the aforementioned NVDIG.DIG and NVMPU.MDI could be used.

With all of that combined, although you'd still not be able to support 100% of DOS games that supported ISA sound cards, my guess is you'd get quite far towards that goal.

To be clear, I'm not advocating cloning an entire NVIDIA NV1 audio/video card. It's just compatibility with the audio (PCM) part of that card that I think is interesting, especially when combined with an OPL3 chip and MPU-401 hardware compatibility, with both an internal Waveblaster-compatible connector and an external DA-15 joystick/MIDI port.

(Speaking of game ports, it might be interesting to know that the the NVIDIA NV1 chipset also had game ports for Sega Saturn controllers, but that's not something that would add much value to this envisioned PCI sound card, I think.)

I know, this "getting DOS games to work natively with sound support in post-ISA PCs" obsession is getting a bit out of hand, but I'm apparently not the only one still on the lookout for that Holy Grail. (Or am I?) 😅

Okay, commence the "punching holes in my crazy idea" phase in 3...2...1... Go!

Reply 1 of 7, by cyclone3d

User metadata
Rank l33t++
Rank
l33t++

That would be a very cool card to have.. but I would think that it probably wouldn't have any better compatibility than say a Yamaha YMF7x4 card using DSDMA except for the AIL and possibly Miles Sound System supported games.

That being said, there is a company that makes a USB to ISA adapter and they have a special version of DOSBOX that lets you use ISA sound cards with their adapter (with IRQ and DMA support). You can also use up to 7 ISA cards.
http://arstech.com/install/ecom-catshow/usb2.0.html

I have a couple of the 3-slot adapters but I don't have the power adapters for them yet.

My guess is that with the DOSBOX source, it might be possible to make a program that only has the ISA card IRQ and DMA trickery so that we could use ISA cards in Windows 9x DOS window... maybe even in plain DOS but that would probably be a bit more complicated to get working. I also have no real idea if the compatibility in plain DOS would be any better than a Yamaha YMF7x4 with DSDMA.

Yamaha modified setupds and drivers
Yamaha XG repository
YMF7x4 Guide
Aopen AW744L II SB-LINK

Reply 2 of 7, by digger

User metadata
Rank Oldbie
Rank
Oldbie
cyclone3d wrote on 2020-05-13, 21:49:
That would be a very cool card to have.. but I would think that it probably wouldn't have any better compatibility than say a Ya […]
Show full quote

That would be a very cool card to have.. but I would think that it probably wouldn't have any better compatibility than say a Yamaha YMF7x4 card using DSDMA except for the AIL and possibly Miles Sound System supported games.

That being said, there is a company that makes a USB to ISA adapter and they have a special version of DOSBOX that lets you use ISA sound cards with their adapter (with IRQ and DMA support). You can also use up to 7 ISA cards.
http://arstech.com/install/ecom-catshow/usb2.0.html

I have a couple of the 3-slot adapters but I don't have the power adapters for them yet.

My guess is that with the DOSBOX source, it might be possible to make a program that only has the ISA card IRQ and DMA trickery so that we could use ISA cards in Windows 9x DOS window... maybe even in plain DOS but that would probably be a bit more complicated to get working. I also have no real idea if the compatibility in plain DOS would be any better than a Yamaha YMF7x4 with DSDMA.

But then you're using DOSBox again, which would mean complete emulation, which already has quite good Sound Blaster emulation anyway.

For a very fast modern system (let alone a non-x86 system), that's fine. But I'm talking about a solution that would allow DOS games to run natively in post-ISA PCs.

Your goal (although also admirable) is a completly different one: being able to enjoy certain actual sound cards in newer systems, even if everything else has to be emulated in software. It's basically the opposite of what my goal is: running as much of the hardware natively as possible, which means (at most) emulating the sound card, or replacing it with a hypothetical more modern alternative, like I'm proposing in this topic.

There are a lot of PCs out there from the mid 2000's, say, the Pentium 4, Athlon64 and early Intel Core era, which have very good DOS compatibility, including very good native VGA and VESA video compatibility, which can run DOS games perfectly (particularly the heavier protected mode DOS extender games from the latter half of the '90s, the twilight years of DOS gaming), with the one lone exception of sound support. Solve that, and you unlock a huge class of older (yet not old enough) PCs for DOS gaming. That's what I'm going for, here.

Reply 3 of 7, by cyclone3d

User metadata
Rank l33t++
Rank
l33t++

Well, my goal would actually be to use the special DOSBOX code for the USB to ISA adapter as a base for a standalone driver that would allow it to be used in DOS.

I also have a Cyrix based PCI to ISA adapter evaluation card that I haven't even tried to get going since I am kinda scared of frying something in the process. And guessing it would only properly work for DMA in a system that already has DMA support anyway unless there is some unobtanium driver that uses DSDMA or the like.

The real problem in having a PCI card on newer systems is that the chipsets don't have DMA support and so there has to be some sort of TSR or driver to capture the calls and forward them to the card. That is where the problems come into play with DOS game compatibility. But of course you know this already.

That is why I am pretty sure a new card would still have the same issues.

Yamaha modified setupds and drivers
Yamaha XG repository
YMF7x4 Guide
Aopen AW744L II SB-LINK

Reply 4 of 7, by jmarsh

User metadata
Rank Oldbie
Rank
Oldbie
cyclone3d wrote on 2020-05-13, 22:46:

Well, my goal would actually be to use the special DOSBOX code for the USB to ISA adapter as a base for a standalone driver that would allow it to be used in DOS.

Then you still need a USB stack for DOS, which would basically be as much trouble as getting native (AC97/HDA) sound working.

Reply 5 of 7, by Tiido

User metadata
Rank l33t
Rank
l33t

That chip is essentially doing the job of what an AC97 codec does on later PCI cards. It is a convenient all in one DAC+ADC+Mixer chip with adequate performance. The PCI controller feeding data to it will not have any relation to the ISA cards that chip normally is found in though there will likely be direct exposure of the registers somewhere on PCI bus.

T-04YBSC, a new YMF71x based sound card & Official VOGONS thread about it
Newly made 4MB 60ns 30pin SIMMs ~
mida sa loed ? nagunii aru ei saa 😜

Reply 6 of 7, by dionb

User metadata
Rank l33t++
Rank
l33t++
digger wrote on 2020-05-13, 22:29:

[...]

There are a lot of PCs out there from the mid 2000's, say, the Pentium 4, Athlon64 and early Intel Core era, which have very good DOS compatibility, including very good native VGA and VESA video compatibility, which can run DOS games perfectly (particularly the heavier protected mode DOS extender games from the latter half of the '90s, the twilight years of DOS gaming), with the one lone exception of sound support. Solve that, and you unlock a huge class of older (yet not old enough) PCs for DOS gaming. That's what I'm going for, here.

As Tiido says, it's just a CODEC, not a full sound chip. This is still a PCI sound card - and a pretty bad one at that, with nasty TSR soundblaster emulator in later drivers (early DOS drivers only enabled MPU-401...) and all. It's certainly no better than the excellent-sounding Yamaha YMF solutions or the more compatible ESS Solo.

Reply 7 of 7, by cyclone3d

User metadata
Rank l33t++
Rank
l33t++
jmarsh wrote on 2020-05-14, 02:58:
cyclone3d wrote on 2020-05-13, 22:46:

Well, my goal would actually be to use the special DOSBOX code for the USB to ISA adapter as a base for a standalone driver that would allow it to be used in DOS.

Then you still need a USB stack for DOS, which would basically be as much trouble as getting native (AC97/HDA) sound working.

Well, there is already a USB stack for DOS. The current version is not free for personal use, but the older version available on the wayback machine is.
This one is basically a stack from what I can tell and then you write drivers for your specific devices. Lots of examples included.
http://web.archive.org/web/20090523080955/htt … otthast.de/usb/

Filename
dosusb.zip
File size
212.05 KiB
Downloads
36 downloads
File license
Fair use/fair dealing exception

And here is another one that is open source but looks to maybe not be as good?
http://bretjohnson.us/

Yamaha modified setupds and drivers
Yamaha XG repository
YMF7x4 Guide
Aopen AW744L II SB-LINK