Action Replay wrote on 2022-06-23, 11:53:
Your tool to set the mixer settings in DOS would definitley be useful if you are able to release a version of it. Thank you!
Oops I missed this message.
I am attaching this program (exe and srcs inside .zip file) . I called it "VIAS". I was using it to diagnose my issue with very poor FM quality on my T5710 with MI2,but you can actually use it to:
- enable SBPro emulation (as an alternative to VIASBCFG), by first configuring your BLASTER env variable as desired (e.g. "set blaster=A220 I7 D1 T5 P0 J0") and then running "vias enable". (there's also "disable").
- manipulate mixer values of the AC'97 side. E.g. for PCM (which will also change the volume of VIAFMTSR) use "vias pcm 60" to set it to around 60%, or "vias pcm" to see the current value. The only mixer elements supported are "master" (which seems useless on my T5710), "pcm" and "pcspkr".
- "vias reset_mixer" to reset both the AC'97 and SB mixers, in case some command or game messes them up.
- "vias stereo" enables stereo output on the SB side, which was the eventual cause for my MI2 FM issues.
- "vias dump" to see the current values of all relevant AC97 and SBPro registers, for debugging.
Note it's hardcoded to only work with the VT82C686 PCI IDs as in the T5710, but it's easy enough to change the PCI IDs in the source.
To change SBPro mixer values (not AC97), I was using the standard SBP-SET utility from the SBPro drivers. Note it's not clear to me how the AC'97 and the (virtual) SBPro mixers interact with each other, but from my experiments they seemingly just add on top of each other. The AC'97 side's "PCM" control (changeable via "vias pcm xx") kind of acts as a "master" volume that most games won't be able to change.
I don't plan to continue with this program now that I'm happy with my setup.
But I think this is the first source code release showing how to enable the SBPro emulation on VIA devices.
Hoping it's useful if someone wants to investigate.
Can be built with OpenWatcom .2.x
I'd also like to port this to a GRUB4DOS module (or something like that) so I can enable the SBPro emulation with other, non-MS-DOS OS "transparently" before they boot. Or WinME, which won't run autoexec.bat , and SBPro emulation is still useful for the FM emulation from VIA VXD drivers.