Enabling Creative’s SB PnP utilities (CTCM/CTCU) under DOS 7.x (Win95/Win98)

If you have one of the Creative’s Sound Blaster PnP cards (SB16, AWE32, AWE64 or others), and you wish to use them under pure DOS mode, you will need to run the CTCM.EXE utility, which is part of the cards’ software, to configure the device parameters. Typically you would do it from AUTOEXEC.BAT.

An additional utility, CTCU.EXE, exists to allow you to switch between several hardware resource configurations for the cards.

Running these utilities from within Windows is unnecessary, as Windows manages Plug-n-Play devices on its own. Furthermore, it may lead to resource conflicts. Probably for that reason, Creative included a check that will prevent CTCM/CTCU from running within Windows. So far so good?

However, if you are using Windows 95 or Windows 98, booted into pure DOS mode (BootGUI=0 in MSDOS.SYS), you may be surprised to find that CTCM/CTCU still refuse to run claiming that Windows is running, when it isn’t. What gives?

The solution is mindbogglingly simple. Turns out that the “check” for Windows’ presence in CTCM/CTCU is the existence of WINBOOTDIR variable in the environment space. Windows 9x set this variable even in their pure DOS mode.

There is an easy way around it by patching the executables. The string “winbootdir” appears in them in plain text. Open the file in any HEX editor, and just change one character in the string to make it look for a different variable (like “winbootdie”), which is probably never going to exist in anyone’s environment.

Due to receiving some requests, I’m making available such modified versions of CTCM and CTCU. You can get them here.

Leave a comment