LIM 4.0 questions

roger.h.levy rl at cbnewsl.att.com
Wed Jul 18 02:02:13 AEST 1990


The LIM 4.0 standard provides an allocation of up to 12 16K physical
pages in the A000-FFFF range and up to 24 16K physical pages in the
0000-9FFF range.  (I haven't read the standard, my information is from
"The Waite Group's MS-DOS Developer's Guide, 2nd Edition)  I recently
obtained memory expansion boards for both my computer at home (AT&T
6300) and computer at work (AT&T 6286).  To better understand what was
happening in the EMS subsystem in these machines, I wrote a program
that prints information obtained through int 67 requests to the EMM
driver.  When I provide no software option switches to the 6286 EMM,
my program gives me the following output:

EMS version 4.0
EMS page frame segment address CC00
Unallocated EMS page count 64
Total EMS page count 128
Physical EMS page count 5
Location of physical EMS pages (E) by paragraph address
0000 1000 2000 3000 4000 5000 6000 7000 8000 9000 A000 B000 C000 D000 E000 F000
....|....|....|....|....|....|....|....|....|....|....|....|...E|EEEE|....|....

This reflects 2 Mb of EMS, 1 Mb of which is allocated as a ramdisk.  OK
so far.  A000-BFFF was excluded by the EMM because of VGA, C000-C7FF
because of the VGA BIOS extension, C800-CBFF because of my Bernoulli drive.
Then I included an option switch (/P=6286) which according to the manual
"allows ... additional backfill capabilities that only the 6286 WGS system
can accomodate."  My program then gives:

EMS version 4.0
EMS page frame segment address CC00
Unallocated EMS page count 24
Total EMS page count 123
Physical EMS page count 40
Location of physical EMS pages (E) by paragraph address
0000 1000 2000 3000 4000 5000 6000 7000 8000 9000 A000 B000 C000 D000 E000 F000
....|.EEE|EEEE|EEEE|EEEE|EEEE|EEEE|EEEE|EEEE|EEEE|....|....|...E|EEEE|....|....

Several curious things have happened:

  1. Five of the "total EMS pages" have disappeared - are these the 5
     pages at CC00?  Why were they accounted for previously?

  2. Thirty-five pages have been allocated in 0000-9FFF range.  Is
     this contrary to the LIM 4.0 standard?  Unallocated EMS pages have
     disappeared as if the EMS board were backfilling main memory.
     Why?  I thought such an allocation does not take place until an
     application such as Windows or Desqview specifically invokes it.
     Why do I loose 35 pages permanently?  The motherboard memory is
     still there.

Although I haven't included output for results obtained with the other
computer (different EMS board and different EMM driver), as many as
18 physical pages were allocated in the A000-FFFF range.  Does this
exceed the maximum of 12?  Do I not understand LIM 4.0 sufficiently or
are my EMM drivers doing funny things?

Roger Levy
Bell Laboratories - Whippany



More information about the Comp.sys.att mailing list