Date: Mon, 28 Jun 1999 17:12:56 +0100 From: Matthias Paul Subject: Re: DRDOS 7.03 loading XMS-driver now wastes memory To: opendos AT delorie DOT com Message-id: <8D8E28197F@reze-1.rz.rwth-aachen.de> Organization: Rechenzentrum RWTH Aachen X-Mailer: Pegasus Mail v3.22 Reply-To: opendos AT delorie DOT com Some while ago this month, Utz Zarwell wrote: >> Sometimes I use to run the HIMEM.SYS from PC-DOS7 as XMS-driver. >> It consumes only about 750 Byte of my precious DOS memory. >> Now with DRDOS 7.03 it occupies 32 KB more when loading! In the meantime I was able to isolate the modification that causes this behaviour. However, to me this does NOT appear to be a bug in IBMBIO.COM. I m still thinking about a real solution for the problem... Attached is a DEBUG script to patch IBMBIO.COM so that the effect is no longer showing. However, this has other drawbacks (see below), and cannot be considered a solution, only a temporary workaround. Field experiences are most welcome... Hope it helps, Matthias PS: In the follow up to the original post, I suggested to use CLOAKING instead of DPMS and Utz asked me, where to get it. Recently I bought a Logitech OEM Pilot PS/2 mouse with a wheel as 3rd button (ca. 30,- DM). It was a bulk issue, but still came with two driver disks of Logitech MouseWare 8.20, which also contained the CLOAKING.EXE driver. (However, I was not able to find the driver in the 8.32 update available in Logitech s download section.) ---8X--- Snip here ---8X--- ; Copyright (C) 1999 by Matthias Paul. All rights reserved. ; ; This is provided "AS IS" without warranties of any kind! ; Use at your own risk! Improper use may cause serious loss of data! ; ; Description : Caldera DEBUG 1.50+ script to patch the DR-DOS 7.02+ ; IBMBIO.COM (1998-04-16) file to reserve only 16A0h ; bytes instead of 2160h bytes for the primary ; COMMAND.COM shell. ; ; Sympthom : Using certain issues of 3rd party HIMEM.SYS XMS ; drivers under DR-DOS 7.02+ (1998-04-16) or later may ; cause the XMS driver to consume as much as 35 Kb of ; low memory. This was seen using the MS-DOS 5.0 - 6.22 ; and the PC DOS 5.0 - 7/2000 HIMEM.SYS driver instead ; of DR-DOS' own XMS driver. ; The problem did not occur with MS-DOS 7.20 HIMEM.SYS ; nor with DR-DOS' own HIMEM.SYS. ; ; Solution : If the use of the DR-DOS HIMEM.SYS is not applicable, ; a (temporary) workaround is to patch the DR-DOS ; IBMBIO.COM to reserve only 16A0h bytes instead of ; 2160h bytes for the primary COMMAND.COM shell. The ; workaround, however, may imply sub-optimal memory ; allocation when DOS resides in the HMA and/or ; COMMAND.COM is relocated into the HMA. ; ; You can still try to move COMMAND.COM into the HMA by ; applying the following advanced syntax to the previous ; SHELL= directive found in [D]CONFIG.SYS, e.g. ; ; SHELLHIGH SIZE=2160 c:\drdos\command.com ... ; ... c:\drdos\ /E:512 /MH /P ; ; Alternatively, you can split this into two lines, e.g. ; ; SHELLHIGH SIZE=2160 ; ... ; SHELL c:\drdos\command.com c:\drdos\ /E:512 /MH /P ; ; Requirements: 1. DR-DOS 7.02+ (1998-04-16) IBMBIO.COM or later. ; Tested with up to DR-DOS 7.03 (1999-01-06). ; NOTE: You can query the file version number by ; toggling Scrollock on when the "Starting Caldera ; DR-DOS..." message is shown at startup, or by ; issueing "VERSION IBMBIO.COM" at the C:\ prompt. ; 2. DR-OpenDOS 7.02 or DR-DOS 7.02+ DEBUG.EXE 1.50+. ; ; HowTo : 1. Strip off the attributes from the IBMBIO.COM file ; in the root directory of your boot drive. ; 2. Copy a backup copy of the file onto a bootable ; floppy disk for emergency recovery purposes. ; 3. Run "DEBUG < IBMBIOHM.SCR" in the root directory ; of your boot drive. Carefully look out for any ; error messages! ; 4. Apply the old attributes to the patched IBMBIO.COM ; file. ; 5. Check [D]CONFIG.SYS SHELL[HIGH]= settings and ; reboot the system to let the changes become ; effect. ; 6. Always keep in mind that you're now using a ; modified "unoffical" DR-DOS kernel in the case ; of other problems showing! ; ; Version : 1.00 ; Last edit : 1999-06-25 MPAUL ; /X ; Enter extended DEBUG mode Nibmbio.com ; Name & load the BIOS from disk ; (+100h) L R ax=cx ; Save file length R cx=0 ; Find 1st match, store loc. in CX -S cs:100 L ax+100 "IBMDOS",20,20 R dx=cx ; Store loc. in DX (0 if not found) R cx=0 ; Find 1st match, store loc. in CX -SW cs:dx-14 L 1 2160,2160 ;-SW cs:dx-14 L 1 16A0,16A0 ; [To revert the patch modify above ; line!] ; If CX is zero, the correct ; CommandSizeHMA and systemSize ; value (COMMAND_SIZE=2160h) ; was not found, hence the patch ; does not alter the file (it's ; directed into dummy PSP at offset ; +0h). ; Otherwise both locations are ; patched from 2160h back to the ; old 16A0h value. EW cs:cx 16A0,16A0 ;EW cs:cx 2160,2160 ; [To revert the patch modify above ; line!] R cx=ax ; Restore file length ; Write the BIOS back to disk W Q ; Quit DEBUG ---8X--- Snip here ---8X--- ------------------------------------------------------------------- Matthias Paul, Ubierstrasse 28, D-50321 Bruehl, Germany eMail: Web : http://www.rhrz.uni-bonn.de/~uzs180/mpdokeng.html -------------------------------------------------------------------