[comp.sys.ibm.pc.misc] High Memory in DOS??

valley@uchicago (Doug Dougherty) (03/29/91)

nksehgal@rodan.acs.syr.edu writes:


>I have a TSR which is loaded high in memory(above 640K) using 386max,
>This TSR write a string in memory to indicate that it is loaded as
>a subsequent attempt to execute it first looks for the string.  The problem is
>that it looks only in first 640K,  causing two copies to exist at the same time.

>Can some DOS guru suggest if there is an internal list of memory blocks in
>DOS that I can search for the string written out by first TSR. Or maybe 
>anyother efficient way to check other than scan the entire address space of
>386?

Actually, this is a good question, for two reasons.  First, how should TSRs
detect their presence (installation status) when the copy may be loaded
high?  (Answer, of course, is to have the installed copy hook an interrupt,
rather than having subsequent runs look through memory)  Second, how *do*
you walk the MCB chain and get all allocated memory, given that the MCB
chain ends (with a 'Z') at the bottom of the DOS "free" memory?

Good questions, these...