This sound card is driving me crazy. You obviously need the right PC (mainboard). No matter what I do, the sound card always ends up on IRQ10. Therefore not usable in DOS. But I have a question about that. How do you get the game port activated? No jumper, no software config?
Go into your BIOS and "reserve" IRQ10 or possibly (if your board supports it) manually allocate the desired IRQ to the slot.
You may need to also swap slots and reset the configuration (ESCD)
Unfortunately, this one doesn't support ESSVOL.com in DOS so no audio from the wavetable header 🙁
Yeah, it's pretty much a lottery whether ESSVOL will work on a Solo-1.
I think Phil may have inadvertently introduced some confusion with his review of the card. The particular model that he used happened to work with that utility, and this led some people to believe that it would be the same with every other Solo-1 card as well.
Unfortunately, this one doesn't support ESSVOL.com in DOS so no audio from the wavetable header 🙁
Yeah, it's pretty much a lottery whether ESSVOL will work on a Solo-1.
I think Phil may have inadvertently introduced some confusion with his review of the card. The particular model that he used happened to work with that utility, and this led some people to believe that it would be the same with every other Solo-1 card as well.
100% correct Joseph. I’ll just have to keep buying them until I come across one that supports ESSVOL.com. It’s the lottery 🤨
Regarding the ESSVOL.COM issue - perhaps this could be approached from another way
either A - by using a Sound Blaster Pro compatible mixer utility like this https://www.bttr-software.de/products/sbmix/
Go into your BIOS and "reserve" IRQ10 or possibly (if your board supports it) manually allocate the desired IRQ to the slot.
You may need to also swap slots and reset the configuration (ESCD)
Thx.
It's not a particularly good board. There is no manual resource distribution and only one usable PCI slot due to the large graphics card.
But I now have a Sound Blaster Live 5.1 as an alternative. Works partially, but at least no resource problem.
You can use this utility written in Assembler by Strannik_ from old-games.ru/forum to quickly enable the AuxB (MIDI) volume - which is muted by default. Or, you can run the following commands in DEBUG.EXE:
-o224 3a
-o225 88
Or, run this code in QBASIC:
OUT &H224, &H3A
OUT &H225, &H88
SYSTEM
I have a request: seeing several variants of the card with factory-soldered PC Speaker headers in this thread, has finally pushed me into adding it to my Terratec card (where you always find bare contact pads marked "CN5"). According to the datasheet, there is a resistive path going to pin 54 of the ES1938 chip. On a ES1698 close-up photo on the internet, the resistor type seems to be "103" (10 kOhm). Could someone who has it on their Solo-1 cards confirm it is indeed a "103" resistor there as well?
Update: so I added the header and the 10kOm specified by the datasheet - no dice. No idea why at the moment.
Hi guys, is it possible to use ESFM synthesis (OPL3+) in pure DOS with a Solo-1 card? I mean DOS games that use the Miles Sound System.
I have two ESS Solo-1 cards, but both work in DOS only in SB Pro mode (OPL3) and not like ES1688, 1788, 1868 or other native ESFM ISA cards...
In Windows 9X + VxD drivers problem is the same - I can hear Adlib, SB or any other OPL2/OPL3 music settings in DOS games but not native ESFM which works only in Windows MIDI for me.
Sound setup just keep saing that "card not found".
Native (enhanced) ESFM and AudioDrive support has been removed from the DOS drivers of the Solo-1. You need an ESS branded ISA sound card for that. I think the last one that supports both of these features is the ESS 1869.
Native (enhanced) ESFM and AudioDrive support has been removed from the DOS drivers of the Solo-1.
That's not universally true though. On this very thread, Stretch says enhanced ESFM works on a D248 chip. I have a "new" card (recycled chips on a new PCB) purchased in 2019 from a major auction site with a G029 chip and enhanced ESFM works on it too.
It's been years since I used it so I re-tested it (on a 440BX-based board in DDMA) to ensure I wasn't just dreaming it. Enhanced ESFM works on Theme Hospital and Warcraft 2, and AudioDrive PCM works on Descent and Descent II (AudioDrive PCM seems bugged on the first 2 games, doesn't detect it).
That's not universally true though. On this very thread, Stretch says enhanced ESFM works on a D248 chip. I have a "new" card (recycled chips on a new PCB) purchased in 2019 from a major auction site with a G029 chip and enhanced ESFM works on it too.
Fair enough, I should have phrased that better. It may work with one of the Solo-1 cards that supports ESSVOL.EXE but we currently have no reliable way of knowing which ones do.
It's been years since I used it so I re-tested it (on a 440BX-based board in DDMA) to ensure I wasn't just dreaming it. Enhanced ESFM works on Theme Hospital and Warcraft 2, and AudioDrive PCM works on Descent and Descent II (AudioDrive PCM seems bugged on the first 2 games, doesn't detect it).
Can you test the native ESFM and AudioDrive PCM modes with Heroes of Might and Magic 2 on your card? The game should be fully patches of course. As I recall, both Descent games use the HMI sound system, while HoMM 2 uses the latest version of the Miles Sound System.
Can you test the native ESFM and AudioDrive PCM modes with Heroes of Might and Magic 2 on your card? The game should be fully patches of course. As I recall, both Descent games use the HMI sound system, while HoMM 2 uses the latest version of the Miles Sound System.
I can't I'm afraid as I don't have that game.
FWIW this is my card, as you can see it's really minimal, the game port is a dummy and the passive components to make it work are not fitted.
I've tested ESSVOL on my rev G chip and it works fine, both version 1.4 and 1.6. I think ESFM and ESSVOL appear to go hand-in-hand, if one works the other should work.
I looked at the datasheets for the ES1938 Solo-1 and ES1946 Solo-1E (the latter also mentions ES1941 but only in the context of the external EEPROM).
Both have PCI vendor/device ID of 125d:1969 and include ESFM. The difference is in the PCI revision and default subsystem:
ES1938: PCI rev 00, subsystem 125d:1818
ES1946: PCI rev 01, subsystem 125d:8888
The subsystem ID can be programmed by the BIOS on boot (which only makes sense for on-board sound) or read from an external EEPROM, which is only mentioned in the ES1946 datasheet but the ES1938 datasheet is a preliminary one and the product brief that's commonly available does mention EEPROM support.
The EEPROM only stores the subsystem ID, this is the example in the datasheet:
1; SVID.DAT 2; 3; Example of EEPROM (93LC46) Data 4; 5; SVID = 1766h Sub-system Vendor ID (HC Corp) 6; SID = 1480h Sub-system ID (Model VC1480) 7; 846H, 38H ; Signature for 93LC46/1946 914H, 80H ; SID 1017H, 66H ; SVID 11; 12; End of SVID.DAT
It also describes how to read, write, or erase the EEPROM using the Solo-1 itself.
I think for the purposes of determining the features supported, the EEPROM is irrelevant. It's usually used by Windows drivers to provide a friendlier device name (card vs chip name) or to configure card-specific features (e.g. inputs/outputs).
My rev G chip has PCI rev 01 and subsystem 125d:8888, which would match ES1946 but perhaps there is a later revision of the ES1938 that matches that, for which there is no publicly available datasheet.
Going back through this thread, we have these PCI and chip revisions:
00: D
01: G
02: K (no ESFM/ESSVOL support)
ESFM and ESSVOL are known to work on rev D, G, and H so I'm going to assume chip rev H is PCI rev 01 as well.
My card's lspci -n output in Linux is:
103:07.0 0401: 125d:1969 (rev 01) 2 Subsystem: 125d:8888 3 Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- 4 Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- 5 Latency: 32 (500ns min, 6000ns max) 6 Interrupt: pin A routed to IRQ 21 7 NUMA node: 0 8 Region 0: I/O ports at cf00 [size=64] 9 Region 1: I/O ports at ce00 [size=16] 10 Region 2: I/O ports at cd00 [size=16] 11 Region 3: I/O ports at cc00 [size=4] 12 Region 4: I/O ports at cb00 [size=4] 13 Capabilities: [c0] Power Management version 1 14 Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) 15 Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME- 16 Kernel driver in use: snd_es1938 17 Kernel modules: snd_es1938
So long story short: when an ESS Solo-1 or a YMF-7xx PCI sound card with hardware-level Adlib/OPL3 compatibility is plugged into a recent motherboard through a PCI->PCIe adapter, does the FM synthesizer become reachable on alternative I/O ports above 0FFFh, or will the FM synthesizer simply not be programmable in such configurations?
That was on a Socket AM2+ system with AMD RS780/SB700 chipset so a native PCIe system with a PCIe-to-PCI bridge in the south bridge. I don't remember if it supports subtractive decoding but the Linux driver uses the first 4 I/O ports in PCI region 1 for the FM synth so the FM synth is always available at a high-numbered I/O port. I have also tested VGMPlay in direct FM hardware mode by setting FMPort in the configuration to ce00 in this case.
Page 46 of the ES1946 datasheet does indicate that the FM ports are available on both PCI Native mode and legacy modes (i.e. high and low-number I/O ports).
This card is evidently a cheap thing coming from China, very much contemporary.
I found another similarly bare-bones low-profile card in this thread, I remember seeing that one as well but it was a little more expensive, oddly enough, so I bought my triangular one. Perhaps some day someone will design a fully featured and low-noise "Solo-1 Legacy" card.
I've tested ESSVOL on my rev G chip and it works fine, both version 1.4 and 1.6. I think ESFM and ESSVOL appear to go hand-in-hand, if one works the other should work.
Nice, it's good to know that this checks out.
It's weird that ESS dropped this (and native ESFM) functionality from their later chips, without marking that more clearly in terms of model/revision numbers. Why they didn't just go with "Solo-1 Rev. B" or something simple like that is beyond me.
Well, I finally got the ESS Solo to work in PC/PCI (SBLINK) mode. There is a modified ESSOLO.COM floating around here.
Luckily I have a Revision D chip card because it didn't work with my other cards. With SB-LINK specified in ESSOLO.INI (through changing the correct bit in a hex editor) the initialization will only work with the PC/PCI cable plugged in, otherwise it says it doesn't detect the card.
Then I ran Rise Of The Triad sound config... With the utility running, I unplugged the cable and lost sound effects (which confirmed the functionality).
But testing other games showed issues. Either I am setting it up incorrectly or their implementation is buggy. With the Yamaha, the card occupies one physical IRQ and then takes another IRQ for the SB-LINK. With the Solo, it uses IRQ5 for both the physical IRQ and the SB-LINK IRQ, and perhaps that's why I got no sound effects in Sierra games and why Monkey Island Talkie Edition crashed as soon as Guybrush tries to speak.
perhaps that's why I got no sound effects in Sierra games and why Monkey Island Talkie Edition crashed as soon as Guybrush tries to speak
I've just tried the Talkie Edition of MI1 under similar conditions and it didn't crash, GK1 also worked properly (mobo is Acorp 6M815E). Something must be off in your configuration: Solo-1 cards have nearly ultimate compatibility with DOS games, and I've yet to discover (and I really tried!) a single title that doesn't work flawlessly in PC-PCI mode -- except Quarantine - which needs DOS32A and IRQ5 specifically; there was also an obscure european educational game that only worked on IRQ7, but I forgot the name.
BTW, the ICH2 & PCPCI-modified ESSOLO.COM is enough: you can put any unchanged ESSOLO.INI beside it and it should still work (in DOS 6.22, at least).
perhaps that's why I got no sound effects in Sierra games and why Monkey Island Talkie Edition crashed as soon as Guybrush tries to speak
I've just tried the Talkie Edition of MI1 under similar conditions and it didn't crash, GK1 also worked properly (mobo is Acorp 6M815E). Something must be off in your configuration: Solo-1 cards have nearly ultimate compatibility with DOS games, and I've yet to discover (and I really tried!) a single title that doesn't work flawlessly in PC-PCI mode -- except Quarantine - which needs DOS32A and IRQ5 specifically; there was also an obscure european educational game that only worked on IRQ7, but I forgot the name.
BTW, the ICH2 & PCPCI-modified ESSOLO.COM is enough: you can put any unchanged ESSOLO.INI beside it and it should still work (in DOS 6.22, at least).
Yes, my configuration is a little unusual - it's a QDI Platinix 2 (read: Pentium 4 with SBLINK). It probably doesn't like my BIOS. Ok, good to know the implementation works properly on other configurations. The YMF724 works perfectly in it. For wavetable, I use a Chill and Phil plugged into the gameport, so I can live without the Solo.
Tested on another P4 board - Intel D850MV. The BIOS on this board allows specifying which IRQ for each PCI slot. PC/PCI on the Solo didn't work. The loader said it cannot detect the Audiodrive.
For a sanity check, I plugged in a Yamaha card (YMF744) and it worked perfectly. I confirmed BIOS functionality in assigning IRQs by testing with the SETUPDS utility. I also confirmed SB-LINK functionality by removing the cable. With the cable the SB tests execute propery. Without the cable, there's no sound. FM works with or without the cable.