home *** CD-ROM | disk | FTP | other *** search
- The Magic of REMM
- -----------------
-
- The Rampage Expanded Memory Manager (REMM) is the device driver that must be
- included in the config.sys file that allows expanded memory to be used and
- managed. ALL expanded memory whether EMS or EEMS is invisible to DOS. That
- is - DOS, cannot acknowledge or test the memory of an expanded memory board.
- It is the expanded memory manager and the application program that utilize
- expanded memory.
-
- The first expanded memory boards were manufactured according to the Expanded
- Memory Specification (EMS) developed by LOTUS, INTEL, & MICROSOFT. Only a few
- months later, AST RESEARCH announced the Enhanced Expanded Memory
- Specification (EEMS) and began shipping their EEMS boards. EEMS was a true
- superset of EMS. EEMS had all the same functions as EMS, however, it provided
- quite a bit more power.
-
-
- CHARACTERISTICS OF REMM
-
- When REMM initializes it searches for a 64KB window in the reserved area
- between 640KB and 1MB. It begins its search at C000 and jumps upward in 16KB
- increments. When REMM finds four contiguous 16KB segments that are available
- it creates its 64KB window. If REMM cannot find four consecutive 16KB blocks
- available it will fail to install itself.
-
- REMM cannot see into the future. Should a device or program attempt to use
- the same address range as REMM, then most likely REMM will crash. It is the
- task of the user to be aware of what other ROM's or programs make use of the
- reserved memory between 640KB and 1 MB.
-
- As REMM is initialized in the config.sys there are several steps that it
- performs:
-
- 1) Command line parameters are handled.
- 2) Test to see if expanded memory is in system.
- 3) Determine level of hardware support for expanded memory.
- 4) Read Switch settings from the board (if appropriate).
- 5) Generate internal tables.
- a) Handle Table
- b) Allocation Table
- 6) Test Expanded Memory.
- 7) Done - Install INT 67.
-
- N.B. Boards are checked in Base I/O order.
-
- VERSIONS OF REMM
-
- Due to the continual development of hardware and software, REMM has undergone
- many changes and will continue to do so for some time to come.
-
- REMM was first shipped by AST Research along with their EEMS boards - the
- Rampage!, Advantage Premium, and Rampage286 to name a few. The REMM driver
- was bundled along with other software utilities on the SUPERPAK Diskette.
-
- At that time in the market place the IBM standard had set the BUS speeds at
- 4.77 MHz for the PC & XT; and 6 or 8 MHz for the AT. The PC/XT and AT-class
- EEMS Boards manufactured by AST were made to operate at those respective clock
- rates. The REMM driver was written specifically with those environments in
- mind. Over time, enhancements were added to improve overall performance and
- compatibility. When AST decided to manufacture the Premium/286, they
- incorporated into its architecture the FASTSLOTS which provided direct access
- to the microprocessor at zero wait states.
-
- To take full advantage of this proprietary architecture a system specific
- version of REMM was required. The first system version of REMM to ship with
- the Premium/286 was REMM version 3.5. This version enabled expanded memory
- according to the EEMS specification. When the LIM 4.0 specification was
- announced, REMM was subsequently updated to version 4.x. If x were an even
- number then REMM was specifically updated with the Premium Systems
- architecture in mind. If x were an odd number then that version was meant for
- the add-in memory boards made by AST. For best performance, it is important
- that only a 'systems' REMM be used with AST's system products. This is
- especially true when using an AST expanded memory card in addition to the
- FASTRAM card.
-
- PREMIUM/286 & REMM VERSION 4.X
-
- The address range of E000-EFFF in the Premium/286 is available for use by REMM
- if and only if:
-
- A) The version of REMM is capable of selecting the 'E' block.
-
- B) All system memory is located on a FASTRAM card.
-
- C) No other device is utilizing that same address range.
- (i.e. Expansion ROM's or Device Drivers)
-
-
- VIDEO BOARDS & REMM
-
- One of the most common devices that occupy the reserved area between 640KB and
- 1MB are the various video boards. Below are listed the various video
- standards and the most appropriate exclusions to use with REMM to avoid any
- conflict.
- ________________________
- | |
- | MONO /X=B000-BFFF |
- | CGA /X=B800-BFFF |
- | EGA /X=A000-C3FF |
- | VGA /X=A000-C7FF |
- |________________________|
-
-
- REMM & AST-3G CARDS
-
- However, there are now video adapter cards that emulate several modes and may
- require a different set of exclusions because of their versatility. One good
- example is the AST-3G Cards. Below are listed the various video modes and the
- most appropriate exclusion to use with REMM to avoid any conflict.
- ________________________
- | |
- | MONO /X=A000-C3FF |
- | CGA /X=A000-C3FF |
- | EGA /X=A000-C3FF |
- |________________________|
-
-
- REMM & VGA
-
- The new VGA boards are becoming more attractive to the computer world with its
- larger color palette and improved performance. The AST VGA boards contain
- ROM's whose address range is from C000-C7FF. Display memory occupies the
- range from A000-BFFF. The proper exclusion statement would be:
- ________________________
- | |
- | VGA /X=A000-C7FF |
- |________________________|
-
- There are some VGA boards that are using some memory outside the range set
- aside for the VGA standard. If this is the case then it would be best to use
- the following exclusion:
- ________________________
- | |
- | VGA /X=A000-CFFF |
- |________________________|
-
- N.B. Some VGA boards are 16 Bit Cards. Please see section REMM IN 16 BIT MODE.
-
-
- REMM - NETWORKS - EMULATION BOARDS
-
- Network & Emulation Boards can present a very interesting environment for
- REMM. For the most part, most of these boards contain ROM on them that allow
- for self-diagnostics and initialization. The ROM must be accessible to the
- microprocessor and so usually occupies a small range of memory above 640KB and
- below 1MB. It is important to determine where that ROM resides and to make
- REMM avoid it by use of the proper exclusion parameter. If the manufacturer
- of the expansion board allows the ROM to be addressed at various locations
- then that aids in making all these devices work together in harmony. However,
- once the config.sys has been installed , these boards may require a window of
- memory so that they can pass data. REMM may have installed itself
- successfully but may have been corrupted by another intruding memory window.
- It is most important that the system integrator be aware of the memory
- requirements of all devices.
-
-
- REMM IN 16 BIT MODE
-
- It is only in light of recent technical advances that the current subject be
- discussed. There are now in the marketplace video boards that operate in 16
- Bit mode. This is done to increase the performance of video in a system.
- While this is a great benefit, it requires a bit of thought in using REMM.
- REMM can operate in either 8 Bit or 16 Bit mode. REMM has always defaulted to
- 8 Bit mode but may be used in 16 Bit mode by use of an undocumented parameter
- /M. REMM can only be used in 16 Bit mode if it is in a 128KB segment by
- itself or sharing it with another 16 bit device. 8 bit and 16 bit devices
- cannot occupy the same 128KB segment.
-
- When you break up the 1MB of addressable memory into 128KB segments, there are
- a total of eight segments divided as follows:
- _____________________________________
- | |
- | 128KB Segments Binary (default) |
- |_____________________________________|
- | |
- | E000 - FFFF 0 |
- | C000 - DFFF 0 |
- | A000 - BFFF 0 |
- | 512 - A000 1 |
- | 384 - 512 1 |
- | 256 - 384 1 |
- | 128 - 256 1 |
- | 0 - 128 1 |
- |_____________________________________|
-
- The eight segments are assigned a binary digit that comprise one byte. The
- eight bits of 00011111 can be converted to the hexadecimal number of 1Fh.
- This is the default mode of REMM which recognizes 0 - 640KB as being 16 bit
- accessible memory while the area above 640KB and below 1MB are accessible in 8
- bit mode. In order to access a segment in 16 bit mode just place a one in the
- segment that needs to be accessed in 16 bit mode. Convert the new binary
- number to a hexadecimal number. This is the number that will be used with the
- /M parameter.
-
- EXAMPLE:
-
- Using an AST-VGA+ video adapter (16 bit card) and REMM, the proper statement
- in the config.sys file would be:
- _______________________________________________
- | |
- | DEVICE=REMM.SYS /M=7F /X=A000-C7FF /S=C800 /N |
- |_______________________________________________|
-
- REMM will now operate in 16 bit mode and reside in the same segment as another
- 16 bit device - the AST-VGA+ video adapter card.
-
- CONCLUSION
-
- In the early days of computing with the IBM PC, life was very simple. If
- you had an empty expansion slot and an expansion board it was easy to
- upgrade your system. Drop the board in and power up the CPU. Now however,
- with more boards and the complex requirements made upon the operating
- system, more thought will be needed to fine tune the micro- computer to the
- specific tasks required by the user.
-