[comp.sys.ibm.pc] INT 21H AH=50H/51H under DOS 2.11

gary@apex.UUCP (Gary Wisniewski) (11/13/87)

We have developed a TSR database product called FrontRunner.  However,
under DOS 2.11, the undocumented INT 21 calls AH=50H and AH=51H behave
slightly differently.  Under DOS 3.XX, any process called from INT28
has free rein *except* in calling DOS calls 0h-0ch.  However, under
DOS 2.XX, the restriction extends from 0h-ch and includes 50h and 51h.

Problem:  Since any TSR which uses the file system needs to save its
	  PID via 50h and 51h, and since DOS 2.XX doesn't allow this
	  when called from a TSR invoked from INT28, there seems to
	  be no way to ensure PID integrity under DOS 2.11.

Any insights into how PIDs can be safely saved and restored under DOS 2.11
within an INT28 TSR??

I know that all of the above features are undocumented, but who can write
a full-featured TSR without taking these things into consideration?

Gary J Wisniewski
Apex Software Corporation.

{allegra,bellcore,cadre}!pitt!darth!apex!gary
Phone: (412) 681-4343

simrin@mis.ucsf.edu (Steve Simrin) (11/16/87)

 The address of the critical error flag is obtained using function 5Dh.
 On the call, AL contains a value of 06h. On return, DS:SI points to the
 critical error flag.

 Be forewarned that this is all undocumented but it is used by many TSR
 programmers.