🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.os.msdos.programmer
Article #3426

Critical Error Handlers and QEMM

#3426
From: Roger Lipsett
Date: Tue, 29 Sep 1992 12:31
36 lines
2340 bytes
I am in the process of modifying a critical error handler in various ways,
mostly for my own edification and amusement.  This handler is actually a TSR
that hooks INT24.  It appears to me that such a handler cannot be installed
in the usual way (that is, using INT21 function 25), because when the
program terminates staying resident, DOS restores the old values of the
INT24 vector from the PSP.  Thus, the program must write the address of the
new handler into its own PSP before terminating.  My problem is that I would
like to be able to load the thing high using QEMM (for example), but would
not like to be *forced* to do so.

When loading high using QEMM, one actually runs the LOADHI program, which
exec's the program being loaded high.  LOADHI then terminates staying
resident after the loaded program does.  Thus, DOS restores the INT24 vector
from LOADHI's PSP.  So, if being loaded by LOADHI, I need to modify LOADHI's
PSP.  I can find that by threading through the undocumented offset (80, I
think) in my PSP.  My problem is, though, how do I *know* whether LOADHI (or
whatever its equivalent is in other memory managers) is being used?  How
about memory managers such as HIMEM.SYS which, as I understand it, don't use
a separate program to accomplish this function?

Note that this kind of problem doesn't arise with normal TSR's, as they
simply hook an interrupt vector via INT21 function 25.

Any help (including help of the form "you're really doing this quite all
wrong") would be appreciated.

Roger Lipsett
Intermetrics, Inc.
Cambridge, MA 02138

+--------------------------------------------------------------------+
| internet:	lipsett@inmet.com	      | Voice:	617-661-1840 |
| uunet:		uunet!inmet!lipsett   | Fax:    617-868-2843 |
|    or:          lipsett%inmet@uunet.uu.net  |                      |
+--------------------------------------------------------------------+
Technical Details
Message-ID: <1992Sep29.123152.20212@inmet.camb.inmet.com>
Path: arc1-ca.pugleaf.net!sparky!uunet!noc.near.net!inmet!nola!lipsett

Show Full Headers
Complete Article Headers
Newsgroups: comp.os.msdos.programmer
Path: arc1-ca.pugleaf.net!sparky!uunet!noc.near.net!inmet!nola!lipsett
From: lipsett@nola.camb.inmet.com (Roger Lipsett)
Subject: Critical Error Handlers and QEMM
Message-ID: <1992Sep29.123152.20212@inmet.camb.inmet.com>
Sender: news@inmet.camb.inmet.com
Nntp-Posting-Host: nola
Organization: Intermetrics, Inc.
Distribution: usa
Date: Tue, 29 Sep 1992 12:31:52 GMT
Lines: 36