VOGONS


First post, by Darkman

User metadata
Rank Oldbie
Rank
Oldbie

Im trying to set up my PPro machine and as part of setting up Win95 , Im also setting up its DOS mode. However , I've come across an issue where optimizing EMM386 causes some games such as Aladdin or even some programs like the AWE64s diagnose program to freeze , completely locking up the machine.

if I run EMM386 as is, these programs run fine, but then I lose the memory optimizations , which causes other programs to stop working of course. any way I can fix this?

thanks in advance.

Config.sys

DOS=HIGH,UMB,AUTO
DEVICE=C:\DRIVERS\HIMEMX.EXE /MAX=32000
DEVICE=C:\WINDOWS\EMM386.EXE X=B800-C7FF I=C800-EFFF I=B000-B7FF RAM M3 A=64 H=128 D=256 AUTO NOTR
DEVICEHIGH=C:\Drivers\VIDE_CDD.SYS /D:mscd000 /D:mscd001
LASTDRIVE=F

Autoexec.bat

SET BLASTER=A220 I5 D1 H5 P300 E620 T6

SET SOUND=C:\PROGRA~1\CREATIVE\CTSND
SET MIDI=SYNTH:1 MAP:E MODE:0
SET TMP=C:\WINDOWS\TEMP
SET TEMP=C:\WINDOWS\TEMP
SET PROMPT=$p$g
SET winbootdir=C:\WINDOWS
SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND
LOADHIGH C:\WINDOWS\COMMAND\MSCDEX.exe /d:mscd000 /d:mscd001 /l:d
LOADHIGH C:\SDD\UNIVBE.EXE
LOADHIGH C:\drivers\ctmouse.exe
C:\Progra~1\creative\ctsnd\ctcm.exe
C:\Progra~1\creative\ctsnd\aweutil.com /s
C:\progra~1\creative\ctsnd\mixerset /P /Q
CD C:\
CALL C:\WINDOWS\COMMAND.COM
C:\WINDOWS\WIN.COM /W

C:
CD C:\WINDOWS\DESKTOP
CALL C:\WINDOWS\COMMAND.COM
C:\WINDOWS\WIN.COM /W
cls

Reply 1 of 4, by dr_st

User metadata
Rank l33t
Rank
l33t

The thing about EMM386 is that it tries to use whatever memory regions you specify for upper memory. If you try to use a region that is used for something else (like a piece of hardware or a video mode), there will be a conflict, and likely a crash. The regions available for use are likely to differ greatly depending on the system and on the applications you try to run.

For starts, I would remove most of the switches you have in your EMM386 line, and stay with something simple. For example, RAM I=B400-B7FF I=CA00-CBFF AUTO has been working well enough for me, with sufficient amount of available memory, and few conflicts.

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

Reply 2 of 4, by Jepael

User metadata
Rank Oldbie
Rank
Oldbie

Aladdin may not work if there is too much EMS memory. Try giving it only 8MB of EMS memory.

And there is no single configuration that could work with everything you throw at it, so back in the DOS era people usually had boot menus to select if they want XMS, EMS, CDROM or whatever configurations. This can workaround programs that fail if there is too much memory so they cannot understand it, or to specifically omit EMM drivers for games and demos that just use the memory in protected mode or flat real mode themselves.

Well, I also think that your EMM386 setup is overkill and too complex, and has side effects I would not want.

For instance, are you absolutely sure your video BIOS is 32k, from C000 to C7FF, so C800 onwards is free? Some video BIOSes are bigger, and some motherboards with integrated ethernet adapter might have its boot ROM located at C800 onwards. The M3 parameter forces the page frame to start from C800.

Including the monochrome video area B000-B7FF will remove all support for those modes and cause the machine to hang if a program tries to use it. I don't know how video adapters react to that, I always leave B000-AFFF area for the video.

And about the overkill part:

A=64 creates 64 alternate EMM register sets, while default is 7 or so. What could possibly use so many alternate registers? Sure, in some multitasking environments it is beneficial for each task to have their own set of registers maybe, but for DOS gaming, no. Even so, that would consume 10k-12k extra memory as well.

H=128 creates 128 handles for handling EMM memory. That's double the default. Again what could possibly need that?

D=256 means largest DMA transfer will be 256 kilobytes. Even 16-bit ISA DMA channels can transfer only 128 kilobytes, and for the most part sound related DMA is usually up to 64 kilobytes. I suppose the default 16k can be a bit too low for some applicatios.

I'd just leave the EMM386 with RAM parameter.

Reply 3 of 4, by Darkman

User metadata
Rank Oldbie
Rank
Oldbie

thanks , Ive done some tidying up in regards to EMM386 , as well as replaced MSCDEX with SHSUCDX, which helped bring the conventional memory to a more acceptable 592k as opposed to 550 before, and Aladdin works too.

not perfect, but does seem to work well enough for the games I tried. Of course one can't expect every game to work , but as long as most games work decently , Im ok with it.

Reply 4 of 4, by Azarien

User metadata
Rank Oldbie
Rank
Oldbie

I would setup a boot menu in CONFIG.SYS (the [MENU] section) with DOS (noems), DOS (ems) and WINDOWS items.
This gives you three config.sys/autoexec.bat separate sections for tweaking.
No need for "one size fits all".