This UIC contains two programs, submitted by:
 
	Scott Snadow
	General Dynamics
	P.O. Box 2507, Mail Zone 4-68
	Pomona, CA  91769
	Phone: (714) 620-7511 X8262
	(Member of Orange County LUG)
 
Both of the programs are used for modifying task-image files
(i.e., output from TKB or FTB).  Their purpose is to save you the time
and trouble of re-building a program when you wish to change some of
the options that the program was originally built with.
 
MODLUN is the first program; it is used to change the values specified
(or defaulted) for the /ASG= option of TKB (or FTB).  For example, if a
task was originally built to use MT0: on logical unit #1, you can use
MODLUN to "permanently" change the program's LUN 1 to MM1: (or anything
else, for that matter).  MODLUN, however, CANNOT be used to alter the
number of luns that a program has.
 
MODTSK is the other program; it is used to change a large variety of
task-build-time switches, options, etc.  MODTSK can change:
	1.  The task's installed name (TASK= option)
	2.  The task's partition name (PAR= option)
	3.  Position-independent code switch (/PI)
	4.  Header switch (/HD)
	5.  Ancillary control processor (ACP) switch (/AC)
	6.  Post-mortem dump on abort switch (/PM)
	7.  Task slaved switch (/SL)
	8.  SEND directive to task permitted switch (/SE)
	9.  Task privileged switch (/PR)
	10. Task built in compatibility mode switch (/CM)
	11. Task checkpointable switch (/CP)
	12. Task has memory-resident overlays (presence of ! in .ODL file)
	13. Task, if privileged, maps to I/O page switch (/IP)
	14. Task is a supervisor-mode library (CMPRT= option)
	15. Task has an external header switch (/XH)
	16. Task doesn't have an external header switch (/-XH)
	17. Date task built
	18. Task priority (PRI= option)
	19. Task extension (EXTTSK= option)
Note: Items 14, 15, and 16 apply only to RSX-11M-PLUS (these items are
      untested, since I don't use 11M-PLUS).  Also, I know 15 and 16 seem
      redundant, but look in the "Detailed Task Image File Structure"
      appendix of the Task Builder Manual!
 
Restrictions:
	Changing some of these items probably doesn't make any sense
	(and probably will make a task "un-runnable" if they are changed).
	As best as I can figure, the following items should probably be
	left unchanged when you run MODTSK:
	3.  Position-independent code switch (/PI)
	4.  Header switch (/HD)
	10. Task built in compatibility mode switch (/CM)
	12. Task has memory-resident overlays (presence of ! in .ODL file)
	14. Task is a supervisor-mode library (CMPRT= option)
 
	In addition, changing the following items would have only limited value:
	5.  Ancillary control processor (ACP) switch (/AC)
	9.  Task privileged switch (/PR)
 
	With /AC and /PR, I believe that modifying these switches would be
	meaningful ONLY if you are switching between /AC:0 and /-AC (or
	/PR:0 and /-PR).  (For example, you built a task that issues the
	ABORT directive for any arbitrary task on the system, and forgot
	to specify the /PR:0 switch; using MODTSK to change the /PR
	bit would fix the problem.  But MODTSK can't change how addresses
	are mapped by the Task Builder, so if you forgot to use the
	/PR:5 switch for a program that access the executive, MODTSK can't
	help you.)
 
MODTSK was originally written to enable me to change values that the Fast
Task Builder (FTB) doesn't support; by using FTB and MODTSK in certain cases,
you can get a task built (and modified) in less time than TKB alone takes.
These are the items that MODTSK gives you that FTB doesn't:
	1.  The task's installed name (TASK= option)
	2.  The task's partition name (PAR= option)
	6.  Post-mortem dump on abort switch (/PM)
	7.  Task slaved switch (/SL)
	8.  SEND directive to task permitted switch (/SE)
	13. Task, if privileged, maps to I/O page switch (/IP)
	15. Task has an external header switch (/XH)
	16. Task doesn't have an external header switch (/-XH)
	17. Date task built
	18. Task priority (PRI= option)
	19. Task extension (EXTTSK= option)
 
(And if you need the /AC:0 or /PR:0 switch, you can use FTB to build the
task (without specifying /AC or /PR), and use MODTSK to change the appropriate
bit for you.)
 
Both programs are written in Fortran-77.
 
To compile and build them, enter @MODLUN and/or @MODTSK.
(It is assumed that your SYSLIB contains the F77 OTS.)
