Expanded Memory Questions And Answers

DocumentID: 610856
Revision Date: 29-Feb-96 1:34:36 PM

The information in this document applies to:
WordPerfect® 5.1 for DOS

Problem

Solutions: FYI: Question 1: All expanded memory simulators worked with WordPerfect 5.0. Is WP 5.1 "pickier" than WP 5.0? Answer 1: WP 5.1 makes much more extensive use of expanded memory than did WP 5.0, including calls to many LIM 4.0 functions that were not called in WP 5.0. A number of expanded memory simulators (and other expanded memory managers as well) report themselves as being LIM 4.0 compatible when, in fact, they either do not implement all the 4.0 functions, or implement them incorrectly. This situation is improving as many EMM (expanded memory manager) manufacturers update their products to correctly implement all the LIM 4.0 functions. The vast majority of the problems reported with WP 5.1 and expanded memory managers fall into one of three categories: 1. The expanded memory manager is flawed. This has nothing to do with whether the expanded memory manager is a "simulator." The same problem can occur with hardware expanded memory ("true" expanded memory). If the EMM has problems, there is no guarantee that the /32 switch will allow it to work. It might, and should always be tried, but there is no guarantee. The reason that using /32 might fix the problem is that LIM 3.2 has been around much longer than LIM 4.0 and is simpler than LIM 4.0. Most EMMs correctly handle 3.2. 2. The expanded memory manager identifies itself as fully supporting 4.0 when in fact it does not. Again, this has nothing to do with whether the expanded memory manager is a "simulator." The same problem may be true of any expanded memory manager. In this case, using the /32 switch will fix the problem (assuming that the EMM fully supports LIM 3.2, which will usually be the case). Also, remember that LIM 3.2 is a subset of LIM 4.0. To say that an expanded memory manager fails because it identifies itself as LIM 4.0 but uses LIM 3.2 is incorrect. The reason for failure is not the use of LIM 3.2 but rather the failure to fully support LIM 4.0. Above Disk is the only EMM WPCorp knows of that specifically had this problem, and they have fixed it. 3. The expanded memory manager is a "simulator" that seems to work fine with other software using expanded memory but does not work with WP 5.1 prior to the 01/19/90 maintenance release. It will not work with or without the /32 switch. In this case, the fact that the EMM is a "simulator" (this means that the expanded memory is either a hardware add-on board or an EMM designed specifically to run on the 386 microprocessor) indicates that it is having a problem with data aliasing. Data aliasing (sometimes called address aliasing) is something that true expanded memory can do, but which "simulators" cannot. The only remedy for this problem is to get "true" expanded memory or to get the 01/19/90 or later maintenance release of WP 5.1. Prior to that time, WP 5.1 made use of data aliasing when using expanded memory. This was changed with that maintenance release. Question 2: LIMSPEC 4.0 uses only one file handle. If the customer has an expanded memory manager that uses LIMSPEC 3.2 or uses the /32 then several file handles are used. Should customers increase the file handles if they are using 3.2? Answer 2: No. Expanded memory does not use file handles, it uses memory handles set up by the EMM. Question 3: Why does the /W option have to be used to allow WP 5.1 to use all possible expanded memory? Is it not possible to make a design change to allow WP 5.1 to use all expanded memory automatically? Users have a hard time understanding when they have 640K expanded and they use the /R and they get a "Not Enough Expanded Memory" error unless they use the /W option. Answer 3: WP 5.1 is designed to use only 87% of the available expanded memory unless you specify that all expanded memory be used with the /W-*,* startup option. This could certainly be changed if it was demonstrated that the change would be an improvement over the existing situation. Question 4: When are exclusion statements necessary? For example, is an exclusion always necessary if the user has a VGA card or is it only with certain VGA cards (and do all VGA cards use the same addresses in memory). Is it needed for a network card, mouse, other resident programs? Answer 4: Exclusion statements are necessary. They prevent the EMM from overwriting video memory, network memory, and so forth. If exclusion statements are not used, the computer can lock very often. Version 4.23 of QEMM requires exclude parameters for some VGA and network cards (and possibly for other unusually devices such as scanner cards). QEMM 5.0 is much better about recognizing these devices than was 4.23, so exclude parameters are not normally required for QEMM 5.0. Most VGA cards have a ROM starting address of C000. Some VGA ROMs end at C5FF, but most end at C7FF (these memory addresses are in addition to the A000-AFFF VGA graphics memory area and B800-BFFF VGA text memory area). Question 5: Is the /32 considered a final solution or is there more testing going on? Answer 5: The /32 startup option was added to accommodate expanded memory managers that did not correctly implement the LIM 4.0 functions, as described in answer #1. Question 6: What is the status on View Document and List Files in WP 5.1? Answer 6: View Document has been updated to make somewhat greater use of expanded memory. These changes will be included in the next maintenance release after 03/30/90. There are not any considerations to use expanded memory in List Files, because there are no "Out Of Memory" problems in List Files. Question 7: What are the main differences between 3.2 and 4.0 LIMSPEC? Answer 7: There are many differences between LIM 3.2 and LIM 4.0. The improvements in LIM 4.0 most important to WP are as follows: a. An increase in the maximum amount of expanded memory from 8M to 32M (although WP can only use a maximum of 16M) b. An ability to grow or shrink the number of 16K expanded memory pages allocated to a single expanded memory handle. c. Function calls that provide a convenient way to copy blocks of data between expanded and conventional memory and between different parts of expanded memory. Question 8: Why does WP not use extended memory? Answer 8: The main barrier to the use of extended memory by WP is that, until recently, there were no well-defined and standardized conventions for allocating and deallocating portions of extended memory. Recently, there seems to be a growing acceptance of Microsoft's eXtended Memory Specification (XMS), so it may be more feasible for WP to use extended memory in the future. Question 9: What functions currently use expanded memory? What functions are going to use expanded memory in future releases? Answer 9: The functions which currently use expanded memory are: 1. Spell 2. Generate 3. Hyphenation 4. Printing Graphics 5. Virtual files 5. File caching View Document will make somewhat greater use of expanded in the next maintenance release after 03/30/90. WP is trying to make greater use of expanded memory in as many functions as possible. Question 10: Why does View Document not use expanded memory yet? (Remembering that WordPerfect 5.1 has been released since November 1989.) Answer 10: The implementation of view and expanded memory is not a trivial thing. It would require a rewrite of major routines. This is not something WPCorp does in an interim release. Upgrades such as WP 5.0 to WP 5.1 or WP 5.1 to WP 5.2 are for this purpose. View Document will make somewhat greater use of expanded in the next maintenance release after 03/30/90. Question 11: Is expanded memory below 1M ever addressed? There are customers who convert the 384K over 1M to expanded (total RAM = 1M). Can this 384K of memory be used for virtual files, or temporary work space? Answer 11: In computers that have a total of 1M memory, 640K is normally devoted to base DOS memory and the additional 384K is extended memory addressed above the first 1M. There are device drivers that can convert this 384K of extended memory to expanded memory that can then be used by WP just like any other expanded memory. Question 12: Are parts of WP.FIL ever temporarily loaded into expanded memory, even when WP/R is not used? Answer 12: Yes. When WP reads an overlay into the overlay buffer in its memory image, it is then cached to expanded memory from where the next overlay is read from the next time it must be used. The overlay is cached just like any other file. Whether WP reads a menu or overlay, it is cached. Question 13: What is the minimum amount of expanded memory needed to use WordPerfect 5.1? Answer 13: When running LIM 4.0, expanded memory is used a single page (16K) at a time. When running LIM 3.2 or using the /32 switch, expanded memory is allocated in groups of pages with each group being greater than or equal to one pages in size. The number of pages in each allocation group is affected by the number of expanded memory handles available and the number of logical pages available. This has nothing to do with the data aliasing issue. Question 14: What is the minimum amount of expanded memory needed to use WordPerfect 5.1 with the /32 and /R start up option used together? Answer 14: The following information is true for WP 5.1 releases before 05/31/91: - No extra memory is needed for the /32 option. To figure out how much expanded is needed use the following expression: 03/30/90 Interim Release: WP.FIL = 596622 bytes NOTE: 16K = 16384 (((size of WP.FIL + (16K - 1)) DIV 16K) * 16K) + 16K Using the given size of the WP.FIL, the formula works as follows: (((596622 + (16 -1) DIV 16K) * 16K) + 16K (37.41 * 16K) + 16K In order to proceed, WP needs to round down to a whole number (of EM pages). (37 * 16K) + 16K = 622592 which equals 608K. This is the amount of expanded memory needed to store the WP.FIL file and have one page free for virtual files. Running from under Shell, WP will only use 88% of available expanded memory. 608K is 88% of 691K of expanded, but since expanded memory is only allocated in 16K blocks, WP must round up to the nearest 16K, or 704K. The minimum amount of available EM required to run /R is: 720896 bytes or 704K. - The 03/30/90 interim release can run the /R option with 608K expanded memory if you also specify the /W-*,* startup option as described in answer #3. - For the 09/25/91 and later releases of WP 5.1 (WP.FIL=617,619) and 03/09/92 (WP.FIL=617,745) the minimum expanded memory requirements for the /R option would be 624K from DOS and 720K from Shell. Using the workspace switch, the command line entry would therefore read WP/R/W-*,624 or the AUTOEXEC.BAT file would have SET WP=/R/W-*,624. Question 15: Why, if you have over 3M of expanded memory, would you get the error message "Insufficient Memory" when you ask for WP to use all of the 3M, but don't if you use less? Answer 15: When WP 5.1 was first released, the developers created an expanded memory interface buffer that could be either 4K, 8K, or 18K. The following chart shows how the developers determined the size of this buffer. Conventional Free Workspace Equivalent Expanded Memory when WP is loaded Buffer 407,552 86 4K 408,576 87 8K 468,992 146 8K 470,016 147 18K However, since the 03/30/90 interim release, the expanded memory interface buffer has been standardized to 4K regardless of the amount of memory available. WP maintains a 32 byte pointer in conventional memory cache for each block of data stored in expanded memory. When you have a large amount of expanded memory available and a large number of data blocks stored in expanded memory, the 32 byte pointers can take up a significant amount of conventional memory cache, thus resulting in "Out Of Memory" messages when a WP feature needs to allocate some additional conventional memory. The supplied answer is correct except for the fact that the 4K standardized buffer will be implemented in the maintenance release after 03/30/90. Question 16: When a customer used WP/R/W=*,600, WP only used 589 expanded memory. WP/R/W=62,500 would give the error message "Not Enough Expanded Memory To Run WP." The result of this error message is when WP is running the /R option it will take 589 expanded memory( or how much the WP.FIL file is). This means the /W=62,500 was limiting the amount of expanded memory available and the /R needed 589K. When using the /W=*,* this will include all the available expanded memory. It will only increase by the size of the document or what you are doing in the program. If you shell out to DOS and go into WPINFO you can see how much expanded memory is being used. Answer 16: There is not enough memory allocated for the /R. You need to use the formula previously described. WP uses expanded memory only as it is needed, so WP is continually allocating and deallocating expanded memory depending on the amount actually used.

Answer:

Details:

Product specifications, packaging, technical support and information (*Specifications*) refer to theUnited States retail English version only. Specifications for other versions may vary. All Specifications, claims, features, representations, and/or comparisons provided are correct to the best of our knowledge of the date of publication, but are subject to change without notice.OUR MAXIMUM AGGREGATE LIABILITY TO YOU AND THAT OF OUR DEALERS AND SUPPLIERS IS LIMITED. IT SHALL NOTEXCEED THE AMOUNT YOU PAID TO ACCESS THE INFORMATION. SEE LEGAL DISCLAIMER.