VOGONS


Awe32 in dos : no FM sound

Topic actions

First post, by tyrell

User metadata
Rank Newbie
Rank
Newbie

Hi all,

This weekend I decided to install my awe32 in my vintage machine. I used the drivers present in the vogons drivers library. However I cannot get the FM sound to work under dos. Digital sound is ok in all the games I have tested however. And FM sound is working if I run the games under windows 98 se. More than a weird behavior !
I have spent the whole evening trying to find out what was wrong but cannot find any explanation ...

Any track to help me ?

Thanks

Stéphane

Reply 1 of 41, by Cyberdyne

User metadata
Rank Oldbie
Rank
Oldbie

run aweutil /s

Newer AWE32 and AWE64 have OPL and Wavetable sound muted, before initalization.

I am aroused about any X86 motherboard that has full functional ISA slot. I think i have problem. Not really into that original (Turbo) XT,286,386 and CGA/EGA stuff. So just a DOS nut.

Reply 3 of 41, by yawetaG

User metadata
Rank Oldbie
Rank
Oldbie
tyrell wrote:

I added this command in autoexec.bat but this does not help... May it be too old ?

You (likely) need to run it from the command prompt to set up the card.

Reply 4 of 41, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie

I dunno if CTCM or CTCU is needed when using alongside Windows, as they'd abort themselves if it detects WinBootDir environment variable in MSDOS.sys, although modified versions that bypasses the check existed.

Back then the cards (such as AWE64 Gold) needed to be configured using those two tools under DOS (including Win9x DOS) before could be actually used (same applies to other PnP cards). CTCM needs to be loaded from CONFIG.SYS, while CTCU can be run from AUTOEXEC.BAT. Maybe you also need to use DIAGNOSE and MIXERSET to configure the card and set the BLASTER environment variables. AWEUTIL is only for enabling the wavetable, and unlike DIAGNOSE and MIXERSET, it consumes memory.

EDIT: I'm not sure about the entire AWE32 line. If your card is not PnP, then you don't need CTCM/CTCU. You only need DIAGNOSE and MIXERSET.
EDIT 2: Thanks for clarifying that AWEUTIL /S does not require memory.

Last edited by LSS10999 on 2018-02-05, 08:33. Edited 3 times in total.

Reply 5 of 41, by jesolo

User metadata
Rank l33t
Rank
l33t

Also check your mixer settings - your FM output might be muted.
Also, add the following line after your Aweutil command in your Autoexec.bat file: C:\SB16\MIXERSET.EXE /P /Q

Reply 6 of 41, by Cyberdyne

User metadata
Rank Oldbie
Rank
Oldbie

aweutil /s does not consume memory!
HEX edit CTCM and CTCU ... change winbootdir to something that nobody uses, and all problems solved.

I am aroused about any X86 motherboard that has full functional ISA slot. I think i have problem. Not really into that original (Turbo) XT,286,386 and CGA/EGA stuff. So just a DOS nut.

Reply 7 of 41, by jesolo

User metadata
Rank l33t
Rank
l33t
LSS10999 wrote:

AWEUTIL is only for enabling the wavetable, and unlike DIAGNOSE and MIXERSET, it consumes memory.

AWEUTIL is also used to initialize the EMU8000 synthesis chip, which is what the FM (or CQM synthesis) needs to playback.
With the /S parameter AWEUTIL uses no memory and only initializes the EMU8000 chip.
It's when you use it with the /EM parameter when memory is used.

If you're running under a Windows 9x environment, then you only require CTCM to be loaded in your Config.sys file - it will then read the settings from a file called ctpnp.cfg in your Windows folder.
If you're under DOS 6.22 or earlier, then you also require CTCU to configure your card.

Reply 8 of 41, by LSS10999

User metadata
Rank Oldbie
Rank
Oldbie
jesolo wrote:
AWEUTIL is also used to initialize the EMU8000 synthesis chip, which is what the FM (or CQM synthesis) needs to playback. With t […]
Show full quote
LSS10999 wrote:

AWEUTIL is only for enabling the wavetable, and unlike DIAGNOSE and MIXERSET, it consumes memory.

AWEUTIL is also used to initialize the EMU8000 synthesis chip, which is what the FM (or CQM synthesis) needs to playback.
With the /S parameter AWEUTIL uses no memory and only initializes the EMU8000 chip.
It's when you use it with the /EM parameter when memory is used.

If you're running under a Windows 9x environment, then you only require CTCM to be loaded in your Config.sys file - it will then read the settings from a file called ctpnp.cfg in your Windows folder.
If you're under DOS 6.22 or earlier, then you also require CTCU to configure your card.

Thank you for clarifying it. As for AWEUTIL, I did not use the wavetable very often, so I think back then I might be running it without any parameters, which in turn enabled MIDI 330H so some games could use (although I also had to ignore whatever NMI errors it could threw during the process, the program could still complete and properly initialized the MIDI).

Maybe when not using /S parameter a SBK soundfont might be used for MIDI, so it might be requiring some (not too much) conventional memory for the process.

Reply 9 of 41, by dr_st

User metadata
Rank l33t
Rank
l33t
Cyberdyne wrote:

aweutil /s does not consume memory!

Correct.

LSS10999 wrote:

I dunno if CTCM or CTCU is needed when using alongside Windows, as they'd abort themselves if it detects WinBootDir environment variable in MSDOS.sys, although modified versions that bypasses the check existed.

This is the bug in CTCM/CTCU - they assume that if there is WINBOOTDIR, then you are in a DOS session inside Windows, thus they are not needed (and refuse to run). But in pure DOS mode on Win9x (BootGUI=0), they are needed.

Cyberdyne wrote:

HEX edit CTCM and CTCU ... change winbootdir to something that nobody uses, and all problems solved.

That's exactly what I did to create those modified versions (I called them CTCME and CTCUE for differentiation). I think others did it independently as well. Apparently CTCM /T also allows this check to be skipped (maybe in certain versions of CTCM only?)

LSS10999 wrote:

CTCM needs to be loaded from CONFIG.SYS,

CTCM does not need to be loaded from Config.sys. It can run from Autoexec.bat.

jesolo wrote:

If you're running under a Windows 9x environment, then you only require CTCM to be loaded in your Config.sys file - it will then read the settings from a file called ctpnp.cfg in your Windows folder.
If you're under DOS 6.22 or earlier, then you also require CTCU to configure your card.

I think that if you have SET CTCM= (or is it SET SOUND= ?) in your Autoexec.bat, it will read CTPNP.CFG from whichever directory you point it to. Thus, you don't need to run CTCU on every boot (unless you want to change the PnP configuration). And once again, contrary to what is claimed here time and again, CTCM can be run from Autoexec, it is not mandatory to load it from Config.sys (although possible)

LSS10999 wrote:

If your card is not PnP, then you don't need CTCM/CTCU. You only need DIAGNOSE and MIXERSET.

I believe you are correct. CTCM/CTCU is only for PnP cards. DIAGNOSE is only needed for non-PnP cards. MIXERSET may be good to run either way just to make sure the mixer is properly reset at every boot. AWE64 is always PnP, so it only needs CTCM and AWEUTIL. AWE32 can come in PnP and non-PnP flavors.

Last edited by dr_st on 2018-02-05, 11:42. Edited 2 times in total.

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

Reply 10 of 41, by tyrell

User metadata
Rank Newbie
Rank
Newbie
jesolo wrote:

Also check your mixer settings - your FM output might be muted.
Also, add the following line after your Aweutil command in your Autoexec.bat file: C:\SB16\MIXERSET.EXE /P /Q

Indeed, it seems like it is muted ... because when I setup the various games, I don't get any errors.
It's just that I cannot hear sound ...
I'll try to take a look this evening if I have some spare time.
Thanks to all for your help.
I'll keep you updated.

Stephane

Reply 11 of 41, by derSammler

User metadata
Rank l33t
Rank
l33t

It's normal not to get errors in most games, since FM means to just write data to 0x388. Whether something sits there to receive the data is hardly checked by any game.

Does your vintage machine have a Plug&Play capable BIOS? If so, do a clean boot into the command like (by pressing F8) and try some Adlib tracker/player.

Also, did you already check if DIAGNOSE.EXE plays FM music under plain DOS?

Reply 12 of 41, by tyrell

User metadata
Rank Newbie
Rank
Newbie
derSammler wrote:

It's normal not to get errors in most games, since FM means to just write data to 0x388. Whether something sits there to receive the data is hardly checked by any game.

Does your vintage machine have a Plug&Play capable BIOS? If so, do a clean boot into the command like (by pressing F8) and try some Adlib tracker/player.

Also, did you already check if DIAGNOSE.EXE plays FM music under plain DOS?

Well i get an error when I want to start the diagnose app (don't remember exactly which one, something like the awe32 is not correctly initialized). At some point I could run it but it stopped with an error message way before I could run the fm test. Again, I don't remember the exact error message. I'll tell you this evening. Something like it couldn't detect some chip... Weird !
What is amazing is that fm sound is ok under windows...
Probably it correctly initialized it and it probably set the correct volume as well

More progress this evening.

Reply 15 of 41, by derSammler

User metadata
Rank l33t
Rank
l33t

CTCM should work, or the Intel Configuration Utility ("ICU").

Did you install the Windows 98 drivers only? In that case, you need to install the DOS drivers, too. This will add CTCM to your startup files, so that the card will work in pure DOS as well.