README.md
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.)