VOGONS


First post, by Paar

User metadata
Rank Member
Rank
Member

Bought a pair of 6 pin ribbon cables to tinker with SB Link mode on some of my sound cards. Worked fine with Yamaha YMF724 card but I just cannot enable it on my Terratec ESS Solo 1. Every time I try to initialize the card in DOS is informs me that the card is in DDMA mode. Tried to HEX edit the ESSOLO.INI file to force SB Link but Wolf3D hangs when trying to play PCM sound and Doom just doesn't play anything.

Is there some kind of trick to enable the mode on the card? The pinout is a little weird but the continuity is there with the Solo chip. My board is Soyo SY-6BA+ III with Intel 440BX chipset.

The attachment ess_solo.jpg is no longer available
The attachment essolo_init.jpg is no longer available

Reply 1 of 14, by Joseph_Joestar

User metadata
Rank l33t++
Rank
l33t++

See here: ESS Solo-1 easy(ish) setup with ESSOLO.INI (No Windows/ESSOLO.SYS Required!)

You may need to make ESSOLO.INI read-only after making the changes. Also, it doesn't seem to be doable with every card, possibly depending on the chip revision and/or EEPROM. I followed that guide and made it work on my card as described here.

P.S.

Try also setting "PCI Delayed Transaction" and "Passive Release" to Enabled in the BIOS.

PC#1: Pentium MMX 166 / Soyo SY-5BT / S3 Trio64V+ / Voodoo1 / YMF719 / AWE64 Gold / SC-155
PC#2: AthlonXP 2100+ / ECS K7VTA3 / Voodoo3 / Audigy2 / Vortex2
PC#3: Core 2 Duo E8600 / Foxconn P35AX-S / X800 / Audigy2 ZS
PC#4: i5-3570K / MSI Z77A-G43 / GTX 980Ti / X-Fi Titanium

Reply 2 of 14, by Paar

User metadata
Rank Member
Rank
Member

Thanks for the tip 😀. I think I have everything in order, according your points, even the BIOS settings. The only thing I didn't try is setting the INI file as read only and restarting the PC. I will try it when I have a chance and will post my results here.

It will be interesting it if will prove to be the problem. ESS developers probably didn't see SB Link as something important so they omitted the support in Windows drivers. But then again, why would HW manufacturers put the pins there if an user couldn't use it... So confusing.

Reply 3 of 14, by Paar

User metadata
Rank Member
Rank
Member

So I have tried all things you mentioned in your post and unfortunately nothing worked. When forced into SB Link mode, Wolf3D just hangs when attempting to play digital sound and Doom doesn't produce any sound effect.

To be sure, I have checked the exact pinout on the card and compared it with datasheet and everything is in check. Motherboard implementation is probably good too since Yamaha cards works fine with it. Double checked the cable and it's OK. Therefore it's either a BIOS/motherboard issue or faulty ESS chip. Will try to get another card if opportunity arises and will try to use it on another motherboard with SB Link.

It's really weird.

Or perhaps it's a driver issue? I have noticed that on your screenshots, the initialization mode is described as "DMA mode is PCPCI... ok", while on my computer it's just "DMA mode is PCPCI". It could be worth a shot.

Reply 4 of 14, by Joseph_Joestar

User metadata
Rank l33t++
Rank
l33t++
Paar wrote on 2025-05-02, 17:09:

So I have tried all things you mentioned in your post and unfortunately nothing worked. When forced into SB Link mode, Wolf3D just hangs when attempting to play digital sound and Doom doesn't produce any sound effect.

About the "DMA Mode is PCPCI...ok" message after ESSOLO.COM loads, I only managed to get it with the 4.12.01.1165 drivers from Phil's website. No other driver version could enable it on my card.

Also, did you try any other games besides Wolf3D? I mentioned this elsewhere, but Prehistorik and Dyna Blaster are good tests for SB-Link on the Solo-1. They don't produce any digital sound in DDMA/TDMA mode but run just fine via SB-Link.

But yeah, making SB-Link mode work on a Solo-1 card is pretty difficult. In comparison, getting it running on a Yamaha YMF7x4 card is fairly straightforward.

PC#1: Pentium MMX 166 / Soyo SY-5BT / S3 Trio64V+ / Voodoo1 / YMF719 / AWE64 Gold / SC-155
PC#2: AthlonXP 2100+ / ECS K7VTA3 / Voodoo3 / Audigy2 / Vortex2
PC#3: Core 2 Duo E8600 / Foxconn P35AX-S / X800 / Audigy2 ZS
PC#4: i5-3570K / MSI Z77A-G43 / GTX 980Ti / X-Fi Titanium

Reply 5 of 14, by Paar

User metadata
Rank Member
Rank
Member

Tried the drivers from Phil's site and still without luck. Interestingly, when using 2.31D DOS drivers, it won't initialize at all when setting the INI file as read only. It instructs me to start the "windows applet". When I unlock the file it gets detected as DDMA mode.

I think I give up, there's clearly no persuading it. Fortunately DDMA mode is still pretty good and compatible. Too bad.

EDIT: Looked at ESS Solo datasheet (couldn't find complete one for ES1938 but found one for ES1946, should be the same but for laptops) and found this interesting table:

The attachment ess_solo_pci_bits.png is no longer available

They specify that for add-on cards only TDMA/DDMA modes are supported. You have to properly configure PCI configuration register bits on address 50h to switch between the modes. Perhaps the drivers can do it only in combination with proper board/BIOS and that's why the compatibility varies so much.

Reply 6 of 14, by Paar

User metadata
Rank Member
Rank
Member

Did some more testing with my card + motherboard combo - tried different drivers (2.14) and disabled almost all options in the BIOS to see if anythings has an effect. I have not succeeded to make SB Link to work.

But I have found something interesting. You can actually set DMA mode by a registry key. The key differs depending on the drivers used by it looks like this:

"Legacy DMA Mode" - 00: DDMA, 01: TDMA, 02: PCPCI
or
"Use PCPCI DMA Mode" - for older drivers; 00: disabled, 01: enabled

The drivers default to the value 01 (TDMA) but when executing ESSOLO.COM (either in Windows or DOS), it falls back to DDMA mode. So probably no need to change it to 00. Maybe if you have a motherboard with DDMA support but the drivers use TDMA instead.

Editing the registry has some advantages. First, you don't have to force anything, so no need to set ESSOLO.INI file to read-only mode, and no need to use hacked version of ESSOLO.COM. Second, you can use SB Link even in the Windows, if you make it work of course. How do I know? When I enabled the registry as PCPCI, the DOS games stopped working 😁.

I have another motherboard with SB Link connector (440ZX chipset) and one mATX motherboard with ESS Solo 1 chip integrated. I'll do some more tests in the future.

Reply 7 of 14, by Joseph_Joestar

User metadata
Rank l33t++
Rank
l33t++
Paar wrote on 2025-05-05, 06:07:

But I have found something interesting. You can actually set DMA mode by a registry key.

That's awesome! I'll try it out the next time I'm messing with my Solo-1. The card is currently sitting in storage, as I have no use case for it at this time.

I have another motherboard with SB Link connector (440ZX chipset) and one mATX motherboard with ESS Solo 1 chip integrated.

If it helps, I got my Solo-1 working via SB-Link on a 440ZX motherboard, specifically the Abit ZM6. Might also be worth trying jumper wires instead of the pre-built cable, just to be sure that each pin on the card is connected to its intended counterpart on the motherboard.

file.php?id=11725&mode=view

PC#1: Pentium MMX 166 / Soyo SY-5BT / S3 Trio64V+ / Voodoo1 / YMF719 / AWE64 Gold / SC-155
PC#2: AthlonXP 2100+ / ECS K7VTA3 / Voodoo3 / Audigy2 / Vortex2
PC#3: Core 2 Duo E8600 / Foxconn P35AX-S / X800 / Audigy2 ZS
PC#4: i5-3570K / MSI Z77A-G43 / GTX 980Ti / X-Fi Titanium

Reply 8 of 14, by Paar

User metadata
Rank Member
Rank
Member

The wiring is alright, I have double checked with my multimeter. And it works with Yamaha card. Maybe I'll start with the ZX board, if it works it means there is a problem with northbridge+southbridge combination as the southbridge is the same as with the 440BX.

Reply 9 of 14, by Paar

User metadata
Rank Member
Rank
Member

Ok, did some more tests with other motherboards, namely Procomp BIZ1A and Gigabyte GA-6ZMA 1.2 with integrated ESS chip. Short story is the Procomp board detected ESS card properly in SB Link mode and I could hear sound in DOS in Doom. Gigabyte motherboard didn't work, which is weird since the sound chip is hardwired to SB Link pins on the 440ZX southbridge.

There are two things to assume - there is not guarantee that the SB Link works only with 440ZX chipset as both tested boards have these. And second, ESS Solo card which doesn't work in one system probably will work in another.

As the SB Link signals on the sound card are directly wired to the header, my theory is that there must be something "wrong" with the motherboard implementation. I started to search for some passives and found that at least PC/PCI request (pin 4) and Serial IRQ (pin 6) are connected to pull up resistors. I have measured the differences on all tested motherboards and these are the results.

Procomp Informatics BIZ1A (440ZX)
=================================
pin 4 - 8.2 kOhm 3.3V
pin 6 - 8.2 KOhm 5V

Gigabyte GA-6ZMA (440ZX)
========================
pin 4 - 10 kOhm 3.3V
pin 6 - 10 kOhm 3.3V

Soyo SY-6BA+ III (440BX)
========================
pin 4 - 8.2 kOhm 3.3V
pin 6 - 8.2 kOhm 3.3V

So the only significant difference is that the only working motherboard has pin 6 connected through pull up resistor to 5V. It is possible that pin 1 is connected to some pull resistor too but I couldn't find it. So is this the cause of the compatibility issues? I cannot be sure about that but perhaps ESS Solo 1 needs higher voltage to detect properly and Yamaha cards do not.

EDIT: This theory about weak signaling is probably wrong as 3.3V should be enough for ESS Solo, according to this table from data sheet.

The attachment ess_solo_io.jpg is no longer available

Reply 10 of 14, by Joseph_Joestar

User metadata
Rank l33t++
Rank
l33t++
Paar wrote on 2025-05-06, 17:49:

Short story is the Procomp board detected ESS card properly in SB Link mode and I could hear sound in DOS in Doom.

Nice!

By the way, I noticed that the Solo-1 takes up base address D400 on your screenshot where SB-Link is working. But in your previous screenshot where SB-Link didn't work on the Soyo motherboard, the card took up base address D800. No idea if this means anything, just noticed that there's a difference. Also, in my own screenshot, my card also took up address D400.

PC#1: Pentium MMX 166 / Soyo SY-5BT / S3 Trio64V+ / Voodoo1 / YMF719 / AWE64 Gold / SC-155
PC#2: AthlonXP 2100+ / ECS K7VTA3 / Voodoo3 / Audigy2 / Vortex2
PC#3: Core 2 Duo E8600 / Foxconn P35AX-S / X800 / Audigy2 ZS
PC#4: i5-3570K / MSI Z77A-G43 / GTX 980Ti / X-Fi Titanium

Reply 11 of 14, by Paar

User metadata
Rank Member
Rank
Member

I'm still confused about the Gigabyte motherboard - the manufacturer wired ESS chip for SB Link but it didn't work in my test... There must be something else going on, it should work, right? I don't know. Maybe it's dependent on a BIOS version, maybe the ESS driver is very picky with the available resources. The PCI IO Base is probably different with various PCI slots on the motherboard? I'm just guessing. I think I'll give it another go, will probably tinker more with the integrated chip.

I took some pictures from the Procomp board BIOS, it could come handy in the future.

POST string is 07/12/2000-i440ZX-W977TF-2A69KPNIC-00.

Reply 12 of 14, by mockingbird

User metadata
Rank Oldbie
Rank
Oldbie
Paar wrote on 2025-05-06, 17:49:

<snip>
EDIT: This theory about weak signaling is probably wrong as 3.3V should be enough for ESS Solo, according to this table from data sheet.

The ESS Solo SBLINK rabbit hole claims its next victim.

mslrlv.png
(Decommissioned:)
7ivtic.png

Reply 13 of 14, by Paar

User metadata
Rank Member
Rank
Member

Yeah, I feel like I'm shooting in the dark. I will give it couple more tests and then will move on. DDMA is good enough anyway.

Reply 14 of 14, by Joseph_Joestar

User metadata
Rank l33t++
Rank
l33t++

At least you got the Solo-1 working via SB-Link on the Procomp board. That's a pretty rare accomplishment by itself.

Maybe other people will find some useful info in this thread if they happen to stumble upon it.

PC#1: Pentium MMX 166 / Soyo SY-5BT / S3 Trio64V+ / Voodoo1 / YMF719 / AWE64 Gold / SC-155
PC#2: AthlonXP 2100+ / ECS K7VTA3 / Voodoo3 / Audigy2 / Vortex2
PC#3: Core 2 Duo E8600 / Foxconn P35AX-S / X800 / Audigy2 ZS
PC#4: i5-3570K / MSI Z77A-G43 / GTX 980Ti / X-Fi Titanium