VOGONS


First post, by tjsnhgaming

User metadata
Rank Newbie
Rank
Newbie

Greetings all!

I'm running MS-DOS 6.22 on real hardware.

I've been troubleshooting some sound card issues with my ISA PNP SoundBlaster Vibra16 (everything seems mostly fine, but Solar Winds 1 locks up occasionally with sound enabled, and a few of my old goldbox D&D games won't load the sound driver - but sound works fine in WFW3.11, duke3d, doom, etc etc), and as part of the troubleshooting I removed ECHO OFF from my autoexec to monitor the startup a little better.

I noticed I was getting the "out of environment space" error before it finished loading all the soundblaster stuff. Did some troubleshooting, re-arranged things in autoexec, etc - I still got the "out of environment space" but could control *where* in the boot process I got it. As it stands now, I get it right at the end when trying to set the PATH .... everything *seems* to work, and PATH seems set correctly, but I don't like having an error message hanging around on boot ...

So, with some google-fu I found advice to put "SHELL=command.com /e:1024" in my config.sys to manually increase the environment size.

Done. "out of environment space" error goes away.

However ... when using SHELL=command.com /e:1024 , my path doesn't get set ... and I'm not sure why ...
I still haven't resolved the underlying sound driver stuff, but I'm pretty confident if the path isn't being set a good number of other things aren't going to work (WFW3.11 has .. issues .. when I boot with SHELL=command.com /e:1024 without the path properly set , etc etc )

Anyone have any good info on why my path isn't being set if SHELL=command.com /e:1024 is in config.sys?
Am I going about this troubleshooting from entirely the wrong direction?

autoexec.bat

PROMPT $p$g
SET TEMP=C:\DOS
C:\WINDOWS\net start
SET SOUND=c:\drivers\vibra16
SET BLASTER=A220 I5 D1 H5 P330 T6
REM SET BLASTER=A220 I5 D1 H5 P300 T6
SET MIDI=SYNTH:1 MAP:E
SET CTCM=c:\drivers\vibra16
c:\drivers\vibra16\DIAGNOSE /S /W=C:\WINDOWS
c:\drivers\vibra16\MIXERSET /P /Q
c:\drivers\vibra16\CTCU.EXE /S /W=C:\WINDOWS
C:\DOS\SMARTDRV.EXE /X
LH C:\WINDOWS\MSCDEX.EXE /S /D:OPTICAL
set mouse=C:\PROGRAMS\MOUSE
C:\PROGRAMS\MOUSE\mouse.exe /Q
PATH C:\WINDOWS;C:\PROGRAMS\MOUSE;C:\DOS;C:\PROGRAMS;C:\GAMES

config.sys

SHELL=command.com /e:1024
SWITCHES=/F
DOS=HIGH,UMB
FILES=40
LASTDRIVE=Z
STACKS=9,256
DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF
DEVICE=C:\DOS\EMM386.EXE RAM
DEVICE=c:\drivers\vibra16\CTCM.EXE
DEVICEHIGH=C:\DOS\SETVER.EXE
DEVICEHIGH=C:\DRIVERS\VIDECDD.SYS /D:OPTICAL
DEVICEHIGH=C:\WINDOWS\IFSHLP.SYS

Reply 1 of 20, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie

"/p" may be necessary to process AUTOEXEC.BAT , eg.

SHELL=command.com /e:1024 /p

also, it's safer to use absolute paths:

SHELL=c:\command.com /e:1024 /p

Nie tylko, jak widzicie, w tym trudność, że nie zdołacie wejść na moją górę, lecz i w tym, że ja do was cały zejść nie mogę, gdyż schodząc, gubię po drodze to, co miałem donieść.

Reply 2 of 20, by debs3759

User metadata
Rank Oldbie
Rank
Oldbie

Does DOS=HIGH,UMB not need to be after HIMEM.SYS and EMM386.EXE in config.sys?

See my graphics card database at www.gpuzoo.com
Constantly being worked on. Feel free to message me with any corrections or details of cards you would like me to research and add.

Reply 3 of 20, by Jorpho

User metadata
Rank l33t++
Rank
l33t++
tjsnhgaming wrote on 2020-10-28, 14:38:

PATH C:\WINDOWS;C:\PROGRAMS\MOUSE;C:\DOS;C:\PROGRAMS;C:\GAMES

I wasn't even aware that would work.

Shouldn't you use SET PATH= (or PATH=) in your autoexec.bat (or config.sys) instead?

Reply 4 of 20, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie
Jorpho wrote on 2020-10-28, 16:12:

Shouldn't you use SET PATH= (or PATH=) in your autoexec.bat (or config.sys) instead?

That isn't required, just "PATH C:\SOMETHING" is enough.

Nie tylko, jak widzicie, w tym trudność, że nie zdołacie wejść na moją górę, lecz i w tym, że ja do was cały zejść nie mogę, gdyż schodząc, gubię po drodze to, co miałem donieść.

Reply 5 of 20, by cproell

User metadata
Rank Newbie
Rank
Newbie

I've optimized your config.sys and autoexec.bat. Hope it helps.

config.sys

DEVICE=C:\DOS\HIMEM.SYS /TESTMEM:OFF
DEVICE=C:\DOS\EMM386.EXE RAM
SWITCHES=/F
DOS=HIGH,UMB
FILES=40
LASTDRIVE=Z
STACKS=9,256
SHELL=C:\command.com /e:1024 /p
DEVICEHIGH=c:\drivers\vibra16\CTCM.EXE
DEVICEHIGH=C:\DOS\SETVER.EXE
DEVICEHIGH=C:\DRIVERS\VIDECDD.SYS /D:OPTICAL
DEVICEHIGH=C:\WINDOWS\IFSHLP.SYS
SET PROMPT=$p$g
SET TEMP=C:\TEMP
SET SOUND=c:\drivers\vibra16
SET BLASTER=A220 I5 D1 H5 P330 T6
SET MIDI=SYNTH:1 MAP:E
SET CTCM=c:\drivers\vibra16
SET MOUSE=C:\PROGRAMS\MOUSE
SET PATH=C:\WINDOWS;C:\PROGRAMS\MOUSE;C:\DOS;C:\PROGRAMS;C:\GAMES

autoexec.bat

@ECHO OFF
LH c:\drivers\vibra16\DIAGNOSE /S /W=C:\WINDOWS
LH c:\drivers\vibra16\MIXERSET /P /Q
LH c:\drivers\vibra16\CTCU.EXE /S /W=C:\WINDOWS
LH C:\PROGRAMS\MOUSE\mouse.exe /Q
LH C:\WINDOWS\MSCDEX.EXE /S /D:OPTICAL
LH C:\DOS\SMARTDRV.EXE /X
LH C:\WINDOWS\net start

Reply 7 of 20, by debs3759

User metadata
Rank Oldbie
Rank
Oldbie
maxtherabbit wrote on 2020-10-28, 20:43:

Does using SET work from config.sys in all versions of DOS??

The MS-DOS Bible (covers up to v4) only shows it working in autoexec.bat. Que Using MS-DOS 6.2 Special Edition show it as valid. I don't have any books between the two so not sure when it became valid for config.sys, but it's reasonable to assume v5.0 or v6.0

See my graphics card database at www.gpuzoo.com
Constantly being worked on. Feel free to message me with any corrections or details of cards you would like me to research and add.

Reply 8 of 20, by debs3759

User metadata
Rank Oldbie
Rank
Oldbie

Found it online. SET has been valid in config.sys since MS-DOS 6.0. Don't know about other versions of DOS.

See my graphics card database at www.gpuzoo.com
Constantly being worked on. Feel free to message me with any corrections or details of cards you would like me to research and add.

Reply 9 of 20, by tjsnhgaming

User metadata
Rank Newbie
Rank
Newbie
cproell wrote on 2020-10-28, 19:48:

I've optimized your config.sys and autoexec.bat. Hope it helps.

Interesting tweaks, I wasn't aware some of those things could go in config.sys instead ... will try it out, thanks!

Edit : Doing it that way gives me about 20k less conventional memory. Odd.

Reply 10 of 20, by cproell

User metadata
Rank Newbie
Rank
Newbie

Ok, that's odd. But I have some other optimizations:
- the ctcm/ctcu drivers for the soundcard can be removed, most games recognize the Soundblaster anyway. Windows also doesn't need them.
- setver can be replaced by fakever.com (can be found on the internet). It's smaller and doesn't have to be loaded in config.sys or autoexec.bat. You can load it before starting software which has problem with the high version number of DOS 6.x, and after use it can be unloaded. I use it with batch files to run such programs
- use ctmouse.exe instead of the mouse.exe. It's also smaller and does work with most mouses (and you can remove the set mouse=... in config.sys)
- \windows\net start - only needed if you use networking under Windows. If not, remove it
- Smartdrv also can be replaced with other disk-caching software, like lbacache.com which is smaller in memory use.
- himem.sys and emm386.exe can be replaced with the freedos versions (himemx.exe and jemm386.exe). They work great, but if you use Windows, I don't recommend them.

Another tip: Use different configurations, with DOS 6.22 you can create a menu within config.sys and use different configurations for windows, one for games (with most free memory), ... If you are interested, I can post one of my config.sys and autoexec.bat files 😀

Reply 12 of 20, by cproell

User metadata
Rank Newbie
Rank
Newbie
maxtherabbit wrote on 2020-10-29, 14:01:

CTCU is required for a PnP soundblaster in DOS. You can replace it with Unisound though

Weird, I also habe a SB Vibra16 and do not need these drivers. Just the BLASTER settings and the Mixerset/Diagnose commands to set the volume. Many of my games do work with this.

Reply 13 of 20, by Grzyb

User metadata
Rank Oldbie
Rank
Oldbie
cproell wrote on 2020-10-29, 20:36:

Weird, I also habe a SB Vibra16 and do not need these drivers. Just the BLASTER settings and the Mixerset/Diagnose commands to set the volume. Many of my games do work with this.

I guess that sound card gets initialized by the BIOS.

With an ISAPNP-aware BIOS, there should be a setting like "PNP OS" in CMOS Setup.
YES = BIOS initializes bootable devices only
NO = BIOS initializes all devices

Nie tylko, jak widzicie, w tym trudność, że nie zdołacie wejść na moją górę, lecz i w tym, że ja do was cały zejść nie mogę, gdyż schodząc, gubię po drodze to, co miałem donieść.

Reply 14 of 20, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
cproell wrote on 2020-10-29, 20:36:
maxtherabbit wrote on 2020-10-29, 14:01:

CTCU is required for a PnP soundblaster in DOS. You can replace it with Unisound though

Weird, I also habe a SB Vibra16 and do not need these drivers. Just the BLASTER settings and the Mixerset/Diagnose commands to set the volume. Many of my games do work with this.

The vibras aren't all pnp. Diagnose assigns resources to the pre-pnp software configured ones

Reply 15 of 20, by tjsnhgaming

User metadata
Rank Newbie
Rank
Newbie
cproell wrote on 2020-10-29, 20:36:
maxtherabbit wrote on 2020-10-29, 14:01:

CTCU is required for a PnP soundblaster in DOS. You can replace it with Unisound though

Weird, I also habe a SB Vibra16 and do not need these drivers. Just the BLASTER settings and the Mixerset/Diagnose commands to set the volume. Many of my games do work with this.

Max is right, without CTCU loaded almost none of my dos games have sound. Its one of the later *really* stripped down Vibra cards. (I wasn't willing to spend $50 on a sound card when putting the system together 😉 )

Reply 16 of 20, by cproell

User metadata
Rank Newbie
Rank
Newbie

Ah, that makes sense. Thanks 😀 Creative created too many SoundBlaster cards, just look at this list: https://support.creative.com/kb/showarticle.aspx?sid=10846 No wonder why there is such a chaos 😉

Reply 17 of 20, by dr_st

User metadata
Rank l33t
Rank
l33t

So this CTCU thing is a mystery to me. In all of my PnP Sound Blasters (an SB16, a Vibra16 and a couple of AWE64s) I never needed to run CTCU every time.

I only need to run CTCM in AUTOEXEC to initialize the card. CTCU only had to be run once to initialize and store the settings.

Why do I see people claim that you must run CTCU on every boot? Could it be that if CTCM is loaded in CONFIG.SYS (instead of being run in AUTOEXEC.BAT), then you have to also run CTCU? Then why do people load CTCM in CONFIG.SYS? I understand it is required if you want to use the CDROM interface (since AUTOEXEC is too late to load CDROM drivers). But if you are not using the CDROM interfaces on your SB, it seems like the simplest setup is just to run CTCM (and on AWE, also AWEUTIL) in AUTOEXEC, to initialize the card (optionally MIXERSET to initialize the volume).

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

Reply 18 of 20, by Cyberdyne

User metadata
Rank Oldbie
Rank
Oldbie

You do not even have to use CTCU, I usually just modify the CTCM.CFG file myself. An then just run CTCM.

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.
PS. If I upload RAR, it is a 16-bit DOS RAR Version 2.50.

Reply 19 of 20, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
Cyberdyne wrote on 2020-10-30, 11:18:

You do not even have to use CTCU, I usually just modify the CTCM.CFG file myself. An then just run CTCM.

this is correct. I can never remember which CTCx is which 🤣