home *** CD-ROM | disk | FTP | other *** search
/ Reverse Code Engineering RCE CD +sandman 2000 / ReverseCodeEngineeringRceCdsandman2000.iso / RCE / +Sandman / si-ug-chapter08.txt < prev    next >
Text File  |  2000-05-25  |  10KB  |  223 lines

  1. CHAPTER 8 - Expanded Memory Support
  2.  
  3.      08.01 Introduction
  4.      08.02 Configuring the EMM Environment
  5.      08.02.01 Default EMM Pages
  6.      08.02.02 Customizing the EMM Page Map
  7.      08.02.02.01 Including and Excluding Areas from EMM
  8.      08.03 Other EMM Features
  9.      08.03.01 Increasing Conventional Memory
  10.      08.03.02 Automatic Page Frame Locating
  11.      08.04 EMM Debugging
  12.  
  13. 08.01 Introduction
  14.  
  15.      Soft-ICE has an expanded memory manager built into its kernel. The
  16.      Soft- ICE expanded memory manager supports the Lotus-Intel-Microsoft
  17.      4.0 specification. This Soft-ICE feature is useful if you are using
  18.      programs that support the EMM specification, or if you must backfill
  19.      your conventional memory to extend your conventional memory to 640K or
  20.      more.
  21.  
  22.      Other 386 control programs that provide EMM capability (such as QEMM
  23.      or 386-to-the-MAX) will not co-exist with Soft-ICE. If you are using
  24.      those programs for EMM capability or backfilling, you can use the
  25.      Soft-ICE EMM manager in their place.
  26.  
  27.      Enabling EMM capability in Soft-ICE involves the following steps :
  28.  
  29.      1. Configure the expanded memory environment with the utility
  30.      EMMSETUP.EXE. This utility modifies S-ICE.EXE with the desired EMM
  31.      page map.
  32.  
  33.      2. Add the /EMM switch to your S-ICE.EXE line CONFIG.SYS. This
  34.      reserves a portion of extended memory for expanded memory. An example
  35.      line in CONFIG.SYS that reserves memory for EMM is:
  36.  
  37.      DEVICE = S-ICE.EXE /EMM 2048
  38.  
  39.      This will reserve 2 megabytes of extended memory for EMM use. See
  40.      section 6.3 (Loading Soft-ICE as a Loadable Device Driver) for details
  41.      of installing Soft-ICE in CONFIG.SYS.
  42.  
  43.      3. Reboot your system.
  44.  
  45. 08.02 Configuring The EMM Environment
  46.  
  47.      Before installing S-ICE.EXE with the /EMM switch in CONFIG.SYS file,
  48.      you may have to run EMMSETUP.EXE to configure the EMM 4.0 environment.
  49.      This configuration process allows you to select which portions of
  50.      memory you would like to make available as EMM 4.0 pages. Running
  51.      EMMSETUP.EXE is highly recommended if you are using programs that take
  52.      full advantage of the EMM 4.0 specification.
  53.  
  54. 08.02.01 Default EMM Pages
  55.  
  56.      By default, S-ICE.EXE with the /EMM switch is pre-configured to allow
  57.      EMM 4.0 pages in the following areas:
  58.  
  59.    * The lower 640K (except for the 1st 64K)
  60.    * 64K starting at DDH
  61.  
  62.      You may want to reconfigure for the following reasons:
  63.  
  64.    * You may have a device such as a network that I the D000H area of
  65.      memory.
  66.    * You may want to fill more holes above 640K with EMM pages. This will
  67.      increase performance and usability of programs like Microsoft Windows.
  68.      To get maximum performance from Microsoft Windows you should fill
  69.      every available page with expanded memory.
  70.  
  71. 08.02.02 Customizing the EMM Page Map
  72.  
  73.      To configure the EMM map you must use the utility EMMSETUP.EXE.
  74.      EMMSETUP.EXE allows the page map to be altered, then modifies
  75.      S-ICE.EXE with the changes. EMMSETUP makes its best guess on
  76.      automatically configuring the EMM map. EMMSETUP will try to fill much
  77.      of the address space as possible with mappable pages while working
  78.      around video cards and ROMS. If its guess is not good enough or not to
  79.      your liking you can override it. Overriding may be necessary if you
  80.      have a network, a special video adapter or a memory-mapped option
  81.      adapter. To configurethe EMM map enter :
  82.  
  83.      EMMSETUP
  84.  
  85.      EMMSETUP displays a matrix of 16K memory pages available in the lower
  86.      1 megabyte region. The matrix is divided into 16 columns each
  87.      representing 64K (from 0 to 10000H). There are 4 rows representing the
  88.      four 16K pages in each 64K region.
  89.  
  90.      Each block of the matrix can contain an E, X, R or V. Blocks that
  91.      contain an E are available as EMM pages; blocks that contain an X are
  92.      not. Blocks that contain an R are memory areas that have been
  93.      identified by EMMSETUP as ROM areas. You can override these areas with
  94.      an E if desired, however, this should only be done if the ROM is never
  95.      accessed. Blocks that contain V are identified as video memory. We
  96.      have made worst case assumptions on video memory. Your particular
  97.      video card may not take up as much as we have 'guessed'. You can
  98.      override the memory blocks that contain unnecessary V's if desired.
  99.  
  100.      If you are satisfied with EMMSETUP's guesses, press the F10 key and S-
  101.      ICE.EXE will be modified with these parameters. You must reboot before
  102.      any changes made to S-ICE.EXE will take effect. If you wish to
  103.      override EMMSETUP's guesses, do so at this time.
  104.  
  105. 08.02.02.01 Including and Excluding Areas from EMM
  106.  
  107.      To include an area as EMM 4.0 memory simply guide the cursor to the
  108.      desired block, then type E. Conversely, to exclude an area from EMM
  109.      4.0 memory, guide the cursor to the block and type X. When you are
  110.      satisfied with your changes, press F10 to exit the program. All
  111.      changes are automatically stored in the S-ICE.EXE file. If you wish to
  112.      exit without modifying S-ICE.EXE press ESC. You must reboot before any
  113.      changes made to S-ICE.EXE will take effect.
  114.  
  115.      When including upper memory blocks keep in mind the following:
  116.  
  117.    * CGA occupies from B800H to C000H.
  118.    * MDA occupies from B000H to B100H.
  119.    * Most Hercules cards occupy from B000 to C000H.
  120.    * EGA occupies from A000H to C000H and from C000H to C400H.
  121.    * VGA (mother board) occupies from A000H to C000H.
  122.    * VGA (option card) occupies from A000H to C000H and C000H to C800H.
  123.    * PS/2 System ROM occupies from E000H to 10000H.
  124.    * PS/2 ESDI ROM occupies from CC00H to D000H
  125.    * Most AT Compatible Roms occupy from F000H to 10000H.
  126.    * Compaq systems, Micronix motherboard systems, and most Chips and
  127.      Technologies motherboard systems move the EGA/VGA ROM to E000H.
  128.      However they still occupy the C000H region as well.
  129.    * Token Ring Networks usually occupy from CC00H to E000H.
  130.    * Many Networks occupy memory regions in the D000H area.
  131.  
  132.      The above guidelines are for 'generic' devices, Many implementations
  133.      by different computer vendors and adapter card vendors will vary.
  134.  
  135. 08.03 Other EMM Features
  136.  
  137.      S-ICE.EXE with the /EMM switch has two features that are automatically
  138.      enabled depending on your system configuration. These features are
  139.      backfilling and relocating the page frame.
  140.  
  141. 08.03.01 Increasing Conventional Memory
  142.  
  143.      System memory will automatically be backfilled up to the first
  144.      non-mappable page. This means it starts looking at contiguous E's at
  145.      location 1000, and continues until it finds the first non-contiguous
  146.      E. If the contiguous E's go beyond the amount of your system's base
  147.      memory, memory will backfilled up to the first R, V, or X that is
  148.      found.
  149.  
  150.      The benefit of backfilling is that you can increase the amount of
  151.      usable system memory to greater than 640K. The backfilled memory is
  152.      available within DOS. If you do not want memory backfilled, use
  153.      EMMSETUP to make page non-mappable (X) at the point you wish system
  154.      memory to end.
  155.  
  156.      Note : Monochrome-only systems (MDA) can backfill up to B000H to add
  157.      an additional 64K to conventional memory CGA systems can be backfilled
  158.      up to B800, adding an additional 96K to conventional memory. EGA and
  159.      VGA systems can be backfilled only if no graphics programs will be
  160.      run. You can backfill an EGA or a VGA system up to B800:0 if no
  161.      graphics programs will be run.
  162.  
  163.      Warning : If memory is backfilled,DO NOT UNLOAD Soft-ICE. Doing so
  164.      will cause your system to crash.
  165.  
  166. 08.03.02 Automatic Page Frame Locating
  167.  
  168.      Most EMM-knowledgeable programs require a 64K page frame that is not
  169.      used as normal DOS memory. This is normally located above the video
  170.      device area. However in some systems there is no 64K contiguous region
  171.      to place the page frame. In these instances S-ICE.EXE 'steals' top 4
  172.      mappable pages of lower memory. The net result that lower DOS memory
  173.      shrinks by 64K.
  174.  
  175. 08.04 EMM Debugging
  176.  
  177.      A range break point or a break point on memory that is in an EMM
  178.      mappable area will stay at that address no matter which EMM page is
  179.      mapped in.
  180.  
  181.      When debugging EMM programs, the EMMMAP command may also be very
  182.      useful. See section 5.6 for more information.
  183.  
  184.      The D, E, S, F, and C commands can be used to view or modify any
  185.      allocated EMM handle page. The page does not have to be currently
  186.      mapped in. The syntax of these commands is similar to that of the
  187.      commands when being used for non-EMM pages, except for the following:
  188.  
  189.    * In the D, E, S, and F commands, the address portion of the command
  190.      must be specified in the following way: Hhandle# Ppage# offset where
  191.      handle is a number specifying which EMM handle to use, page is a
  192.      number specifying which EMM page to use, and offset is a number from 0
  193.      to 4000H, specifying the offset from the beginning the page. Example:
  194.  
  195.      DB H1 P3 0
  196.  
  197.      This command will dump bytes from page 3 of handle 1, starting at
  198.      offset 0.
  199.  
  200.    * The C command must be specified in the following way:
  201.  
  202.      C Hhandle# Ppage# offset1 Llength offset2
  203.  
  204.      where handle and page are the same as above. offset1 is a number from
  205.      0 to 4000H, specifying the offset from the beginning of the page,
  206.      where the first data block to be compared is located. offset2 is a
  207.      number from 0 to 4000H, specifying the offset from the beginning of
  208.      the page, where the second data block to be compared is located.
  209.      Example:
  210.  
  211.      C H2 P4 00 L10 1000
  212.  
  213.      This command will compare the first 10 bytes of memory located at
  214.      offset 0 of page 4 of handle 2 with the first 10 bytes of memory
  215.      located at offset 1000 of page 4 of handle 2.
  216.  
  217.      Note: Subsequent uses of the D, E, S, F, and C commands will continue
  218.      to use the handle and page last specified. To get back to conventional
  219.      memory, use one of the above commands with a segment specified in the
  220.      address field, for example:
  221.  
  222.      D 0:0
  223.