VOGONS


DOS Issues - Win98SE

Topic actions

First post, by Retro-o

User metadata
Rank Newbie
Rank
Newbie

Hi Folks,

Looking for some help and advice. I've just put together an old AT PC with a view to playing old DOS / Windows FMV games. The specs are as follows:

Socket 7: AMD K2 266MHz
128Mb RAM
Graphics: S3 Virge DX/GX 4Mb RAM
Sound: AWE 64
O/S: Win98SE

So the PC works fine, loads into Windows 98 no problem but it's DOS I'm having issues with. If I start DOS either via the Windows 98 startup disk or command prompt I'm not able to get sound, even if I run the autoexec.bat from C: which has the lines for loading the sound card.

I have found however that restarting into MS-DOS via shutting down from Windows 98 does allow sound to work? I also notice that some creative sandblaster text appears and confirms initialisation of the sound card. But I have no CD-ROM or Mouse support when I do it this way. So I've been reading up on how to add CD-ROM and mouse support - seems straight forward enough and today I was going to start sorting this. However....

As of today when I now restart into MS-DOS via Windows 98 the monitor has decided it's not happy and won't turn on. Its sits in standby with an 'Out of range' error displayed on the screen. Now to confirm Windows 98 still loads without issue and I can load into command prompt without issue. This only happens when restarting into MS-DOS from windows.

Nothing has changed other than today I had installed Flight Unlimited and I do notice that when trying to load Flight Unlimited via Windows the same issue will happen with the monitor but the game ends and I can go back into windows. I've checked several other games and they load fine - no monitor issues.

This is really frustrating and restarting into MS-DOS worked fine as of yesterday. Does anyone have any advice on how to sort this?

Reply 1 of 28, by leileilol

User metadata
Rank l33t++
Rank
l33t++

Have you manually ran aweutil?

apsosig.png
long live PCem

Reply 2 of 28, by Retro-o

User metadata
Rank Newbie
Rank
Newbie

Hi leileilol
No I haven't but I gave it a go and it came back with an error. However, I have since read about CTCM and noticed that this was included in DOSSTART.BAT
If I run CTCM in DOS and then aweutil this activates the soundcard and it works! I've tested on a few games including DOOM and can confirm the enhanced midi is working as well.

So far so good in terms of sound.

Reply 3 of 28, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

Yes, awe64 is a pnp card, and unless your bios inits isa pnp, the card wont have io address or irq assigned. Dos games need those to talk to the card.

Ctcm/ctcu set up creative pnp cards.

Another potential option is unisound.

Reply 4 of 28, by Gmlb256

User metadata
Rank l33t
Rank
l33t

When using the official DOS drivers with the AWE64, AWEUTIL should be always executed with the /S parameter after CTCM in DOSSTART.BAT or AUTOEXEC.BAT. That way, it won't be loaded as a TSR (for MPU-401 emulation) eating a lot of conventional memory.

Reply 5 of 28, by Retro-o

User metadata
Rank Newbie
Rank
Newbie

So just a quick update , sound in DOS is now working. I have also added some lines into the autoexec.bat & config.sys to activate cd rom support in DOS and this also appears to be working.

HOWEVER, this has thrown up new issues.

If I try to view the contents of any copied CD in DOS I now get an error message saying 'CDR103 - not High Sierra or ISO-9660 format' - These CD's worked fine in DOS before?

Also, now if I try to run CD games in Windows 98 they either crash or I get a message saying:

no mem
clue:'insufficient conventional memory'

I tried to run the same game in DOS and now I'm getting:

EMS error
clue'no EMM installed'

Also still getting the 'out of range' error on the monitor when restarting in MS-DOS

Any help would greatly appreciated!

At the moment my autoexec.bat looks like this:

@ECHO OFF
SET PATH-C:\WINDOWS\COMMAND
C:\WINDOWS\COMMAND\MSCDEX /D:CD901 /L:D

SET SOUND=C:\PROGRA~1\CREATIVE\CTSND
SET MIDI=SYNTH:1 MAP:E MODE:0
SET BLASTER=A220 I5 D1 H5 P330 E620 T6
MODE CON CODEPAGE PREPARE=((850) C:\WINDOWS\COMMAND\EGA.CPI)
MODES CON CODEPAGE SELECT=850
KEYB UK,,C:\WINDOWS\COMMAND\KEYBOARD.SYS

config.sys looks like this:

DEVICE=C:\WINDOWS\COMMAND\display.sys con=(ega,,1)
Country=044,850,C:\WINDOWS\COMMAND\country.sys
DEVICE=C:\WINDOWS\HIMEM.SYS /TESTMEM:OFF
DEVICEHIGH=C:\WINDOWS\COMMAND\OAKCDROM.SYS /D:CD01
LASTDRIVE=Z

DOSSTART.BAT looks like this:

C:\WINDOWS\CTCM
@echo off
SET PATH C:\WINDOWS\COMMAND
C:\WINDOWS\COMMAND\MSCDEX.EXE /D:CD01 /L:D

Reply 6 of 28, by Retro-o

User metadata
Rank Newbie
Rank
Newbie
Gmlb256 wrote on 2024-06-14, 21:43:

When using the official DOS drivers with the AWE64, AWEUTIL should be always executed with the /S parameter after CTCM in DOSSTART.BAT or AUTOEXEC.BAT. That way, it won't be loaded as a TSR (for MPU-401 emulation) eating a lot of conventional memory.

Ah, So this might explain why I have a lack of conventional memory all of a sudden?

Reply 7 of 28, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

You are not enabling upper memory, and everything is loading in conventional.

Consider this instead:

[Autoexec.bat] […]
Show full quote

[Autoexec.bat]

@ECHO OFF
SET PATH-C:\WINDOWS\COMMAND
LH C:\WINDOWS\COMMAND\MSCDEX /D:CD901 /L:D

SET SOUND=C:\PROGRA~1\CREATIVE\CTSND
SET MIDI=SYNTH:1 MAP:E MODE:0
SET BLASTER=A220 I5 D1 H5 P330 E620 T6
LH MODE CON CODEPAGE PREPARE=((850) C:\WINDOWS\COMMAND\EGA.CPI)
MODES CON CODEPAGE SELECT=850
KEYB UK,,C:\WINDOWS\COMMAND\KEYBOARD.SYS

[Config.sys]
DEVICE=C:\WINDOWS\HIMEM.SYS /TESTMEM:OFF
DEVICE=C:\WINDOWS\EMM386.EXE RAM HIGHSCAN I=B000-B7FF NOTR
DOS=HIGH,UMB
DEVICEHIGH=C:\WINDOWS\COMMAND\display.sys con=(ega,,1)
Country=044,850,C:\WINDOWS\COMMAND\country.sys
DEVICEHIGH=C:\WINDOWS\COMMAND\OAKCDROM.SYS /D:CD01
LASTDRIVE=Z

[DOSSTART.BAT]

C:\WINDOWS\CTCM
@echo off
SET PATH C:\WINDOWS\COMMAND
REM -- C:\WINDOWS\COMMAND\MSCDEX.EXE /D:CD01 /L:D
REM Redundant, loaded in autoexec.bat

Reply 8 of 28, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

More details:

By default, dos does not enable the use of UMBs, or enable writes on ram above 1mb in the adapter area for that use.

You need a device driver to enable memory there (usually emm386, but umbpci does this too on pentium systems), and need to tell DOS to use it, with the

DOS=HIGH,UMB

Directive in config.sys.

Without those things, dos only sees low memory, and puts drivers there instead.

Likewise, things called from the command line, or from autoexec.bat will load into conventional by default unless told otherwise with LOADHIGH or LH directives.

Reply 9 of 28, by Gmlb256

User metadata
Rank l33t
Rank
l33t
Retro-o wrote on 2024-06-14, 21:55:
Gmlb256 wrote on 2024-06-14, 21:43:

When using the official DOS drivers with the AWE64, AWEUTIL should be always executed with the /S parameter after CTCM in DOSSTART.BAT or AUTOEXEC.BAT. That way, it won't be loaded as a TSR (for MPU-401 emulation) eating a lot of conventional memory.

Ah, So this might explain why I have a lack of conventional memory all of a sudden?

Yes, this is something that some people forget to set when using an AWE sound card in DOS. 😉

Also, consider adding a PIF shortcut that executes COMMAND.COM with custom CONFIG.SYS and AUTOEXEC.BAT settings. Said shortcut will restart the computer into MS-DOS mode and the DOS drivers can be safely used there.

Reply 10 of 28, by Retro-o

User metadata
Rank Newbie
Rank
Newbie
wierd_w wrote on 2024-06-14, 22:01:

You are not enabling upper memory, and everything is loading in conventional.

Consider this instead:

[Autoexec.bat] […]
Show full quote

[Autoexec.bat]

@ECHO OFF
SET PATH-C:\WINDOWS\COMMAND
LH C:\WINDOWS\COMMAND\MSCDEX /D:CD901 /L:D

SET SOUND=C:\PROGRA~1\CREATIVE\CTSND
SET MIDI=SYNTH:1 MAP:E MODE:0
SET BLASTER=A220 I5 D1 H5 P330 E620 T6
LH MODE CON CODEPAGE PREPARE=((850) C:\WINDOWS\COMMAND\EGA.CPI)
MODES CON CODEPAGE SELECT=850
KEYB UK,,C:\WINDOWS\COMMAND\KEYBOARD.SYS

[Config.sys]
DEVICE=C:\WINDOWS\HIMEM.SYS /TESTMEM:OFF
DEVICE=C:\WINDOWS\EMM386.EXE RAM HIGHSCAN I=B000-B7FF NOTR
DOS=HIGH,UMB
DEVICEHIGH=C:\WINDOWS\COMMAND\display.sys con=(ega,,1)
Country=044,850,C:\WINDOWS\COMMAND\country.sys
DEVICEHIGH=C:\WINDOWS\COMMAND\OAKCDROM.SYS /D:CD01
LASTDRIVE=Z

[DOSSTART.BAT]

C:\WINDOWS\CTCM
@echo off
SET PATH C:\WINDOWS\COMMAND
REM -- C:\WINDOWS\COMMAND\MSCDEX.EXE /D:CD01 /L:D
REM Redundant, loaded in autoexec.bat

Hey weird_w thank you for your advice. I've updated my autoexec.bat & config.sys as per your recommendations and while this has solved the issue with the conventional memory I'm now having issues loading any dos games. Anytime I got to load a game in DOS I get a 'general protection error' and the games won't load? What would be causing this?

Btw the issue with monitor being 'out of range' when restarting into MS-DOS seems to have resolved itself.

Reply 11 of 28, by Retro-o

User metadata
Rank Newbie
Rank
Newbie
Gmlb256 wrote on 2024-06-14, 22:08:
Retro-o wrote on 2024-06-14, 21:55:
Gmlb256 wrote on 2024-06-14, 21:43:

When using the official DOS drivers with the AWE64, AWEUTIL should be always executed with the /S parameter after CTCM in DOSSTART.BAT or AUTOEXEC.BAT. That way, it won't be loaded as a TSR (for MPU-401 emulation) eating a lot of conventional memory.

Ah, So this might explain why I have a lack of conventional memory all of a sudden?

Yes, this is something that some people forget to set when using an AWE sound card in DOS. 😉

Also, consider adding a PIF shortcut that executes COMMAND.COM with custom CONFIG.SYS and AUTOEXEC.BAT settings. Said shortcut will restart the computer into MS-DOS mode and the DOS drivers can be safely used there.

Thanks again for your reply Gmlb256, could you explain a little more the PIF shortcut? Thanks.

Reply 12 of 28, by Gmlb256

User metadata
Rank l33t
Rank
l33t
Retro-o wrote on 2024-06-15, 21:27:
Gmlb256 wrote on 2024-06-14, 22:08:
Retro-o wrote on 2024-06-14, 21:55:

Ah, So this might explain why I have a lack of conventional memory all of a sudden?

Yes, this is something that some people forget to set when using an AWE sound card in DOS. 😉

Also, consider adding a PIF shortcut that executes COMMAND.COM with custom CONFIG.SYS and AUTOEXEC.BAT settings. Said shortcut will restart the computer into MS-DOS mode and the DOS drivers can be safely used there.

Thanks again for your reply Gmlb256, could you explain a little more the PIF shortcut? Thanks.

Ok, I will explain it in steps:

  1. Open "My Computer" and go to C:\
  2. Right click on COMMAND.COM and select "Create Shortcut" in the context menu, this will create the PIF shortcut.
  3. Now right click on the shortcut and select "Properties".
  4. In the "Properties" dialog, click on the "Advanced" button.
  5. On the "Advanced Program Settings" dialog, check "MS-DOS mode" then select "Specify a new MS-DOS configuration".
  6. Uncheck "Warn before entering MS-DOS mode".
  7. From there you can specify CONFIG.SYS and AUTOEXEC.BAT settings that will be used during MS-DOS mode.
  8. Click "OK" button once you're done.

During MS-DOS mode after executing the PIF shortcut, to restart the computer and start Windows normally, type EXIT in the DOS prompt then press the Enter key.

Reply 13 of 28, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie
Retro-o wrote on 2024-06-15, 21:25:
wierd_w wrote on 2024-06-14, 22:01:

You are not enabling upper memory, and everything is loading in conventional.

Consider this instead:

[Autoexec.bat] […]
Show full quote

[Autoexec.bat]

@ECHO OFF
SET PATH-C:\WINDOWS\COMMAND
LH C:\WINDOWS\COMMAND\MSCDEX /D:CD901 /L:D

SET SOUND=C:\PROGRA~1\CREATIVE\CTSND
SET MIDI=SYNTH:1 MAP:E MODE:0
SET BLASTER=A220 I5 D1 H5 P330 E620 T6
LH MODE CON CODEPAGE PREPARE=((850) C:\WINDOWS\COMMAND\EGA.CPI)
MODES CON CODEPAGE SELECT=850
KEYB UK,,C:\WINDOWS\COMMAND\KEYBOARD.SYS

[Config.sys]
DEVICE=C:\WINDOWS\HIMEM.SYS /TESTMEM:OFF
DEVICE=C:\WINDOWS\EMM386.EXE RAM HIGHSCAN I=B000-B7FF NOTR
DOS=HIGH,UMB
DEVICEHIGH=C:\WINDOWS\COMMAND\display.sys con=(ega,,1)
Country=044,850,C:\WINDOWS\COMMAND\country.sys
DEVICEHIGH=C:\WINDOWS\COMMAND\OAKCDROM.SYS /D:CD01
LASTDRIVE=Z

[DOSSTART.BAT]

C:\WINDOWS\CTCM
@echo off
SET PATH C:\WINDOWS\COMMAND
REM -- C:\WINDOWS\COMMAND\MSCDEX.EXE /D:CD01 /L:D
REM Redundant, loaded in autoexec.bat

Hey weird_w thank you for your advice. I've updated my autoexec.bat & config.sys as per your recommendations and while this has solved the issue with the conventional memory I'm now having issues loading any dos games. Anytime I got to load a game in DOS I get a 'general protection error' and the games won't load? What would be causing this?

Btw the issue with monitor being 'out of range' when restarting into MS-DOS seems to have resolved itself.

It's likely the HIGHSCAN option on emm386.

I'll need to know what your adapter rom region looks like without any managers loaded to help you carve out explicit includes and excludes.

Do you have your original win9x install cd?

On it, you will find a utility called Mictosoft Diagnostics. (MSD.EXE)

Run it without any drivers or memory managers loaded (boot holding down F5), then look at the memory browser.

Take a picture, and post it.

Reply 14 of 28, by Retro-o

User metadata
Rank Newbie
Rank
Newbie
wierd_w wrote on 2024-06-16, 02:11:
It's likely the HIGHSCAN option on emm386. […]
Show full quote
Retro-o wrote on 2024-06-15, 21:25:
wierd_w wrote on 2024-06-14, 22:01:

You are not enabling upper memory, and everything is loading in conventional.

Consider this instead:

Hey weird_w thank you for your advice. I've updated my autoexec.bat & config.sys as per your recommendations and while this has solved the issue with the conventional memory I'm now having issues loading any dos games. Anytime I got to load a game in DOS I get a 'general protection error' and the games won't load? What would be causing this?

Btw the issue with monitor being 'out of range' when restarting into MS-DOS seems to have resolved itself.

It's likely the HIGHSCAN option on emm386.

I'll need to know what your adapter rom region looks like without any managers loaded to help you carve out explicit includes and excludes.

Do you have your original win9x install cd?

On it, you will find a utility called Mictosoft Diagnostics. (MSD.EXE)

Run it without any drivers or memory managers loaded (boot holding down F5), then look at the memory browser.

Take a picture, and post it.

Hey sorry for the delay, had a busy week. Okay, have run MSD.EXE and here’s the screenshot from the memory manager.

Reply 15 of 28, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

That clearly has memory managers loaded.

I see emm386 has placed an ems pageframe at E000-EFFF, and has enabled UMBs between C800-DFFF.

I need to see what is there without config.sys or emm386.exe loaded.

please do one of the following, and get another shot:

REM out the lines for himem.sys and emm386.exe in config.sys

Boot while holding down F5 (easiest)

boot holding F8, and pick 'safemode command prompt only'

Reply 16 of 28, by Retro-o

User metadata
Rank Newbie
Rank
Newbie
wierd_w wrote on 2024-06-22, 14:31:
That clearly has memory managers loaded. […]
Show full quote

That clearly has memory managers loaded.

I see emm386 has placed an ems pageframe at E000-EFFF, and has enabled UMBs between C800-DFFF.

I need to see what is there without config.sys or emm386.exe loaded.

please do one of the following, and get another shot:

REM out the lines for himem.sys and emm386.exe in config.sys

Boot while holding down F5 (easiest)

boot holding F8, and pick 'safemode command prompt only'

Okay. I added REM to the lines in config.sys. Trying to boot while holding down F5 results in an error. - Image attached.

Booting with safe mode command prompt only was fine and this was the screenshot I got within MSD.EXE

Reply 17 of 28, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

The adapter region looks clean, but you have a bad ram module.

Reply 18 of 28, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

If it were me, I would set the emm386 line like this:

Device=C:\windows\emm386.exe ram I=b000-b7ff I=c800-dfff p=e000 notr

AND i would replace the RAM.

The /testmem:off on himem.sys is to speed up boot on systems with known good ram. Not to skip the testing to halfass use bad ram.

😀

Emm386 uses xms memory, mapped into the adapter rom region, to do its thing. If that memory is faulty, you will get the behavior you are experiencing.

Reply 19 of 28, by Retro-o

User metadata
Rank Newbie
Rank
Newbie
wierd_w wrote on 2024-06-22, 19:10:
If it were me, I would set the emm386 line like this: […]
Show full quote

If it were me, I would set the emm386 line like this:

Device=C:\windows\emm386.exe ram I=b000-b7ff I=c800-dfff p=e000 notr

AND i would replace the RAM.

The /testmem:off on himem.sys is to speed up boot on systems with known good ram. Not to skip the testing to halfass use bad ram.

😀

Emm386 uses xms memory, mapped into the adapter rom region, to do its thing. If that memory is faulty, you will get the behavior you are experiencing.

Again thank you all your help with this. I have noticed a few times on start up it says ‘memory test failed’ so I’d guess that explains that.

So where are you seeing that the RAM module is damaged? I have three RAM modules, how do I know which is damaged?