VOGONS


Sound Blaster Settings Keep Changing

Topic actions

First post, by GabrielKnight123

User metadata
Rank Oldbie
Rank
Oldbie

I have a Sound Blaster Vibra 16XV CT4170 and when I power down the PC and power it on again the settings are reverted to A220 I10 D0 H1 P300 T6, The card I have is PNP and I have CTCU loaded in my Autoexec.bat, When I use CTCU to change the settings to A220 I7 D1 H1 P330 the settings work even when I use CTR ALT DEL but a power down and power on reverts the settings. I tried REMing out Diagnose /S but this does nothing, there are no jumpers on the card its self for IRQ or to set its base address (A220), I am using Dos 6.21 with a 486DX2 66MHz and 16MB ram Here is my Autoexec.bat:

SET CTCM=C:\CTCM
SET SOUND=C:\SB16
SET BLASTER=A220 I7 D1 H1 P330 T6
SET MIDI=SYNTH:2 MAP:E
C:\CTCM\CTCU.EXE /S
C:\SB16\MIXERSET /P /Q
SET DIRCMD= /OGN

and in Config.sys I have:

[COMMON]
DEVICE=C:\CTCM\CTCM.EXE

I installed the drivers that has two files that unpack themselves ie: SBBASIC.EXE and CTCMBBS.EXE that use Diagnose ver 4.05 and CTCU ver 1.09.
I read somewhere that the Vibra16 needs "DWCFGMG.SYS" but I dont have this loaded as its not in my C:\SB16\DRV folder, am I using the correct drivers or am I missing something in the Autoexec and Config files?

Reply 1 of 27, by dr_st

User metadata
Rank l33t
Rank
l33t

If it's a PnP card, then the only thing that needs to be done at every boot is running CTCM, which you can do from Autoexec.Bat (even that may be unnecessary, or so I am told, but in some cases sound and/or music will not work without it).

You only need to run CTCU once to configure things, you do not need to "load" CTCM from Config.sys, and Mixerset is optional (if you want to enforce certain mixer/volume settings).

Clean up your startup files and try again.

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

Reply 2 of 27, by GabrielKnight123

User metadata
Rank Oldbie
Rank
Oldbie

Thanks dr_st I only have what is in my Autoexec and config because the install put them there, when you said "If it's a PnP card, then the only thing that needs to be done at every boot is running CTCM, which you can do from Autoexec.Bat" do you mean the line: "SET CTCM=C:\CTCM.EXE" in Autoexec.bat? Would the below be more along the lines of what you mean?

SET CTCM=C:\CTCM.EXE
SET SOUND=C:\SB16
SET BLASTER=A220 I7 D1 H1 P330 T6
SET MIDI=SYNTH:2 MAP:E
SET DIRCMD= /OGN

Remove the line from Config.sys:
DEVICE=C:\CTCM\CTCM.EXE

Reply 3 of 27, by keenmaster486

User metadata
Rank l33t
Rank
l33t

SET CTCM sets an environment variable. If you want to run it you would just put CTCM.

World's foremost 486 enjoyer.

Reply 4 of 27, by GabrielKnight123

User metadata
Rank Oldbie
Rank
Oldbie

Ah ok, if I have this right:

(Autoexec.bat)
SET CTCM=C:\CTCM
SET SOUND=C:\SB16
C:\CTCM\CTCM
SET BLASTER=A220 I7 D1 H1 P330 T6
SET MIDI=SYNTH:2 MAP:E

Should set the variable and then run it

Reply 5 of 27, by dr_st

User metadata
Rank l33t
Rank
l33t

As I recall, the CTCM environmet variable merely tells CTCM where to look for the CTPNP.CFG file (which is created by CTCU or by the Windows drivers).

Pretty sure you do not need to SET BLASTER or MIDI. CTCM should do it for you.

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

Reply 6 of 27, by GabrielKnight123

User metadata
Rank Oldbie
Rank
Oldbie

I found out through testing that I probably have a faulty card, I tried many things like just running CTCM to enable the PNP side for the card and then under CTCM in Autoexec.bat putting a SET BLASTER=A220 I7 D1 H1 P330 T6, every time CTCM is run at the post screen it sets it to some other setting thats why I used the set blaster then I tried using the same as above and using CTCU to change the settings back to what I needed but everything works well until a power down im guessing my card can no longer keep settings in some way. For the PC im building I gave up on the SB Vibra16XV and threw an ESS card in and everything is working as it should. Thanks for all the help.

Reply 7 of 27, by nemail

User metadata
Rank Member
Rank
Member

Hi

I've got this issue as well. I configure everything through CTCU, then I start CTCM which initializes everything fine and all works until a power down of the system.
My card is a CT3670.

Any ideas why the system is losing its settings? Aren't they supposed to be written to ctpnp.cfg where CTCM picks it up at boot time?

Thanks!

Reply 9 of 27, by nemail

User metadata
Rank Member
Rank
Member
dr_st wrote on 2020-05-17, 21:15:

Do you run CTCM/CTCU at boot? Could you post your startup files?

I do only start CTCM, not CTCU at boot, or to be more specific, when booting into MS-DOS Mode (Win 95 installed). Because I'm also using the IDE port of the Creative card, I'm starting CTCM in the config.sys.

Mainboard: Asus VL/I-486SV2GX4
CPU: i486 DX2-66

Here are my startup files:

autoexec.bat

SET SOUND=C:\SB16
SET BLASTER=A220 I5 D1 H5 P330 T6
SET MIDI=SYNTH:1 MAP:E MODE:0
SET CTCM=C:\SB16\CTCMBBS
C:\SB16\DIAGNOSE.EXE /S
C:\SB16\AWEUTIL /S
C:\SB16\MIXERSET /P /Q

@ECHO OFF
SET TMP=C:\WINDOWS\TEMP
SET TEMP=C:\WINDOWS\TEMP
PROMPT $p$g
SET winbootdir=C:\WINDOWS
PATH C:\WINDOWS;C:\WINDOWS\COMMAND;C:\DOS
LH C:\DRIVERS\MOUSE\CTMOUSE.EXE /R2
LH C:\WINDOWS\COMMAND\DOSKEY.COM /INSERT

mode con codepage prepare=((850) C:\WINDOWS\COMMAND\ega.cpi)
mode con codepage select=850
LH keyb gr,,C:\WINDOWS\COMMAND\keyboard.sys

GoTo %config%
:EMC
LH C:\WINDOWS\COMMAND\MSCDEX.EXE /D:OPTICAL

config.sys

[COMMON]
DOS=NOAUTO
DOS=HIGH,UMB
FILES=40
FCBS=1,0
BUFFERS=10,0
LASTDRIVE=H
STACKS=9,256

[menu]
menuitem=EMC, Expanded memory + Mouse + CD-ROM

menudefault=EMC,10

[EMC]
Country=049,850,C:\WINDOWS\COMMAND\country.sys
DEVICE=C:\WINDOWS\HIMEM.SYS /V
DEVICE=C:\WINDOWS\EMM386.EXE RAM /MIN=0 I=B000-B7FF /V
DEVICEHIGH=C:\WINDOWS\COMMAND\display.sys con=(ega,,1)
DEVICE=C:\SB16\CTCMBBS\CTCM.EXE
DEVICEHIGH=C:\DRIVERS\CD\VIDECDD.SYS /D:OPTICAL /P:168,10

Reply 10 of 27, by dr_st

User metadata
Rank l33t
Rank
l33t

I don't think you need DIAGNOSE every boot, so you can probably remove it from AUTOEXEC.BAT.

What happens if you manually run CTCM after booting (without running CTCU)? Maybe you need to run it from AUTOEXEC, even though you also load it as a device driver? One guess is that you run SET CTCM only from AUTOEXEC, so maybe when loaded from CONFIG.SYS, it doesn't know where to find its correct CTPNP.CFG?

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

Reply 11 of 27, by nemail

User metadata
Rank Member
Rank
Member
dr_st wrote on 2020-05-17, 22:09:

I don't think you need DIAGNOSE every boot, so you can probably remove it from AUTOEXEC.BAT.

What happens if you manually run CTCM after booting (without running CTCU)? Maybe you need to run it from AUTOEXEC, even though you also load it as a device driver? One guess is that you run SET CTCM only from AUTOEXEC, so maybe when loaded from CONFIG.SYS, it doesn't know where to find its correct CTPNP.CFG?

OK, removed DIAGNOSE from autoexec.bat.
If I run CTCM after booting, behaviour is the same. To be more specific and to go more into detail what acutally fails:
CTCM manages to configure 2 out of 4 devices at boot (via config.sys) and the same it says if I start it manually after booting. The two devices missing are actually the gameport (currently I don't care about that) and the second one is the IDE controller which has to be reassigned to tertiary or quaternary according to https://www.vogonswiki.com/index.php/VIDE-CDD.SYS because I'm using that particular IDE CD-ROM driver.

As soon as I start CTCU after booting and configure IDE as quarternary or tertiary and run CTCM subsequently, it detects 3 out of 4 devices (IDE is now among them) and all works fine, even if I CTRL-ALT-DEL restart the system.
Only after a power-down the behaviour is as in the beginning again and I have to re-run CTCU, set the IDE resources right (which are empty again at this point) and then I can re-run CTCM to let it configure the Sound Blaster card.

You have a good point mentioning that CTCM probably doesn't know where to look for the ctpnp.cfg file cause the variable is set later in the autoexec.bat. What would be the default locations where it should be looking? The ctpnp.cfg file is in the same directory like the ctcm.exe and the ctcu.exe, in C:\SB16\CTCMBBS\. I don't see a way how to run CTCM only in autoexec.bat instead of config.sys because the VIDE-CD.SYS driver needs the Sound Blaster card to be configured, otherwise CD-ROM won't work...

Reply 12 of 27, by dr_st

User metadata
Rank l33t
Rank
l33t

Default locations for CTPNP.CFG may be C:\ or C:\Windows, depending how CTCM detects the OS.

You can try a couple of things:

1. Run CTCU from AUTOEXEC.BAT and then run CTCM again afterwards. Maybe the IDE CD-ROM is why I see many people running CTCU from AUTOEXEC, even though it's normally not needed
2. Simpler option: just remove the SET CTCM from AUTOEXEC and let it use the default location. This way maybe loading the driver from CONFIG.SYS will pick it up.

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

Reply 13 of 27, by nemail

User metadata
Rank Member
Rank
Member

tried both, unfortunately still the same: as long as I do not run ctcu manually and configure everything, ctcm doesn't detect/configure all devices and CD refuses to work.
so what i currently have to do, is to turn the pc on, start to dos mode, configure everything via ctcu, reset using ctrl-alt-del, computer boots to DOS mode automatically again and voila all is working.

really strange. how do the creative cards even save the config? or is all supposed to be handled by ctpnp.cfg and ctcm?
I've configured everything using ctcu and even though CTCM variable not being set in autoexec.bat, it did write to the file in the directory where the ctcu.exe sits, so C:\SB16\CTCMBBS\ctpnp.cfg.
I've then copied that file to c:\ and c:\windows and even to C:\dos just to be sure CTCM picks it up when loaded via config.sys but still no luck.

is there any newer version of ctcm than 1.09? maybe it is a bug or maybe my card isn't supported (yet) by this version?

Reply 14 of 27, by dr_st

User metadata
Rank l33t
Rank
l33t

I think that PnP cards only use CTPNP.CFG. Older Creative cards are non-PnP and they are configured with DIAGNOSE.

I want to make sure I understand something. You say that after you run CTCU once, you can reboot to DOS mode and everything is working? Does it persist through multiple "reboots" as long as you stay in DOS mode? And only gets messed up after you run Windows again? If so, I'd say that the Windows Creative drivers are modifying your configuration.

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

Reply 15 of 27, by nemail

User metadata
Rank Member
Rank
Member

ok thanks... no wait, I'm doing the following:

- Reboot Windows into DOS mode (it does a complete reboot, not just starts DOS - i guess because of all the stuff in the config.sys)
- CTCM does only detect/configure 2 out of 4 devices, CD not working
- I run CTCU and configure stuff
- Reboot PC via CTRL-ALT-DEL
- Computer boots right into DOS mode (it does this until I type 'exit' in the DOS mode, where it resets then and starts Windows 95 normally)
- CTCM detects all 4 devices, everything is working

That working state persists multiple reboots using CTRL-ALT-DEL, but NOT a power down. As soon as I do a power down, CTCM only detects 2 out of 4 devices again (still booting directly from BIOS to DOS mode).
I didn't try yet to exit to Windows while it is working, without powering off, but will do and report back, whether it survives that. Currently Windows was not involved during my tests because I was always only booting directly to DOS mode.

Reply 16 of 27, by dr_st

User metadata
Rank l33t
Rank
l33t
nemail wrote on 2020-05-18, 06:42:

That working state persists multiple reboots using CTRL-ALT-DEL, but NOT a power down. As soon as I do a power down, CTCM only detects 2 out of 4 devices again (still booting directly from BIOS to DOS mode).

Then perhaps it's the BIOS settings. Something either in the IRQ assignment department or the PnP OS (Y/N) option.

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

Reply 17 of 27, by nemail

User metadata
Rank Member
Rank
Member

Just for completeness, that's the ctpnp.cfg after I've made the configuration via CTCU. I didn't find a manual or reference anywhere to tell what's what, unfortunately.

[SB16]
Csn=1
LogDev=0
CardId=CTL009C
Serial=154460F8
Port0=220
Port1=330
Port2=388
Irq0=5
Dma0=1
Dma1=5

[PNP]
Readport=277

[AWE]
CardId=CTL009C
Serial=154460F8
Csn=1
LogDev=2

Here's all I got in the BIOS:

The attachment bios1.PNG is no longer available
The attachment bios2.PNG is no longer available
The attachment bios3.PNG is no longer available

Reply 18 of 27, by ssshake

User metadata
Rank Newbie
Rank
Newbie

I finally figured it out! I had given up months ago. I couldn't find any help other than this thread which died off.

This is totally because of a misunderstanding of when to use CTCM and when to use CTCU. The readme that comes with the software is not clear at all.

The short answer is never run CTCM and always run CTCU at boot.

Here are my steps:

1) Remove all references to anything sound blaster from config.sys and autoexec.bat
2) Delete the SB16 and CTCM folder (when installing SB16 it will check for presence of the ctcm folder)
3) Install SBBASIC first, during the install it will tell you that you need a PNP config manager, it will then ask you to install CTCM
4) After all of this go into CTCU and set the configuration to config 0 which is 220, 330, 388, IRQ5, DMA 1, DMA3
5) Saving this gets written to c:\ctcm\ctpnp.cfg

In config.sys there should be

DEVICE=C:\CTCM\CTCM.EXE

In autoexec.bat there should be

SET SOUND=C:\SB16
SET BLASTER=A220 I5 D1 H1 P330 T6
SET MIDI=SYNTH:1 MAP:E
SET CTCM=C:\CTCM
C:\SB16\DIAGNOSE /S /W=C:\WINDOWS
C:\SB16\MIXERSET /P /Q
C:\CTCM\CTCU /S /W=C:\WINDOWS

All of this was auto configured. Do not copy/paste this. I wrote it out by hand so expect typos.

I do now know how this happened before but I had CTCM being run in autoexec. This IS the problem. It appears that when you run CTCM what it does it auto configure the card to whatever irq it deems desirable. In my case this is always irq 9 and address of 240 which is undesirable. I have no idea why the program picks this when irq 5 220 is available. Anyway what CTCM does is probe, then sets the card then write this information to the config file.

For some reason I thought CTCM would read the config file and respect what's in it. It does not. Its job is to write to that file not read it.

CTCU is the right program for the job. It will read that config file and apply it.

This isn't intuitive because a) it's not documented anywhere and b) running CTCU produces a user interface for changing the pnp settings and writing out to that config file. So both CTCU and CTCM write out to this config file. My assumption was one program reads in the config and the other writes out to it. This is a bad assumption.

CTCU does two jobs. 1) a UI for setting card settings and writing the config to a file 2) reading that file in from the command line and applying those settings to the card.

That's it. I had CTCM running at each boot which would pick the wrong settings and overwrite my good config.

Never run CTCM.exe from autoexec.bat or manually from the command prompt. Doing so will overwrite your ctpnp.cfg file. You will have to run CTCU.exe and reconfigure the card again to update ctpnp.cfg back to your good config.

I think CTCM.exe is supposed to be loaded as a device driver, hence why it's in config.sys. But if you run it from the command prompt it acts like "go to defaults" auto setup. Or maybe it's like "ask the PNP BIOS what settings I should use".

Where as CTCU is "tell the card/pnp bios what settings the users specified" and "let the user build a config file using a UI".

So it's confusing that there are two programs, both which do two things each, and those two things are very different from each other. It would have been clearer with better documentation or with 4 exe files, each doing only one thing:

PNP BIOS Interface
Configuration Setter
Configuration Getter
Configuration Builder

Anyway I'm putting all this here so verbosely hoping it will save others some trouble down the road.

Last edited by ssshake on 2020-12-08, 17:07. Edited 8 times in total.

Reply 19 of 27, by ssshake

User metadata
Rank Newbie
Rank
Newbie
GabrielKnight123 wrote on 2019-02-26, 14:44:
Ah ok, if I have this right: […]
Show full quote

Ah ok, if I have this right:

(Autoexec.bat)
SET CTCM=C:\CTCM
SET SOUND=C:\SB16
C:\CTCM\CTCM
SET BLASTER=A220 I7 D1 H1 P330 T6
SET MIDI=SYNTH:2 MAP:E

Should set the variable and then run it

Do not run c:\ctcm\ctcm in autoexec.bat I was doing this too and that is the problem. You do not want to run ctcm at boot as it will auto-config that card (pick the wrong values) and save that to the config file. It's the opposite of what you want to have happen.

Replace this with C:\CTCM\CTCU /S

This will read in the config file and apply it to the card at boot. Exactly what you want.

Now because you've run ctcm already the config file will contain the wrong settings. What you do instead is run CTCU which will bring up the user interface. Reconfigure the card. Choose configuration 0. Save this, which will update the config file.

Now when you boot and run ctcu /s it will apply the correct settings.