[comp.os.msdos.apps] QEMM, etc Recommendation Sought

wieser@bissun.kodak.com (Jim Wieser) (03/22/91)

I have a 386 machine and use PC-NFS over ethernet to
connect to a Sun host. I do development with Microsoft
C and I don't have enough conventional memory to run the
debugger with PC-NFS installed. I have heard that QEMM
will allow you to move TSRs to extended/expanded memory.
Can you move the device drivers from your config.sys into
extended/expaned memory as well?

Thanks in advance.

-- 
Jim Wieser, Eastman Kodak Company            Internet: wieser@bissun.kodak.com
m/s 35424 --  901 Elmgrove Road              Phone:    (716) 726-6538
Rochester, New York 14653-5424               Fax:      (716) 726-0129
Any opinions expressed herein belong to me and not to my employer.

noesis@ucscb.UCSC.EDU (60276000) (03/22/91)

QEMM will allow you to move drivers and TSRs into expanded memory. better
yet, it will relocate some DOS resources (FILE and BUFFERS) into expanded
to free up even more space! idiot-proof installation program included
--noesis

wagner@chepil.weru.ksu.edu (Larry Wagner) (03/22/91)

noesis@ucscb.UCSC.EDU (60276000) writes:


>QEMM will allow you to move drivers and TSRs into expanded memory. better
>yet, it will relocate some DOS resources (FILE and BUFFERS) into expanded
>to free up even more space! idiot-proof installation program included
>--noesis

QEMM386 is a good product but I don't believe it is idiot proof.  I think
it is very difficult to make something like this completely idiot proof.

For example, I bring up a UNIX-like shell from within autoexec.bat, thus
autoexec.bat never finishes executing unless I exit that shell.  Their
optimize program cannot handle that and they even say so in the manual.
I read it in the manual, but still forgot to fix it in my haste to try
QEMM386 out.  Thus, I spent some time scratching my head before I realized
what the problem was.  Also, here at our lab, we use 'bootcon' a program
that allows us to select different options in a config.sys and autoexec.bat
files during the boot process.  Again, QEMM386 can't handle it and I would
not expect it to.  We also had one machine that was shadowing the video bios
in hardware.  This was also a head scratcher since QEMM386 thought
everything was ok since it didn't detect it on this machine (thus no error messages)
and would go ahead and use the shadowed memory location for its own use.

I guess what I am trying to say is it is nearly impossible to make this type of
program completely idiot proof in the sense that if something doesn't work right
you still may need to reboot your machine from a floppy disk and copy back the
config.sys and autoexec.bat files if something goes drastically wrong.
However, I do believe Quarterdeck approached the problem from the right direction
and did as good a job as one could expect, but there is no way they can guarantee
the optimizing operation will work under all possible situations.


--
--------------------------------------------------------------------------------
Larry E. Wagner                     | wagner@chepil.weru.ksu.edu
USDA-ARS Wind Erosion Research Unit | wagner@matt.ksu.ksu.edu
105B East Waters Hall, KSU          | ...!{rutgers,texbell}!ksuvax1!weru!wagner
Manhattan, KS 66506                 |phone (913)532-6807
--------------------------------------------------------------------------------

davem@nro.cs.athabascau.ca (Dave McCrady) (03/23/91)

wieser@bissun.kodak.com (Jim Wieser) writes:

> I have a 386 machine and use PC-NFS over ethernet to
> connect to a Sun host. I do development with Microsoft
> C and I don't have enough conventional memory to run the
> debugger with PC-NFS installed. I have heard that QEMM
> will allow you to move TSRs to extended/expanded memory.
> Can you move the device drivers from your config.sys into
> extended/expaned memory as well?
> 

  Extended, no.  Expanded, yes.

  QEMM goes out and looks at High RAM (the area between 640k and 1 Mb),
where such things as your video memory, BIOS ROMs, Hard Disk BIos ROM and 
network card buffer memory and so on live.   It determines which chunks 
of this address space are available, maps expanded memory into these 
areas, and then stuffs them full of such things as DOS buffers, drivers, 
the EMS page frame, TSRs and so on.

  On my '386, about 57k of such code gets loaded high.  Your mileage will
vary, depending on what TSRs and drivers you are using.  

  If you don't need video graphics, Quarterdeck also includes a utility 
to let you include an extra 64-92k in conventional RAM, either from EMS 
or directly accessing the memory on an EGA/VGA card.

  Having said all that .. I guess the short answer to your question is 
yes ...  IF your machine has expanded memory.  Extended memory can't be
mapped to high ram.

   Dave McCrady                 |  ersys!davem@nro.cs.athabascau.ca
+1 403-454-4054 (voice)         |  Disclaimer? Who needs a disclaimer?
+1 403-454-6093 (public USENET) |  I >own< the joint.

jtw@cbnewsh.att.com (jui-tai.wang) (03/23/91)

In article <Z158y3w164w@ersys.uucp>, ersys!davem@nro.cs.athabascau.ca (Dave McCrady) writes:
> wieser@bissun.kodak.com (Jim Wieser) writes:
> 
> > Can you move the device drivers from your config.sys into
> > extended/expaned memory as well?
>   Extended, no.  Expanded, yes.
> 
>   Having said all that .. I guess the short answer to your question is 
> yes ...  IF your machine has expanded memory.  Extended memory can't be
> mapped to high ram.
May I suggest that QEMM is used with EXTENDED memory. If the machine
has only EXPANDED mamory, use QRAM. QEMM will go out and grap all extended
memory it found and "convert" them to "expanded" memory.

So, to be more precise, if a machine is equipped with "extended" memory,
you can still "loadhi" with QEMM.

Richard Wang
ATT-BL
att!corona!jtw
standard disclaimer follow.

wagner@chepil.weru.ksu.edu (Larry Wagner) (03/23/91)

ersys!davem@nro.cs.athabascau.ca (Dave McCrady) writes:

>wieser@bissun.kodak.com (Jim Wieser) writes:

>> I have a 386 machine and use PC-NFS over ethernet to
>> connect to a Sun host. I do development with Microsoft
>> C and I don't have enough conventional memory to run the
>> debugger with PC-NFS installed. I have heard that QEMM
>> will allow you to move TSRs to extended/expanded memory.
>> Can you move the device drivers from your config.sys into
>> extended/expaned memory as well?
>> 

>  Extended, no.  Expanded, yes.

>  QEMM goes out and looks at High RAM (the area between 640k and 1 Mb),
>where such things as your video memory, BIOS ROMs, Hard Disk BIos ROM and 
>network card buffer memory and so on live.   It determines which chunks 
>of this address space are available, maps expanded memory into these 
>areas, and then stuffs them full of such things as DOS buffers, drivers, 
>the EMS page frame, TSRs and so on.

>  On my '386, about 57k of such code gets loaded high.  Your mileage will
>vary, depending on what TSRs and drivers you are using.  

>  If you don't need video graphics, Quarterdeck also includes a utility 
>to let you include an extra 64-92k in conventional RAM, either from EMS 
>or directly accessing the memory on an EGA/VGA card.

>  Having said all that .. I guess the short answer to your question is 
>yes ...  IF your machine has expanded memory.  Extended memory can't be
>mapped to high ram.

Without having the manuals to check, I believe that the 386 can map extended
memory into the 640kb-1Mb region.  I think it's (80386) memory manager provides
this capability.  Regardless, QEMM386 prefers to use a 386 machine with only
Extended memory (memory above 1MB), because it can make it look like EMS memory
if needed and this memory is usually faster than memory on a true EMS board.
If I am correct in my recollection, QEMM can provide additional capability
for individuals who have only an EMS board if that board provides all of the
EMS 4.0 hardware specifications.
--
--------------------------------------------------------------------------------
Larry E. Wagner                     | wagner@chepil.weru.ksu.edu
USDA-ARS Wind Erosion Research Unit | wagner@matt.ksu.ksu.edu
105B East Waters Hall, KSU          | ...!{rutgers,texbell}!ksuvax1!weru!wagner
Manhattan, KS 66506                 |phone (913)532-6807
--------------------------------------------------------------------------------

theall@rm105serve.sas.upenn.edu (George A. Theall) (03/23/91)

In article <Z158y3w164w@ersys.uucp> ersys!davem@nro.cs.athabascau.ca (Dave McCrady) writes:
>wieser@bissun.kodak.com (Jim Wieser) writes:
>> I have a 386 machine and use PC-NFS over ethernet to

>  Having said all that .. I guess the short answer to your question is 
>yes ...  IF your machine has expanded memory.  Extended memory can't be
>mapped to high ram.

  <nit pick mode on>

   For those with 386s (386SX and 486s too) QEMM lets users convert
extended memory to expanded memory. A portion of this expanded memory
can then be mapped into unused areas between 640K and 1MB with LOADHI,
distributed along with QEMM-386. When QEMM does this it forces the CPU
into V86 mode. 

   In sum, physical extended memory --> simulated expanded memory -->
high memory.

  <nit pick mode off>

George
--- 
theall@rm105serve.sas.upenn.edu			Dept. of Economics
theall@ssctemp.sas.upenn.edu			Univ. of Pennsylvania
gtheall@penndrls.upenn.edu			Philadelphia, PA 19104

jim@shograf.COM (jim morris) (03/23/91)

Well QEMM & 386MAX will both do what you want. But in making
your descision bear in mind that QEMM has one feature that 386MAX
does not. It is one that I think is vitally important....

That is that QEMM "pools" memory, so it will provide expanded or
extended memory to whatever asks for it. This means that you do
not have to decide at boot time how much extended memory to reserve.

Seeing as there is a big mix of extended and expanded memory applications
it is real nice to have BOTH available at any time.

This is especially important if you use windows 3.0 and/or borlands
bcx compiler. With 386MAX you have to dedicate most of your extended
memory to windows or bcx at boot time. This means you have to change
the config file and reboot if you want to then run an app that uses
expanded memory.

This feature alone makes QEMM better. Unfortunately I have been a loyal
386MAX user for years, and have just trashed my new upgrade of 386MAX
to buy QEMM!

Jim

-- 
Jim Morris,	E-Mail: jim@shograf.com    Voice: (415) 903-3887
  _ 
SHO graphics.	Practical PEX

valley@uchicago (Doug Dougherty) (03/24/91)

jim@shograf.COM (jim morris) writes:

>Well QEMM & 386MAX will both do what you want. But in making
>your descision bear in mind that QEMM has one feature that 386MAX
>does not. It is one that I think is vitally important....

>That is that QEMM "pools" memory, so it will provide expanded or
>extended memory to whatever asks for it. This means that you do
>not have to decide at boot time how much extended memory to reserve.

Also QEMM supports loading the DOS resources high, something Qualitas
explicitly refeuses to get involved in.

BTW, I, too bought MAX first, then QEMM, so am legal for both.

mwizard@eecs.cs.pdx.edu (Craig Nelson) (03/24/91)

>>Well QEMM & 386MAX will both do what you want. But in making
>>your descision bear in mind that QEMM has one feature that 386MAX
>>does not. It is one that I think is vitally important....

>>That is that QEMM "pools" memory, so it will provide expanded or
>>extended memory to whatever asks for it. This means that you do
>>not have to decide at boot time how much extended memory to reserve.

>Also QEMM supports loading the DOS resources high, something Qualitas
>explicitly refeuses to get involved in.

>BTW, I, too bought MAX first, then QEMM, so am legal for both.

	Count my vote too.  Never had a major problem with QEMM, and
fankly I like it's style.

	Craig (mwizard@eecs.ee.pdx.edu)

vanmick@hpsgm2.sgp.hp.com (Van Der Beek Michael-Leo) (03/25/91)

Hi,

	Also some drivers cannot be run on QEMM from random errors to
flat fail on loading. I have a Syquest HD and the driver plain just
cannot be loaded. There is always and error and though QEMM gives
a option to terminate the driver, exit QEMM and continue, it just hangs
my computer. So now, inorder to run QEMM I cannot load by Syquest driver,
unless you gurus out there can tell me how.

	Moral some drivers maybe TSR cannot run with QEMM, if you can
check it with someone who has it before you buy it or you may have to
keep changing the config.sys file or boot from a disk(like I do, saves
time to reconfigure).

	Just my $0.02.

Michael

jerry@gumby.Altos.COM (Jerry Gardner) (03/27/91)

In article <Z158y3w164w@ersys.uucp> ersys!davem@nro.cs.athabascau.ca (Dave McCrady) writes:

>  Having said all that .. I guess the short answer to your question is 
>yes ...  IF your machine has expanded memory.  Extended memory can't be
>mapped to high ram.


This is an incorrect statement.  On a 386 machine, QEMM does map extended
memory to high RAM.  Most 386 machines don't have true expanded memory,
this feature is provided by QEMM by remapping extended memory.  A 386 running
in protected mode can remap RAM in any location to any other location.



-- 
Jerry Gardner, NJ6A					Altos Computer Systems
UUCP: {sun|pyramid|sco|amdahl|uunet}!altos!jerry	2641 Orchard Parkway
Internet: jerry@altos.com				San Jose, CA  95134
Help stamp out vi in our lifetime.                      (408) 432-6200

valley@uchicago (Doug Dougherty) (03/27/91)

jerry@gumby.Altos.COM (Jerry Gardner) writes:

>In article <Z158y3w164w@ersys.uucp> ersys!davem@nro.cs.athabascau.ca (Dave McCrady) writes:

>>  Having said all that .. I guess the short answer to your question is 
>>yes ...  IF your machine has expanded memory.  Extended memory can't be
>>mapped to high ram.


>This is an incorrect statement.  On a 386 machine, QEMM does map extended
>memory to high RAM.  Most 386 machines don't have true expanded memory,
>this feature is provided by QEMM by remapping extended memory.  A 386 running
>in protected mode can remap RAM in any location to any other location.

This is nitpicking.  Actually, what happens is that the 386 memory
manager emulates expanded memory in software, using the memory mapping
capabilities of the processor.  Then the expanded memory is used as
"high ram".  But the point is, it is true expanded memory.

It is definitely the case that extended memory (qua extended memory)
can't be mapped to high ram.

wagner@chepil.weru.ksu.edu (Larry Wagner) (03/28/91)

valley@uchicago (Doug Dougherty) writes:

>jerry@gumby.Altos.COM (Jerry Gardner) writes:

>>In article <Z158y3w164w@ersys.uucp> ersys!davem@nro.cs.athabascau.ca (Dave McCrady) writes:

>>>  Having said all that .. I guess the short answer to your question is 
>>>yes ...  IF your machine has expanded memory.  Extended memory can't be
>>>mapped to high ram.


>>This is an incorrect statement.  On a 386 machine, QEMM does map extended
>>memory to high RAM.  Most 386 machines don't have true expanded memory,
>>this feature is provided by QEMM by remapping extended memory.  A 386 running
>>in protected mode can remap RAM in any location to any other location.

>This is nitpicking.  Actually, what happens is that the 386 memory
>manager emulates expanded memory in software, using the memory mapping
>capabilities of the processor.  Then the expanded memory is used as
>"high ram".  But the point is, it is true expanded memory.

>It is definitely the case that extended memory (qua extended memory)
>can't be mapped to high ram.

Since I couldn't reach your mail address, I'll follow up here with my questions.

I pulled out my QEMM386 manual and what you say is correct with regards
to QEMM386 mapping expanded memory into high memory.  However, the question
I have, is if Quarterdeck had wanted to, couldn't they have just done the
mapping of extended memory to high memory rather than extended to expanded to
high memory?  Or is it the fact that how expanded memory is dealt with is more
standardized? Or is there another technical reason why?

Just curious.
--
--------------------------------------------------------------------------------
Larry E. Wagner                     | wagner@chepil.weru.ksu.edu
USDA-ARS Wind Erosion Research Unit | wagner@matt.ksu.ksu.edu
105B East Waters Hall, KSU          | ...!{rutgers,texbell}!ksuvax1!weru!wagner
Manhattan, KS 66506                 |phone (913)532-6807
--------------------------------------------------------------------------------

cd5340@mars.njit.edu (David Charlap) (03/28/91)

In article <valley.670077309@gsbsun> valley@uchicago (Doug Dougherty) writes:
>jerry@gumby.Altos.COM (Jerry Gardner) writes:
>
>>In article <Z158y3w164w@ersys.uucp> ersys!davem@nro.cs.athabascau.ca (Dave McCrady) writes:
>
>>> Extended memory can't be mapped to high ram.
>
>>This is an incorrect statement.  On a 386 machine, QEMM does map extended
>>memory to high RAM. ... ... ... A 386 running in protected mode can remap
>>RAM in any location to any other location.
>
>This is nitpicking.  Actually, what happens is that the 386 memory
>manager emulates expanded memory in software, using the memory mapping
>capabilities of the processor.  Then the expanded memory is used as
>"high ram".  But the point is, it is true expanded memory.
>
>It is definitely the case that extended memory (qua extended memory)
>can't be mapped to high ram.

Let's try this yet again...  Expanded memory (EMM, LIM, QEMM, whatever)
is only a standard for protocols, with no regard for hardware that
will impliment it.  Expanded memory can exist on a RAM card which
maps into High-memory, it can be 386 protected mode remapping extended
RAM onto low-memory, or it can be a disk-swap algorithm.  Anything 
that swaps memory in and out of the real-mode address space according
to the spec laid out by Lotus/Intel/Microsoft is true EMM.

As for mapping extended RAM.  Any chip 80386 or higher can use its
protected mode to remap any region of its address space to any other
region of its space.  That's part of what goes into creating a
virtual XT with the 386 (as VM/386 does).  The 286 can also, but in
a much more limited way - which won't work in real-mode.
--
David Charlap                   "Invention is the mother of necessity"
cd5340@mars.njit.edu            "Necessity is a mother"
Operators are standing by	"mother!" - Daffy Duck

cwga@cbnewse.att.com (clifton.w.gantt) (03/29/91)

On a related note, does anyone know the capabilities of the VLSI chip
set used in 286 motherboards?  My no-name board manual (there's a
wireframe picture of the space shuttle on the box) says VLSI has
software to map extended memory to expanded but the dealer I got it
from claims there is no such thing and to use QRAM.  Well, I tried QRAM
and the various mappers from SIMTEL with no luck.  Nothing in the CMOS
setup or on the motherboard switches either.

An expanded memory board that I have won't work either because the ROM BIOS
uses from E000-EFFF for diagnostics code in addition to the normal Fxxx range.
Other stuff uses the rest except for D000-DFFF which isn't enough for the
EMM board EPROM and the 64K page frame (3.2, not 4.0).

Any ideas before I swap this thing for a C&T chipset version or a 386?

C. W. Gantt

rob.bbs@shark.cs.fau.edu (Robert Rittenhouse) (03/29/91)

cwga@cbnewse.att.com (clifton.w.gantt) writes:

> On a related note, does anyone know the capabilities of the VLSI chip
> set used in 286 motherboards?  My no-name board manual (there's a
   [text deleted]
It probably depends on the version of the Chipset. I had a VLSI board
and had to return it for much the same reason...the Chipset wouldn't
support on board EMS or memory mapping utilities (TLB).
Later versions of the VLSI chipset probably will.
I now have a board based on Headlands Technology Chipset which does
support EMS (but still won't properly remap memory for TLB or HRAM).
(TLB and HRAM, btw, are shareware utilities that work like QRAM).

Rob R.

liberato@dri.com (Jimmy Liberato) (04/03/91)

wagner@chepil.weru.ksu.edu (Larry Wagner) writes:

>valley@uchicago (Doug Dougherty) writes:

>>jerry@gumby.Altos.COM (Jerry Gardner) writes:

>>>In article <Z158y3w164w@ersys.uucp> ersys!davem@nro.cs.athabascau.ca (Dave McCrady) writes:

>>>>  Having said all that .. I guess the short answer to your question is 
>>>>yes ...  IF your machine has expanded memory.  Extended memory can't be
>>>>mapped to high ram.

>>>This is an incorrect statement.  On a 386 machine, QEMM does map extended
>>>memory to high RAM.  Most 386 machines don't have true expanded memory,
>>>this feature is provided by QEMM by remapping extended memory.  A 386 running
>>>in protected mode can remap RAM in any location to any other location.

>>This is nitpicking.  Actually, what happens is that the 386 memory
>>manager emulates expanded memory in software, using the memory mapping
>>capabilities of the processor.  Then the expanded memory is used as
>>"high ram".  But the point is, it is true expanded memory.
>>It is definitely the case that extended memory (qua extended memory)
>>can't be mapped to high ram.

>I pulled out my QEMM386 manual and what you say is correct with regards
>to QEMM386 mapping expanded memory into high memory.  However, the question
>I have, is if Quarterdeck had wanted to, couldn't they have just done the
>mapping of extended memory to high memory rather than extended to expanded to
>high memory?...

I, too, dug out the QEMM manual in addition to the XMS 2.0 and LIM EMS 4.0
specifications.  It turns out that, in the case of QEMM at least, no expanded
memory (EMS) is involved at all in the remapping to the upper addresses (A000-
FFFF).  It is also true that extended memory (qua extended) by definition 
cannot exist in that realm.  So, what on earth is happening here?  The 
confusion stems from not recognizing that QEMM is BOTH an EMS driver AND an
XMS (Extended Memory Specification) driver.  Part of the XMS specification
defines what are called Upper Memory Blocks (UMBs) in the A000-FFFF range.
An XMS 2.0 driver has the ability to redefine extended memory (by definition
above FFFF) by remapping into the UMBs. Of course, some hardware assistance
is required in the form of an 80386/486 class CPU or specialized memory
management chips such as the Chips & Technologies NEAT chipset.  

Further confusion stems from the fact that the LIM EMS 4.0 specification also 
allows mapping of EMS pages into the upper memory addresses other than the 64K
EMS page frame.  (Actually, it allows remapping to any address in the 1 Meg real
mode address space.)  It is this ability that is capitalized upon by QEMMs
sister product, QRAM.  The QEMM manual (though superb and very thorough) is
deficient when it implies that expanded memory is somehow involved in QEMM's
upper memory remapping.  This is simply not the case.  Any who remain naysayers
and disputants can try this simple test: Turn off QEMM's EMS driver services by
using the NOEMS parameter.  Turn on upper memory remapping with the RAM 
parameter.  Use manifest to investigate memory usage, particularly in the 
extended memory category (notice the UMB services are on).  Turn EMS back on by
removing NOEMS parameter.  Notice that the UMBs are still doing the remapping.

Executive Summary:  :-)

QEMM does not use expanded memory for upper memory mapping.

Expanded memory CAN be used for upper memory mapping but QEMM does not use it.
    

--
Jimmy Liberato   liberato@dri.com
                 ...uunet!drivax!liberato