• Please review our updated Terms and Rules here

XT hangs on autoexec.bat

giobbi

Veteran Member
Joined
Dec 23, 2012
Messages
987
Location
São Paulo country, Brazil
Hi all,

I have a silly (but serious) problem on my XT. I installed a Soundblaster 16 (CT2230) and it seemed to work at first few tests I did (Indy 3 and the last crusade).

Since Diagnose.exe hanged the PC, i put a PAUSE in the autoexec.bat to control the boot phase.

The autoexec.bat was:
-------------------------------------
@echo off
SET SOUND=C:\SB16
rem mettere low dma=high dma
SET BLASTER=A220 I5 D1 H1 P330 T6
SET MIDI=SYNTH:1 MAP:E
echo before to load Diagnose.exe
PAUSE
C:\SB16\DIAGNOSE /S
C:\SB16\MIXERSET /P /Q
path=c:\;c:\dos
keyb it
dosedit
prompt $p$g
-------------------------------------

I did some tests (some boot too) and it worked fine. I only needed to press enter when it paused. But, since it was working, I removed the PAUSE and changed the autoexec this way:

-------------------------------------
@echo off
SET SOUND=C:\SB16
rem low dma=high dma
SET BLASTER=A220 I5 D1 H1 P330 T6
SET MIDI=SYNTH:1 MAP:E
path=c:\;c:\dos
keyb it
dosedit
prompt $p$g
C:\SB16\DIAGNOSE /S
C:\SB16\MIXERSET /P /Q
-------------------------------------

This way, the system hangs during the boot (but, since I put the damn'd ECHO OFF, I can only suppose it hangs on the DIAGNOSE.EXE program).

I did yesterday a bootable 5.25" floppy, but when I tried to use it to solve this problem, I discover it no longer works! :-(

I tried many times to stop the system while it's processing the autoexec.bat script with CTRL+C, but it seems it doesn't work.
Have you any idea about how to exit from this problem? Because I can't imagine from which device I could boot (yep, no bios menu entry: "boot from usb" in that era!)

Actually I have a perfectly working PC and a stupid entry in the autoexec makes it totally useless! What a shame!

--Giovi
 
Just thinking, if it were me, bunch of pauses with identifiers to find the culprit:

@echo off
echo Next = SET SOUND=C:\SB16
SET SOUND=C:\SB16
pause
rem low dma=high dma
echo Next = SET BLASTER=A220 I5 D1 H1 P330 T6
SET BLASTER=A220 I5 D1 H1 P330 T6
pause
echo Next = SET MIDI=SYNTH:1 MAP:E
SET MIDI=SYNTH:1 MAP:E
pause
echo Next = path=c:\;c:\dos
path=c:\;c:\dos
pause
echo Next = keyb it
keyb it
pause
echo Next = dosedit
dosedit
pause
prompt $p$g
echo Next = C:\SB16\DIAGNOSE /S
C:\SB16\DIAGNOSE /S
pause
echo next = C:\SB16\MIXERSET /P /Q
C:\SB16\MIXERSET /P /Q
echo Made it to the end!
pause
 
use the .exe , it is trying to open DIAGNOSE and not diagnose.exe
just a thought.
batch files are a little confusing sometimes.
also try using quotes.
"C:\SB16\diagnose.exe /S"

o one more thing.

you set the path and C:\SB16 is not part of the path.
if your going to set only the ROOT of the C drive and including C:\dos ,
PATH would have to include the C:\SB16 directory.
Have fun with that.
 
Last edited:
giobbi

I'm probably not fully understanding your problem and might be a little off base, which by the way is the norm for me these days. What I usually do when I have a boot configuration problem, is to REM everything out in the Autoexec, and then lift the REM's one by one until I'm satisfied that I've nailed the offending entry. At least this way, you'll know for sure what's holding things up.
 
Chuck's technique is good if you're on a newer version of dos. F8 during/right after the "Starting MS-DOS..." will ask you on each step y/n to run it (F5 I think was the bypass the file) and you'll probably find what hangs and where so you can REM it next time and test again. One question though, your second batch file is running dosedit before finishing your other commands? Isn't that an interactive program?

Obviously too you could REM your echo off statement for the time being and again see what it's typing :)
 
giobbi

I'm probably not fully understanding your problem and might be a little off base, which by the way is the norm for me these days. What I usually do when I have a boot configuration problem, is to REM everything out in the Autoexec, and then lift the REM's one by one until I'm satisfied that I've nailed the offending entry. At least this way, you'll know for sure what's holding things up.
oh ya I forgot about REMing the statements out to find the issue.
The pause got them one step of the way closer.
more fun that way.
I like it.
 
Depending on the version of DOS, F8 during boot should give you the option of skipping either or both CONFIG.SYS and AUTOEXEC.BAT.


IBM DOS 3.30, it seems the F8 isn't an option...


People, unfortunately the problem is the following: The PC hangs during the boot phase and I don't know how to avoid the config/autoexec execution. I have no control on it: no prompt. A simple blinking cursor is what I have. It seems both the floppy disk or the floppy drive aren't working anymore, so I can't boot from floppy.

What I need is a way to stop the autoexec.bat execution before it reaches the Diagnose.exe (because it hangs the PC).

The CTRL+C sequence, for some reasons, doesn't stop the batch, and I don't understand why :-(

---------------------------- UPDATE

SOLVED. Since I can't prevent from loading DIAGNOSE.EXE with CTRL+C, I removed the 1st RAM chip from bank1, putting the PC in a 256 kb configuration, that's not enough to load diagnose.exe. I got a "not enough memory" error and finally the Ctrl+C worked. :D

There's almost nothing impossible :)
 
Last edited:
Ok, I found some more info about diagnose.exe.

THIS WORKS: Diagnose.exe doesn't hang the system while booting, and the Sounblaster seems to work (I did just a quick test with Indy3)
-------------------------------------
@echo off
SET SOUND=C:\SB16
rem low dma=high dma
SET BLASTER=A220 I5 D1 H1 P330 T6
SET MIDI=SYNTH:1 MAP:E

C:\SB16\DIAGNOSE /S
C:\SB16\MIXERSET /P /Q

path=c:\;c:\dos
keyb it
dosedit
prompt $p$g
-------------------------------------


THIS DOESN'T WORK: Diagnose.exe hang the system while booting, leaving the system as dead.
-------------------------------------
@echo off
SET SOUND=C:\SB16
rem low dma=high dma
SET BLASTER=A220 I5 D1 H1 P330 T6
SET MIDI=SYNTH:1 MAP:E

path=c:\;c:\dos
keyb it
dosedit
prompt $p$g


C:\SB16\DIAGNOSE /S
C:\SB16\MIXERSET /P /Q
-------------------------------------

It seems that for some reason, one of the four lines (path, keyb, dosedit and prompt) leave the system in some way that prevent Diagnose to boot. I think the problem comes from keyb.com; it doesn't map correctly the italian keyboard (I get an "ù" instead of "\") but, if Diagnose and Mixerset are executed before it, then the keyboard is correctly mapped. Strange, isn't it?

However, since I don't like to leave a "pause" command in the middle of my batch, but -also- I don't want to have the same problem again, I add some lines in the batch file (I suggest to everybody that has an old system that could be hard to boot from floppy, etc. to add the same lines in the autoexec.bat).


-------------------------------------
@echo off

if exist stop.me pause <<<<<<<<< ADDED LINE (1/3)
ver > stop.me <<<<<<<<< ADDED LINE (2/3)

SET SOUND=C:\SB16
rem low dma=high dma
SET BLASTER=A220 I5 D1 H1 P330 T6
SET MIDI=SYNTH:1 MAP:E

C:\SB16\DIAGNOSE /S
C:\SB16\MIXERSET /P /Q

path=c:\;c:\dos
keyb it
dosedit
prompt $p$g

DEL stop.me <<<<<<<<< ADDED LINE (3/3) THIS MUST TO BE THE LAST LINE.
-------------------------------------

so, if the autoexec.bat hangs for some reason, next boot the first instruction will be a PAUSE, and you will be able to press CTRL+C and stop the autoexec.bat processing.

Cheers,
Giovi
 
Do you have a NEC V20 or V30 processor? Diagnose doesn't work on 8088 or 8086 based computers...
 
Do you have a NEC V20 or V30 processor? Diagnose doesn't work on 8088 or 8086 based computers...


AMD D8088 on XT 5160. I can't say if Diagnose works or not, I didn't try to remove it from the autoexec.bat. That's the next test I will do, yesterday (well, today!) I went to sleep at 2:30 AM ;-)

But, at least, it doesn't hang (and the SB seems to work) if I respect the loading sequence in Autoexec.bat

BTW have you any suggestion about some *CGA* game that fully uses the SB capabilities? Actually I checked my SB only with two Lucas games: Indy3 and Loom. Since I haven't a VGA ISA card (yet) I can't run some newer games.

------------------ UPDATE
Diagnose and Mixerset aren't required for Soundblaster, it works the same way also without run them in the autoexec.bat; but Mixerset is required for higher volume.
 
Last edited:
BTW have you any suggestion about some *CGA* game that fully uses the SB capabilities? Actually I checked my SB only with two Lucas games: Indy3 and Loom.

There are very many that use the Adlib and/or CMS portions for music and sound effects, but if you're talking about the digital sound function, then there aren't very many. Tongue of the Fatman, Prince of Persia, Chessmaster 2100, Stellar 7, Heart of China and Rise of the Dragon (16-color versions can run in 2-color B&W mode) and Ghostbusters II come to mind.
 
There are very many that use the Adlib and/or CMS portions for music and sound effects, but if you're talking about the digital sound function, then there aren't very many. Tongue of the Fatman, Prince of Persia, Chessmaster 2100, Stellar 7, Heart of China and Rise of the Dragon (16-color versions can run in 2-color B&W mode) and Ghostbusters II come to mind.

Stellar 7 can run in CGA mode? I didn't remember that. It can't be very playable on a 4.77 MHz XT I guess, but it worth a try!
thanks
Giovi

-----------------UPDATE:
Stellar7 run in CGA 4 colors (too slow, though) but the setup doesn't allow to choose the SB, only the AdLib. And it doesn't produce any sound.
Prince of Persia run in CGA 4 colors, it's quite playable (keeping in mind it's running on a 4 MHz XT) and it uses the Soundblaster for both music and FX.

I also suppose that Indy3 and Loom are using the SB; I compared the sound that comes from the SB output playing Indy3 on my WinXP and ScummVM, and it seems to be identical.
 
Last edited:
Stellar7 run in CGA 4 colors (too slow, though) but the setup doesn't allow to choose the SB, only the AdLib. And it doesn't produce any sound.

I seem to recall that Stellar 7 (and Rise of the Dragon) are finicky when it comes to port (must be 220) and IRQ settings. I only got mine to work with those games on either IRQ 2 or 3 (can't recall).
 
Cool stuff. I recommend installing a NEC V20 and VGA card. That will make a lot of difference performance wise. :D
 
Cool stuff. I recommend installing a NEC V20 and VGA card. That will make a lot of difference performance wise. :D

The NEC will help a little, but the VGA can actually degrade performance depending on how well (or badly) the game was written. EGA is 2x and VGA (256-color mode) is 4x the video memory to sling around; the 8088/V20 can only sling so much, so you could end up with a slower game playing in those modes. This varies from game to game so the only way to find out is to try it. Sega's Outrun is one such game that runs noticeably faster in CGA mode than EGA on the same hardware.

Some games use VGA to produce a 320x200x16 EGA mode (properly supported, with polyfilling assisted by the latches) with a VGA palette, so they run fast and look great. F29 Retaliator comes to mind, and runs surprisingly well on 808x.
 
Back
Top