AWE64 on all Intel-compatible CPUs
It is now a long time ago I bought my SB AWE64 and a
bit late to write this article, but perhaps somebody looked for
this all the time and is happy that he/she finally found a description
to make Wavesynth WG work :-)
Normally the AWE64 can only exploit its full potential if you have a genuine Intel-processor (i.e. use of 64 voices, wavetable, ...)
Various reasons are floating around, some say the 6x86 Cyrix chip isn't capable (lack of Pentium/Pentium Pro instructions) to run the Wavesynth WG software. Another reason might be a dispute between Cyrix and Creative because of Cyrix's Media GX processor.
However this situation is pretty bad for people who bought a Cyrix together
with an AWE64 and then had to notice that WaveSynth/WG doesn't
As this is exactly the feature of the soundcard that is interesting, I tried to find a way to get what I paid for. At least with my Cyrix 6x86 MX the installation and execution of Wavesynth WG worked. Other sources claim it would crash on Cyrix processors, so maybe it depends on the exact model.
How to make it work?
Find out how the CPU-check is done
First of all I noticed that they check for the processor-type
only at setup. In no special hope to find something useful, I
looked at the temp directory, because InstallShield always decompresses
its "work files" there, and found a dll called "SYSINFO".
As this name gave me an appealing idea I looked at the list of
the exported functions and was pretty optimistic to be able to
avoid this annoying CPU-check.
Here is the complete description how to remove the CPU-detection, you will need the following:
- Install Shield or Install Shield Express to decompress the setup-files (icomp.exe)
- any programming language that can build .dll-files
- optionally, for better understanding, some program to
get the exported function list of a dll:
this could be QuickView (included only in Win9X), a tool that is part of the free GExperts or my program Property Edit.
Open your AWE-Setup-CD in the Explorer and copy only the folder
with your language to your harddisk.
Then open this folder (e.g. ENGLISH) and change into its "Win95"-subfolder.
Now start setup.exe and look in your Windows-"TEMP"-folder for something like "_ISTMP0.DIR".
The right folder contains a bitmap called "AWE64XX.BMP". On top of that you will see three dlls, where "SYSINFO.DLL" (a very suggestive name :-) is the only we have to analyse.
Use a tool like QuickView or Property Edit to get some information about the exported functions:
part of Property Edit
As you can see, again, the names are very suggestive and, best of all, it seems as if the functions don't need any parameter.
You can easily guess that the return types are either PChar or an Integer (probably 32 Bit).
I found out it to be:
Example of how to import the GetCPUName in Delphi:
function GetCPUName: PChar; stdcall; external
The simplest way to find out what results the setup-routine needs
to install the complete software, is to write a small program
that uses the original "sysinfo.dll".
Import all functions of "sysinfo.dll", call them in your program and output in some way the results.
Then execute this program on at least an Intel Pentium 90 and note the information your program displays.
screenshot of the "sysinfo.dll"-test-application
Write your own CPU-check and replace the original
Based on this knowledge, you are ready to write your own dll:
Export all functions "sysinfo.dll" does, but return,
instead of the correct values, the values you collected on the
Finally you need to exchange Creative's sysinfo.dll with yours:
So look up icomp.exe in your InstallShield/InstallShield Express directory and copy it to "C:\Windows".
Change into the copied install-directory (LANGUAGE\WIN95) and create there a "temp"-folder.
Now execute the following command in a DOS-box to extract "_setup.lib" into the "temp"-folder.
icomp _SETUP.LIB temp\*.* -d -i
Locate Creative's "Sysinfo.dll" and replace it with your own "Sysinfo.dll".
Then compress all together to "_setup.lib":
change into temp-folder and execute
icomp *.* ../_SETUP.LIB -c -i
Delete the temp-folder and you are done.
That's all. Now you can install WaveSynth/WG from every CPU. However you will only get satisfying results if the CPU is at least as powerful as a Pentium 90.
If you want AWE64 Setup to install WaveSynth/WG independently of the language you have to replace sysinfo.dll like described above for every language-directory.
|Copyright © 2003-2013 Maël Hörz.|