VOGONS


First post, by iraito

User metadata
Rank Member
Rank
Member

I have never been good at memory management in DOS, the situation is bad enough that i can't even launch quest for glory 1 VGA because i lack enough free memory, i will upload my config and autoexec files. Hopefully somebody can help me fix whatever happened over the years.

Spoiler

AUTOEXEC

rem LH MSCDEX /D:MSCD001 /L:E
LH C:\CDROM\SHCDX\SHSUCDX.COM /D:mscd001
C:\AZT1008\AZTPNP.EXE /D:C:\DRIVERS\AZT1008 /DEFOPT
C:\AZT1008\DOSMIXER.EXE /AUTO
rem LH C:\mouse\mouse.com
rem LH SOFTMPU.EXE /MPU:330 /SB:220 /IRQ:5
LH C:\mouse\ctmouse\ctmouse
LH C:\dosgames\VGA240.exe /install
mode con codepage prepare=((850) C:\WINDOWS\COMMAND\ega.cpi)
mode con codepage select=850
keyb it,,C:\WINDOWS\COMMAND\keyboard.sys
Rem added for soundblaster
Rem Added for Voodoo2
set SST_GRXCLK=90
set SST_FT_CLK_DEL=0x4
set SST_TF0_CLK_DEL=0x6
set SST_TF1_CLK_DEL=0x6
set SST_VIN_CLKDEL=0x1
set SST_VOUT_CLKDEL=0x0
set SST_TMUMEM_SIZE=2
Spoiler

CONFIG

devicehigh=C:\WINDOWS\HIMEM.SYS /M:1
devicehigh=C:\WINDOWS\EMM386.EXE RAM X=A000-BFFF auto HIGHSCAN I=B700-B7FF D=64 H=255
files=100
buffers=20
dos=HIGH,UMB
shell=C:\windows\command.com C:\windows\ /E:1024 /P
devicehigh=C:\cdrom\oakcdrom.sys /D:mscd001
rem DEVICEHIGH=C:\mouse\mouse.sys
rem devicehigh=C:\WINDOWS\COMMAND\display.sys con=(ega,,1)
Country=039,850,C:\WINDOWS\COMMAND\country.sys

Attachments

  • Filename
    Config.txt
    File size
    405 Bytes
    Downloads
    51 downloads
    File license
    Public domain
  • Filename
    autoexec.txt
    File size
    643 Bytes
    Downloads
    48 downloads
    File license
    Public domain

uRj9ajU.pngqZbxQbV.png
If you wanna check a blue ball playing retro PC games
MIDI Devices: RA-50 (modded to MT-32) SC-55

Reply 1 of 19, by Joseph_Joestar

User metadata
Rank l33t
Rank
l33t

This thread might be helpful: Dos 6 conventional memory tricks

Personally, I think the simplest solution is to undo every LH that you've placed manually and then run MEMMAKER.EXE. On my system, simply doing that gave me 614 KB of free Conventional Memory, which is enough for all the games that I play. This is assuming that you're running actual MS-DOS 6.22. I don't think the Memmaker utility is available under Win9x.

PC#1: Pentium MMX 166 / Soyo SY-5BT / S3 Trio64V+ / Voodoo1 / YMF719 / AWE64 Gold / SC-155
PC#2: AthlonXP 2100+ / ECS K7VTA3 / Voodoo3 / Audigy2 / Vortex2
PC#3: Athlon64 3400+ / Asus K8V-MX / 5900XT / Audigy2
PC#4: i5-3570K / MSI Z77A-G43 / GTX 970 / X-Fi

Reply 2 of 19, by iraito

User metadata
Rank Member
Rank
Member

I'm running DOS on win95, so 7.0, it's a complicated matter to be honest, I would like to put some of those applications in extended memory but no can do.

uRj9ajU.pngqZbxQbV.png
If you wanna check a blue ball playing retro PC games
MIDI Devices: RA-50 (modded to MT-32) SC-55

Reply 3 of 19, by wierd_w

User metadata
Rank Member
Rank
Member

I would need to see what your memory map looks like without any memory managers loaded. (No himem.sys, no emm386.exe)

I need to see what the adapter rom region looks like when it is untouched. I could then offer suggestions on where or how to do manual include statements.

You can get MSD as a stand alone zip from winworldpc. It will give me the kind of output I am looking for.

EG-- this is what the map looks like from DosBox, which sets up a page frame and UMBs automagically.

memorymap.png

I need to see this for your system with no memory managers, so that I can see where/how/which option roms are in the adapter region.
Some option ROMs are safe to remap with protected mode UMBs with EMM386.EXE with a forced include statement, for instance. Things like PXE bioses and the like. Others, like XTIDE bios, you should not even try.

MSD can give more details about what is what in memory, as it has an option to examine option roms.

memorybrowser.png

Reply 4 of 19, by wierd_w

User metadata
Rank Member
Rank
Member

For completeness, this is the actual map from my dell xps 15.

20230716-091321-HDR.jpg

And this is what umbck from umbpci says.

20230716-091419-HDR.jpg

From this, I can likely (and safely) use

I=D400-E3FF I=EC00-EFFF

I 'might, maybe' be able to get away with including d000-d3ff and e400-EBFF.

(Initial testing says that I CAN include both, but I need to aggressively test.)

Reply 6 of 19, by Gmlb256

User metadata
Rank l33t
Rank
l33t

Since you mentioned MS-DOS 7.0 from Windows 95, I tweaked some things to try.

CONFIG.SYS

DOS=HIGH,UMB
FILESHIGH=50
BUFFERSHIGH=10,0
FCBSHIGH=4,0
LASTDRIVEHIGH=E
STACKS=9,256
COUNTRY=039,850,C:\WINDOWS\COMMAND\COUNTRY.SYS
DEVICE=C:\WINDOWS\HIMEM.SYS /TESTMEM:OFF
REM Added NOEMS to get more UMB, you won't any EMS memory though
DEVICE=C:\WINDOWS\EMM386.EXE RAM NOEMS I=B000-B7FF I=D000=EFFF
REM VIDE-CDD.SYS is a good alternative
DEVICEHIGH=C:\CDROM\OAKCDROM.SYS /D:MSCD001
REM DISPLAY.SYS not necessary for DOS gaming
REM DEVICEHIGH=C:\WINDOWS\COMMAND\DISPLAY.SYS CON=(EGA,,1)
SHELL=C:\COMMAND.COM /P /E:1024

AUTOEXEC.BAT

C:\AZT1008\AZTPNP.EXE /D:C:\DRIVERS\AZT1008 /DEFOPT
C:\AZT1008\DOSMIXER.EXE /AUTO
REM BLASTER environment variable just in case
SET BLASTER=A220 I5 D1 T4
REM CuteMouse can be loaded into UMB automatically
C:\MOUSE\CTMOUSE\CTMOUSE
REM I commented the follwing two lines as they require DISPLAY.SYS to be loaded
REM MODE CON CODEPAGE PREPARE=((850) C:\WINDOWS\COMMAND\EGA.CPI)
REM MODE CON CODEPAGE SELECT=850
LH KEYB IT,,C:\WINDOWS\COMMAND\KEYBOARD.SYS
LH C:\WINDOWS\COMMAND\MSCDEX.EXE /D:MSCD001 /M:10
REM Added for Voodoo2
SET SST_GRXCLK=90
SET SST_FT_CLK_DEL=0x4
SET SST_TF0_CLK_DEL=0x6
SET SST_TF1_CLK_DEL=0x6
SET SST_VIN_CLKDEL=0x1
SET SST_VOUT_CLKDEL=0x0
SET SST_TMUMEM_SIZE=2

Note that I don't know the Matrox G200 PCI's BIOS ROM size and assume that it takes about 64 KB (starting at C000). Also, I recommend sticking MSCDEX as SHSUCDX's compatibility still pales in comparison.

Last edited by Gmlb256 on 2023-07-16, 15:57. Edited 1 time in total.

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce3 Ti 200 64 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 7 of 19, by clb

User metadata
Rank Member
Rank
Member

The autoexec.bat line

devicehigh=C:\WINDOWS\EMM386.EXE RAM X=A000-BFFF auto HIGHSCAN I=B700-B7FF D=64 H=255

looks odd to me.

First that line states to eXclude the range A000-BFFF from consideration for upper memory, but then afterwards it states to Include the range B700-B7FF, which is a sub-range of the initially excluded range.

I don't know if EMM386.EXE works to first exclude, and then include a range? Maybe someone might know better, though I'd recommend keeping the ranges orthogonal.

However, the directive I=B700-B7FF looks curious as well. How did you reason that?

That range corresponds to a small 4096 byte range at the far end of the DOS mode 07h 80x25 text mode memory map range. By default, that mode only requires 4000 bytes for on-screen information (80*25*2 bytes), however applications may use any number of offscreen buffers of text, for scrolling and page flipping. Some applications might memset() that whole 32KB range to zero when clearing text, so for some applications, grabbing that memory range for upper memory might not be safe?

If you are doing that intentionally, you might try including a larger part of that range, maybe 16KB, 24KB, or yolo the full 28KB of offscreen memory (although some apps will quite surely crash when they write out those bounds).

Like others already mention, it is good idea to entertain the option of also including parts, or all of, C000, D000 and E000 segments into EMM386.exe for upper memory, and then push loadhighs to that area as aggressively as possible. Using tools to search if there is anything existing there can help figure out areas of address space that cannot be utilized.

Reply 8 of 19, by iraito

User metadata
Rank Member
Rank
Member

Ok, i got a ton of advises that i need to apply now, regarding MSCDEX \SHSUCDX isn't there a lighter alternative?
I was thinking to use VIDE-CDD.SYS

uRj9ajU.pngqZbxQbV.png
If you wanna check a blue ball playing retro PC games
MIDI Devices: RA-50 (modded to MT-32) SC-55

Reply 9 of 19, by Jo22

User metadata
Rank l33t++
Rank
l33t++
iraito wrote on 2023-07-16, 16:29:

Ok, i got a ton of advises that i need to apply now, regarding MSCDEX \SHSUCDX isn't there a lighter alternative?
I was thinking to use VIDE-CDD.SYS

Hi there!
VIDE-CDD.SYS is okay, it's often used by the community.
It's lighter than OAKCDROM.SYS, but less feature complete/compatible.
After all, oakcdrom.sys was chosen for a reason as the universal CD-ROM driver for IDE/ATAPI drives in Windows 98/SE (Windows boot disk) .

Finding a smaller MSCDEX is possible, too. Just have a look at the other DOSes of the time, they have an MSCDEX counterpart, too.
The Russian versions used assembly written drivers and utilities, I remember.

Alternatively, have a look at Multimedia Cloaking.
It supported special editions of MSCDEX which didn't waste space in conventional memory.
Very interesting, but largely unexplored so far. It's barely known in the DOS community, it seems.

https://en.wikipedia.org/wiki/DOS_Protected_M … rvices#CLOAKING

Last but not least, QEMM is worth a try.
It can manage memory much better than EMM386+MemMaker, but is less stable, also.
QEMM works best on 386-586 era hardware, also, due to its use of tricks (hacks).

Good luck. 😃🤞

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 10 of 19, by iraito

User metadata
Rank Member
Rank
Member

Ok, i think i got it right thanks to you all:

AUTOEXEC

C:\AZT1008\AZTPNP.EXE /D:C:\DRIVERS\AZT1008 /DEFOPT
C:\AZT1008\DOSMIXER.EXE /AUTO
SET BLASTER=A220 I5 D1 T4
C:\mouse\ctmouse\ctmouse.exe
LH C:\dosgames\VGA240.exe /install
REM mode con codepage prepare=((850) C:\WINDOWS\COMMAND\ega.cpi)
REM mode con codepage select=850
LH keyb it,,C:\WINDOWS\COMMAND\keyboard.sys
LH C:\WINDOWS\COMMAND\MSCDEX.EXE /D:MSCD001 /M:10
Rem added for soundblaster
Rem Added for Voodoo2
set SST_GRXCLK=90
set SST_FT_CLK_DEL=0x4
set SST_TF0_CLK_DEL=0x6
set SST_TF1_CLK_DEL=0x6

CONFIG

dos=HIGH,UMB
fileshigh=50
buffershigh=10,0
FCBSHIGH=4,0
lastdrivehigh=E
stacks=9,256
Country=039,850,C:\WINDOWS\COMMAND\country.sys
device=C:\WINDOWS\HIMEM.SYS /M:1
device=C:\WINDOWS\EMM386.EXE RAM NOEMS HIGHSCAN I=B700-B7FF D=64 H=255
shell=C:\windows\command.com C:\windows\ /E:1024 /P
devicehigh=C:\cdrom\vide-cdd.sys /D:mscd001 /p:1f0,14
rem devicehigh=C:\cdrom\oakcdrom.sys /D:mscd001
rem DEVICEHIGH=C:\mouse\mouse.sys
DEVICEHIGH=C:\windows\setver.exe
DEVICEHIGH=C:\windows\ifshlp.sys
rem devicehigh=C:\WINDOWS\COMMAND\display.sys con=(ega,,1)
SHELL=C:\command.com /p /e:1024

Attachments

uRj9ajU.pngqZbxQbV.png
If you wanna check a blue ball playing retro PC games
MIDI Devices: RA-50 (modded to MT-32) SC-55

Reply 11 of 19, by dr_st

User metadata
Rank l33t
Rank
l33t

Why NOEMS? There are a few games that need EMS.

Also, with EMS available, you can add /E switch to MSCDEX. It will then use some EMS and less UMBs.

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

Reply 12 of 19, by iraito

User metadata
Rank Member
Rank
Member

I changed the noems to check the difference, I lost around 30k, I still have a lot of memory for pretty much anything plus the extra ems that can be used for other games.

uRj9ajU.pngqZbxQbV.png
If you wanna check a blue ball playing retro PC games
MIDI Devices: RA-50 (modded to MT-32) SC-55

Reply 13 of 19, by dr_st

User metadata
Rank l33t
Rank
l33t

(1) Did you add /E to MSCDEX? It should cut its UMB usage by approximately half.
(2) Are you sure you really need VGA240? (95K!!!) I understand it is useful mostly for capturing lower-res VGA video output on an external capture card.

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

Reply 14 of 19, by iraito

User metadata
Rank Member
Rank
Member

I used E and yeah I do indeed need it for capturing and upscaling, I wish it was better optimized though.
I have 600k free, I'm good for now, if vga240 is gonna get lighter it would solve everything.

uRj9ajU.pngqZbxQbV.png
If you wanna check a blue ball playing retro PC games
MIDI Devices: RA-50 (modded to MT-32) SC-55

Reply 15 of 19, by Jo22

User metadata
Rank l33t++
Rank
l33t++

You can try using another keyboard driver. KEYB/KEYBOARD.SYS are huge.

If you can, have a look at MS-DOS or PC-DOS 3.30 in your language.
It maybe contains a small KEYB driver, from before DOS got international support.
Maybe some old OEM version by Olivetti?

I'm sorry, that's all I can say. Those alternative keyboard drivers were part of PC magazines or written by private authors (as Public Domain/PD).

Edit: A keyboard driver from DOS 2.x should also work.
They're guaranteed to be small, also. About 2 to 5 KB, I guess.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 16 of 19, by dr_st

User metadata
Rank l33t
Rank
l33t
iraito wrote on 2023-07-17, 11:19:

I have 600k free, I'm good for now, if vga240 is gonna get lighter it would solve everything.

My understanding (from that thread I linked to) is that you can do away with VGA240 if you have a good VGA-->HDMI converter, but those are not so cheap. Also, some folks report that VGA240 on their systems takes considerably less RAM, I didn't continue reading to see if it was investigated.

I am struggling to find games that need >600K, so you should be good. If it becomes a problem, you can always remove VGA240 autoload, and invoke it manually when you need to.

All in all, it looks like your setup is in good shape.

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

Reply 17 of 19, by iraito

User metadata
Rank Member
Rank
Member
dr_st wrote on 2023-07-17, 12:35:
My understanding (from that thread I linked to) is that you can do away with VGA240 if you have a good VGA-->HDMI converter, but […]
Show full quote
iraito wrote on 2023-07-17, 11:19:

I have 600k free, I'm good for now, if vga240 is gonna get lighter it would solve everything.

My understanding (from that thread I linked to) is that you can do away with VGA240 if you have a good VGA-->HDMI converter, but those are not so cheap. Also, some folks report that VGA240 on their systems takes considerably less RAM, I didn't continue reading to see if it was investigated.

I am struggling to find games that need >600K, so you should be good. If it becomes a problem, you can always remove VGA240 autoload, and invoke it manually when you need to.

All in all, it looks like your setup is in good shape.

I have a GBS control to deal with conversions\upscaling etc. i could even try to not use vga240, gbsc is able to deal with 70+Hz refresh, i just find it more stable and especially it permits me to get an insanely crisp picture for DOS games.
Actually i checked some of my older uploads, i wasn't using vga240 but i definitely had lower picture clarity so i guess i started using it for that reason.

uRj9ajU.pngqZbxQbV.png
If you wanna check a blue ball playing retro PC games
MIDI Devices: RA-50 (modded to MT-32) SC-55

Reply 18 of 19, by Gmlb256

User metadata
Rank l33t
Rank
l33t
iraito wrote on 2023-07-17, 11:19:

I used E and yeah I do indeed need it for capturing and upscaling, I wish it was better optimized though.
I have 600k free, I'm good for now, if vga240 is gonna get lighter it would solve everything.

I have been wondering why you needed the VGA240 TSR which looks bloated. As dr_st said, it can be used only when necessary since it can be invoked during the DOS prompt.

Jo22 wrote on 2023-07-17, 12:05:
You can try using another keyboard driver. KEYB/KEYBOARD.SYS are huge. […]
Show full quote

You can try using another keyboard driver. KEYB/KEYBOARD.SYS are huge.

If you can, have a look at MS-DOS or PC-DOS 3.30 in your language.
It maybe contains a small KEYB driver, from before DOS got international support.
Maybe some old OEM version by Olivetti?

I'm sorry, that's all I can say. Those alternative keyboard drivers were part of PC magazines or written by private authors (as Public Domain/PD).

Edit: A keyboard driver from DOS 2.x should also work.
They're guaranteed to be small, also. About 2 to 5 KB, I guess.

FreeDOS's KEYB/KEYBOARD.SYS can also be used to reduce the amount of memory usage.

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce3 Ti 200 64 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 19 of 19, by iraito

User metadata
Rank Member
Rank
Member
Gmlb256 wrote on 2023-07-17, 13:40:
I have been wondering why you needed the VGA240 TSR which looks bloated. As dr_st said, it can be used only when necessary since […]
Show full quote
iraito wrote on 2023-07-17, 11:19:

I used E and yeah I do indeed need it for capturing and upscaling, I wish it was better optimized though.
I have 600k free, I'm good for now, if vga240 is gonna get lighter it would solve everything.

I have been wondering why you needed the VGA240 TSR which looks bloated. As dr_st said, it can be used only when necessary since it can be invoked during the DOS prompt.

Jo22 wrote on 2023-07-17, 12:05:
You can try using another keyboard driver. KEYB/KEYBOARD.SYS are huge. […]
Show full quote

You can try using another keyboard driver. KEYB/KEYBOARD.SYS are huge.

If you can, have a look at MS-DOS or PC-DOS 3.30 in your language.
It maybe contains a small KEYB driver, from before DOS got international support.
Maybe some old OEM version by Olivetti?

I'm sorry, that's all I can say. Those alternative keyboard drivers were part of PC magazines or written by private authors (as Public Domain/PD).

Edit: A keyboard driver from DOS 2.x should also work.
They're guaranteed to be small, also. About 2 to 5 KB, I guess.

FreeDOS's KEYB/KEYBOARD.SYS can also be used to reduce the amount of memory usage.

I use vga240 because I record pretty much anything I play, so I keep it ready.

uRj9ajU.pngqZbxQbV.png
If you wanna check a blue ball playing retro PC games
MIDI Devices: RA-50 (modded to MT-32) SC-55