home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PROGRAMS / UTILS / MEMORIA / REMMS.ZIP / REMMINFO.TXT < prev    next >
Encoding:
Text File  |  1989-08-07  |  10.4 KB  |  216 lines

  1.                                The Magic of REMM
  2.                                -----------------
  3.  
  4. The Rampage Expanded Memory Manager (REMM) is the device driver that must be
  5. included in the config.sys file that allows expanded memory to be used and
  6. managed.  ALL expanded memory whether EMS or EEMS is invisible to DOS.  That
  7. is - DOS, cannot acknowledge or test the memory of an expanded memory board.
  8. It is the expanded memory manager and the application program that utilize
  9. expanded memory.
  10.  
  11. The first expanded memory boards were manufactured according to the Expanded
  12. Memory Specification (EMS) developed by LOTUS, INTEL, & MICROSOFT.  Only a few
  13. months later, AST RESEARCH announced the Enhanced Expanded Memory
  14. Specification (EEMS) and began shipping their EEMS boards.  EEMS was a true
  15. superset of EMS.  EEMS had all the same functions as EMS, however, it provided
  16. quite a bit more power.
  17.  
  18.  
  19. CHARACTERISTICS OF REMM
  20.  
  21. When REMM initializes it searches for a 64KB window in the reserved area
  22. between 640KB and 1MB.  It begins its search at C000 and jumps upward in 16KB
  23. increments.  When REMM finds four contiguous 16KB segments that are available
  24. it creates its 64KB window.  If REMM cannot find four consecutive 16KB blocks
  25. available it will fail to install itself.
  26.  
  27. REMM cannot see into the future.  Should a device or program attempt to use
  28. the same address range as REMM, then most likely REMM will crash.  It is the
  29. task of the user to be aware of what other ROM's or programs make use of the
  30. reserved memory between 640KB and 1 MB.
  31.  
  32. As REMM is initialized in the config.sys there are several steps that it
  33. performs:
  34.  
  35.    1) Command line parameters are handled.
  36.    2) Test to see if expanded memory is in system.
  37.    3) Determine level of hardware support for expanded memory.
  38.    4) Read Switch settings from the board (if appropriate).
  39.    5) Generate internal tables.
  40.       a) Handle Table
  41.       b) Allocation Table
  42.    6) Test Expanded Memory.
  43.    7) Done - Install INT 67.
  44.  
  45.       N.B. Boards are checked in Base I/O order.
  46.  
  47. VERSIONS OF REMM
  48.  
  49. Due to the continual development of hardware and software, REMM has undergone
  50. many changes and will continue to do so for some time to come.
  51.  
  52. REMM was first shipped by AST Research along with their EEMS boards - the
  53. Rampage!, Advantage Premium, and Rampage286 to name a few.  The REMM driver
  54. was bundled along with other software utilities on the SUPERPAK Diskette.
  55.  
  56. At that time in the market place the IBM standard had set the BUS speeds at
  57. 4.77 MHz for the PC & XT; and 6 or 8 MHz for the AT.  The PC/XT and AT-class
  58. EEMS Boards manufactured by AST were made to operate at those respective clock
  59. rates.  The REMM driver was written specifically with those environments in
  60. mind.  Over time, enhancements were added to improve overall performance and
  61. compatibility.  When AST decided to manufacture the Premium/286, they
  62. incorporated into its architecture the FASTSLOTS which provided direct access
  63. to the microprocessor at zero wait states.
  64.  
  65. To take full advantage of this proprietary architecture a system specific
  66. version of REMM was required.  The first system version of REMM to ship with
  67. the Premium/286 was REMM version 3.5.  This version enabled expanded memory
  68. according to the EEMS specification.  When the LIM 4.0 specification was
  69. announced, REMM was subsequently updated to version 4.x.  If x were an even
  70. number then REMM was specifically updated with the Premium Systems
  71. architecture in mind.  If x were an odd number then that version was meant for
  72. the add-in memory boards made by AST.  For best performance, it is important
  73. that only a 'systems' REMM be used with AST's system products.  This is
  74. especially true when using an AST expanded memory card in addition to the
  75. FASTRAM card.
  76.  
  77. PREMIUM/286 & REMM VERSION 4.X
  78.  
  79. The address range of E000-EFFF in the Premium/286 is available for use by REMM
  80. if and only if:
  81.  
  82.    A) The version of REMM is capable of selecting the 'E' block.
  83.  
  84.    B) All system memory is located on a FASTRAM card.
  85.  
  86.    C) No other device is utilizing that same address range.
  87.       (i.e. Expansion ROM's or Device Drivers)
  88.  
  89.  
  90. VIDEO BOARDS & REMM
  91.  
  92. One of the most common devices that occupy the reserved area between 640KB and
  93. 1MB are the various video boards.  Below are listed the various video
  94. standards and the most appropriate exclusions to use with REMM to avoid any
  95. conflict.
  96.                            ________________________
  97.                           |                        |
  98.                           | MONO      /X=B000-BFFF |
  99.                           | CGA       /X=B800-BFFF |
  100.                           | EGA       /X=A000-C3FF |
  101.                           | VGA       /X=A000-C7FF |
  102.                           |________________________|
  103.  
  104.  
  105. REMM & AST-3G CARDS
  106.  
  107. However, there are now video adapter cards that emulate several modes and may
  108. require a different set of exclusions because of their versatility.  One good
  109. example is the AST-3G Cards.  Below are listed the various video modes and the
  110. most appropriate exclusion to use with REMM to avoid any conflict.
  111.                            ________________________
  112.                           |                        |
  113.                           | MONO      /X=A000-C3FF |
  114.                           | CGA       /X=A000-C3FF |
  115.                           | EGA       /X=A000-C3FF |
  116.                           |________________________|
  117.  
  118.  
  119. REMM & VGA
  120.  
  121. The new VGA boards are becoming more attractive to the computer world with its
  122. larger color palette and improved performance.  The AST VGA boards contain
  123. ROM's whose address range is from C000-C7FF.  Display memory occupies the
  124. range from A000-BFFF.  The proper exclusion statement would be:
  125.                            ________________________
  126.                           |                        |
  127.                           | VGA       /X=A000-C7FF |
  128.                           |________________________|
  129.  
  130. There are some VGA boards that are using some memory outside the range set
  131. aside for the VGA standard.  If this is the case then it would be best to use
  132. the following exclusion:
  133.                            ________________________
  134.                           |                        |
  135.                           | VGA       /X=A000-CFFF |
  136.                           |________________________|
  137.  
  138. N.B. Some VGA boards are 16 Bit Cards. Please see section REMM IN 16 BIT MODE.
  139.  
  140.  
  141. REMM - NETWORKS - EMULATION BOARDS
  142.  
  143. Network & Emulation Boards can present a very interesting environment for
  144. REMM.  For the most part, most of these boards contain ROM on them that allow
  145. for self-diagnostics and initialization.  The ROM must be accessible to the
  146. microprocessor and so usually occupies a small range of memory above 640KB and
  147. below 1MB.  It is important to determine where that ROM resides and to make
  148. REMM avoid it by use of the proper exclusion parameter.  If the manufacturer
  149. of the expansion board allows the ROM to be addressed at various locations
  150. then that aids in making all these devices work together in harmony.  However,
  151. once the config.sys has been installed , these boards may require a window of
  152. memory so that they can pass data.  REMM may have installed itself
  153. successfully but may have been corrupted by another intruding memory window.
  154. It is most important that the system integrator be aware of the memory
  155. requirements of all devices.
  156.  
  157.  
  158. REMM IN 16 BIT MODE
  159.  
  160. It is only in light of recent technical advances that the current subject be
  161. discussed.  There are now in the marketplace video boards that operate in 16
  162. Bit mode.  This is done to increase the performance of video in a system.
  163. While this is a great benefit, it requires a bit of thought in using REMM.
  164. REMM can operate in either 8 Bit or 16 Bit mode.  REMM has always defaulted to
  165. 8 Bit mode but may be used in 16 Bit mode by use of an undocumented parameter
  166. /M.  REMM can only be used in 16 Bit mode if it is in a 128KB segment by
  167. itself or sharing it with another 16 bit device.  8 bit and 16 bit devices
  168. cannot occupy the same 128KB segment.
  169.  
  170. When you break up the 1MB of addressable memory into 128KB segments, there are
  171. a total of eight segments divided as follows:
  172.                      _____________________________________
  173.                     |                                     |
  174.                     |   128KB Segments   Binary (default) |
  175.                     |_____________________________________|
  176.                     |                                     |
  177.                     |    E000 - FFFF            0         |
  178.                     |    C000 - DFFF            0         |
  179.                     |    A000 - BFFF            0         |
  180.                     |     512 - A000            1         |
  181.                     |     384 -  512            1         |
  182.                     |     256 -  384            1         |
  183.                     |     128 -  256            1         |
  184.                     |       0 -  128            1         |
  185.                     |_____________________________________|
  186.  
  187. The eight segments are assigned a binary digit that comprise one byte.  The
  188. eight bits of 00011111 can be converted to the hexadecimal number of 1Fh.
  189. This is the default mode of REMM which recognizes 0 - 640KB as being 16 bit
  190. accessible memory while the area above 640KB and below 1MB are accessible in 8
  191. bit mode.  In order to access a segment in 16 bit mode just place a one in the
  192. segment that needs to be accessed in 16 bit mode.  Convert the new binary
  193. number to a hexadecimal number.  This is the number that will be used with the
  194. /M parameter.
  195.  
  196. EXAMPLE:
  197.  
  198. Using an AST-VGA+ video adapter (16 bit card) and REMM, the proper statement
  199. in the config.sys file would be:
  200.                 _______________________________________________
  201.                |                                               |
  202.                | DEVICE=REMM.SYS /M=7F /X=A000-C7FF /S=C800 /N |
  203.                |_______________________________________________|
  204.  
  205. REMM will now operate in 16 bit mode and reside in the same segment as another
  206. 16 bit device - the AST-VGA+ video adapter card.
  207.  
  208. CONCLUSION
  209.  
  210. In the  early days of computing with the IBM PC, life was very simple.  If
  211. you  had an empty expansion slot and an expansion board it was easy to
  212. upgrade  your system.  Drop the  board in and power up the CPU.  Now however,
  213. with  more boards  and the complex requirements made upon the operating
  214. system,  more thought will be needed to fine tune the micro- computer to the
  215. specific tasks required by the user.
  216.