delorie.com/archives/browse.cgi   search  
Mail Archives: opendos/1999/06/28/11:22:15

Date: Mon, 28 Jun 1999 17:12:56 +0100
From: Matthias Paul <PAUL-MA AT reze-1 DOT rz DOT rwth-aachen DOT de>
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: <Matthias DOT Paul AT post DOT rwth-aachen DOT de>
Web  : http://www.rhrz.uni-bonn.de/~uzs180/mpdokeng.html
-------------------------------------------------------------------

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019