[comp.os.msdos.apps] Epanded, Extended & Reserved

sardana@remus.rutgers.edu (Sandeep Sardana) (04/03/91)

Hi! Netters,
	Can someone explain the differences between these three types
of memories. Please provide sufficient details.

Thanks

sergio@ingres.com (Sergio L Aponte) (04/05/91)

In article <Apr.3.10.25.50.1991.5365@remus.rutgers.edu> sardana@remus.rutgers.edu (Sandeep Sardana) writes:
>
>Hi! Netters,
>	Can someone explain the differences between these three types
>of memories. Please provide sufficient details.
>
>Thanks

	God! Somebody should write a book about this! Sandeep, I've read several
	descriptions, and even when you know what the meaning is, is hard to
	decide what to do with it!

	I just got a 386/33 with 4Mb Ram, 200Mb disk. Got Quarterdeck EMS, got
	himem.sys, got ramdrive.sys, etc... The question is how do you put
	this all toghether. After I load a video driver, a mouse driver, and
	setup bufers and files, I have programs complaining they don't have
	enough memory to run. ANd I don't have any TSRs loaded!

	Maybe I am just installing all this wrong. But I expected not to have
	so many problems with 4Mb!

	When anybody answers, and I know this has been discussed many times but
	answer anyway, can you make an example out of my setup? Where goes what?
	Sould I load the mouse.sys, or the TSR? What can be "loadhi"ed? How
	come the line quarterdeck added to my config sys only said 

			device=qemm.sys		< or something similar >

	with no flags?

						confused, but not giving up!
						Sergio
--
===============================================================   _|||_
Sergio L. Aponte, MTS @ ASK Computer, Ingres Product Division     <*,*>
Internet : sergio@coqui.ingres.com                                [`-']  Keko
UUCP     : {sun,mtxinu,pyramid,pacbell}!ingres!coqui!sergio       _"_"_  Jones

yow@sweetpea.jsc.nasa.gov (Bill Yow) (04/06/91)

>>Hi! Netters,
>>	Can someone explain the differences between these three types
>>of memories. Please provide sufficient details.
>>
>>Thanks

>	God! Somebody should write a book about this! Sandeep, I've read several


Someone has written a book about Expanded, Extended and so on it is called:

Extending DOS
by Ray Duncan, Charles Petzold, M. Steven Baker, Andrew Schulman,
   Stephen R. Davis, Ross P. Nelson and Robert Moote.
Published by Addison Wesley
ISBN 0-201-55053-9
First Printing, April 1990

From the Table of Contents:

Chapter 1
The IBM PC Programming Architecture

Chapter 2
Expanded Memory and the EMS

Chapter 3
Extended Memory and the XMS

Chapter 4
80286-based Protected-Mode DOS Extenders

Chapter 5
80386-based Protected-Mode DOS Extenders

Chapter 6
The Windows Operating Environment

Chapter 7
DESQview

Chapter 8
VCPI for EMS/DOS Extender Compatibility

Chapter 9
The DOS Protected-Mode Interface (DMPI)

Chapter 10
Multitasking and DOS Extenders

A very good book.

					Bill Yow
					yow@sweetpea.jsc.nasa.gov

My opinions are my own.

jdb@reef.cis.ufl.edu (Brian K. W. Hook) (04/06/91)

Okay, maybe some clarification is needed here for you who are slightly
confused about the functionality of QEMM.  First of all, getting QEMM to
work right on a given system is pure hell.  Period.  But ONCE you get it
running (expect to devote a couple of hours to doing this), it is a pure
God send.

My system has 8MB of RAM, however, this extended memory is rather moot
according to QEMM.  It uses only the UMB and HMA.  Things that QEMM can do
include:

1.  Shadow video and ROM BIOS into upper memory.
2.  Load buffers/files/lastdrive/etc. into high/upper memory (640-1024)
3.  Replace himem.sys OUTRIGHT.
4.  Give you expanded memory
5.  Give you extended memory
6.  Load TSRs and what not and some device drivers high.

However, QEMM will NOT do the following:

1.  Load device drivers and TSRs into extended memory or expanded memory.
2.  Be the miracle software everyone wants.
3.  Load command.com high.

Some typical problems that people will run into are:

1.  If your hardware has automatic ROM shadowing, you must either disable
the hardware shadowing and let QEMM do it, or, disable QEMM's ROM shadowing
using the NOSH parameter.
2.  You sometimes get a lot of conflicts with different devices, etc.
present in your system when QEMM tries to shadow these areas.  you will
have to do a lot of talking with Quarterdeck and your peripheral
manufacturers on this one.  Most prevalent are things that memory on the
cards, such as SCSI controllers and caching controllers, and things that
have their own processor/ROMs, such as SCSI, ESDI, graphics coprocessor
boards, bus mastering LAN adapters, etc.
     You will have to do a LOT of fiddling with the FRAME= and the EXCLUDE
options.
3.  You don't get all the memory you need out of the upper 384K.  You have
to make sure that you don't have small drivers being dispersed over all of
your upper memory area.  If you have 160K free of UMBs, but it is in 10 16K
blocks, you won't be able to load a mouse driver, small tsr, etc. at all,
even with all of that memory.  Use the /R:n parameter to get past this and
try and put all of your loaded high stuff in a contiguous memory region.
4.  You get conflicts with some protected mode programs that aren't VCPI
compliant.  For example, I cannot run Turbo Debugger 386 since it tries to
force the processor into 386 mode, and QEMM has put the processor in
protected mode already.
5.  QEMM, as far as I know, is VCPI compliant ONLY when it is acting as a
EMS manager.  I use it at time with the NOEMS switch so that I can recover
an extra 64K out of high memory or when I just want XMS.  However, TD286
won't run in since it believes I have a non-VCPI complain memory manager
loaded.  When I keep the EMS switch on, I don't have a problem.

I hope this helps,

Brian

jdb@reef.cis.ufl.edu (Brian K. W. Hook) (04/06/91)

Also, I would like to mention that Quarterdeck tech support sucks almost as
badly as Aldus's....(both have put me on hold, long-distance, for >45
minutes).

Brian