VOGONS


First post, by johnnycontrario

User metadata
Rank Newbie
Rank
Newbie

I'm configuring a small form factor PC to be a DOS/Win98 box. Surely this isn't the first time you've heard that line... Anyway, it's based on a Via C3 processor with VT82C686B south bridge, and everything has gone well apart from the sound configuration. The goal is SB stereo + real OPL in DOS. There were several problems using the ISA slot, so I went with the PCI route.

I installed a YMF744L and got it working in DOS. It has great sound quality and real OPL, but it doesn't do stereo (sounds in DOOM are mono). However, the Sound Blaster compatibility in the 686B does support stereo, but the OPL emulation isn't great. So I had the idea of running both at the same time. I managed to get both working, so the next step was to connect the Line-Out of one card to the Line-In of the other, but I discovered that Line-In appears to be muted on both cards in DOS.

Does a DOS mixer utility exist for either the YMF744L or 686B southbridge? The Yamaha's ds.ini file seems to have mixer levels, but the values don't make any sense to me and I haven't found any documentation. Does anyone know what values to use in ds.ini to unmute the Line-In on the Yamaha?
EDIT: The answer was in front of my dumb face. Yamaha's SETUPDS utility has a VOLUME menu that lets you set mixer levels. Thanks to Cyclone3d for pointing this out.

If anyone is curious how I got the YMF and VIA working together (EDIT: The original post had incorrect instructions.)
To make this work, I had to get the YMF dos utilities with the SETUPDS utility modified to work on a VT82686B southbridge. I also had to download the VIA DOS drivers, but VIAFMTSR.COM is not included in the official VIA downloads. I had to download that from another post here on VOGONS, or maybe it was on the drivers page. I can upload a copy if anyone needs it.

I ran the Yamaha SETUPDS.EXE utility (the version modified to support the 686B southbridge) and enabled only the FM PORT and JOY PORT. Everything else is disabled. IRQ MODE is set to INTA# and DMA MODE is set to D-DMA, 8000. Make sure to save the settings when you exit the utility. Once this is configured, you can run the following lines, or stick them in AUTOEXEC.BAT

Assuming everything is in the same directory:
SETUPDS /S
set BLASTER=A220 I5 D1 T4
VIAUDIO.COM
loadhigh VIAFMTSR.COM
VIAFMTSR.COM /U

Notice that I didn't run DSDMA. This is the crucial step with the YMF card. If you run DSDMA, the Yamaha will not allow the VIA chip to handle SB PCM audio.
The other crucial step is VIAFMTSR /U. This TSR has to be loaded to enable VIA's SB compatibility, but this TSR also emulates the FM synth in software. If you unload it, PCM continues to work. I haven't done extensive testing, but so far it's working in DOOM, Wing Commander, Wing Commander 2, and Wing Commander Academy.

Last edited by johnnycontrario on 2020-04-23, 00:28. Edited 3 times in total.

Reply 1 of 24, by darry

User metadata
Rank l33t++
Rank
l33t++

That is quite ingenious, but complicated , considering that the YMF744L should have just worked in stereo .

That said, RayeR worked on DOS mixer for YMF7xx cards : http://rayer.g6.cz/programm/ymf7xx.exe

See this thread for details : Pure DOS gaming system with 100% digital audio output

Reply 2 of 24, by Prez

User metadata
Rank Member
Rank
Member

Hi !
I intend to do the same thing or nearly with another pci soundcard, with a ESS-1 solo chip or CS48xxx.
Will let you know if i succeed !

Best regards
Philippe

Old computers and videogames freak
President of french association https://mo5.com
Get better, get old ! 😁

Reply 4 of 24, by johnnycontrario

User metadata
Rank Newbie
Rank
Newbie

I tried RayeR's utility, but it's not quite what I was looking for. It allows me to manually set the PCI registers for the Yamaha (don't know if I said that correctly), or enable/disable SPDIF with a command line switch. I'm sure I could use this to adjust mixer volumes, but I don't know what data to put where. I'll do some trial and error work with DS.INI and see if I can figure out the values.

In other news, when I revisited today to test RayeR's utility, I discovered that the 2 sound cards won't work together anymore. The Yamaha takes over for PCM audio even though SETUPDS only enables Adlib and Joystick. I'll troubleshoot the issue and update my first post once I figure out what I screwed up. Both sound solutions are actually quite nice if only they had good documentation. Maybe I've been using Linux for too long 🤣.

Reply 6 of 24, by darry

User metadata
Rank l33t++
Rank
l33t++

Incidentally yhe datasheet says the DSP version for SB (pro) compatibility can be set to sb mode . Maybe yhe card is not inited in the right mode ?

https://html.alldatasheet.com/html-pdf/101284 … /1/YMF744B.html

Reply 7 of 24, by johnnycontrario

User metadata
Rank Newbie
Rank
Newbie

I'm currently using SET BLASTER=A220 I5 D1 T4. It works in mono with the Yamaha, but stereo with the VIA 686B. It never occurred to me to just look for the dang datasheet. I'll dig through it later today.

Reply 8 of 24, by Prez

User metadata
Rank Member
Rank
Member
johnnycontrario wrote on 2020-04-22, 19:06:

I'm currently using SET BLASTER=A220 I5 D1 T4. It works in mono with the Yamaha, but stereo with the VIA 686B. It never occurred to me to just look for the dang datasheet. I'll dig through it later today.

b[14:13] ......SBVER: SB Version Select
These bits set the version of the SB Pro DSP. The value set in these bits is returned by sending the E1h
DSP command.
“0”: ver 3.01 (default)
“1”: ver 2.01
“2”: ver 1.0

maybe ?

Old computers and videogames freak
President of french association https://mo5.com
Get better, get old ! 😁

Reply 9 of 24, by cyclone3d

User metadata
Rank l33t++
Rank
l33t++

Meant to reply to this yesterday but didn't get a chance.

Why on earth are you using DSDMA? that is only for chipsets that don't support DDMA.. and your chipset does, so no need to use it at all. All you will accomplish is less compatibility if you run it in DSDMA mode.

SETUPDS is also the default mixer for the Yamaha YMF7xx chips. You run SETUPDS /S to initialize it in autoexec.bat or I guess through the command line if you really want.

Then run it without any command line switches and it will open up a GUI that has the mixer and tests and other settings such as IRQ, DMA, etc.

You may have to mess with BIOS settings. DMA 0 usually works fine for DDMA, but it really depends on your motherboard and BIOS.

Once you change mixer settings through SETUPDS, it is very easy to tell how the SETUPDS.INI file works and you can just edit manually if you want.

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

Reply 10 of 24, by johnnycontrario

User metadata
Rank Newbie
Rank
Newbie
johnnycontrario wrote on 2020-04-22, 17:07:

In other news, when I revisited today to test RayeR's utility, I discovered that the 2 sound cards won't work together anymore. The Yamaha takes over for PCM audio even though SETUPDS only enables Adlib and Joystick. I'll troubleshoot the issue and update my first post once I figure out what I screwed up. Both sound solutions are actually quite nice if only they had good documentation. Maybe I've been using Linux for too long 🤣.

I found my mistake: if I run DSDMA I can't run both cards at the same time. I've updated the original post with the exact configuration I'm using to run both cards simultaneously.

Reply 11 of 24, by johnnycontrario

User metadata
Rank Newbie
Rank
Newbie
cyclone3d wrote on 2020-04-22, 23:16:
Meant to reply to this yesterday but didn't get a chance. […]
Show full quote

Meant to reply to this yesterday but didn't get a chance.

Why on earth are you using DSDMA? that is only for chipsets that don't support DDMA.. and your chipset does, so no need to use it at all. All you will accomplish is less compatibility if you run it in DSDMA mode.

SETUPDS is also the default mixer for the Yamaha YMF7xx chips. You run SETUPDS /S to initialize it in autoexec.bat or I guess through the command line if you really want.

Then run it without any command line switches and it will open up a GUI that has the mixer and tests and other settings such as IRQ, DMA, etc.

You may have to mess with BIOS settings. DMA 0 usually works fine for DDMA, but it really depends on your motherboard and BIOS.

Once you change mixer settings through SETUPDS, it is very easy to tell how the SETUPDS.INI file works and you can just edit manually if you want.

AHEM.. /FACEPALM. Oh yeah, the menu item clearly labeled VOLUME 🤣. OK I feel proper stupid now. Thanks for pointing that out.

I would love to get the Yamaha to handle everything, but DSDMA has been the only way I could get it to work. I have to set SB DMA to 0, the IRQ MODE to INTA# 10 or 11, DMA set to D-DMA and I have to load DSDMA. If I don't load DSDMA, it doesn't work. My machine is a SFF industrial PC formerly used as a point of sale device. Maybe the BIOS or motherboard has something funny preventing it from working without DSDMA.

Reply 12 of 24, by johnnycontrario

User metadata
Rank Newbie
Rank
Newbie

My original question is answered, but I'm re-reading the YMF7x4 thread to see if I can get the YMF card working without DSDMA. If so, hopefully it means I get stereo SB Pro compatibility. I'll start a new thread if I can't figure it out. For now, my inelegant solution works.

Reply 13 of 24, by Kamerat

User metadata
Rank Oldbie
Rank
Oldbie
cyclone3d wrote on 2020-04-22, 23:16:

Why on earth are you using DSDMA? that is only for chipsets that don't support DDMA.. and your chipset does, so no need to use it at all. All you will accomplish is less compatibility if you run it in DSDMA mode.

The stock version of SETUPDS doesn't detect the 686B southbridge, you have to use a modified one.

Think this one should work, even comes with a handy utility for changing the IRQ of your Yamaha card.

DOS Sound Blaster compatibility: PCI sound cards vs. PCI chipsets
YouTube channel

Reply 14 of 24, by cyclone3d

User metadata
Rank l33t++
Rank
l33t++
Kamerat wrote on 2020-04-23, 02:00:
cyclone3d wrote on 2020-04-22, 23:16:

Why on earth are you using DSDMA? that is only for chipsets that don't support DDMA.. and your chipset does, so no need to use it at all. All you will accomplish is less compatibility if you run it in DSDMA mode.

The stock version of SETUPDS doesn't detect the 686B southbridge, you have to use a modified one.

Think this one should work, even comes with a handy utility for changing the IRQ of your Yamaha card.

OP already said they were running the modified SETUPDS.

In my sig links I have all of the modified SETUPDS versions saved on my Google Drive plus a whole bunch of other stuff. No need to even try to search for these anymore... took me quite a while to wrangle them all up.

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

Reply 15 of 24, by Kamerat

User metadata
Rank Oldbie
Rank
Oldbie
cyclone3d wrote on 2020-04-23, 04:38:

OP already said they were running the modified SETUPDS.

In my sig links I have all of the modified SETUPDS versions saved on my Google Drive plus a whole bunch of other stuff. No need to even try to search for these anymore... took me quite a while to wrangle them all up.

Oh, missed that. Shouldn't really browse Vogons on a smart phone. 😀

johnnycontrario wrote on 2020-04-22, 23:37:

I would love to get the Yamaha to handle everything, but DSDMA has been the only way I could get it to work. I have to set SB DMA to 0, the IRQ MODE to INTA# 10 or 11, DMA set to D-DMA and I have to load DSDMA. If I don't load DSDMA, it doesn't work. My machine is a SFF industrial PC formerly used as a point of sale device. Maybe the BIOS or motherboard has something funny preventing it from working without DSDMA.

You can try using the PCI.EXE tool to see if you have a device with vendor ID 1106h and device ID 0686h. If that's the case you can try playing around with the YMFIRQ utility. I also like to change the FIRSTTRY= value of the DS.INI file from 0 to 1 every time I try to reconfigure with SETUPDS, it will the try to find the correct values by itself.

DOS Sound Blaster compatibility: PCI sound cards vs. PCI chipsets
YouTube channel

Reply 16 of 24, by cyclone3d

User metadata
Rank l33t++
Rank
l33t++
johnnycontrario wrote on 2020-04-22, 23:37:
cyclone3d wrote on 2020-04-22, 23:16:
Meant to reply to this yesterday but didn't get a chance. […]
Show full quote

Meant to reply to this yesterday but didn't get a chance.

Why on earth are you using DSDMA? that is only for chipsets that don't support DDMA.. and your chipset does, so no need to use it at all. All you will accomplish is less compatibility if you run it in DSDMA mode.

SETUPDS is also the default mixer for the Yamaha YMF7xx chips. You run SETUPDS /S to initialize it in autoexec.bat or I guess through the command line if you really want.

Then run it without any command line switches and it will open up a GUI that has the mixer and tests and other settings such as IRQ, DMA, etc.

You may have to mess with BIOS settings. DMA 0 usually works fine for DDMA, but it really depends on your motherboard and BIOS.

Once you change mixer settings through SETUPDS, it is very easy to tell how the SETUPDS.INI file works and you can just edit manually if you want.

AHEM.. /FACEPALM. Oh yeah, the menu item clearly labeled VOLUME 🤣. OK I feel proper stupid now. Thanks for pointing that out.

I would love to get the Yamaha to handle everything, but DSDMA has been the only way I could get it to work. I have to set SB DMA to 0, the IRQ MODE to INTA# 10 or 11, DMA set to D-DMA and I have to load DSDMA. If I don't load DSDMA, it doesn't work. My machine is a SFF industrial PC formerly used as a point of sale device. Maybe the BIOS or motherboard has something funny preventing it from working without DSDMA.

What BIOS settings are you using? Sometimes it can bet tricky to get it working properly. Is there a setting to assign specific IRQs to specific slots and or/set the IRQs to legacy / ISA... or even set the IRQ assignment to manual instead of AUTO?

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

Reply 17 of 24, by johnnycontrario

User metadata
Rank Newbie
Rank
Newbie
Kamerat wrote on 2020-04-23, 05:17:

You can try using the PCI.EXE tool to see if you have a device with vendor ID 1106h and device ID 0686h. If that's the case you can try playing around with the YMFIRQ utility. I also like to change the FIRSTTRY= value of the DS.INI file from 0 to 1 every time I try to reconfigure with SETUPDS, it will the try to find the correct values by itself.

I can confirm VID 1106 and DID 0686, VIA VT82C686B PCI to ISA bridge.

Vendor 1106h VIA Technologies Inc
Device 0686h VT82C686B PCI to ISA Bridge
Subsystem ID 00001106h VT82C686B/A PCI to ISA Bridge
Subsystem Vendor 1106h VIA Technologies Inc

I did some testing with SETUPDS and YMFIRQ. The BIOS usually assigns IRQ 10 or 11 to the card at boot, and I can change the IRQ of the card with either SETUPDS (INTA IRQ mode) or YMFIRQ. Both the PCI.EXE and YMF7XX.EXE utilities show the card using the new IRQ. However, DOOM crashes unless I run YMFIRQ right after SETUPDS /S. Both programs are setting the IRQ to 5.

cyclone3d wrote on 2020-04-23, 18:17:

What BIOS settings are you using? Sometimes it can bet tricky to get it working properly. Is there a setting to assign specific IRQs to specific slots and or/set the IRQs to legacy / ISA... or even set the IRQ assignment to manual instead of AUTO?

Currently, all COM ports, LPT ports, NIC, on board audio, and on board USB are disabled to free as many resources as possible. The BIOS doesn't have a setting to assign IRQ's to specific slots/devices, but IRQ's and DMAs can be reserved for Legacy ISA devices, or left available for PnP PCI/ISA devices. I set IRQ5 and DMA0 to Legacy ISA. I also tried moving the card to a different PCI slot (there are only 2), but it didn't make a difference.

In SETUPDS, IRQ mode is set to INTA# IRQ5, and DMA set to 0. All sound tests within the utility play OK.
After exiting and saving SETUPDS, I execute:

SETUPDS /S
YMFIRQ 5 edge
set BLASTER=A220 I5 D0 T4.

With this configuration, DOOM plays FM music, but no sound effects at all.
Wing Commander2 plays FM, but freezes right before playing speech.

Reply 18 of 24, by cyclone3d

User metadata
Rank l33t++
Rank
l33t++

What happens if you don't set IRQ5 and/or DMA0 to legacy ISA in the BIOS?

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

Reply 19 of 24, by johnnycontrario

User metadata
Rank Newbie
Rank
Newbie
cyclone3d wrote on 2020-04-24, 04:37:

What happens if you don't set IRQ5 and/or DMA0 to legacy ISA in the BIOS?

IRQ5 and DMA are both set to legacy already. I tried setting them to PnP for kicks and got the same result.