VOGONS


EAX appreciation thread

Topic actions

Reply 640 of 654, by Joseph_Joestar

User metadata
Rank l33t++
Rank
l33t++
willow wrote on 2025-08-23, 09:12:

pcgamingwiki have a list https://www.pcgamingwiki.com/wiki/List_of_gam … hat_support_EAX I don't know if it's better ou not than list on wikipedia/vogons.

I can confidently say that the Vogons EAX list is more comprehensive than the old one from Wikipedia, since many additional games have been tested by myself and others over the last couple of years. Regarding the PC Gaming Wiki EAX list, as I understand, it's generated dynamically from all the game pages on that website. So it might have some info that's not on the Vogons wiki, and vice versa.

That said, I did notice a few inaccuracies on the PCGW list. For example, it shows some fairly recent games like Baldur's Gate 3 and Call of Duty: Modern Warfare (2019) as supporting EAX, which is obviously not the case

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 641 of 654, by ott

User metadata
Rank Newbie
Rank
Newbie

We need a utility to detect EAX extensions in games. There must be a way to detect EAX signatures in compiled files or something like that.

Reply 642 of 654, by Falcosoft

User metadata
Rank l33t
Rank
l33t
ott wrote on Yesterday, 16:37:

We need a utility to detect EAX extensions in games. There must be a way to detect EAX signatures in compiled files or something like that.

EAX is not an explicitly linked library but it is based on Microsoft's Component Object Model (COM) since it's an extension to Directsound which itself is also based on COM. So you cannot see the EAX related functions in the import section of the executable.
COM uses run-time initialization (with the help of CLSID's) that is not so easily detected by static executable analizer tools.

Website, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper
x86 microarchitecture benchmark (MandelX)

Reply 643 of 654, by ott

User metadata
Rank Newbie
Rank
Newbie

Falcosoft, thanks for explanation! But how does the Creative ALchemy utility detects EAX functions?

Reply 644 of 654, by Falcosoft

User metadata
Rank l33t
Rank
l33t
ott wrote on Yesterday, 18:03:

Falcosoft, thanks for explanation! But how does the Creative ALchemy utility detects EAX functions?

The Alchemy library does not have to detect anything besides hardware/driver capabilities directly. It's the other way around. Alchemy implements the interfaces of Directsound (dsound.dll ). The application executable detects the new dll in the application's folder and calls these new implementations instead of the original ones.
This works this way since dsound.dll itself if explicitly linked. But the only imported functions by the application (and exported functions by the dll) are the DirectsoundCreate related ones. All the other functions are reached by the application at run-time by querying the interfaces of the created Directsound object. All COM libraries work this way.

To be clear: Applications that use Directsound can be detected since dsound.dll is explicitly linked and DirectsoundCreate/DirectsoundCreate8 etc. functions are explicitly imported by them. But EAX usage cannot be detected this way.

@Edit:
Directdraw works the same way as Directsound. That is only DirectdrawCreate is explicitly imported from ddraw.dll and all the other functions are reached by the application at run-time by querying the interfaces of the created Directdraw object.
I could not find an example program of mine that uses Directsound directly but I could find one that uses Directdraw. I hope the following screenshots show the problem of COM call detection.

1. It can be seen that only DirectdrawCreate can be found in the import section of the executable (it is analogous to DirectsoundCreate):

The attachment ddraw2.png is no longer available

2. It can be seen that debuggers/static executable analyzers can identify the call of DirectdrawCreate (or DirectsoundCreate) but the method calls of the Directdraw object cannot be identified ( the situation is the same in case of Directsound).

The attachment ddraw1.png is no longer available

Website, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper
x86 microarchitecture benchmark (MandelX)

Reply 645 of 654, by TeddyTheBear

User metadata
Rank Newbie
Rank
Newbie
ott wrote on Yesterday, 16:37:

We need a utility to detect EAX extensions in games. There must be a way to detect EAX signatures in compiled files or something like that.

You can also use DSOAL. Get the dll (32bit or 64bit depending on the game), drop it in the game folder, set logging to level 3, run the game and if the game uses DirectSound or EAX it will make a text file in the game folder with logs of various DirectSound and EAX api calls. This even tells you what version of EAX the game is using up to EAX4.

Reply 646 of 654, by KainXVIII

User metadata
Rank Oldbie
Rank
Oldbie
TeddyTheBear wrote on Today, 02:17:
ott wrote on Yesterday, 16:37:

We need a utility to detect EAX extensions in games. There must be a way to detect EAX signatures in compiled files or something like that.

You can also use DSOAL. Get the dll (32bit or 64bit depending on the game), drop it in the game folder, set logging to level 3, run the game and if the game uses DirectSound or EAX it will make a text file in the game folder with logs of various DirectSound and EAX api calls. This even tells you what version of EAX the game is using up to EAX4.

https://github.com/Choum28/NewAlchemy also has log support, afaik with eax versions.

Reply 647 of 654, by KainXVIII

User metadata
Rank Oldbie
Rank
Oldbie

Here is Deep Space 9 logs (shows EAX 2.0 effect which corresponds to Vogons wiki), McGee's Alice (shows EAX 2.0, despite i don't hear any difference 🤣) and Bloodrayne 1 (shows EAX 2.0 effects and some others, probably EAX 3.0 but its doesn't tell which version unfortunately), Max Payne 1 don't even create eax log file, so its safely to say its absent there i guess!

The attachment eaxlogs.zip is no longer available

Reply 648 of 654, by ott

User metadata
Rank Newbie
Rank
Newbie
TeddyTheBear wrote on Today, 02:17:

You can also use DSOAL. Get the dll (32bit or 64bit depending on the game), drop it in the game folder, set logging to level 3, run the game and if the game uses DirectSound or EAX it will make a text file in the game folder with logs of various DirectSound and EAX api calls. This even tells you what version of EAX the game is using up to EAX4.

Great solution!

KainXVIII wrote on Today, 08:09:

Max Payne 1 don't even create eax log file, so its safely to say its absent there i guess!

Finally this case is solved 😀

Thanks guys!

Reply 649 of 654, by Joseph_Joestar

User metadata
Rank l33t++
Rank
l33t++
KainXVIII wrote on Today, 08:09:

Max Payne 1 don't even create eax log file, so its safely to say its absent there i guess!

Thanks! I've updated the Max Payne entry on the Vogons wiki with a note that it doesn't support EAX, only DirectSound3D, using your post as a reference link.

BTW, there are a few games which claim to support EAX, but we don't know which version they actually use. If someone could check them with one of those logging tools and report back, I could add the relevant info to the wiki. The games in question are:

  • 25 to Life
  • Dungeons & Dragons: Dragonshard
  • eRacer
  • Heretic Kingdoms: The Inquisition
  • Need for Speed: Hot Pursuit 2
  • Operation Flashpoint: Cold War Crisis
  • The Suffering
  • The Suffering: Ties That Bind

There may be more, but these are the ones that have been identified as having some references to EAX in either their documentation or the game executable.

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 650 of 654, by willow

User metadata
Rank Member
Rank
Member
Joseph_Joestar wrote on Today, 10:42:
Thanks! I've updated the Max Payne entry on the Vogons wiki with a note that it doesn't support EAX, only DirectSound3D, using y […]
Show full quote
KainXVIII wrote on Today, 08:09:

Max Payne 1 don't even create eax log file, so its safely to say its absent there i guess!

Thanks! I've updated the Max Payne entry on the Vogons wiki with a note that it doesn't support EAX, only DirectSound3D, using your post as a reference link.

BTW, there are a few games which claim to support EAX, but we don't know which version they actually use. If someone could check them with one of those logging tools and report back, I could add the relevant info to the wiki. The games in question are:

  • 25 to Life
  • Dungeons & Dragons: Dragonshard
  • eRacer
  • Heretic Kingdoms: The Inquisition
  • Need for Speed: Hot Pursuit 2
  • Operation Flashpoint: Cold War Crisis
  • The Suffering
  • The Suffering: Ties That Bind

There may be more, but these are the ones that have been identified as having some references to EAX in either their documentation or the game executable.

nfs hot pursuit 2 don't use eax, only directsound 3d

Reply 651 of 654, by Joseph_Joestar

User metadata
Rank l33t++
Rank
l33t++
willow wrote on Today, 11:32:

nfs hot pursuit 2 don't use eax, only directsound 3d

From my notes, there is a D3D/EAX setting under the game's audio options, if one has the relevant hardware/software. Here's how it looks on my WinXP system with an X-Fi Titanium sound card:

The attachment NFSHP2_EAX.jpg is no longer available

As to whether NFSHP2 actually uses EAX or not, that's what I wanted people to test using those logging tools. A while back when I was looking into that game, I couldn't find any info on a specific EAX version that might be supported.

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 652 of 654, by KainXVIII

User metadata
Rank Oldbie
Rank
Oldbie

Heretic Kingdoms: The Inquisition (aka Kult: Heretic Kingdoms in Steam) - don't have any sound if i enable EAX in game config and add game to Alchemy (EAX log is empty).

Reply 653 of 654, by Joseph_Joestar

User metadata
Rank l33t++
Rank
l33t++
KainXVIII wrote on Today, 12:57:

Heretic Kingdoms: The Inquisition (aka Kult: Heretic Kingdoms in Steam) - don't have any sound if i enable EAX in game config and add game to Alchemy (EAX log is empty).

I'm unfamiliar with that game, but I'm just wondering, maybe EAX is only used in certain areas? For example, in Baldur's Gate 2, EAX reverb is only used in caves and dungeons.

Not sure if the logging tools account for that, or if you actually need to have an EAX effect play in order for it to be logged.

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 654 of 654, by KainXVIII

User metadata
Rank Oldbie
Rank
Oldbie
Joseph_Joestar wrote on Today, 13:05:
KainXVIII wrote on Today, 12:57:

Heretic Kingdoms: The Inquisition (aka Kult: Heretic Kingdoms in Steam) - don't have any sound if i enable EAX in game config and add game to Alchemy (EAX log is empty).

I'm unfamiliar with that game, but I'm just wondering, maybe EAX is only used in certain areas? For example, in Baldur's Gate 2, EAX reverb is only used in caves and dungeons.

Not sure if the logging tools account for that, or if you actually need to have an EAX effect play in order for it to be logged.

Maybe, but since i don't have any sound at all with EAX enabled i'm not sure if its possible to test this game..