delorie.com/archives/browse.cgi   search  
Mail Archives: opendos/1998/10/21/16:51:33

From: DH473 AT AOL DOT COM
Message-ID: <3d02d00e.362e481d@aol.com>
Date: Wed, 21 Oct 1998 16:46:21 EDT
To: b52g AT usa DOT net
Cc: opendos AT delorie DOT com
Mime-Version: 1.0
Subject: Re: How to look for the DOS BIOS code?
X-Mailer: AOL 3.0.i for Windows sub 83
X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id QAA15746
Reply-To: opendos AT delorie DOT com

b52g AT usa DOT net (Joseph Morris) wrote on Fri, 16 Oct 1998:

>> how to find the memory location for the "DOS BIOS code"?

>If you mean 'where does IBMBIO sit in memory', the answer is that it resides
>in two places, since most of it is relocated to HMA (in many configurations).

Okay, now it´s clear to me, I´m talking about the relocatable part ( :-) ).
"DOS BIOS code" is the output obtained from MEM.EXE.

>The HMA-relocated parts tend to start in the same position for all versions,
>IIRC, according to a proprietary HMA allocation scheme which I do not know.

That proprietary (???, depends on point of view) HMA memory allocation scheme
is known to me (as far as INTERRUPT LIST explains; it´s consistent with my
debugging), but the relocatables (DOS BIOS code + DOS kernel code) don´t fit
into that chain. So, that´s not the way it works.
As I used to work only with DRDOS 5 (ok, no longer), 6 (I´ll keep using in a
subnotebook.), Novell DOS 7 -
I could rely on the rule (pseudocode):
IF DRDOS_ID IN (65h, 67h, 71h, 72h)
   IF DOS_in_HMA 
       ;;relocatable DOS BIOS code is also in HMA.
       Only_bad_boys_patch_something_in_the_bioscode_on_runtime
   ENDIF
ENDIF

>Bear in mind that the precise addresses of each part will vary depending on
>the -release- of the kernel, e.g. there are at least 4 versions of 7.02
alone.

Indeed, thats the point. I made ´my´ version of  ....DOS 7.02 loading the
resident part of the first copy of COMMAND.COM into HMA with the SIZE=nnnn
switch (discussion in May about ´Memory optimization help...´). But that kicks
the BIOS kernel (which is less in size) off of the HMA - nice relocatable
feature :-( .
So in the end I need some kind of pointer or segment to the memory location of
the ´real and valid in the moment´ relocatable DOS BIOS code.
 
BTW there are 4 versions of 7.02 ?, what did I miss ?, how to distinguish
between ?, IBMBIO.COM: OpenDOS BIOS kernel, 7.02 (971119); IBMDOS.COM: OpenDOS
BDOS kernel, 7.02 (971205).


>I can't imagine what you plan to do with this information...
Just to transform an ugly, unreliable and disgraceful patch into a little bit
more reliable one. ;-)


Utz Zarwell
<dh473 AT aol DOT com>

- Raw text -


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