RESOLUTION
First you must determine what is causing your specific problem.
Complete the following procedures in order. If the first procedure
doesn't solve the problem, move on to the next one.
Step 1. Increasing Available XMS Memory
To determine how much extended memory is being used, at the MS-DOS
command prompt, type:
The MEM command will display information similar to the following:
651264 bytes total conventional memory
651264 bytes available to MS-DOS
508736 largest executable program size
1556480 bytes total in EMS memory
55706 bytes free EMS memory
4194304 bytes total contiguous extended memory
0 bytes available contiguous extended memory
48576 bytes available XMS memory
MS-DOS resident in High Memory Area
The second line from the bottom displays the amount of XMS memory
available. In the example, there are only 48576 bytes free. You need
at least 393216 bytes to run Lotus 1-2-3 version 3.1.
To make more extended memory available, try the following:
- Make sure your computer has as much physical extended memory as the
program needs.
- Make sure your CONFIG.SYS file contains a DEVICE command for
HIMEM.SYS extended-memory manager (or another memory manager that
conforms to the XMS specification). Most programs need an extended-
memory manager to use extended memory.
- If your CONFIG.SYS file includes a DEVICE command for SMARTDrive,
RAMDrive, or EMM386, these programs could be using too much of your
extended memory. If so, reduce the amount of memory specified by
editing the device command for each driver.
- Make sure your CONFIG.SYS and AUTOEXEC.BAT files don't start
unnecessary programs that use extended memory.
- If you are using MS-DOS Shell or Windows, make sure XMS is enabled
in the PIF (program information file).
Step 2: Running Lotus 1-2-3 Version 3.1 With Task Swapper
If you're using MS-DOS Shell and Task Swapper, you might solve
problems running Lotus 1-2-3 version 3.1 by making sure enough XMS
memory is specified. Before you can specify memory, you must have a
program item for Lotus 1-2-3.
NOTE: If you don't already have a program item for Lotus 1-2-3, see
page 187 in the "Microsoft MS-DOS User's Guide and Reference."
To find out if Task Swapper is enabled, open the Options menu by
clicking Options or pressing ALT+O.
- If a diamond appears next to Task Swapper on the menu, it's active.
- If Task Swapper isn't active, your problem running Lotus 1-2-3
might be solved in the next section.
To specify XMS memory in MS-DOS Shell, follow these steps:
- Select the Lotus 1-2-3 program item.
- From the File menu, choose Properties.
- Choose the Advanced button.
- Move your cursor to the XMS Memory KB Required field and type 384.
- Choose the OK button.
- Try starting Lotus 1-2-3 again.
Step 3: Setting Up EMM386.EXE to Run Lotus 1-2-3 Version 3.1
If neither of the above solutions worked, you may have an 80386
processor with EMM386 set to run with the NOEMS option. This option
makes expanded (EMS) memory unavailable. Because Lotus 1-2-3 version
3.1 and EMM386 both run in protected mode, they need to communicate to
avoid conflicts. Lotus 1-2-3 and EMM386 can use a protocol called
Virtual Control Program Interface (VCPI) to communicate. VCPI assumes
that a page (expanded memory space) exists. A page is not available if
EMM386 uses the NOEMS option. You must change the setting.
Edit your CONFIG.SYS so Lotus 1-2-3 version 3.1 works as follows:
- Use a text editor, such as MS-DOS Editor, to open your CONFIG.SYS
file. If you want to use MS-DOS Editor, type the following at the
command prompt:
- Locate the DEVICE command for EMM386.EXE. It should look like the
following:
device=c:\dos\emm386.exe noems
NOTE: If there is no DEVICE command for the EMM386.EXE device
driver in your CONFIG.SYS file, add one as described in the next
step. Make sure that the line you add appears after the DEVICE
command for HIMEM.SYS.
- Replace the NOEMS switch with the RAM switch. The device command
for EMM386.EXE should look like the following:
device=c:\dos\emm386.exe ram
The RAM switch gives programs access to both expanded memory and
the upper memory area.
- Save your CONFIG.SYS file and exit the text editor. If you're
using MS-DOS Editor, choose Exit from the File menu. When MS-DOS
Editor displays a dialog box prompting you to save your file,
choose Yes, or press ENTER.
- Restart your computer by pressing CTRL+ALT+DEL.
- When your computer restarts, type the following to see a status
report for EMM386:
The status report should look something like this:
Available expanded memory.......176 KB
LIM/EMS version..................4.0
Total expanded memory pages.......40
Available expanded memory pages...11
Total handles.....................64
Active handles.....................3
Page frame segment..............E000 H
Total upper memory available.......0 KB
Largest UMB available..............0 KB
Upper memory starting address...C800 H
The fourth line from the bottom shows you the segment where EMM386
is placing the page frame. For example, the address for the Page
Frame Segment in the sample status report is E000. Write down the
Page Frame Segment address from the status report on your screen.
- Open your CONFIG.SYS file again (see step 1 of this procedure).
- Locate the DEVICE command for EMM386.EXE, and after the RAM
switch, add the following:
where <xxxx> stands for the Page Frame Segment value you found in
Step 6. The DEVICE command for EMM386.EXE should look something like
the following:
device=c:\dos\emm386.exe ram p0=e000
The P0= setting tells MS-DOS to use a page for EMS. Using a page
instead of a page frame provides more space for programs in UMBs
(upper memory blocks). A page frame requires 64K while a page
requires only 16K, freeing 48K. The segment address tells EMM386
which segment is available for the page.
- Save your CONFIG.SYS file and exit the text editor (see step 4).
- Restart your computer again by pressing CTRL+ALT+DEL. When your
computer restarts, you'll be warned that a LIM 3.2-compatible
(64K) page frame does not exist. The standard size for a page
frame is 64K, but since Lotus 1-2-3 is using XMS memory (not EMS),
it only needs a 16K page.
- Try starting Lotus 1-2-3 again.
REFERENCES
For more information, see the following pages in the "Microsoft MS-DOS
User's Guide and Reference" for version 5.0:
Subject Pages
--------------------------------------------------
Memory in general 274-278
The EMM386 device driver 289-290; 605-609
Managing the upper memory area 318-320
Editing your CONFIG.SYS file 283-287
The Lotus product included here is manufactured by a vendor
independent of Microsoft; we make no warranty, implied or otherwise,
regarding this product's performance or reliability.