How To: Load GSS*CGI drivers into DOS high memory
The default installation of PC ARC/INFO loads the GSS*CGI drivers dynamically into conventional memory. The CGIPATH environmental variable will be present in AUTOEXEC.BAT.
With DOS 5.0/6.x it is possible to load the GSS CGI drivers in upper memory, between 640K and 1MB boundaries, to save memory space. There is usually about 96K of extra memory in the upper memory area into which the device drivers can be loaded. There is also 64K of memory in the high memory area (HMA) above 1MB boundary, into which to load the DOS. Follow these steps:
WARNING: The instructions below include making changes to essential parts of your operating system. It is recommended that you backup your operating system and files, including the registry, before proceeding. Consult with a qualified computer systems professional, if necessary.
ESRI cannot guarantee results from incorrect modifications while following these instructions. Therefore, use caution and proceed at your own risk.
Here is an example CONFIG.SYS file with a discussion of each line.
This 'fools' some DOS programs to thinking an early version of DOS is running, and it runs properly. This step is optional.
SHELL=C:\DOS\COMMAND.COM C:\DOS\ /E:512 /p
Location of DOS shell and environment space defined to 512 bytes (optional). Default environment space is 256.
Sets number of files that can be open by a process (optional).
Number of 512 byte buffers (optional).
Data stacks for hardware interrupts (varies from machine to machine, may be optional for your machine).
This must be the first device driver. This is the high memory manager. You can not use DEVICEHIGH to load this driver.
This is the next device driver. It handles expansion memory and loading of devices into the upper memory area. The 'noems' says that no program will use expansion memory. If you have a program that needs ems memory, please see your DOS manual for the correct configuration. You can not use DEVICEHIGH to load this driver.
Loads the GSS CGI VGA driver into memory. Put the device driver of your choice here.
Other GSS CGI driver(s) using devicehigh command (if any) may follow.
Loads GSS GSSCGI driver into upper memory. This MUST be the last GSS CGI driver.
Other device drivers load with DEVICE or DEVICEHIGH may follow.
Turns break key on.
Loads DOS into the HMA area (first 64K above 1MB boundary) and makes it possible to load device drivers into the upper memory area.
1. Make sure the correct environment variables are set in your AUTOEXEC.BAT. For example, the VGA driver used above requires that you SET the DISPLAY environment variable like this:
There are three variables that are commonly set:
DISPLAY (SET DISPLAY= )
PRINTER (SET PRINTER= )
PLOTTER (SET PLOTTER= )
See the CGI.CFG on the ARCEXE\CGI directory for the other variables that can be set. You will need to have first run CON-CGI prior to this step. Set the CGIPATH to run CON-CGI. Disable CGIPATH when finished.
2. Make sure you don't have CGIPATH set in your AUTOEXEC.BAT, otherwise the CGI drivers will be loaded into conventional memory in addition to upper memory.
3. If you want to use the VDI version of a program, instead of the CGI version (ARCPLOT, ARCEDIT, ALLOCATE and ROUTE) make sure the dummy file VDI exists under the \ARCEXE\CGI directory. The CGI version of programs tend to run slower than the VDI versions when doing POPUPs, FORMs, SCREENSAVEs and SCREENRESTOREs. Some drivers work only with VDI, some with CGI only and others with both.
4. To change the GSS CGI drivers being used, you must do one of the following:
a. Temporarily set the CGIPATH environment variable to the location of the CGI directory (usually under ARCEXE). Use CON-CGI to extract the different drivers. Change your CONFIG.SYS and AUTOEXEC.BAT file to load different GSS CGI drivers. Reboot your system. This will load the different drivers into upper memory.
b. Set the CGIPATH environment variable to the location of the CGI directory (usually under ARCEXE). Use CON-CGI to extract the different drivers. Run what ever graphics program you want to do. Note this loads the GSS CGI drivers into conventional memory, not upper memory. Use CON-CGI to bring back the previous drivers. Set the CGIPATH environment variable back to nothing.
5. Use this command to see how memory is allocated and how much is left.
MEM /C | MORE
6. Instead of loading the GSS CGI drivers into high memory, you may want to load everything else into high memory (cache drivers, mouse drivers, network drivers) and let the GSS CGI drivers be loaded into conventional memory. This allows you the freedom to change the GSS CGI drivers when you want to without much hassle. But this is done at the expense of conventional memory.
7. There is no way to load file buffers (buffers=nn) into upper memory. This feature is available with other memory managers, but not DOS 5.0/6.x.
PC ARC/INFO 3.4.2 uses CGI versions of graphics programs only.