Mail Archives: opendos/1999/06/28/11:22:15
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: <Matthias DOT Paul AT post DOT rwth-aachen DOT de>
Web : http://www.rhrz.uni-bonn.de/~uzs180/mpdokeng.html
-------------------------------------------------------------------
- Raw text -