Introduction
Introduction Statistics Contact Development Disclaimer Help
This article applies to both the AWE 32 and AWE 64 cards, since the AWE 64 is
nothing more than a slightly improved version of the AWE 32.
Even though they are one of the best DOS-compatible sound cards, the
SoundBlaster AWE cards have their quirks when it comes to MIDI and FM. Here
below I list a few observations I made during the years.
====== MPU-401 ======
There is no real MPU-401 under port 330h. Applications are expected to use
the EMU8000 chip directly instead (usually via I/O 620h). However, a funky
MPU-401 emulation layer is provided for desperate people, it requires you to
load AWEUTIL as a TSR. AWEUTIL uses some NMI magic to catch I/O events on
port 330h, and translates them into EMU8000 messages. This works only with
real-mode applications, and even then - not every one. I noticed for example
that if I try to use XMS calls right after having output a note to AWEUTIL,
the driver will crash (and my PC reboots). If I wait 2ms between AWEUTIL
calls and XMS calls, then everything works fine. Also, it won't run correctly
on computers that do not support NMI. All this to say: don't count on AWEUTIL
as a 100% reliable method to get music (I wasn't able to make it work with
Wacky Wheels for instance, no regrets though, since Wacky Wheels MIDI is
awful anyway - the OPL music in this game is much brighter).
Additional note: for the above-mentionned MPU-401 AWEUTIL emulation to work,
the card MUST have the "MFBEN" jumper (JP4) set. This appears to be
responsible for generating NMIs. If you do NOT wish to emulate MPU-401 via
AWEUTIL, then I'd advise to unset the MFBEN jumper - otherwise you might
experience crashes sometimes when an application tries to access the I/O port
330h (a message appears on the screen then, saying something like "no NMI
handler found" or so).
====== FM MUSIC ======
The FM part is not a fully standard OPL3 either (or at least - not directly
wired on the I/O port 388h like the original YMF262 should be). It works
pretty well and all, but unlike real OPL3, it needs to be activated
("rerouted?") by the AWEUTIL driver first (AWEUTIL /S is enough, no need for
the TSR part). Note, that at least some AWE boards have a bug that makes FM
either muted or noisy whenever an application plays with the EMU chip. The
only solution to restore proper FM sound is to re-run AWEUTIL /S again. I
observed this bug on two SB64 cards: a CT4500 and a CT4390 ("Gold"). I did
not notice it on a SB32 CT2760.
====== CUSTOM SOUND FONTS UNDER DOS ======
Applications that use the AWE chip directly cannot be forced into using a
specific sound font, they have the total control over sound fonts (and most
of the time, they simply use the default ROM sound font). However, it you use
the AWEUTIL MPU-401 emulation (with all the troubles and limitations already
explained), you can load a custom sound font into your AWE card so it won't
use the 1 MB ROM fonts. This can be interesting if your card has more than
1 MB of RAM (for example the AWE64 Gold card comes with 4 MB of RAM, while
many other models allow to extend RAM with additional SIMM chips). To load
your custom sound font, your will have to find a suitable *.SBK font file
first, since AWEUTIL doesn't load SF2 fonts. Then, simply replace the
synthgm.sbk file from your SoundBlaster AWE drivers directory by your own SBK
file, and you're good to go. Note, that it can take a longish time for
AWEUTIL to load the sound font into AWE RAM, so your system's boot time will
be delayed by that much. On my PII system, AWEUTIL takes about 6s to load a
2 MB SBK file into the SoundBlaster AWE 64 Gold.
====== BOOT CONFIG ======
Finally, here I provide my autoexec.bat & config.sys lines related to the SB
gold initialization, I hope it will help:
=== CONFIG.SYS ===
DEVICE=C:\SYSTEM\SB64\CTCM.EXE
=== AUTOEXEC.BAT ===
SET MIDI=SYNTH:1 MAP:E MODE:0
CD C:\SYSTEM\SB64
CTCU /S
DIAGNOSE /S
AWEUTIL /S
REM Uncomment the memory hog below only if desperate for MPU-401 emulation
REM AWEUTIL /EM:GM /KEY-
MIXERSET /P /Q
CD \
Note, that I have no BLASTER variable set at all. The BLASTER variable is
automatically set by the DIAGNOSE driver. On my system, I obtain this:
C:\SET BLASTER
BLASTER=A220 I5 D1 H5 P330 E620 T6
SBK sound fonts
AWE64FAQ.txt
SoundBlaster AWE 64 Gold Install CD.7z
You are viewing proxied material from gopher.viste.fr. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.