VOGONS


DOS Questions

Topic actions

Reply 160 of 224, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
NeoG_ wrote on 2026-01-25, 21:23:
And somewhere in your autoexec.bat to avoid unexepcted behaviour […]
Show full quote

And somewhere in your autoexec.bat to avoid unexepcted behaviour

SET EK1MLOAD=FALSE

Regarding this though, wouldn’t there need to be a reference to EK1MLOAD from a game’s BAT file within autoexec.bat? At the moment it’s only in one game’s BAT file.

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
Sound Card: Sound Blaster Live Value CT4670

Reply 161 of 224, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
NeoG_ wrote on 2026-01-25, 21:23:
[…]
Show full quote
REM Skip executing SB commands if already loaded
IF %EK1MLOAD% == TRUE GOTO SKIPEK1M

It’s telling me there’s a syntax error here.

EDIT: Ah. I think I needed to have no spaces between % and T for True. 😅

Although the game is failing to load due to not enough memory. Seems plenty though. Will have to try XMS mode.

EDIT 2: No, it’s still saying there’s a syntax error. 😕

EDIT 3. Bugger. Of course… It has to be in EMS mode in order for SB16 Emulation to work. 😖

EDIT 4: Not sure then if the likes of MPXPLAY and EK1M are eating up a certain amount of memory needed for the game to function…? Though like I say, there’s plenty of it still. Especially as a number of things are loaded into the UMB. But it just tells me DOS/4GW fatal error (1307): not enough memory.

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
Sound Card: Sound Blaster Live Value CT4670

Reply 162 of 224, by NeoG_

User metadata
Rank Member
Rank
Member
DustyShinigami wrote on 2026-01-26, 00:02:

EDIT 2: No, it’s still saying there’s a syntax error. 😕

It will give a syntax error if the variable has not yet been declared, hence why I said to put SET %EK1MLOAD%=FALSE into your autoexec.bat file

98/DOS Rig: BabyAT AladdinV, K6-2+/550, V3 2000, 128MB PC100, 20GB HDD, 128GB SD2IDE, SB Live!, SB16-SCSI, PicoGUS, WP32 McCake, iNFRA CD, ZIP100
XP Rig: Lian Li PC-10 ATX, Gigabyte X38-DQ6, Core2Duo E6850, ATi HD5870, 2GB DDR2, 2TB HDD, X-Fi XtremeGamer

Reply 163 of 224, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
NeoG_ wrote on 2026-01-26, 12:02:
DustyShinigami wrote on 2026-01-26, 00:02:

EDIT 2: No, it’s still saying there’s a syntax error. 😕

It will give a syntax error if the variable has not yet been declared, hence why I said to put SET %EK1MLOAD%=FALSE into your autoexec.bat file

Ahh, okay. But is it written like...?

SET EK1MLOAD=FALSE

Or...?

SET %EK1MLOAD%=FALSE

I'm still struggling to understand how autoexec.bat would see/know that variable/command in a game's BAT file exists. I've only added the line to call my new SBLOAD.BAT file, but there's no reference in the game's BAT about autoexec and vice versa.

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
Sound Card: Sound Blaster Live Value CT4670

Reply 164 of 224, by NeoG_

User metadata
Rank Member
Rank
Member

Apologies, it is SET EK1MLOAD=FALSE

There doesn't need to be any reference between SBLOAD.BAT and autoexec or vice versa. If declare a variable in autoexec it's global and it's available from any batch file in the future

98/DOS Rig: BabyAT AladdinV, K6-2+/550, V3 2000, 128MB PC100, 20GB HDD, 128GB SD2IDE, SB Live!, SB16-SCSI, PicoGUS, WP32 McCake, iNFRA CD, ZIP100
XP Rig: Lian Li PC-10 ATX, Gigabyte X38-DQ6, Core2Duo E6850, ATi HD5870, 2GB DDR2, 2TB HDD, X-Fi XtremeGamer

Reply 165 of 224, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
NeoG_ wrote on 2026-01-26, 12:23:

Apologies, it is SET EK1MLOAD=FALSE

There doesn't need to be any reference between SBLOAD.BAT and autoexec or vice versa. If declare a variable in autoexec it's global and it's available from any batch file in the future

Oh right. Very convenient of DOS. I only have a bit of experience with coding in C#, though that was ages ago now, and I was under the impression something needed to be referenced in order for another script to see it. 😀

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
Sound Card: Sound Blaster Live Value CT4670

Reply 166 of 224, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

Things defined with SET become global envirionment variables. DOS (the OS) does not have private variables outside of batch scripting.

Reply 167 of 224, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
wierd_w wrote on 2026-01-26, 14:24:

Things defined with SET become global envirionment variables. DOS (the OS) does not have private variables outside of batch scripting.

I see. That's good then.

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
Sound Card: Sound Blaster Live Value CT4670

Reply 168 of 224, by chronoreverse

User metadata
Rank Newbie
Rank
Newbie
DustyShinigami wrote on 2026-01-26, 00:02:

...
EDIT 4: Not sure then if the likes of MPXPLAY and EK1M are eating up a certain amount of memory needed for the game to function…? Though like I say, there’s plenty of it still. Especially as a number of things are loaded into the UMB. But it just tells me DOS/4GW fatal error (1307): not enough memory.

Are you still seeing this? Check the output of mem /c to see if it's really a low memory issue because some games have problems when there's _too much_ memory.

Reply 169 of 224, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
chronoreverse wrote on 2026-01-26, 15:53:
DustyShinigami wrote on 2026-01-26, 00:02:

...
EDIT 4: Not sure then if the likes of MPXPLAY and EK1M are eating up a certain amount of memory needed for the game to function…? Though like I say, there’s plenty of it still. Especially as a number of things are loaded into the UMB. But it just tells me DOS/4GW fatal error (1307): not enough memory.

Are you still seeing this? Check the output of mem /c to see if it's really a low memory issue because some games have problems when there's _too much_ memory.

Once I've corrected the IF command statement, I'll see if it still does. I believe it's the latter option as you say. When I checked last night, there was plenty of memory left over. Ordinarily, I would use XMS mode instead, but as I mentioned, I need EMS for the SB16 emulation and redbook audio.

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
Sound Card: Sound Blaster Live Value CT4670

Reply 170 of 224, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
chronoreverse wrote on 2026-01-26, 15:53:
DustyShinigami wrote on 2026-01-26, 00:02:

...
EDIT 4: Not sure then if the likes of MPXPLAY and EK1M are eating up a certain amount of memory needed for the game to function…? Though like I say, there’s plenty of it still. Especially as a number of things are loaded into the UMB. But it just tells me DOS/4GW fatal error (1307): not enough memory.

Are you still seeing this? Check the output of mem /c to see if it's really a low memory issue because some games have problems when there's _too much_ memory.

Yeah, so even with the corrected syntax, it still comes up with the error. This is how the memory is looking:

The attachment IMG_5302.JPG is no longer available
The attachment IMG_5303.JPG is no longer available

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
Sound Card: Sound Blaster Live Value CT4670

Reply 171 of 224, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie

That is *very good* conventional free.

It's in the side of 'too much free' in fact.

Try running your program with loadfix.

Reply 172 of 224, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
wierd_w wrote on 2026-01-26, 17:15:

That is *very good* conventional free.

It's in the side of 'too much free' in fact.

Try running your program with loadfix.

Not come across loadfix before. I tried it as LOADFIX CALL=D:\DOS\ACCLAIM\TRILOGY\TRILOGY.EXE and LOADFIX D:\DOS\ACCLAIM\TRILOGY\TRILOGY.EXE. I'm guessing CALL can't be used in this case, but even removing it, I get a Bad command or file name.

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
Sound Card: Sound Blaster Live Value CT4670

Reply 173 of 224, by DaveDDS

User metadata
Rank Oldbie
Rank
Oldbie
DustyShinigami wrote on 2026-01-26, 12:13:
Ahh, okay. But is it written like...? […]
Show full quote

Ahh, okay. But is it written like...?

SET EK1MLOAD=FALSE

Or...?

SET %EK1MLOAD%=FALSE

FYI - then '%'s around a name in a .BAT file causes that name to be replaced with it's environment value.

So.. "set" needs the actual environment variable name, NOT it's content (if it exists) = no '%'s

set FOO=Some-Stuff
echo FOO -> prints "FOO"
echo %FOO% -> prints "Some-Stuff"

Dave ::: https://dunfield.themindfactory.com ::: "Daves Old Computers"->Personal

Reply 174 of 224, by Harry Potter

User metadata
Rank Oldbie
Rank
Oldbie

Do you have LOADFIX? I think it's a third-party program and doesn't come with DOS.

Joseph Rose, a.k.a. Harry Potter
Working magic in the computer community

Reply 175 of 224, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
Harry Potter wrote on 2026-01-26, 17:44:

Do you have LOADFIX? I think it's a third-party program and doesn't come with DOS.

Ah. That’ll be why then. I thought it was a part of DOS. 😅 I’ll grab that now. Thanks.

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
Sound Card: Sound Blaster Live Value CT4670

Reply 176 of 224, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
DaveDDS wrote on 2026-01-26, 17:43:
FYI - then '%'s around a name in a .BAT file causes that name to be replaced with it's environment value. […]
Show full quote
DustyShinigami wrote on 2026-01-26, 12:13:
Ahh, okay. But is it written like...? […]
Show full quote

Ahh, okay. But is it written like...?

SET EK1MLOAD=FALSE

Or...?

SET %EK1MLOAD%=FALSE

FYI - then '%'s around a name in a .BAT file causes that name to be replaced with it's environment value.

So.. "set" needs the actual environment variable name, NOT it's content (if it exists) = no '%'s

set FOO=Some-Stuff
echo FOO -> prints "FOO"
echo %FOO% -> prints "Some-Stuff"

Gotcha. It’s a container.

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
Sound Card: Sound Blaster Live Value CT4670

Reply 178 of 224, by DustyShinigami

User metadata
Rank Oldbie
Rank
Oldbie
wierd_w wrote on 2026-01-26, 17:52:

It's from the freedos project. It will work with dos 6.22 as well.

https://help.fdos.org/en/hhstndrd/command/loadfix.htm

Do I need to download and install FreeDOS to get it?

OS: Windows 98 SE
CPU: Slot 1 Pentium III Coppermine 933MHz (SL448)
RAM: Kingston 256MB 133MHz
GPU: Nvidia 16MB Riva TNT/128MB Geforce 4 Ti 4200
Motherboard: ABit AB-BE6-II Intel 440BX
Sound Card: Sound Blaster Live Value CT4670

Reply 179 of 224, by wierd_w

User metadata
Rank Oldbie
Rank
Oldbie
DustyShinigami wrote on 2026-01-26, 18:08:
wierd_w wrote on 2026-01-26, 17:52:

It's from the freedos project. It will work with dos 6.22 as well.

https://help.fdos.org/en/hhstndrd/command/loadfix.htm

Do I need to download and install FreeDOS to get it?

No. You can get it individually. The FreeDOS one is apparently baked into FreeCOM command interpreter, but it's existed as vintage software forever.

It's actually a stock component of DOS 5, and can be found in various flavors from numerous vendors. They all do the same thing.

For example, vintage adverts and documentation reference it.

https://archive.org/stream/dosworld021199505/ … 995-05_djvu.txt

A version from Novell can be found here, for example.

https://files.mpoli.fi/unpacked/hardware/net/ … /3x/300pt1.exe/

The dos 5 utility can be found on disk 3 of the set, and expanded with the EXPAND utility. It's a .COM file.

https://www.betaarchive.com/wiki/index.php/Mi … B_Archive/71823

This script suggests it can be found (compressed) on disk 2 of the dos 6.22 disk set.

https://gist.github.com/jepebe/4011bb9d0b0dfa … 8ff026675eb275b

Last edited by wierd_w on 2026-01-26, 19:31. Edited 1 time in total.