VOGONS


First post, by Kahenraz

User metadata
Rank l33t
Rank
l33t

ESS has several PCI audio cards that fall under a few different names and come with with different features; for example, the Solo-1 cards have ESFM, a 100% compatible Adlib OPL3 clone with added extensions, while the Canyon, Meastro, and Allegro variants have an inferior FM synthesizer that can sound quite awful.

Configuring these sound cards requires loading a .SYS file from CONFIG.SYS and then running an accompanying .COM file which reads an .INI file that contains resource information. The reason I'm being a bit vague here is that different drivers used different names, for example, ESSAUDIO.SYS, AECU.SYS, ESSAUDIO.COM, ESSOLO.COM, MAESTRO.COM, ESSAUDIO.INI, ESSOLO.INI, ES1938.INI, and MSTRINF.INI. All of the .SYS, .COM, and .INI files are synonymous, although not all versions look for all possible .INI variants. All of the .COM programs will look for any of ESSOLO.INI, ES1938.INI, or MSTRINF.INI, but only the newer versions (not 2.11 .COM variants) will look for ESSAUDIO.INI.

I have included all of the different versions I could find from various driver sets. All of them are compatible with the different PCI audio cards, with some caveats. The most compatible way to initialize any of these cards is to the use the most recent ESSAUDIO.SYS and ESSAUDIO.COM. I have found, however, that my Maestro-2, Maestro-2E and Allegro-1, do not respond to Sound Blaster Pro-compatible mixers with regards to setting the FM volume (I have not tested the Canyon3D, Maestro-1, or Maestro-3), and the default setting is almost inaudible. However, running any of the older 2.11 .COM programs will set the volume a bit louder, which is the only way to get it to an reasonable level for use with low-powered speakers, such as those in a laptop. The Solo-1 *does* work correctly with Sound Blaster Pro mixers to set the FM volume.

The major caveat I mentioned, is that these cards must utilize various methods for obtaining legacy compatibility. This can be in the form of DDMA, PCPCI, SWDMA, and TDMA. The card must also be configured to appear at a mapped location for Sound Blaster Pro address, DMA, and IRQ. The *only* way to do this is from the Windows Device Manager, under the driver's resource tab when using the Windows 9x VxD drivers. When the card is configured this way, it will create or update one of the aforementioned .INI files in the C directory of the hard drive. These settings are compatible specifically with your system and may not work if this file is copied to a different computer. Therefore the most reliable way to configure this card for DOS is through Windows. Once this INI file is created and configured, specifically for your hardware, the card will function in pure DOS without Windows.

I've attached all of the various driver versions here. I have renamed all of the .SYS and .COM files to ESSAUDIO.SYS and ESSAUDIO.COM for consistency. The versions I have attached here include:

ESSAUDIO.SYS:
2.10E
2.10H
2.10J
2.10N
2.30B
2.30D
2.30F

ESSAUDIO.COM
2.11C
2.11I
2.11M
2.11O
2.11R
2.31A
2.31D
2.31G
2.31L
2.31S

There is also a test.exe by Adlib which will allow you to quickly test the FM audio volume. There is no audio mixer included by ESS, but these PCI cards are compatible with any Sound Blaster Pro audio mixer (excluding FM). A good one can be found here, and I have attached a copy as well:

https://www.bttr-software.de/products/sbmix/

This is not a drop-in solution for getting any of these PCI audio cards working. You will still need to find the appropriate VxD driver for Windows 9x, configure its resources to generate a INI file, and only then will these files be useful.

It's possible to initialize and configure one of these cards without these files, or Windows, but this requires using a tool like PCISET to manipulate the registers directly. This is not a universal solution, as some of the different chips may have different registers. I experimented with this a little, but found it to be unreliable. The drivers themselves already know how to configure the INI file correctly, according to your system, and I found this to be the easiest way to do it.

You can read a bit up on PCISET here:

http://groups.google.de/group/de.comp.os.msdo … a0e07ae1d32c531
Re: ESS Solo-1 - pure PCI vs. SB-link

It can also be obtained here, as I have attached it to this post as well:

https://www.uwe-sieber.de/util_e.html

Attachments

  • Filename
    ESS PCI DOS Audio Drivers.zip
    File size
    203.35 KiB
    Downloads
    91 downloads
    File license
    Public domain
  • Filename
    Adlib FM Test.zip
    File size
    8.19 KiB
    Downloads
    75 downloads
    File license
    Public domain
  • Filename
    sbmixb_2020-01-21.zip
    File size
    7.84 KiB
    Downloads
    68 downloads
    File license
    Public domain
  • Filename
    pciset.zip
    File size
    21.54 KiB
    Downloads
    68 downloads
    File license
    Public domain
Last edited by Kahenraz on 2023-05-30, 14:14. Edited 11 times in total.

Reply 1 of 2, by Kahenraz

User metadata
Rank l33t
Rank
l33t

While experimenting with the .COM driver programs, I found that the 2.11 .COM versions have some kind of additional GPIO feature. I'm not entirely sure how it works, or the correct syntax, but the closest I could get is:

ESSAUDIO.COM gpio--start11111111--end

which produced the following error:

Write fault error writing device AUX
Abort, Retry, Ignore, Fail?

All of the .COM programs seem to have text inside of the binary that suggests that there is some way to "reinitialize" the card. But I haven't been able to find any way to activate this from the command line.

Reply 2 of 2, by Kahenraz

User metadata
Rank l33t
Rank
l33t

Some additional information here:

Re: Compaq N600c: hangs on playing audio in DOS, music works

I can confirm that the .SYS file does not need to be loaded for the Maestro and Allegro series. I don't recall if it's needed for the Solo-1. I'm not sure exactly what it's used for, as running just the .COM file after the .INI file has been generated seems to work just fine for initializing the card.