[comp.lang.pascal] SWAP A RUNNING PROGRAM INTO HARD DISK?

zhou@brazil.psych.purdue.edu (Albert Zhou) (11/14/90)

I am planning to write a TSR program in the following way. I wonder if anybody
will comment on its feasibility:
	(1) Interrupt a running program;
	(2) Save all RAM content into hard disk;
	(3) Run the TSR program;
	(4) Upon finishing, load the original RAM content into the memory.
	(5) Return the control to the running program.

It sounds like a simplest kind of multi-tasking swap. I wonder if it is as
simple as I thought. Or there are some pitfalls here--I am not sure if there
will be any problem at step No.5.
	Hope to hear from you guys.

	By the way, I forgot to mention that I'm going to write it in Turbo
Pascal.

ajayshah@almaak.usc.edu (Ajay Shah) (11/14/90)

In article <11472@j.cc.purdue.edu> zhou@brazil.psych.purdue.edu (Albert Zhou) writes:
>
>I am planning to write a TSR program in the following way. I wonder if anybody
>will comment on its feasibility:
>	(1) Interrupt a running program;
>	(2) Save all RAM content into hard disk;
>	(3) Run the TSR program;
>	(4) Upon finishing, load the original RAM content into the memory.
>	(5) Return the control to the running program.

I can give you a great but slighty expensive solution: Object
Professional.  You can get it at mail order stores for as little
as $125 and I can't praise it enough.  It does a wonderful job of
many, many things and TSR support is just one of them.

>	By the way, I forgot to mention that I'm going to write it in Turbo
>Pascal.
But of course!
(As long as it doesn't run under Windows, i.e.)
-- 
_______________________________________________________________________________
Ajay Shah, (213)734-3930, ajayshah@usc.edu
                              The more things change, the more they stay insane.
_______________________________________________________________________________

mcastle@mcs213f.cs.umr.edu (Mike Castle) (11/14/90)

STAY42.ARC   PD1:<MSDOS.TURBOPAS> How to write a TSR program in Turbo Pascal  
STAYRES.PAS  PD1:<MSDOS.TURBOPAS> Go TSR in Turbo Pas 3.0                      
TASKER4.ARC  PD1:<MSDOS.TURBOPAS> Turbo Pascal non-premptive multitasking module
TP-TSR.ARC   PD1:<MSDOS.TURBOPAS> Sample TSR pgm in TurboPas 4/5, with src/exe
TPPOP16.ARC  PD1:<MSDOS.TURBOPAS> TPUs and ASM for popup and TSR programs    

These are all available at simtel20.army.mil (26.2.0.74) in the directory
listed above (PD1:<MSDOS.xxxxx> )  or at wuarchive.wustl.edu (128.252.135.4)
in mirrors/msdos/xxxxx.
 
If anyone knows of any other mirrored archives of Simtel20, please let me
know and I'll add them to this generic response.
 
Thanks.

I couldn't find anything dealing with loading memory back off disk into 
memory, but some of these might be helpful.
-- 
Mike Castle (Nexus) S087891@UMRVMA.UMR.EDU (preferred)       | ERROR:  Invalid
                    mcastle@mcs213k.cs.umr (unix mail-YEACH!)| command 'HELP'
Life is like a clock:  You can work constantly, and be right | try 'HELP'
all the time, or not work at all, and be right twice a day.  |

bulli@kodak.com (Thomas Bullinger (049-0711-406-2933)) (11/14/90)

There is a program called 'EXEXSWAP.ARC' on simtel20 or wuarchive in the
directory 'MSDOS.SYSUTL'. This utility can swap a program into EMS or
on disk (and of course can reload it).


+-----------------------------------------------------+
| Thomas Bullinger   | thomas@serum.KODAK.COM         |
|                    | bulli@nadia.stgt.sub.org       |
|                    | 76535.2221@compuserve.com      |
+-----------------------------------------------------+
|          DON'T worry, be happy                      |
+-----------------------------------------------------+