UMBMEM.EXE UMBMEM.EXE - C & T NEAT Upper memory Manager Copyright (c) 1991, Jay B. Harlow, All Rights Reserved. This package contains 2 device drivers to implement the UMB calls for the HIMEM.SYS XMS driver. One driver is for 386/486 only machines, the other is for 286 or above. Neither driver WILL work on an 8086 machine due to 286 & above specific instructions, not only that AT (tm) by definition is 286 or higher! This driver will only work on 286 or 386 machines that have C & T NEAT chipsets. I was meaning to write this for awhile, and with the release of DOS 5. I figured now is a good enough time. UMBMEM is being released as SHAREWARE. You may use, copy, give, or distribute this COMPLETE package any way you choose, I just ask that if you find that it is very useful for your machine that you send me $15.00 for each copy that you use in US dollars. I also would prefer that you not sell this for profit, but you may include this package as part of your package... ie Resellers may install it on the machines they sell so long as they don't include a charge for it... Jay B. Harlow dba T.S. Bradley 2501 8th St N #3 Bismarck ND 58501-1111 701-223-5502 harlow@plains.nodak.edu PACKING.LST: UMB286.EXE - 286 version of driver. UMB386.EXE - 386 version of driver. README.TXT - this readme TESTUMB.EXE - Allocates & Frees UMB blocks to see if umbmem works. TESTUMB.C - C source to test program (QC 2.51) UMBHELP.ASM - MASM source to test program (QC 2.51) TESTUMB.MAK - make file (WC 2.51) UMBHELP.H - include file I install UMBMEM on my machine by copying umb386.exe to \device\umbmem.exe then adding the above line to my config.sys Installation: CONFIG.SYS DEVICE=HIMEM.SYS <-- important needs to be first! DEVICE=UMBMEM.EXE options DOS=UMB Dos command line (AUTOEXEC.BAT) UMBMEM options OPTIONS: M=pppp number of paragraphs for minimum free block, this is the block size that a free block can be. I=mmmm-nnnn defines a useable range of upper memory to use for UMB's. If this option is specified an autoscan of shadow memory will not be performed. X=mmmm-nnnn defines a range of upper memory that should not be used for UMB's ie video memory, hard disk memory, LIM page frame. W make the available upper memory look like bios extentions. may help fool windows into enhanced mode... DEFINITIONS: pppp a hexidecimal number 0 to 4 digits. mmmm 1-4 hex digits specifying start of shadow memory nnnn 1-4 hex digits specifying end of shadow memory SAMPLE: DEVICE=\DEVICE\UMBMEM.EXE M=6 I=A000-AFFF I=C000-C7FF I=CC00-EFFF This lines loads UMBMEM with a minimum of 6 paragraphs on free memory. Valid UMB memory will be 64K at A000 (I have a Hercules MDA card), 32K at C000, and 144K at CC00. I have a Seagate SCSI controller at C800. For a total of 240K of Upper Memory. UMBMEM automatically loads itself into the first free UMB. An alternate to the above line is: DEVICE=\DEVICE\UMBMEM.EXE M:6 I:A000-C7ff I:CC00-EFFF X:B000-BFFF Which says the same thing... If you prefer: DEVICE=\DEVICE\UMBMEM.EXE this will cause UMBMEM to auto scan memory from C000-FFFF