I'm not sure how familiar you are with the AWE32 in terms of its MIDI implementation under DOS and the approach that Creative followed with this.
You can read the attached FAQ that Creative wrote when they first shipped the AWE32 back in 1994 for more information.
The attachment AWE32FAQ.txt is no longer available
Practically all General MIDI based games will "look" for an MPU-401 MIDI interface to send their MIDI data to.
On all AWE based cards, the EMU8000 synthesis chip is what is used for MIDI synthesis and this chip is not directly hardwired to the MPU-401 MIDI interface on the card.
The EMU8000 synthesis chip has its own port address (normally 620h) whereas your MPU-401 MIDI interface normally uses port 330h.
To get around this problem, Creative designed a tsr (Aweutil) to essentially "intercept" all MIDI data that is being sent to port 330h and then reroute it to the EMU8000 synthesis chip.
Unfortunately, this implementation does have certain drawbacks:
- It only works with real mode DOS games. Therefore, protected mode DOS games, that makes use of a DOS extender (like DOS4G/W), must support the AWE32 natively (i.e., there must be an option in the game's setup menu under the Music option for "AWE32"). There is a way around this, which I've addressed further below.
- If your motherboaerd doesn't support Non Maskable Interrupts (NMI's), then Aweutil will also not function properly. You can also try the option I've listed below.
You mentioned that the soundfont "finegm.sbk" loads OK. How did you load this?
Under DOS, the only way to make this load correctly is to place the finegm.sbk file in your SFBANK folder, rename it to synthgm.sbk and then load Aweutil with the /EM:GM parameter.
Take note that, in order to initialize the EMU8000 synthesis chip, you have to load Aweutil with the /S parameter. This is if you wish to run protected mode games (that supports the AWE32 natively) or you wish to just use FM synthesis.
If you have a real mode DOS game, that supports General MIDI, then you have to load Aweutil with the /EM:GM parameter.
To come back to what I've mentioned earlier in terms of how to address the problem with protected mode games under DOS.
Whether the game supports the AWE32 natively or not, most DOS protected mode games actually runs fine under Windows 95/98 in an MS-DOS window (Command prompt).
In such a case, you just boot into Windows, open up a Command prompt in full screen mode, choose General MIDI in your game's setup menu and run your game.
The benefit of this is that, under Windows, you have much more flexibility in terms of the number of soundfonts you can load (since, under DOS, you are limited to only version 1 soundfont files). This is only limited by the amount of onboard RAM on your sound card.
When you load a custom (General MIDI compatible) soundfount under Windows, if you play that game from a Command Prompt, it will then use that soundfont to generate your MIDI sounds. Under DOS, all protected mode games, that supports the AWE32 natively, will only use the standard 1 MB General MIDI ROM sample set (with a few exceptions where some games loaded their own custom soundfonts).
Some real mode DOS games also runs fine under a Command Prompt.