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