Path: utzoo!attcan!uunet!lll-winken!lll-tis!ames!mailrus!tut.cis.ohio-state.edu!rutgers!att!lzaz!lznv!psc
From: psc@lznv.ATT.COM (Paul S. R. Chisholm)
Newsgroups: comp.sys.ibm.pc
Subject: Re: Use of expanded memory on System 2 Model 50
Summary: Quarterdeck has a PS/2 EMM, but conventional <= 640K
Keywords: How to?
Message-ID: <1407@lznv.ATT.COM>
Date: 15 Jul 88 13:55:43 GMT
References: <322@mruxd.UUCP>
Organization: AT&T
Lines: 41

< "Would you buy a used operating system from these guys?" >

In article <322@mruxd.UUCP>, afd@mruxd.UUCP (A Dietz) writes:
> The model 50 has 1M on board, but DOS has access only to 
> 640K.  How do I get to the other 360K, designated as "expanded
> memory"?

Ambiguous question.  Are you saying, "How do I get the other 360K to
be used as expanded memory?", or "How do I get to the other 360K, which
is currently expanded memory?"

First of all, the top 360K in a 1M 286/386 box is *extended* memory.
DOS has no way of marking what parts of extended memory are allocated,
so this RAM is fairly useless.

Quarterdeck sells an Expanded Memory Manager for PS/2-50 and -60 RAM
boards, which converts *extended* memory into *expanded* memory (Lotus
Intel Microsoft Expanded Memory Specification, or LIM EMS).  There's an
agreement on how DOS applications can allocate and free this kind of
memory, so this is useful.  There are third party libraries that make
EMS use easier.

>           I have compiled a program that will not fit into
> the usable memory (640K), yet is far less than the 1M available.

Well, it is a *micro* computer, isn't it?  The top 360K of the 8086 1M
address space is reserved for various junk.  There's no easy way for
your program to transparently grab memory there.  Yes, I *know* you've
got an 80286, not an 8086, but try telling DOS that.

Solutions:  Buy 2M more RAM and port your application to OS/2 (lots of
luck:-).  Find large arrays and make them smaller.  Look for unused
functions and get rid of them.  Tell your compiler to optimize for
space instead of speed.  Buy a better compiler.  Use EMS memory.  Use a
real operating system (can you say UNIX(R)?  I thought you could.-)

> A Dietz, Bellcore, Morristown, (ulysses, rutgers, bellcore)!mruxd!afd

-Paul S. R. Chisholm, {ihnp4,cbosgd,allegra,rutgers}!mtune!lznv!psc
AT&T Mail !psrchisholm, Internet psc@lznv.att.com
I'm not speaking for my employer, I'm just speaking my mind.
UNIX(R) is a registered trademark of AT&T.