SECTION 5
Communications and Device Support
PEN*KEY
R
6200/6300 Hand-Held Computer Programmer’s Reference Guide 5-33
Upper Memory Provider
UMP.SYS is an
upper memory provider
. It supports the minimal set of XMS
function calls required to provide upper memory to DOS when you have a
DOS=UMB
" statement in the CONFIG.SYS file.
The upper memory provider (UMP) supplies all upper memory block elements, in
the range of C000ćEFFF, on a 6200 or 6300 Computer with SCAMP. It can be
used with HIMEM.SYS, or as a standĆalone program. The UMP does not
support the XMS calls that deal with the deallocation or reallocation of upper
memory blocks.
The UMP is similar to EMM386.EXE for loading devices into high memory area.
Unlike EMM386 with the NOEMS switch, the UMP supplies DOS with memory
from the first megabyte of the system memory. This is memory that would
otherwise be available for use as shadow RAM. EMM386 does not know how to
program the memory controller to access this memory; so it uses some of the
extended memory to emulate upper memory.
The UMP is also much smaller and simpler than EMM386. Since EMM386 is a
virtual mode system extension, it also slows down processing somewhat as it
handles special exception interrupts that are required when providing virtual
memory to DOS. If you want upper memory and do not need expanded memory,
the UMP uses less system memory, therefore making more memory available to
the system.
Option ROM blocks automatically are scanned for and reserved (that is, left
untouched). A single command line switch is provided to force the UMP to
reserve memory block elements, other than those with option ROM signatures in
them. The syntax for this switch is
/X=aaaa[,aaaa]
where the addresses
specified are hexadecimal starting addresses for each block of memory to be
reserved. The complete list of the blocks available in hardware is C800, CC00,
D000, D400, D800, DC00, E000, and E800. Note that the last two blocks are 32
KB in size instead of 16 KB. This is a hardware constraint defined by the
memory controller in the SCAMP. The following examples require version 1.28
or later for the 6300 Flash and version 1.02 or later for the 6200 Flash.
1. Provide upper memory (CC00ćEFFF) without using HIMEM.SYS:
DEVICE=UMP.SYS /X=C800
DOS=UMB
DEVICEHIGH=...
The preceding configuration reserves the C800ćCBFF address range used
by ROM BIOS to support PC Cards. If you do not reserve the address space
used to access PC Cards, access is blocked after loading the UMP. If you
are not using any PC Cards, you need not reserve any address space.
2. Provide upper memory (C800ćCFFF, E000ćEFFF) and HMA memory,
using both HIMEM.SYS and UMP.SYS:
DEVICE=HIMEM.SYS
DOS=HIGH
DEVICE=UMP.SYS /X=D000,D400,D800,DC00
DOS=UMB
DEVICEHIGH=...
The preceding configuration reserves the D000ćDFFF address range used by
CardSoft to support PC Cards. You must reserve the address space required by
CardSoft in order for it to function normally. If you have customized your
CardSoft configuration, you may need to exclude a different set of addresses;
check the MEM switch in your CSALLOC.INI file.
5. Communications
and Device Support