VOGONS


First post, by gladders

User metadata
Rank Member
Rank
Member

Greetings Vogoners

I am struggling to get this game running on my computer. I have Windows 98, but have had some success in having some games launch in their own special DOS environment with custom AUTOEXEC.BAT and CONFIG.SYS files to free up Conventional Memory. I managed it with Elder Scrolls Arena and Contraption Zack.

However both those games can run without a CD, and I would much prefer to have the CD version of Star Trek running. Trouble is the CD driver gobbles up tons of Conventional Memory. Can anyone help me pare it down a notch?

Star Trek needs 560K of Conventional Memory, and I've got DOS reporting 553K free with the following files:

AUTOEXEC.BAT:

SET CTCM=C:\WINDOWS
SET SOUND=C:\PROGRA~1\CREATIVE\CTSND
LH C:\DOS\MSCDEX.EXE /E /D:OEMC001 /L:D
LH C:\WINDOWS\CTCM.EXE
LH C:\PROGRA~1\CREATIVE\CTSND\DRV\DIAGNOSE /S /W=C:\WINDOWS
SET BLASTER=A220 I5 D1 H5 P330 E620 T6
SET MIDI=SYNTH:1 MAP:E MODE:0
LH C:\PROGRA~1\CREATIVE\CTSND\AWEUTIL.COM /S
path=c:\WINDOWS;C:\WINDOWS\COMMAND
SET TEMP=C:\WINDOWS\TEMP

CONFIG.SYS:

DOS=HIGH,UMB
Buffers=13
Files=40
Devicehigh=C:\WINDOWS\Himem.Sys
Devicehigh=C:\WINDOWS\ifshlp.sys
DEVICEHIGH=C:\WINDOWS\emm386.exe I=b000-b7ff
DEVICEHIGH=C:\DOS\VIDE-CDD.SYS /D:OEMC001
LASTDRIVE=E

Thanks a bunch!

Reply 2 of 35, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

HIMEM.SYS can't be loaded high, nor can EMM386 (you need both with a conventional setup to allocate UMBs). You might try HIMEMX.EXE as it's 100% compatible (to the best of my knowledge) and more memory efficient. Regardless, you must load both conventional:

DEVICE=C:\WINDOWS\HIMEM.SYS
DEVICE=C:\WINDOWS\EMM386.EXE ...

If you want EMS, use something like this:

DEVICE=C:\WINDOWS\EMM386.EXE 2048 RAM

If you want XMS and UMB only, use something like this:

DEVICE=C:\WINDOWS\EMM386.EXE NOEMS

After, load drivers with DEVICEHIGH and LH unless UMBs have been consumed.

Last edited by gdjacobs on 2018-08-19, 15:38. Edited 1 time in total.

All hail the Great Capacitor Brand Finder

Reply 5 of 35, by root42

User metadata
Rank l33t
Rank
l33t

Can you give us details with mem /c? Also, I would leave out the diagnose SB line. I guess it is not strictly necessary. I think you can also leave out aweutil, if you are happy with FM synthesis instead of MIDI sound.

Also try reducing FILES to 20, if possible. This might also save some memory.

YouTube and Bonus
80486DX@33 MHz, 16 MiB RAM, Tseng ET4000 1 MiB, SnarkBarker & GUSar Lite, PC MIDI Card+X2+SC55+MT32, OSSC

Reply 6 of 35, by gladders

User metadata
Rank Member
Rank
Member
mrau wrote:

try memmaker? also some of these do seem a little less necessary in a dos session..

Can you specify which you'd remove? I'd prefer to retain midi sound.

I'll show the results of mem later when I'm in front of my computer again.

Reply 7 of 35, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

From Microsoft's documentation for EMM386:

ram= mmmm - nnnn […]
Show full quote

ram= mmmm - nnnn

Specifies a range of segment addresses to be used for UMBs and also enables EMS support. If you do not specify a range, EMM386 uses all available adapter space to create UMBs and a page frame for EMS.

noems

Provides access to the upper memory area but prevents access to expanded memory.

So load EMM386 as above (probably with NOEMS) and let us know what you get when you run

MEM /C

You can pipe the results to a file and send it to us:

MEM /C > mem.txt

All hail the Great Capacitor Brand Finder

Reply 9 of 35, by gladders

User metadata
Rank Member
Rank
Member
gdjacobs wrote:
From Microsoft's documentation for EMM386: […]
Show full quote

From Microsoft's documentation for EMM386:

ram= mmmm - nnnn […]
Show full quote

ram= mmmm - nnnn

Specifies a range of segment addresses to be used for UMBs and also enables EMS support. If you do not specify a range, EMM386 uses all available adapter space to create UMBs and a page frame for EMS.

noems

Provides access to the upper memory area but prevents access to expanded memory.

So load EMM386 as above (probably with NOEMS) and let us know what you get when you run

MEM /C

Here's my updated boot files:

AUTOEXEC.BAT:

SET CTCM=C:\WINDOWS
SET SOUND=C:\PROGRA~1\CREATIVE\CTSND
LH C:\DOS\MSCDEX.EXE /E /D:OEMC001 /L:D
LH C:\WINDOWS\CTCM.EXE
LH C:\PROGRA~1\CREATIVE\CTSND\DRV\DIAGNOSE /S /W=C:\WINDOWS
SET BLASTER=A220 I5 D1 H5 P330 E620 T6
SET MIDI=SYNTH:1 MAP:E MODE:0
LH C:\PROGRA~1\CREATIVE\CTSND\AWEUTIL.COM /S
path=c:\WINDOWS;C:\WINDOWS\COMMAND
SET TEMP=C:\WINDOWS\TEMP

CONFIG.SYS:

DOS=HIGH,UMB
Devicehigh=C:\WINDOWS\Himem.Sys
DEVICEHIGH=C:\WINDOWS\emm386.exe noems I=b000-b7ff
DEVICEHIGH=C:\DOS\VIDE-CDD.SYS /D:OEMC001
Devicehigh=C:\WINDOWS\ifshlp.sys
Buffers=13
Files=20
LASTDRIVE=E

This is what MEM reports:

Modules using memory below 1 MB: […]
Show full quote

Modules using memory below 1 MB:

Name Total Conventional Upper Memory
-------- ---------------- ---------------- ----------------
SYSTEM 15,872 (16K) 10,608 (10K) 5,264 (5K)
HIMEM 1,120 (1K) 1,120 (1K) 0 (0K)
EMM386 4,320 (4K) 4,320 (4K) 0 (0K)
DBLBUFF 2,976 (3K) 2,976 (3K) 0 (0K)
COMMAND 10,144 (10K) 0 (0K) 10,144 (10K)
COMMAND 6,976 (7K) 0 (0K) 6,976 (7K)
VIDE-CDD 20,496 (20K) 0 (0K) 20,496 (20K)
IFSHLP 2,864 (3K) 0 (0K) 2,864 (3K)
MSCDEX 28,032 (27K) 0 (0K) 28,032 (27K)
Free 720,528 (704K) 636,048 (621K) 84,480 (83K)

Memory Summary:

Type of Memory Total Used Free
---------------- ----------- ----------- -----------
Conventional 655,360 19,312 636,048
Upper 158,256 73,776 84,480
Reserved 393,216 393,216 0
Extended (XMS) 535,664,080 771,536 534,892,544
---------------- ----------- ----------- -----------
Total memory 536,870,912 1,257,840 535,613,072

Total under 1 MB 813,616 93,088 720,528

Largest executable program size 636,032 (621K)
Largest free upper memory block 74,432 (73K)
MS-DOS is resident in the high memory area.

Unfortunately killing EMS makes things worse. Star Trek requires at least 1MB of EMS. It's also broken Arena, which also requires EMS.

Any suggestions? Any thoughts on the two COMMAND.COMs?

Reply 10 of 35, by root42

User metadata
Rank l33t
Rank
l33t

Hm. Here mem shows that you have 621K free conventional memory. This sounds pretty fine to me! Hm... my memory says that maybe running the game with LOADFIX might help?

YouTube and Bonus
80486DX@33 MHz, 16 MiB RAM, Tseng ET4000 1 MiB, SnarkBarker & GUSar Lite, PC MIDI Card+X2+SC55+MT32, OSSC

Reply 11 of 35, by AlaricD

User metadata
Rank Oldbie
Rank
Oldbie
gladders wrote:
CONFIG.SYS: […]
Show full quote

CONFIG.SYS:

DOS=HIGH,UMB
Devicehigh=C:\WINDOWS\Himem.Sys
DEVICEHIGH=C:\WINDOWS\emm386.exe noems I=b000-b7ff
DEVICEHIGH=C:\DOS\VIDE-CDD.SYS /D:OEMC001
Devicehigh=C:\WINDOWS\ifshlp.sys
Buffers=13
Files=20
LASTDRIVE=E

Again, you can't load HIMEM.SYS or EMM386.EXE high, because you don't have UMBs available until you have EMM386.EXE loaded. You've got the proverbial "hole in the bucket".

Modules using memory below 1 MB:
DBLBUFF 2,976 (3K) 2,976 (3K) 0 (0K)
IFSHLP 2,864 (3K) 0 (0K) 2,864 (3K)

REM the IFSHLP.SYS line and add ,NOAUTO to the DOS=HIGH,UMB statement in CONFIG.SYS to prevent the 3K-stealing DBLBUFF from loading. That gets you about 3K of conventional memory back.

It's been a while since I've been in front of Win9x, but seeing "SYSTEM" consuming conventional memory makes me ask if you're restarting in MS-DOS mode or this is a boot diskette or this is just a command prompt in Windows.

"The Big Bang. The ultimate hero of low frequency. The divine intergalactical bass drum connecting the tribes of our solar system."
Yello
"Solar Driftwood"

Reply 12 of 35, by gladders

User metadata
Rank Member
Rank
Member

It's a reboot kind of thing. I set up a shortcut to Command.com and create custom Autoexec and Config via the advanced tab in Properties. When I double click on this shortcut it reboots the computer and boots a special DOS environment which I can exit by typing WIN which reboots the machine into 98.

Reply 13 of 35, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

That's really not good for compatibility, best to boot straight to DOS. I've seen alot of issues with games using the method you describe.

How To Ask Questions The Smart Way
Make your games work offline

Reply 15 of 35, by AlaricD

User metadata
Rank Oldbie
Rank
Oldbie
gladders wrote:

It's a reboot kind of thing. I set up a shortcut to Command.com and create custom Autoexec and Config via the advanced tab in Properties. When I double click on this shortcut it reboots the computer and boots a special DOS environment which I can exit by typing WIN which reboots the machine into 98.

That "SYSTEM" stuff is hurting you. I think that's what is left in memory to let the "win" command take you quickly into Win9x without really rebooting. Again, I don't have such a system in front of me but I think the logic passes the smell test.

"The Big Bang. The ultimate hero of low frequency. The divine intergalactical bass drum connecting the tribes of our solar system."
Yello
"Solar Driftwood"

Reply 17 of 35, by AlaricD

User metadata
Rank Oldbie
Rank
Oldbie
gladders wrote:

When you guys say 'boot straight to DOS' do you mean 'hit F8 on boot to go straight to DOS and avoid W98 launching' or do you mean 'reset to DOS from W98'?

Or something else?

It's like "Go to jail, go directly to jail, do not pass Go, Do not collect $200": "Boot to DOS, boot straight to DOS, do not enter Windows".
boottodos.png

Obviously, you'll need to configure things so when you boot to Windows it executes the CONFIG.SYS and AUTOEXEC.BAT entries that load things you need (IFSHLP.SYS and such) but NOT the things you DON'T need (VIDE-CDD.SYS and MSCDEX.EXE).

Last edited by AlaricD on 2018-08-23, 21:11. Edited 2 times in total.

"The Big Bang. The ultimate hero of low frequency. The divine intergalactical bass drum connecting the tribes of our solar system."
Yello
"Solar Driftwood"

Reply 19 of 35, by AlaricD

User metadata
Rank Oldbie
Rank
Oldbie
gladders wrote:

I need VIDE-CDD.SYS and MSCDEX, as I am trying to run Star Trek CD.

Read carefully:

AlaricD wrote:

Obviously, you'll need to configure things so when you boot to Windows it executes the CONFIG.SYS and AUTOEXEC.BAT entries that load things you need (IFSHLP.SYS and such) but NOT the things you DON'T need (VIDE-CDD.SYS and MSCDEX.EXE).

"The Big Bang. The ultimate hero of low frequency. The divine intergalactical bass drum connecting the tribes of our solar system."
Yello
"Solar Driftwood"