Æ BBS: The Invention Factory Bulletin Board Service Date: 02-08-91 (07:45) Number: 10747 To: TONY BOROWIEC Refer#: NONE (Msg #2 of 12) From: QUARTERDECK CANADA Read: NO (Thread #1 of 4) Subj: DOS 5.0 Status: PUBLIC MSG Conf: DESQview (6) Direction: FORWARD (Read) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ TB>Michael, TB>Regarding Qemm 5.11 and PcKwik 2.0, there is definitely a problem TB>with expanded memory conflicts. After using PcKwik 1.53 with Qemm 5.11 TB>with no problems whatsoever, I received my PcKwik 2.0 upgrade. TB>1. Unless the screen accelerator is loaded with blanking turned off TB>(B-), the system crashes when DV 2.31 is loaded. TB>2. When Wordperfect 5.1 is loaded with the /R switch in a DV window, the TB>system crashes. TB>3. When Wordperfect 5.1 is loaded without the /R switch, the system does TB>not immediately crash, but if you load Quattro Pro or the Norton TB>Commander in another window, the screen goes blank or breaks into TB>gargage until you close each window and exit DV. TB>Multisoft told me that they duplicated the problem, and it lies with TB>Qemm, not PcKwik. They also advised me that Quarterdeck is working on a TB>fix. One thing you can try for now is disabling the ability to shrink and grow EMM handles, using the -L parameter. Better yet,... Quarterdeck Technical Note Subject: Patching QEMM-386 5.00, 5.10, 5.11, and 5.12 to resolve problems with programs that resize EMS or XMS handles Background: Starting with QEMM-386 5.00, QEMM-386 supports both the EMS (Expanded Memory Specification), which governs access to expanded memory, and the more recent XMS (Extended Memory Specification), which governs access to extended memory. Requests for EMS and for XMS memory are both filled from the same pool of QEMM-managed memory, and EMS and XMS handles (numbers that the memory manager returns to a program when the program takes a chunk of memory, so that the program can quickly identify the chunk when it next communicates with the memory manager) are managed together by QEMM-386. Both EMS and XMS contain a call that programs can make to reallocate blocks of memory; that is, to take a handle that the program has already received and increase or decrease the chunk of memory to which the handle refers. Users of QEMM-386 versions 5.00 through 5.12 may experience system instability under certain circumstances when a program makes an EMS or XMS call to increase the size of a handle. The symptom is likely to be a system crash or a reboot. Users of versions of QEMM-386 after version 5.12 should not experience this problem. In the meantime, QEMM-386 can be patched to eliminate the problem. The following procedure is intended to prevent system crashes and reboots when Reallocate Memory EMS and XMS functions are used to increase the size of EMS and XMS handles. This procedure is for use with QEMM-386 versions 5.10 5.11 5.12 *************************************************** Do NOT use this patch for QEMM-386 5.0; a separate procedure for QEMM-386 5.0 is later in this technote. If you are in doubt, go to the directory where the QEMM-386 files are located and check the date on the QEMM386.SYS file by issuing the DOS command: DIR QEMM386.SYS If the date on the file is 5:10 am 5:11 am 5:12 am then use the patch in this section. If there is no QEMM386.SYS file in this directory, then you probably have an earlier version of QEMM-386; go forward to the section that deals with the patch for QEMM-386 5.0. *************************************************** 1) Make a copy of the QEMM386.SYS file in your QEMM directory. We are about to alter your current copy of QEMM386.SYS; the copy you make will serve as a backup in case this operation fails. COPY C:\QEMM\QEMM386.SYS C:\QEMM\QEMM386.OLD (If your QEMM386.SYS is not located in the QEMM directory of the C: drive, change the path accordingly.) 2) Go to the DOS directory on the hard disk and type: DEBUG C:\QEMM\QEMM386.SYS (If your QEMM386.SYS is not located in the QEMM directory of the C: drive, change the path accordingly.) Hit the Enter key; you should see the DEBUG prompt, which is a hyphen. 3) At the DEBUG prompt, type: S 100 L F000 75 6 1 0E Hit the Enter key; DEBUG should return a segment address and an offset: xxxx:yyyy 4) At the DEBUG prompt again, use the segment address and offset that was just returned to give the DEBUG command: E xxxx:yyyy EB The address that DEBUG returned in step 3 should be used in place of the address xxxx:yyyy, which we use as an example. Hit the Enter key; the DEBUG prompt should return in a moment. 5) At the DEBUG prompt, type W Hit the Enter key; DEBUG will announce that it is writing a certain number of bytes, then it will return the DEBUG prompt. 6) At the DEBUG prompt, type Q Hit the Enter key to exit DEBUG and return to DOS. 7) To double-check your patch, type the following from the DOS prompt in your DOS directory: COMP C:\QEMM\QEMM386.SYS C:\QEMM\QEMM386.OLD (If your QEMM386.SYS is not located in the QEMM directory of the C: drive, change the path accordingly.) Hit the Enter key. COMP should return: C:QEMM386.SYS and C:QEMM386.OLD Compare error at OFFSET xxxx File 1 = EB File 2 = 75 Eof mark not found Compare more files (Y/N)? The value xxxx after OFFSET will vary from version to version of QEMM 5.1, but the rest of the message should be the same: it tells us that there is exactly one byte difference between the files, and the differing byte is EB in QEMM386.SYS and 75 in QEMM386.OLD. If COMP returns the message: Files compare ok ...then you probably failed to use DEBUG's W command to save your change, or you have compared the wrong files. If COMP returns more than one compare error, or if the bytes returned by the compare error don't match those in the above example, the procedure has failed. In this case, use the DOS command: COPY C:\QEMM\QEMM386.OLD C:\QEMM\QEMM386.SYS ... to restore the original file, and try again. If the patch was successful, you should now reboot the system and test the patched version of QEMM- 386. If the patched version of QEMM-386 fails, see the section at the end of the technote on restoring your original copy. Otherwise, you are finished with the patch. --------------------------------------------------- Quarterdeck Canada (416) 516-1349 --- ž DeLuxeżįb #6922 ž DESQview works on ANY '86 processor ž QNet 2.04: U'NI-net: Rose Media, Willowdale, Ont | 416-733-2285 50 HST NODES ® Æ BBS: The Invention Factory Bulletin Board Service Date: 05-31-91 (18:47) Number: 13287 To: ROGER RAMSEY Refer#: NONE (Msg #127 of 140) From: QUARTERDECK CANADA Read: NO Subj: THANK YOU Status: PUBLIC MSG Conf: DESQview (6) Direction: FORWARD (Read) ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ RR>Could you please tell me what version of QEMM is currently shipping? I RR>have 5.12 and have seen messages to the effect that there is now a RR>5.13. If this indeed exists, what was the reason for the upgrade and RR>what does it cost? QEMM-386 5.13 adds the functionality of two patches that were created to solve problems with versions 5.10, 5.11, and 5.12. These patches (with filenames similar to REALLOC.PAT and FUNCT-24.PAT) are available for downloading on the Quarterdeck BBS, and many other large online systems, so current users of version 5.12 can perform the update themselves. In other words, run the patches and the upgrade is free. Version 5.13, or the corresponding patches, are recommended for users of Lotus 1-2-3 version 2.3. You folks have all been REALLOC'd to death. For a change of pace, here's FUNCT-24.PAT... Quarterdeck Technical Note Subject: Patching QEMM-386 5.10, 5.11, and 5.12 to resolve problems with programs that make EMS 4.0 calls to move or exchange zero-length memory regions. Background: The EMS (Expanded Memory Specification) 4.0 provides a call (function 24) which programs can make to move information from one region of memory to another, or to exchange information between two regions of memory. Users of QEMM-386 versions 5.10 through 5.12 may experience system instability when a program makes the Function 24 EMS call to move or exchange a region of memory that is zero bytes in length. The symptom is likely to be a system crash. There is no good reason to use Function 24 on a region of length zero, but such a situation may occur when a program uses the same subroutine to implement Function 24 in a variety of different situations. Users of versions of QEMM-386 after version 5.12 should not experience this problem. In the meantime, QEMM-386 can be patched to eliminate the problem. The following procedure is intended to prevent system crashes when EMS 4.0 Function 24 is used to move or exchange zero-length regions of memory under QEMM-386. This procedure is for use with QEMM-386 versions: 5.10 5.11 5.12 *************************************************** Do NOT use this patch for QEMM-386 5.0 or earlier, or on any version of QEMM-386 later than 5.12. If you are in doubt, go to the directory where the QEMM-386 files are located and check the date on the QEMM386.SYS file by issuing the DOS command: DIR QEMM386.SYS If the date on the file is 5:10 am 5:11 am 5:12 am then use the patch in this section. If there is no QEMM386.SYS file in this directory, or if the date on the file is later than 5:12 am, then you probably have an earlier or later version of QEMM- 386, and this patch is not appropriate. *************************************************** 1) Make a copy of the QEMM386.SYS file in your QEMM directory. We are about to alter your current copy of QEMM386.SYS; the copy you make will serve as a backup in case this operation fails. COPY C:\QEMM\QEMM386.SYS C:\QEMM\QEMM386.OLD (If your QEMM386.SYS is not located in the QEMM directory of the C: drive, change the path accordingly.) 2) Go to the DOS directory on the hard disk and type: DEBUG C:\QEMM\QEMM386.SYS (If your QEMM386.SYS is not located in the QEMM directory of the C: drive, change the path accordingly.) Hit the Enter key; you should see the DEBUG prompt, which is a hyphen. 3) At the DEBUG prompt, type: S 100 L F000 8B CB 0B DA 74 F0 Hit the Enter key; DEBUG should return a segment address and an offset: xxxx:yyyy 4) At the DEBUG prompt again, use the segment address and offset that was just returned to give the DEBUG command: E xxxx:yyyy 8B CB 0B DA 74 22 The address that DEBUG returned in step 3 should be used in place of the address xxxx:yyyy, which we use as an example. Hit the Enter key; the DEBUG prompt should return in a moment. 5) At the DEBUG prompt, type W Hit the Enter key; DEBUG will announce that it is writing a certain number of bytes, then it will return the DEBUG prompt. 6) At the DEBUG prompt, type Q Hit the Enter key to exit DEBUG and return to DOS. 7) To double-check your patch, type the following from the DOS prompt in your DOS directory: COMP C:\QEMM\QEMM386.SYS C:\QEMM\QEMM386.OLD (If your QEMM386.SYS is not located in the QEMM directory of the C: drive, change the path accordingly.) Hit the Enter key. COMP should return: C:QEMM386.SYS and C:QEMM386.OLD Compare error at OFFSET xxxx File 1 = 22 File 2 = F0 Eof mark not found Compare more files (Y/N)? The value xxxx after OFFSET will vary from version to version of QEMM 5.1, but the rest of the message should be the same: it tells us that there is exactly one byte difference between the files, and the differing byte is 22 in QEMM386.SYS and F0 in QEMM386.OLD. If COMP returns the message: Files compare ok ...then you probably failed to use DEBUG's W command to save your change, or you have compared the wrong files. If COMP returns more than one compare error, or if the bytes returned by the compare error don't match those in the above example, the procedure has failed. In this case, use the DOS command: COPY C:\QEMM\QEMM386.OLD C:\QEMM\QEMM386.SYS ... to restore the original file, and try again. If the patch was successful, you should now reboot the system and test the patched version of QEMM-386. -------------------------------------------------- If the system fails after you perform this patch, you can follow the instructions in the "Installation" section of your QEMM-386 manual to recover without resorting to a boot floppy. After your system is booted successfully, copy the backup of QEMM-386 that you made back to its original name with the following DOS command: COPY C:\QEMM\QEMM386.OLD C:\QEMM\QEMM386.SYS (If your QEMM386.SYS is not located in the QEMM directory of the C: drive, change the path accordingly.) Quarterdeck Canada (416) 516-1349 --- ž DeLuxeżįb #6922 ž DESQview works on ANY '86 processor ž RoseMail 1.10: SmartNet: Rose Media Incorporated : 416-731-2285 ®