VOGONS


AWE64 Gold, no GM in DOS

Topic actions

First post, by trigolet_rodolphe

User metadata
Rank Newbie
Rank
Newbie

I am having a very strange issue that's plagued be since I got my AWE64 Gold.

In Windows 98SE, everything works beautifully and brilliantly, no issues whatsoever. In DOS 7.1 however, everything is beyond unstable. In various games, namely X-Wing and TIE Fighter, the sound effects play beautifully and perfectly. The music however, not so much. The AWE32 MIDI options sound flat, and whenever I select General MIDI, I get no sound at all. In Windows however, running the setmuse and imuse utilities, General MIDI works and sounds great! I have no idea how to get General MIDI sound working in DOS with my AWE64 Gold at this point.

I've tried everything I can possibly think of except installing DOS 6.22 on a separate partition and trying everything there. In autoexec.bat, the set blaster line is there and standard, ditto set midi. CTCM and AWEUTIL /S both LH upon boot. If I try running setmuse and testing the General MIDI playback without having first started AWEUTIL, everything crashes with a parity error. If I run aweutil /em:gm, I get playback, but it sounds like everything is reverberating and echoing badly.

Any hints, tips, or suggestions? I haven't a clue what more I can do but look for an old SB16 at this point. Thank you.

Chieko: AMD K6-2 366MHz / Matrox Millennium II / Voodoo2 / SB16 MCD
Takako: Pentium III 700MHz / Voodoo3 3000/ Yamaha YMF-724
Yuko: Pentium 4 2.4GHz / ATI Radeon 9600XT / SiS 7012 AC'97

Reply 2 of 18, by Stiletto

User metadata
Rank l33t++
Rank
l33t++

It took me a while, but agreed. These sections are for running old games on new systems, you are running an old game on an old system 😁
Moved from "The Guide -> DOS"

"I see a little silhouette-o of a man, Scaramouche, Scaramouche, will you
do the Fandango!" - Queen

Stiletto

Reply 3 of 18, by brostenen

User metadata
Rank l33t++
Rank
l33t++

Have you put/placed a jumper on "JP4/MFBEN" ?

Don't eat stuff off a 15 year old never cleaned cpu cooler.
Those cakes make you sick....

My blog: http://to9xct.blogspot.dk
My YouTube: https://www.youtube.com/user/brostenen

001100 010010 011110 100001 101101 110011

Reply 4 of 18, by akula65

User metadata
Rank Oldbie
Rank
Oldbie

Have you set your MIDI Environment Variable? Add the following line after your BLASTER line:

SET MIDI=SYNTH:2 MAP:G MODE:0

Consult your manual for more info on setting the MIDI environment variable options.

Reply 5 of 18, by PhilsComputerLab

User metadata
Rank l33t++
Rank
l33t++

I also found that under pure DOS, GM Emulation doesn't work very well.

YouTube, Facebook, Website

Reply 6 of 18, by trigolet_rodolphe

User metadata
Rank Newbie
Rank
Newbie

Yes, the MFBEN jumper is in place. I know it doesn't need to be there unless I'm using AWEUTIL for emulation, which it seems I have to do. Would removing it help, maybe, possibly, somehow?

And I've not tried SYNTH 2 yet; it was at the default SYNTH:1 MAP:E MODE:0 until yesterday, when I changed MAP E to MAP G with no effect. I've consulted the manual extensively, to no avail. All it says is to open AWEUTIL /EM:GM. Fooling with SET MIDI a bit more may not be a bad idea. Worst it can do at this point is nothing, right?

And no kidding GM emulation doesn't work very well at all under pure DOS. Under Win98SE, it works beautifully and sounds great. DOS though, it's kinda frightening, with only AWE32 MIDI mode being worse (subject to an odd, noisy bug). Sadly, MT32 emulation is even worse in DOS, resulting in "Parity check 20000" errors whenever I go to test music playback.

All in all... I hate AWEUTIL in DOS. I'll try fooling with the SET MIDI line and see where it goes. Any other helpful advice or suggestions are welcome. Thank you all so far.

Forgive my ignorance earlier.

Last edited by trigolet_rodolphe on 2015-06-09, 01:15. Edited 1 time in total.

Chieko: AMD K6-2 366MHz / Matrox Millennium II / Voodoo2 / SB16 MCD
Takako: Pentium III 700MHz / Voodoo3 3000/ Yamaha YMF-724
Yuko: Pentium 4 2.4GHz / ATI Radeon 9600XT / SiS 7012 AC'97

Reply 7 of 18, by trigolet_rodolphe

User metadata
Rank Newbie
Rank
Newbie

No luck with changing the SET MIDI; status quo remains. Boo.

So I am curious - is this an AWE64 issue in general? Is MIDI only output through the SPDIF port in DOS on an AWE64 Gold, as I partly suspect? I've been unable to find a definitive answer to either.

Chieko: AMD K6-2 366MHz / Matrox Millennium II / Voodoo2 / SB16 MCD
Takako: Pentium III 700MHz / Voodoo3 3000/ Yamaha YMF-724
Yuko: Pentium 4 2.4GHz / ATI Radeon 9600XT / SiS 7012 AC'97

Reply 8 of 18, by mateusz.viste

User metadata
Rank Member
Rank
Member
trigolet_rodolphe wrote:

So I am curious - is this an AWE64 issue in general? Is MIDI only output through the SPDIF port in DOS on an AWE64 Gold, as I partly suspect? I've been unable to find a definitive answer to either.

Hi, I am the (somewhat) happy owner of a SB64 AWE GOLD, too 😀 I write "somewhat" happy, because even though it's one of the best DOS-compatible cards I have ever owned, it does have its quirks when it comes to MIDI and FM. A few facts I observed during the years:

1. There is no real MPU-401 under port 330h. Applications are expected to use the EMU8000 chip directly instead (via 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. 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.

2. The FM part is not a fully standard OPL3 either (or at least - not directly wired on 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, BUT if an application screws with the EMU chip, then you might loose FM sound until you re-run AWEUTIL /S again). However, sometimes - let's say every 3 reboots or so - FM music works even without being initialized, but the sound is noisier than it should, and some nasty hissing/cycling can be heard in background (while if I call AWEUTIL /S at boot time, then the FM synth works like a charm, always).

As for the SPDIF output - I do have it, but never used it (I don't even have any hardware that I could connect to that).

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

Overall, I'm pretty happy with the SB64 AWE Gold, as it produces a really nice sound (especially when listening to MIDI). If I wouldn't be so much into MIDI listening however, I'd probably replace it with my Aztech Sound Galaxy Waverider 32, which works flawlessly, provides a real MPU-401 interface and has really clean FM synth, and doesn't require any drivers at all to work (but its on-board GM samples aren't as nice as the ones on the SB64 Gold).

http://mateusz.viste.fr | gopher://gopher.viste.fr

Reply 9 of 18, by PhilsComputerLab

User metadata
Rank l33t++
Rank
l33t++

Mateusz.viste, what an excellent write up!

YouTube, Facebook, Website

Reply 10 of 18, by Jolaes76

User metadata
Rank Oldbie
Rank
Oldbie

2nd that, nice entrance, Mateusz 😀

To straighten out the answers so far:

1. the SET MIDI line is irrelevant for gaming (it is only for Creative's own players and some MIDI software)
2. the SB address moves along with EMU8000 (you put EMU8000 to E640,the SB address steps up as well to 240h, might give problems with games that drive the OPL through the SB port instead of the Adlib FM port at 388h)
3. The default Chorus and Reverb values apply to FM as well - turn these low or off if you find them offending (AWEUTIL /C and /R swiches)
4. All software that know about MPU401 only must be run thru AWEUTIL in DOS (and it is hit or miss and severly limited)
5. You can try renaming a conformant, preferably small sbk soundfont to the general MIDI one to get some GM variation in games
6. For some games, you still need to set the enviroment variable in SHORT form because that was expected in SB Pro times (ie, A220 I5 D1 T4 ONLY, the rest of line will not be interpreted anyway)

Last edited by Jolaes76 on 2015-07-17, 19:40. Edited 1 time in total.

"Ita in vita ut in lusu alae pessima iactura arte corrigenda est."

Reply 11 of 18, by dr_st

User metadata
Rank l33t
Rank
l33t

Excellent write-up indeed. Now I know what to expect if I ever want to dabble with the MIDI emulation of the AWE64. 😀

As far as the initialization goes, I use CTCM instead of CTCU and instead of running DIAGNOSE, set the BLASTER variable manually. The end result seems to be the same - everything works fine - digital audio, OPL emulation and native AWE music (when supported). Are there any cases where behavior may different between the two initialization modes?

https://cloakedthargoid.wordpress.com/ - Random content on hardware, software, games and toys

Reply 12 of 18, by mateusz.viste

User metadata
Rank Member
Rank
Member
Jolaes76 wrote:

2. the FM address moves along with EMU8000 (you put EMU8000 to E640 ,the FM address steps up as well)

I do not think this is correct - the FM address is fixed at 388h and never moves (otherwise how would games know where to find it?). It does however depend on EMU8000, since without proper initialization via AWEUTIL /S the FM often ends up either mute or sounds poorly (or at least that's what I observed on my SB 64 AWE Gold).

dr_st wrote:

I use CTCM instead of CTCU and instead of running DIAGNOSE, set the BLASTER variable manually. The end result seems to be the same - everything works fine - digital audio, OPL emulation and native AWE music (when supported). Are there any cases where behavior may different between the two initialization modes?

Well, what you do is actually not that much different from the standard way, you just skip some stuff. The CTCM bits are required either way, while CTCU is only the PnP enabler - which might be not necessary if your system retains PnP settings in between boots. As for DIAGNOSE, I think it actually only sets the BLASTER variable according to the hardware it detects. Therefore, your way is probably just fine, although I don't see why you'd want to skip CTCU, DIAGNOSE /S or AWEUTIL /S, since none of them takes up any memory, they are just initialization routines (unless you tell AWEUTIL to emulate MPU-401, then that's a totally different story of course).

Reply 13 of 18, by dr_st

User metadata
Rank l33t
Rank
l33t
mateusz.viste wrote:

herefore, your way is probably just fine, although I don't see why you'd want to skip CTCU, DIAGNOSE /S or AWEUTIL /S, since none of them takes up any memory, they are just initialization routines (unless you tell AWEUTIL to emulate MPU-401, then that's a totally different story of course).

I'm just doing it the way I learned a long time ago. Before the AWE64 I had an SB16 PnP, which needed CTCM and nothing else, and before that I had an ESS which didn't have any initialization software, so I got used to SET BLASTER manually. I do run AWEUTIL /S of course - as you said, the music will not work otherwise.

https://cloakedthargoid.wordpress.com/ - Random content on hardware, software, games and toys

Reply 14 of 18, by PhilsComputerLab

User metadata
Rank l33t++
Rank
l33t++

I know that, if you're using a Window 98 machine, and MS-DOS mode, and you change the cards resources in Windows, then running DIAGNOSE in MS-DOS mode, updates the software to match the hardware settings. You might also have to shutdown the computer. Works quite well and a lot of people use the AWE64 that way.

YouTube, Facebook, Website

Reply 15 of 18, by Jolaes76

User metadata
Rank Oldbie
Rank
Oldbie

I do not think this is correct - the FM address is fixed at 388h and never moves (otherwise how would games know where to find it?)

Well, if I remember correctly, the AWE32 and AWE64 have this in common:

http://ps-2.kev009.com/eprmhtml/eprm0/f1959.htm

So when moving the port from 220h to 240h, the EMU8000 port address also changes. It is not the Adlib port (388h) that you change but the SB port - but the OPL can be driven by both, and there are games which exclusively stick to the SB port. I corrected my post accordingly.

"Ita in vita ut in lusu alae pessima iactura arte corrigenda est."

Reply 16 of 18, by jesolo

User metadata
Rank l33t
Rank
l33t

I recently provided some comments on a similar topic so, I just copied some of those comments again:

As your DOS version is 7.1, CTCU is not required since your configuration settings are stored in the ctpnp.cfg file in your C:\Windows directory.

What you must do is to just boot up in Windows 98 and let Windows "configure" you ctpnp.cfg file (just make sure the file isn't "read-only" for some obscure reason).
Also check in Device Manager what are the settings Windows has it configured as (IRQ, DMA, etc.) - the default settings are IRQ5, DMA1 & DMA5, Base Port 220.
Restart into MS-DOS mode and then run Diagnose and make sure you select the same settings as what is in your ctpnp.cfg file - otherwise, it will fail.
Also make sure that your Autoexec.bat (or, if you restart straight out of Windows 98 into MS-DOS mode, your Dosstart.bat) "Set Blaster" settings corresponds to what is configured in your ctpnp.cfg file.
You can edit the ctpnp.cfg file, to choose different settings for DOS but, the default ones should be fine (in this case, you would want to make the file "read-only").

You do require CTCM as this is what will initialise your sound card's settings (by reading the ctpnp.cfg file) when you start up in "real" DOS mode (not DOS command prompt).

As stated by Jolaes76, you do not need to load the SET MIDI parameter in your Autoexec.bat file but, if you do, be sure to specify SET MIDI=SYNTH:1.
Choosing 2 will allow you to direct the MIDI output to an external synthesizer (via the sound card's MPU-401 MIDI interface) or, if you own an AWE32 with a Wave Blaster header, the General MIDI compatible daughterboard (provided you have one attached) - you would then also just load Aweutil with the /S parameter.

Real Mode DOS games requires Aweutil to initialise your sound card's General MIDI mode (with the /EM:GM parameter).
You would then choose General MIDI in the game's setup menu (under the music option).
As Jolaes76 has also alluded to, you can also load a "custom" soundbank (with an *.sbk extension) but, this is a topic for another discussion.

In order to hear General MIDI sounds under Protected Mode games (games that load a DOS extender like DOS/4GW), it must support the AWE32/AWE64 natively (i.e., directly in hardware) and doesn't actually require Aweutil (you can then just load Aweutil with the /s parameter to initialise the EMU8000 chipset).
You would then normally choose AWE32 (not General MIDI) in the game's setup menu under the music option.
Unfortunately, with this option, you're stuck with the standard 1 MB General MIDI ROM sample set that is on the sound card (and some of the instruments, unfortunately, do not sound that nice - the trumpet being one of them).

I've had some luck with Protected Mode games by booting up into Windows 98, loading a custom soundfont and then starting a DOS Command Prompt (full screen window).
I can then select General MIDI (not AWE32) in the game's setup menu and will then hear the custom soundfonts that I've loaded in Windows.

Reply 17 of 18, by trigolet_rodolphe

User metadata
Rank Newbie
Rank
Newbie

Wow, I honestly thought this thread was all but dead. I'd given up on hoping for replies nearly two months ago. I really appreciate everyone coming in with a ton of really interesting and valuable input. For once, I have answers, and lots of them! 😀

@mateusz: That... explains a fair lot. That's easily more information on this lovely card than I've found anywhere else, and I deeply, deeply appreciate it. Sums up the AWE64 Gold as an excellent card, but not so much for MIDI. While in DOS mode, the decent OPL sound, wonky as it occasionally is, has grown on me, doing a good enough job in Mechwarrior 2 and X-Wing to keep me satisfied.

@philscomputerlab: I'll keep that in mind if ever I have to change any ports. I hadn't the foggiest idea Windows and DIAGNOSE had to work together like that.

@jolaes: I've had no success with renaming soundfonts with the sbk extension. Either AWEUTIL /EM:GM rejects them, or they just sound horrible in DOS for whatever reason. And as far as AWEUTIL MIDI emulation being hit and miss, no kidding and then some! Either it works for a minute or two, or it just fails miserably. I think I may have to do what I've been desperate to avoid - shop around for a decent second card just for GM.

@jesolo: You're spot on and then some. AWEUTIL /EM:GM is wonky as hell in DOS, so I just don't use it. I don't know if my card gets overwhelmed or what, but it doesn't take long for this horrible white noise to start pouring through my speakers until I reboot. And the method you described for protected mode games is precisely what I've ended up doing. No noticeable performance hits in X-Wing and Mechwarrior 2, and it sounds great with the soundfont support. By god does the AWE32 MIDI option sound awful, courtesy of that dinky ROM set.

I'm still happy as can be with it. Seriously, thank you all for the plethora of information and positive input. You're all amazing!

Chieko: AMD K6-2 366MHz / Matrox Millennium II / Voodoo2 / SB16 MCD
Takako: Pentium III 700MHz / Voodoo3 3000/ Yamaha YMF-724
Yuko: Pentium 4 2.4GHz / ATI Radeon 9600XT / SiS 7012 AC'97

Reply 18 of 18, by dr_st

User metadata
Rank l33t
Rank
l33t

I haven't tried so many games, but for those I did try (Doom, Descent series, a few others), I thought that the AWE32 MIDI option actually sounds quite nice.

https://cloakedthargoid.wordpress.com/ - Random content on hardware, software, games and toys