[comp.sys.ibm.pc] Need code for use w/Turbo Pascal 4.0 to do TSR things

afc@i.cc.purdue.edu (Greg Flint) (04/15/89)

I have a need for a TSR program, but I don't know how to set up such a beast.
My TP4 manual says that any program can go TSR via the "KEEP" function, but
that no further information or support is available.

I've scanned SIMTEL20's MSDOS directories and I've found some TSR code that
works with TP3 and some that works with an assembler.  I have neither TP3 nor
an assembler (nor the knowledge to tie the assembler to TP4 even if I had one).
I cannot get the TP3 code to work with TP4 -- something to do with a change
in how "inline" code should be set up according to the UPDATE program.

What I want to do is to create a program that does the following:

  * Before going TSR, it allows the user to specify the "hot" key.
    (I'd like to specify more that one, each of which triggers a different
    function, but I could live with one "hot" key to be followed by user
    input.)

  * It goes TSR (via the "KEEP" function or inline code).

  * After the "hot" key(s) is/are hit, it "wakes up" and executes the 
    routines that I've put in the program.

  * After running these routines, the program would let the user specify
    whether the program should remain a "TSR" or if it should quit and free
    up its allocated memory.

Sample programs or code segments that perform all or part of the above
would be best.  Directions on how to setup the pre-TSR code, specify the
entry to the "awakened" program, and how to clean up the memory also would
be helpful.

I've set the follow-up to comp.lang.pascal since I believe that this topic
may be of interest to other TP4 programmers.

Does anyone know if TP5 has any TSR support?  I plan to upgrade in the next
couple of months, but I would advance my timetable if TSR support is in TP5.

Thanks in advance.
-------------------------------------------------------------------------------
Greg Flint 	  Math G-169	    (317) 494-1787  UUCP:  j.cc.purdue.edu!gdf
  Purdue Univ.	  Purdue University		    ARPA:  gdf@j.cc.purdue.edu
  Computing Ctr.  West Lafayette, IN 47907	  BITNET:  flint@purccvm.bitnet