[comp.sys.ibm.pc] Dos calls within TSR's

oawx@vax5.CIT.CORNELL.EDU (11/13/88)

I'm currently writing a memory resident utility to capture the hi-res
graphics screen to a file.  (IBM assembly language)  10 seconds after
this program is loaded, it dumps the graphics screen to a file.  I plan
to use this utility to capture pictures from other programs.

I use the system timer to generate interrupts to my code.  Although the 
timing part of the code works fine, it seems that DOS function calls
from within interrupt routines don't work.  Can anybody out there help
me?  

Thank you, 

Eric Cox

zifrony@TAURUS.BITNET (11/17/88)

It seems DOS itself is not re-entrant.  That means that calling a DOS
routine from within DOS is a no-no.  Your interrupt routine, which attempts
to call DOS, may be interrupting DOS itself, and that's ashame.

I have heard of an undocumented interrupt (at least in DOS 3.30), which
enables the user to know whether its interrupt routine interrupted
a DOS service or not.  I think books dealing with TSRs mention this
function.

Sorry, I don't recall the name of any of these books.

Doron Zifrony    -  zifrony@taurus.bitnet or zifrony@Math.Tau.Ac.IL
Msc student
Tel Aviv Univ.
Israel

chip@ateng.ateng.com (Chip Salzenberg) (11/26/88)

According to zifrony@TAURUS.BITNET:
>It seems DOS itself is not re-entrant.

No kidding.

>I have heard of an undocumented interrupt (at least in DOS 3.30), which
>enables the user to know whether its interrupt routine interrupted
>a DOS service or not.  I think books dealing with TSRs mention this
>function.

I learned a lot from "The MS-DOS Bible" (the Waite group).
-- 
Chip Salzenberg             <chip@ateng.com> or <uunet!ateng!chip>
A T Engineering             Me?  Speak for my company?  Surely you jest!
	   Beware of programmers carrying screwdrivers.