[comp.sys.atari.st] holding programs resident

db2@pbinfo.UUCP (Vorl. Informationssysteme) (05/09/89)

Hello!
 This is my first submission to any newsgroup at all, so excuse my
 errors (and my bad english :-)

 I am working with TURBO C from Heimsoeth. I don't like the integrated
editor, so I am planning to write my own GEM-shell which should call
the command-line version of the compiler and TEMPUS as editor.
 This shell should hold all the programs (TEMPUS.PRG, TCC.TTP, TLINK.TTP, ...)
resident, i mean, it once loaded, the programs should reside in the memory
to be called from there rather than from disk.
 First experiments with Pexec() were not successful, and my documentation
about this function is very small. I don't have the developers toolkit,
so i can't read the Pexec-cookbook (or was is anywhere on the net!?!)
 After a few weeks of doing nothing about this program, i have now collected
my most urgent questions and problems. So if anyone could help my, i would
be thankful.
 And now my questions:

 1.) How can i load the programs? Pexec(3,...) is eating up all my memory,
     so i must shrink the allocated memory. But what if the loaded program
     don't want the memory to be shrunk? [correct english???]
 2.) What about relocating programs? I must be able to run the programs
     at any memory-position!
 3.) Because the code of some programs is self-modifying (i think, TEMPUS
     is just that sort of program), i must have a copy of the code.
     Therefore, the program must be loaded, stored, and to execute it,
     the code must then be copied, relocated (???) and run...
 4.) The output of .TTP and .TOS programs must be redirected. I have a
     few suggestions about how to do that, but after these programs return,
     this must be UNDONE! All my books tell me about how to do it, but not
     how to UNDO it!
 5.) What about resource-files? These are loaded by the called programs
     with rsrc_load(). I don't want to hack into the AES to catch these
     calls...

	H.-D. Siewert
	db2@corona.uucp