javispedro1 wrote on 2022-11-05, 16:21: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 […]
Show full quote
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.
So I've gone down the same road as you with a T5710. I've been trying to debug the horrible sound quality I got in Monkey Island, as well as the constant clicking -- Running Duke3D fixed it as well.
Tried to give VIAS a shot, first running "vias stereo" and that wound up nuking all audio. Thought it might be weird memory shenanigans, so I disabled loading all sound related stuff on boot, ran vias enable and viafmtsr separately, and still ran into issues with zero audio. Mixer settings all look all right when I query vias, but still no audio.
Additionaly, "vias enable" doesn't like to run out of autoexec.bat for some reason. It tells me that it doesn't recognize enable. Runs fine manually though.
Not sure if I'm a goof or not when it comes to what I'm doing, but I was amazed at the Duke3d solution.
Slowly bringing this thing up to speed. I'll be really glad if I can come up with a solution that works to eliminate the horrible monkey island FM and the clickypops, I'll be super happy.
EDIT:
reverting to my original configuration (setting BLASTER env, loading viasbcfg, and then viafmtsr) and then running vias stereo does not kill sound, although I still have the same problems with clicking and gnarly Monkey Island 2 FM
I've also tried poking the debug values (outputting e to 224 and 33 to 225) you'd mentioned, but no dice either.
Tried launching and exiting duke3d and the sound issues clear right up. It's bizarre. wish there were some way to launch it and nuke it at startup in the background without a lot of fuss, haha.
-C