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? Content-type: text/plain; charset=ISO-8859-1 X-Mailer: AOL 3.0.i for Windows sub 83 Content-Transfer-Encoding: 8bit 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