[comp.sys.ibm.pc] Question: expanded memory on 386

flinn@hoptoad.uucp (Ted Flinn) (08/29/87)

My Lotus 1-2-3 thinks there is 400K-odd memory available to it,
despite my Compaq Deskpro having come with a 2M memory expansion.
Do I need to run some program to activate the upper memory?
Can anyone suggest what the problem is, or whether there is
a problem beyond my own inexperience?

-- Ted Flinn

cbenda@unccvax.UUCP (carl m benda) (08/30/87)

In article <2839@hoptoad.uucp>, flinn@hoptoad.uucp (Ted Flinn) writes:
> 
> My Lotus 1-2-3 thinks there is 400K-odd memory available to it,
> despite my Compaq Deskpro having come with a 2M memory expansion.
 -- Ted Flinn


Sorry Ted, but MS-DOS has a 640K byte limit.  Unless
you use a DOS extender you can't have programs running above
the 1Meg address boundry untill OS/2 comes out.  And even with
one of these so called DOS extenders, LOTUS corp. would have to
recompile their 1-2-3 program to be able to use it.

So, the answer is:  NO 1-2-3 can only use the 400K that it said
it had available to it.  Untill OS/2 the only thing that you can 
use the extra 1408kb is for a RAM disk:

in a config.sys file in your root directory place:

device = vdisk.sys 1408 /E

the /E tells vdisk.sys device driver, that the memory to be used
for the virtual disk is in extended memory.

hope this helps.....
OS/2 is REALLY on its wy so hold on... help is on the way...

/Carl
...decvax!mcnc!unccvax!cbenda

ballou@jell-o (Kenneth R. Ballou) (08/31/87)

In article <804@unccvax.UUCP> cbenda@unccvax.UUCP (carl m benda) writes:
>In article <2839@hoptoad.uucp>, flinn@hoptoad.uucp (Ted Flinn) writes:
>> 
>> My Lotus 1-2-3 thinks there is 400K-odd memory available to it,
>> despite my Compaq Deskpro having come with a 2M memory expansion.
> -- Ted Flinn
>
>
>Sorry Ted, but MS-DOS has a 640K byte limit.  Unless
>you use a DOS extender you can't have programs running above
>the 1Meg address boundry untill OS/2 comes out.  And even with
>one of these so called DOS extenders, LOTUS corp. would have to
>recompile their 1-2-3 program to be able to use it.
>
>So, the answer is:  NO 1-2-3 can only use the 400K that it said
>it had available to it.

	False.  It is true that the 80286 in Real Address mode has a 1M
limit of addressable memory (Note:  This is *not* a DOS-caused limitation,
but is inherent in the architecture of the CPU).  Of this megabyte, IBM gives
(most) of the bottom 640K to user applications (including the operating
system), reserving the remainder for video memory, BIOS, and other ROM.

	However, there has been for some time a use for extra memory in
a PC/XT/AT -- the Lotus-Intel-Microsoft (LIM) Extended Memory specification.
The idea is that a device driver (more about this in a moment) manages this
extra memory, mapping windows of this memory into the 1M address space.
(The other use for extra memory in the AT is as Expanded Memory, which is
directly addressable in protected mode and lies above the 1M mark.  This is
the memory used by your "vdisk" example.  It can also be used by print spoolers
and can be accessed directly by user applications by means of the BIOS, which
provides a service to do block transfers to/from expanded memory.)

	The point is that you must have a device driver to make use of
Extended Memory.  My guess is that the memory expansion in your system should
have come with one.  You would install it by putting an appropriate line in
CONFIG.SYS.  I would then suppose that once your program detects the
presence of the extended memory device driver, it will work correctly.

-------------------------

Kenneth R. Ballou			ballou@bosco.berkeley.edu

jpn@teddy.UUCP (08/31/87)

>Sorry Ted, but MS-DOS has a 640K byte limit.  Unless
>you use a DOS extender you can't have programs running above
>the 1Meg address boundry untill OS/2 comes out.

Isn't there a commercial package that emulates LIM expanded memory, but
really uses the 80286 extended memory?  The original question was about
1-2-3:  I assume that Lotus's product can use the Lotus-Intel-Microsoft
memory extension standard!

lmg@sfmin.UUCP (08/31/87)

> In article <2839@hoptoad.uucp>, flinn@hoptoad.uucp (Ted Flinn) writes:
> > 
> > My Lotus 1-2-3 thinks there is 400K-odd memory available to it,
> > despite my Compaq Deskpro having come with a 2M memory expansion.
>  -- Ted Flinn
> 
> 
> Sorry Ted, but MS-DOS has a 640K byte limit.  Unless
> you use a DOS extender you can't have programs running above
> the 1Meg address boundry untill OS/2 comes out.  And even with
> one of these so called DOS extenders, LOTUS corp. would have to
> recompile their 1-2-3 program to be able to use it.
> 
> So, the answer is:  NO 1-2-3 can only use the 400K that it said
> it had available to it.  Untill OS/2 the only thing that you can 
> use the extra 1408kb is for a RAM disk:

If your Compaq is a 386, Compaq included an Expanded Memory Manager
(CEMM), which, when installed, treats the extra memory above 1M (plus
128K below 1M) as Extended (or is it Expanded?) memory. Lotus can then
access up to 8M (or whatever is installed, whichever is less). If you
don't have a 386, there still should be 3rd party memory managers
available, though I haven't looked into it.

					Larry Geary
					ihnp4!attunix!lmg

hoff@hp-sdd.UUCP (09/01/87)

>> My Lotus 1-2-3 thinks there is 400K-odd memory available to it,
>> despite my Compaq Deskpro having come with a 2M memory expansion.

>you use a DOS extender you can't have programs running above
>the 1Meg address boundry untill OS/2 comes out.  And ...

I've heard rumors of LIM EMM drivers that emulate expanded memory with extended
memory for 286 and 386 machines.  I think I've also heard of one that lets you
use your hard disk as expanded memory.  Names dont currently come to mind, but
perhaps someone on the net can comment on this further.

--Tom

-- 
     Tom Hoff (...!hplabs!hp-sdd!hoff)
	"Dammit Jim, I'm a programmer not a spokesman!"

davidsen@steinmetz.UUCP (09/01/87)

In article <4310@teddy.UUCP> jpn@teddy.UUCP (John P. Nelson) writes:
|>Sorry Ted, but MS-DOS has a 640K byte limit.  Unless
|>you use a DOS extender you can't have programs running above
|>the 1Meg address boundry untill OS/2 comes out.
|
|Isn't there a commercial package that emulates LIM expanded memory, but
|really uses the 80286 extended memory?  The original question was about

There is a package for the 80386 from QuarterDeck, I believe it's called
QEMM but I don;t have a 386 config.sys handy. I've been running it for
almost six months as a base for DesqView, and have never had a problem
with it. The few LIM programs I've run have been okay, but I mainly use
it for multitasking.

There are similar packages for the 80286, but they actually have to move
stuff in memory, while the 386 can use the compatibility box hardware to
reduce overhead significantly. Without taking the QEMM apart with a
debugger I can't be sure that's what it does, but that's what I'm told,
and it's fast enough to keep me happy.

The 386 version also allows you 605k (as I recall) of program space per
process under DesqView. That's a good reason to run it even if you don't
want to multitask.

-- 
	bill davidsen		(wedu@ge-crd.arpa)
  {chinet | philabs | seismo}!steinmetz!crdos1!davidsen
"Stupidity, like virtue, is its own reward" -me

brown@nicmad.UUCP (Mr. Video) (09/03/87)

In article <2839@hoptoad.uucp> flinn@hoptoad.uucp (Ted Flinn) writes:
<
<My Lotus 1-2-3 thinks there is 400K-odd memory available to it,
<despite my Compaq Deskpro having come with a 2M memory expansion.
<Do I need to run some program to activate the upper memory?
<Can anyone suggest what the problem is, or whether there is
<a problem beyond my own inexperience?

If the 2M of memory is actually addressed at 1M to 3M, then 1-2-3 won't
see it, because DOS doesn't see it.  1-2-3, version 2, is designed to
work with the Lotus/Intel EMM specification.  It is 64K paged memory
residing, I believe, between D0000 and E0000.

Yes, the 286 and 386 machines can address that much, but poor old DOS
can't.  The OS/2 operating system will see that memory, as well as UNIX
operating systems for ATs and 386s.

If your salesperson sold you the PC with the belief that the extra memory
was usable, he is mistaken.  Even machines that come with 1M can't get
at the stuff above 640K, except for some spooler programs and PC-DOS's
VDISK program.

Sorry to bring you bad news, if someone else hasn't already.

-- 
	 harvard-\		 ihnp4--\
Mr. Video   seismo!uwvax.................!nicmad!brown
	 rutgers-/  terminus-/	decvax--/
	BITNET: brown%nicmad.UUCP@spool.wisc.edu (until 12/01/87)

brown@nicmad.UUCP (Mr. Video) (09/03/87)

In article <4310@teddy.UUCP> jpn@teddy.UUCP (John P. Nelson) writes:
<>Sorry Ted, but MS-DOS has a 640K byte limit.  Unless
<>you use a DOS extender you can't have programs running above
<>the 1Meg address boundry untill OS/2 comes out.
<
<Isn't there a commercial package that emulates LIM expanded memory, but
<really uses the 80286 extended memory?  The original question was about
<1-2-3:  I assume that Lotus's product can use the Lotus-Intel-Microsoft
<memory extension standard!

If there is a commercial package, how does it grab the memory addresses
being placed on the bus and how does it grab the IO port address that is
used to run an EMM board?

If, per chance, there is an interrupt call being used, then the answer
is there.  Not knowing the spec, I was just wondering.
-- 
	 harvard-\		 ihnp4--\
Mr. Video   seismo!uwvax.................!nicmad!brown
	 rutgers-/  terminus-/	decvax--/
	BITNET: brown%nicmad.UUCP@spool.wisc.edu (until 12/01/87)