First post, by Chaosbreaker
Hey everyone,
I've been lurking around on this site since forever, because more than once I've been able to find 
a solution or workaround for a retrogaming problem I have been facing every now and then.
Decided to create an account now, because I'm having a problem that I just can't wrap my head around.
Disclaimer: During the golden age of DOS gaming, I was about 5 or 6, and although I've tinkered quite
a bit with systems back in the day, I never actually *really* knew what I was doing.
Long story short; I recently bought a brand new, sealed, never used Gateway Solo PIII laptop that I'm
*really* happy with. Replaced the harddrive with something a little heftier than standard, and crammed
it full with dos and early windows games.
As was to be expected, some games reintroduced me to the challenges that oldschool gaming posed
every now and again, with things like memory management and the such. Kinda 'relearned' how
everything worked, so had little problems.
But then came TES: Arena. It requires EMS to function, and also needs a whopping 603K of conventional
memory to not-crash. I've been able to accomplish one, and the other, but never at the same time.
Whenever I set config.sys to have DEVICE=C:\DOS\EMM386.EXE NOEMS, I have around 617K of
conventional memory, which is more than enough for Arena to run, but Arena needs EMS.
Loading all the programs that I've set up to load into the upper memory in config.sys and autoexec.bat
behave like they should, though.
HOWEVER
I enable EMS by changing config.sys to DEVICE=C:\DOS\EMM386.EXE RAM and my mem /c |more 
output shows that absolutely *NOTHING* get's loaded into the upper memory, while all pointers in config.sys 
and autoexec.bat are in fact set to load into the upper memory. This leaves me with only around 550K of 
conventional memory, and is sure to crash the game whenever things get a bit 'busy' (like opening a map with
a lot of notes).
I have tried to use/install third party memory managers (QEMM, 386MAX, JEMM386 and JEMMEX), but I am
afraid they are (in one way or another) incompatible with the relatively modern hardware I'm using (ESS1980
soundcard, S3 Savage videocard, 192MB Ram). JEMM386 and JEMMEX seem to be violently incompatible with
Arena and just spew tons of text strings before brutally halting in an OVERFLOW. Shame, because especially
JEMMEX seemed to leave generous amounts of conventional memory intact. Having tried all these things, 
it seems that 'good old' emm386 is my only viable option left.
Additional information: I have been playing around with the order of lines in config.sys and autoexec.bat, and
I have also been able to use CTMOUSE as a lightweight mouse driver, VIDE-CDD as a lightweight CD-driver and
the such, to minimize overhead and experiment with the results.
Besides of getting Arena work, I *really* want to know if the output I'm getting using mem /C |MORE
when EMM386 is set to RAM is normal. Is it normal that everything that I try to load into the upper memory
works fine when EMM386 is set to NOEMS, but whenever I set EMM386 to RAM, nothing seems to be loaded
into the upper memory anymore? Am I misunderstanding how this is supposed to work to begin with?
Additional info:
Memory information output in dos with EMM386 set to NOEMS (EMS off)
Modules using memory below 1 MB:
Name			Total				Conventional			Upper Memory
MSDOS		16221 (16k)		16221 (16k)			0 (0k)
HIMEM		1120 (1k)			1120 (1k)				0 (0K)
EMM386		3120 (3k)			3120 (3k)				0 (0k)
COMMAND	2928 (3k)			2928 (3k)				0 (0k)
VIDE-CDD		20528 (20k)		0 (0k)					20528 (20k)
DISPLAY		8336 (8k)			0 (0k)					8336 (8k)
SETVER		448 (0k)			0 (0k)					448 (0k)
CTMOUSE		3104 (3k)			0 (0k)					3104 (3k)
MSCDEX		25888 (25k)		0 (0k)					25888 (25k)
Free			631808 (617k)	629808 (615k)		2000 (2k)
Memory information output in dos with EMM386 set to RAM (EMS on)
Modules using memory below 1 MB:
Name			Total				Conventional			Upper Memory
MSDOS		16269 (16k)		16269 (16k)			0 (0k)
HIMEM		1120 (1k)			1120 (1k)				0 (0K)
EMM386		8368 (8k)			8368 (8k)				0 (0k)
COMMAND	2928 (3k)			2928 (3k)				0 (0k)
VIDE-CDD		20496 (20k)		20496 (20k)			0 (0k)
DISPLAY		8304 (8k)			8304 (8k)				0 (0k)
SETVER		416 (0k)			416 (0k)				0 (0k)
CTMOUSE		3104 (3k)			3104 (3k)				0 (0k)
MSCDEX		27952 (27k)		27952 (27k)			0 (0k)
Free			564304 (551k)	564304 (551k)		0 (0k)
The annoying fact that I've tried about 200 different combinations and have spent
a couple of weeks to get this to work is slowly driving me mad, because I have the 
feeling I'm overlooking something, or maybe just don't understand  a simple
element yet. It feels like I'm so close and I really want to make it work.
That said, I am pretty much able to play *every other game* in native DOS 6.22
and windows, but the completionist in me just wants to be able to add this game
to my "working library" of old games. It's nothing short of a compulsion, really 😜
Phew... That post turned out to be way longer than I imagined beforehand 😁
 
		 
		 
		