VOGONS


CMI8738 DOS drivers like to assign IRQ A

Topic actions

Reply 40 of 42, by Ydee

User metadata
Rank Oldbie
Rank
Oldbie

Well, friends, if this isn't some kind of voodoo magic, then I really don't know what is.I spent the whole morning and part of the afternoon testing, and I'm no wiser than we were yesterday.
The motherboard I have is equipped with the latest VIA chipset (VIA KM890 and VT8237A + A64 X2 2.3GHz + 1GB DDR2), so it's too new for Windows 98 SE, let alone DOS.

With the CMedia CMI8738LX (Genius Sound Maker Value 5.1) , both music and FX audio in DN3D work without any problems after installing the driver ver. 4.06.1096 from 7/25/2001, as long as it is run from the W98SE environment. Doom crashes with an error message; see the attachment.

When restarting into DOS (or booting via F8 “MS-DOS Only”), only the music works in DN3D; the FX sound reports an invalid DMA channel.
Doom, on the other hand, works correctly with the same settings: both music and FX sound.
Blood same result as DN3D (same Build engine).

Even though the DOS driver overwrites AUTOEXEC to run SETAUDIO.COM at boot time—which is supposed to initialize the card with the correct settings for SB (A=220, I=5, D=1, FM=388, and MPU401=330)—the IRQ varies for unknown reasons.
On the same motherboard, another PCI sound card—the Avance Logic ALS300—works correctly in both DOS from W98SE and MS-DOS-only modes in all the games tested. But that one has a hardware FM synthesizer, while the CMI8738 only emulates one.
Even now, we haven't been able to determine whether the VIA VT8237 (A, S, R, R Plus) supports DDMA—I don't know of any utility that could definitively confirm or refute this.

Reply 41 of 42, by aVd

User metadata
Rank Member
Rank
Member

Hi, @Ydee,
Thanks for the shared test results!

I'm not sure, if we have to consider windows 9x "DOS console/command shell" as suitable testing environment for DOS drivers, since there's "another layer" of windows drivers involved. For "working DOS driver" I'll take a DOS driver working in pure DOS environment (in some of m$, PC/IBM, DR/Caldera, PTS, free, Svar, etc. DOS versions).

And one question: Do you know if Avance Logic ALS300 sound card also needs DDMA for legacy DOS audio compatibility?

SvarDOS fan :: artificial "intelligence" bots - not a fan at all :: say NO to systemd :: is freeware a lie, when human freedom is a fundamental lie? :: f00ck €u!

Reply 42 of 42, by Ydee

User metadata
Rank Oldbie
Rank
Oldbie

Hi aVd,

Of course, the point was to find out whether the "IRQ=A" message in the SETAUDIO output could be the cause of the CMI8738 not working in DOS applications. The result is inconclusive—some things work, and some don't, regardless of the strange IRQ. I understand that DOS applications run from within the Windows environment use driver emulation (that's the "C-Media PCI Audio Legacy Device" in Device Manager, where you can select the IRQ directly), while pure DOS (even when launched via F8) uses the settings from the SETAUDIO DOS driver.
The setup I have available for testing is too new and fast (AM2) and my more suitable one KM400A, which also used the VT8237 south bridge—I no longer have that one. If I could find something more suitable (s A), I would try to test it in pure DOS.
As for the ALS300, I don't know how to determine whether it uses DDMA for communication. It is a multifunctional, composite device—an audio device, a wave device, an internal OPL3 MIDI device, an external MIDI MPU401, and a joystick. If you know how to figure that out, let me know—I'll give it a try.