VOGONS


First post, by ludicrous_peridot

User metadata
Rank Member
Rank
Member

Appreciate there have been topics on VOGONS already on this family of chips, and on SPDIF in vintage systems, but I am still curious if anyone has achieved digital sound output with CMI chip in DOS?

I have a PCI card with chip marked CMI-8738/PCI-6ch-mx
Vendor ID: 13F6h (C-Media)
Device ID: 0111h, Revision ID: 16, Class: 04h (multimedia device)

It does allow SPDIF output in Windows 9x (with VxD drivers it shipped with) and Windows 10 (with driver package downloaded from VOGONS driver library) - for Windows games apparently, like Doom 95, Hexen 95 or Indy Desktop Adventures.
What I would like to understand is if output from line in/SPDIF in/FM and digital/"Wave" could be routed to SPDIF out in DOS, especially when using a chipset/motherboard that do not directly support DMA (like the one in my signature).
That said, digital output is not something that works for me with, say, Windows 9x DOS window. Moreover my manipulations with the chip via SMB.EXE and following the generally available data sheet, including attempts to replicate in DOS the state of registers I dumped while running in Windows did not work.

But since other forum members, like @kodi have spend significant time with the chip and have likely much better understanding of how it operates, could someone share some advice on it?

GA-G41M-Combo G41/ICH7 - Core 2 Quad Q9550 - DDR3 1033 - Radeon RX570 - YMF744 (Cobra) - X3MB (Buran)
Beetle/M/i815+ICH2 - Celeron 566Mhz - Opti 924 (Typhoon Media)

Reply 1 of 3, by ludicrous_peridot

User metadata
Rank Member
Rank
Member

So after going back and forth I could hear wave out via SPDIF finally, and all I had to do was select a combination of "Record from SPDIF" and "Enable SPDIF Out" via C3DMIX app shipped with the card's DOS drivers.

Sadly does not work in every game (Cyrill Cyberpunk for example, doesn't play sound), and SPDIF In, Line In, FM are all only output on the Speaker Out (Wave Out is not in this case). With the card's mediocre game compatibility, i am also using SBEMU as effectively its TSR driver (mentioned this in SBEMU thread), which in turn brings in some compatibility constraints of its own.

Having said that... and provided further testing with the games I have gives some agreable results, this may really be a "sweet spot" card for my machine for the following reasons:

+ Same SPDIF jack used in DOS, Win 9x and Windows 10 for Wave out is just plain great from "logistics" perpective and getting output devoid of noise, hiss and "machine bowels" sounds is a welcome change from my Cobra

+ the MIDI sound module I have outputs fine via analog out anyway, and is externally powered, so mixing this ouside PC (even passively?) will probably not impact the output much

There are of course disadvantages that I am starting to think I could accept:

- It's a shame SPDIF In doesnt get mixed in into SPDIf Out and only passthrough works so games like Hexen, Tomb Raider or Archimedean Dynasty in DOS or Hexen II in Windows do not get fully digital sound

- FM music is via Speaker Out (but frankly speaking it sounds very clear and nicer than how I remember Cobra sounded; maybe it's also a departure from the original sound as it's now "more analytical and colder" - but I am yet to give this a good thorough hearing with the headphones on)

- Game compatibility could be better, but I have a second small rig with an ISA card I got for the exactly same reason (e.g. Sam and Max DOS) in the previous setup

E: Well, with /K44100 the games that would normally work with SBEMU also work with SPDIF Out setup (incl. Aladdin and Cyrill Cyberpunk).

GA-G41M-Combo G41/ICH7 - Core 2 Quad Q9550 - DDR3 1033 - Radeon RX570 - YMF744 (Cobra) - X3MB (Buran)
Beetle/M/i815+ICH2 - Celeron 566Mhz - Opti 924 (Typhoon Media)

Reply 2 of 3, by zyzzle

User metadata
Rank Member
Rank
Member

That is great news. So, this gets "pure" digital sound output in DOS, with absolutely no analogue hiss or distortion. This is a milestone, since I didn't know of any card which could do this natively in baremetal DOS. CM8738/PCI seems to be the only one?

This basically means that using the 1/8" phono / analogue outputs on the card is obsolete and much worse sound quality. In a way, therefore, this makes your card the best in pure DOS for no distortion at all. Am I understanding correctly?

Reply 3 of 3, by ludicrous_peridot

User metadata
Rank Member
Rank
Member

I dont think that's exactly the case.

For my "weird build" scenario it is certainly an interesting card, but there are better ISA options, and some would argue better PCI options.

For example Audigy, I imagine, could be set up to ouput in SPDIF with a TSR, but that would have weird sounding OPL, as I understand (unless that's also emulated with a TSR). Top range Yamaha cards have the original OPL sound and SPDIF output, but I have not heard about Win64 compatible drivers for them. This forum section has a stickie on other great cards with CMedia chips, e.g. CMI8330 and then there's also MK8330, but these are ISA. And I suspect I only scratched the surface. And as much as I like the card I only got Wave Out work via SPDIF - OPL still comes out of Speaker Out port. (CD Audio SPDIF comes out of Speaker Out too, but that's less of a problem since one can in principle pass that into an external DAC directly from the drive.)

Anyway, on my quest for 8738 redemption I started porting MPXPlay driver for it from SMEMU 1.0b5 to current VSBHDA trunk. I got it working, but it still needs a lot of polish to add OPL and MPU401 "passthrough", have gameport enabled by default, package the driver for 16-bit version of VSBHDA, but more importantly, get rid of strange "quantization noise" I am hearing in all games. And also classic X-Wing (GoG) is crashing for me at the moment.

But... oh joy, Lands of Lore 2 now works and in its 16-bit sound glory, Wing Commander 4 video playback is operational, Dungeon Keeper now works as well (crashed with SBEMU), and Aladdin now... well, still works. All of that without residual artifacts (like when mouse becomes one's theremin or there's persistent nasty whistling after game has terminated). Yet to test id DJGPP stuff... but it seems that game compatibility is going to be much much better in a few weeks time.

GA-G41M-Combo G41/ICH7 - Core 2 Quad Q9550 - DDR3 1033 - Radeon RX570 - YMF744 (Cobra) - X3MB (Buran)
Beetle/M/i815+ICH2 - Celeron 566Mhz - Opti 924 (Typhoon Media)