Sender: andreas AT ri DOT dasa DOT de Message-Id: <355BFE80.79A69372@ri.dasa.de> Date: Fri, 15 May 1998 10:36:16 +0200 From: Andreas Schulz Reply-To: Andreas DOT Schulz AT ri DOT dasa DOT de Organization: Daimler-Benz Aerospace, Space Infrastructure Mime-Version: 1.0 To: OpenDos Mailing Lixt Subject: Re: Memory optimization help... References: <355BD513 DOT EE271B1F AT Mindless DOT com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Precedence: bulk Daniel de Haan wrote: > > > As already said in the replies, please try to defragment your UMB area > > to get a single continous chunk. This will reduce left-over unused > > areas, and also will allow to loadhigh much larger drivers. > > How does one go about doing this? 1. Check your system configuration. If you have just a vanilla PC with no special interface cards, there should be no problem. Most common users of UMB address ranges are SCSI controllers (BIOS ROM) and network cards (BIOS ROM and buffer RAM). 2. check with mem /ap (or better msd if you have windows) what's going on in your UMB's (range C800-EFFF). Check documentation of your interface cards whether they use any UMB address range. 3. If you find your UMB area is fragmented by some BIOS ROM, check the boards documentation how (if possible) to change the default address. If not possible, you're out of luck.. Typical (bad) UMA layout : A000-BFFF : Video RAM C000-C7FF : Video ROM (32K, fixed) C800-CFFF : 32 K UMB RAM for drivers D000-D3FF : e.g. SCSI BIOS (16K) D400-D7FF : 16 K UMB RAM D800-DBFF : e.g. Network BIOS (16K) DC00-DFFF : e.g. Network RAM buffer (16K) E000-EFFF : 64 K UMB RAM F000-FFFF : BIOS ROM (64K, fixed(*)) Such a poor user should try either to move the SCSI BIOS to C800-CBFF, giving 48K unfragmented UMB for drivers and 64K for EMS frame, or without EMS, the network address spaces to C800-CFFF, giving a total of 112K unfragmented UMB. (*) Try EMM386 .... /USE=F000-xxxx to get up to 32K more UMB RAM, where xxxx is the highest possible value (usually at or slightly below F7FF) where your system doesn't crash. > > SHELLHIGH= SIZE=1B00 c:\drdos\command.com c:\drdos\ /E:1024 /MH /P > > I always forget the optimal value for SIZE. Please use the smallest > > value, which still allows to load COMMAND.COM into the HMA. > > How would I find this smallest value which still allows command.com to > load into the HMA? Trial and error :-) Takes some reboots, of course. Start with SIZE=3000 (should load High) and SIZE=1000 (should not) and check the difference with MEM /F. Then start a binary search(*) until you think you've optimized enough. (*) (don't think you will need this, but you never know) i.e. if 2000 loads high { if 1800 loads high { try 1400 ... } else { try 1C00 ... } } else { try 2800 ... } Andreas