With the advent of the III FR80, all of the SD4020 graphics packages supported by ACL, needed to be converted to use the FR80. Due to a rationalisation of resources only SPROGS and SMOG would be converted to use the FR80 directly. The other graphics packages, for example, CAMP and CAMPER, and the "1900 FORTRAN System for the SD4020" (hereinafter referred to as SCFOR) have been simulated. The intention, therefore, has been to mimic SCFOR using a system designed for the FR80. After studying the results of the "FR80 Questionnaire", which was sent to all 1906A users, the vast majority of affected users appeared to be content with a system which supplies only a subset of the facilities available in SCFOR. The routines that have been left out are either those that mimic hardware functions of the SD4020 and have no counterpart on the FR80, or those routines which were not of a general nature and in the time available could not be included. If the demand is sufficient, the latter type of routine may be incorporated into the simulated version of SCFOR (referred to as SCSIM).
The co-ordinate system for SCSIM is the same as for SCFOR, that is, the SD4020 raster area (0,1023,1023,0). The SCSIM system automatically makes the conversion from these co-ordinates to the co-ordinates on the FR80. The subroutine SCFOR, options 1 to 10, has been included in SCSIM and produces very similar output to the SCFOR version. When reading the descriptions of the subroutines available in SCSIM, the user is advised to have a copy of the "1900 FORTRAN SYSTEM FOR THE SD4020" Manual as it is assumed this has been read.
One noticeable difference is that SCSIM only allows one camera per job, whereas SCFOR could use up to two. The reason for this is that the SD4020 could have the hardcopy, microfilm or both cameras mounted whereas the FR80 can only have one camera mounted at a time. The camera to be used in SCSIM must be selected before the call of IDST if other than the default camera is required. The hardcopy on the FR80 is 12 inches wide and for this reason, four 6-inch wide pictures are produced per frame instead of the 7.5 inch pictures produced on the SD4020. The advance frame orders will in this case only advance to the next quarter of a frame.
Although SCSIM does not have all the facilities of SCFOR it appears, after preliminary tests, to take less time and require considerably less core when running identical programs.
To use SCSIM, the macro SCFR80 has been provided. SCFR80 is in :MACROS and can be used as a normal macro. For example, when logged in at a MOP console:
RUNJOB jobname,SCFR80,PARAM(parameterlist),JD(jobparameter)
would initiate a job called "jobname", using SCFR80. If running a background job from cards say, then the following card deck would be required:
JOB jobname,:username,JD(jobparameter) WHENEVER COMMAND ERROR, GOTO 1ERRORLABEL SCFR80 parameterlist .......... 1 ERRORLABEL ENDJOB ****
The macro SCFR80 uses the same parameter set as TASK apart from a few which were used by SC4020.FORSC4020 and a few which are peculiar to SCSIM. These are outlined below.
If PD is given as one of the parameters to the macro the following program description segment will be used for the FORTRAN program:
LIST PROGRAM (SCFR) COMPRESS INTEGER AND LOGICAL ABNORMAL FUNCTIONS USE 14=/ARRAY OUTPUT 20, (MONITOR)=LP0 INPUT 1=CR2 OUTPUT 2=LP4 OUTPUT 12=LP5 OUTPUT 13 =LP6 END
If this program description segment does not provide all that is required, the user should include the additional statements in a copy of the above.
BANLALL has no effect.
READ is defined as for SCFOR and assigns a file to input channel 1.
The binary program is saved in the specified fileo It can be run in a subsequent use of SCFR80 by including the parameter:
RUN filename
The program's output on channel 2 goes to the file SCOUTPUT.
If this parameter is not used, the output for the FR80 will be sent to the SPOOL (see FR80 User Note 3). All jobs for a particular FR80 camera will be output from the SPOOL just before that camera is loaded on the FR80. This guarantees that those users who are using the SPOOL get a faster turnround than others. Should the user find he has an exceptionally large job or he wishes to use his own tape for re-plotting at a later date say, then the parameter is passed to the macro requesting a tape.
For a large job where the user does not wish to retain the tape, a work tape may be used, as follows:
#MT14 (?,!WORKTAPE(PRTRACK7))
If the user wishes to use his own tape (assuming he has the necessary tape budget) then a 7-track pool tape can be acquired. For example:
#MT14 (?,NEWNAME(PRTRACK7))(WRITE)
would allocate a pool tape and call it NEWNAME. The mtidentifier NEWNAME will then appear in the user's proper directory and is the name by which that tape is known.
If the user already has a 7-track tape, then the following parameter can be used:
#MT14 (serialnumber,mtname(PRTRACK7))(WRITE)
This functions in the same way as for SCFOR and is used to issue a GEORGE command to be obeyed in COREIMAGE context just before the binary program is executed.
LARGE,RETAIN,TREAD,MCOMP,LOAD,TTY,TAPE OL *MT,NUM,SHORELINE,DEBUG, FIRST, LIBRARY, LIBRARYOL, NORUN, NORUNBINMany of the above list have equivalent TASK parameters. Users are referred to the TASK Manual or the 1906A Reference Manual.
LIB filename, SEMI filenameare passed to SCFR80. For more details see the TASK Manual or the 1906A Reference Manual.
I has values 1, 2 or 3 and selects the 16mm, hardcopy (4 pictures per frame) or 16mm cameras respectively. Note that I=3, only selects one camera.
This selects the 35mm camera. One of the routines CAM3S or SELECT may be called once only and must be called before IDST. To aid development of programs, however, it is possible to decide when the program is running, which of the three possible cameras is required for the run. A simple example is as follows:
READ (1 ,5) ICAM FORMAT (I1) IF (ICAM.EQ.1)CALL SELECT(1) IF (ICAM.EQ.2)CALL SELECT(2) IF (ICAM.EQ.3)CALL CAM35 CALL IDST
This outputs the identification frame onto the previously selected camera. If no camera has been selected, then a default of the 16mm is taken. This routine must be called before any other SCSIM routines except SELECT or CAM35. IDST can only be called once.
This terminates a job correctly and must be called after all other SCSIM routines and once only.
This advances the selected camera one frame. The parameter I is not used but is left in for compatibility with SCFOR. The typing position for the new frame is left at X=80,Y=O. The frame count is output in the top left hand corner.
Calling ADVAN advances the selected camera one frame and sets the typing position to X=0,Y=0.
EXPAND has no effect on the FR80 and is, therefore, a dummy routine.
This is a dummy routine.
This is similar to the SAVES routine in SCFOR but the file is only saved for the duration of the run. Thus, if I is named 'FILE1' then a subsequent call of USE('FILE]') will cause the output to go to the FR80.
Calling SAVET ends the output to file I. Note that once SAVES has been called, no output is being plotted on the FR80 and also that no call of SAVES or USE can be issued until a SAVET has terminated the first SAVES.
This will output the previously-saved file I to the FR80. The main use of this is where a user is outputting a set of graphs. He can save the labelling and the axes of the graph at the beginning of the run and then output this for each graph. All he requires to do now is to plot the points and output the appropriate titling.
This is a dummy routine and has no effect other than wasting computer time!
This moves the typing position to (X,Y).
STPTYP is a dummy routine.
SYSSET is a dummy routine.
This plots the character defined by CC, where CC is a real number in the range O≤ CC≤ 63. The values of CC are defined in Appendix 1. To simulate the heavy density of the SD4020, the character is plotted three times at point (X,Y).
This plots the character defined by CC, at the point (X,Y) once only.
This will plot the character defined by CC at the point (X,Y) N times.
This plots the character defined by CC at the point (X,Y) LEVEL times.
Aline is drawn from the point (XS,YS) to (XF,YF).
An axis is drawn from the point (X,Y) (parallel to the X-axis) to the right edge.
An axis is drawn from the point (X,Y) (parallel to the y-axis) to the top edge.
An axis is drawn from (X,Y) to (XSTOP,Y).
This draws an axis from (X,Y) to (X,YSTOP).
LTHICK is a dummy routine.
LINEBK is a dummy routine and leaves lines unaffected.
This routine will plot the character defined by CC, at the point (X,Y).
This routine will output the last text string that was written to stream 14.
If the string starts with GC, a newline equivalent to 16 SD4020 rasters is produced. That is X=0,Y=Y+16.
If the string starts with GQ, a linefeed is produced. X remains the same, Y=Y+16.
If the string starts with G*, a "switch" is set from vertical to horizontal character strings or vice versa.
If the string starts with GT and finishes with $ then the enclosed characters will be output at the current typing position in a horizontal direction. The size will be equivalent to the SD4020 hardware characters.
If the string starts with GV and finishes with $ then, as for GT, but in a vertical direction.
If the string starts with GN and finishes with $, where N is an integer in the range 0≤ N≤ 9, then the enclosed string is output using software characters. The string will be output from the current typing position in a direction specified by the last setting of the "switch". The "switch" is initially set to horizontal. The size of character will depend on the value of N. The size is (N+1)*8 SD4020 rasters that is, if N=9 a character is produced that is of equal size to one produced by PLOTSC with FACTOR=1.0.
BWRITE requires the string to start with a G and have as a second character C,Q,*,T,V, or N (as defined above). If not, the string is not output. In the case of T, V, or N, if no $ is present to terminate the string then the full buffer of 158 characters will be output.
PWRITE just calls BWRITE.
Types the character defined by CC (see Appendix 1) at the point (X,Y). The typing position is moved forward one space.
Types a blank at the current typing position and moves the typing position one character to the right.
This gives I newlines, that is, the current typing position is now X=0,Y=Y+I*16.
Calling NEWPAG advances the film one frame and sets the typing position to X=0,Y=16.
This routine prints a string of characters horizontally from the current typing position. X is the string of characters and I is the number of characters to be printed.
This is as for HORAM but characters are printed vertically.
This outputs B in E-type format from the current typing position. M is the field width and N is not used.
This outputs A in F-type format from the current typing position. E is the field width, L is the number of places after the decimal point.
This outputs I in I-type format from the current typing position. J is the field width.
These routines use the same character set as the hardware character routines but this set is of variable size.
This will plot the character defined by N (see Appendix 1). If N is greater than 63, then N-N-64. This is because SCSIM is using the ICL 1900's 64-character set. The character is plotted at the point (X,Y) at a size governed by FACTOR. It is a linear scaling of size and when FACTOR=1.0, the character is in a square grid of 80*80 SD4020 rasters. PLOTSC(X,N,Y,0,1) is equivalent to PLOT(X,CC,Y).
This will plot the character string LABEL of length K characters. The character size is governed by FACTOR as defined for PLOTSC. KOLUMN and LINE define the point at which to start plotting in the same way as for SCFOR (counting commences at 1 not zero for KOLUMN and LINE).
This is the same as TITLEH except the string is plotted in a vertical direction.
This will plot the string LABEL of length K characters at the point (KX,KY) in a horizontal direction. The size of characters is governed by FACTOR as defined in PLOTSC.
This is as for LABELH but in a vertical direction.
SCRSET is a dummy routine.
This outputs the text string LABEL of length K. Each line of text is output at X=0 and Y is set one line down from the previous call of SHLINE. The first line is output at the top of the frame and when 63 lines have been output (a full frame) a frame advance is output and typing starts at the top of the new frame. The character size is the same as for SD4020 hardware characters.
This routine also outputs a line of text but the size is governed by FACTOR, as defined in PLOTSC. The position of the text string is dependent on the current typing position. X is always set to zero for I=0, 1 or 2. For I=0, Y is set one line down from the current typing position. For I=1 it is as for I=0, but underline as well. For I=2, text is output at present Y value. For I=3, a suffix is put on the last line of text at character FACTOR (FACTOR=1.0,2.0 etc). For I=4, a superfix is put on the last line of text. The size for I=3 and 4 is a quarter of the height of the last call with I=0, 1, and 2. I=3 and 4 do not update the current typing position but should only be used immediately after a previous call to SULINE.
Decimal Value of CC |
SCFOR CHAR |
SCSIM CHAR |
Decimal Value of CC |
SCFOR CHAR |
SCSIM CHAR |
---|---|---|---|---|---|
0 | zero | zero | 32 | - | - |
1 | 1 | 1 | 33 | J | J |
2 | 2 | 2 | 34 | K | K |
3 | 3 | 3 | 35 | L | L |
4 | 4 | 4 | 36 | M | M |
5 | 5 | 5 | 37 | N | N |
6 | 6 | 6 | 38 | O | O |
7 | 7 | 7 | 39 | P | P |
8 | 8 | 8 | 40 | Q | Q |
9 | 9 | 9 | 41 | R | R |
10 | ∂ | ? | 42 | Plotting dot | ? |
11 | = | = | 43 | $ | $ |
12 | " | " | 44 | * | * |
13 | ' | ' | 45 | γ | ? |
14 | δ | ? | 46 | ~ | ? |
15 | α | ? | 47 | d | ? |
16 | ÷ | ÷ | 48 | Blank | Blank |
17 | A | A | 49 | / | / |
18 | B | B | 50 | S | S |
19 | C | C | 51 | T | T |
20 | D | D | 52 | U | U |
21 | E | E | 53 | V | V |
22 | F | F | 54 | W | W |
23 | G | G | 55 | X | X |
24 | H | H | 56 | Y | Y |
25 | I | I | 57 | Z | Z |
26 | π | ? | 58 | • | ? |
27 | Full stop | . | 59 | , | , |
28 | ) | ) | 60 | ( | ( |
29 | β | ? | 61 | ∫ | ? |
30 | ± | ? | 62 | Σ | ? |
31 | ? | ? | 63 | ⊡ | ? |
Routine Name |
Mode | Argument types |
Dummy | Section |
---|---|---|---|---|
ADVAN | C | - | - | 3.6 |
ADVFLM | C | I | - | 3.5 |
BANKALL | C | - | Yes | 3.12 |
BWRITE | T | - | - | 5.1 |
CAM35 | C | - | - | 3.2 |
C4020E | T | R,I,I | - | 5.9 |
C4020F | T | R,I,I | - | 5.10 |
C4020I | T | I,I | - | 5.11 |
EDPLOT | P | I,I,I,I | - | 4.4 |
EXPAND | C | - | Yes | 3.7 |
EXPHVY | P | I,H,I | - | 4.1 |
EXPLGT | P | I,H,I | - | 4.2 |
GXAXIS | P | I,I | - | 4.6 |
GYAXIS | P | I,I | - | 4.7 |
HORAM | T | A,I | - | 5.7 |
IDEND | C | - | - | 3.4 |
IDST | C | - | - | 3.3 |
LABELH | SC | A,I,R,I,I | - | 6.4 |
LABELV | SC | A,I,R,I,I | - | 6.5 |
LINEBK | P | I | Yes | 4.11 |
LTHICK | P | I | Yes | 4.10 |
MOVETP | C | I,I | - | 3.13 |
NEWLIN | T | I | - | 5.5 |
NEWPAG | T | - | - | 5.6 |
PLOT | P | I,H,I | - | 4.12 |
PLOTSC | SC | I,G,I,R | - | 6.1 |
PWRITE | T | I | - | 5.2 |
REDUCE | C | - | Yes | 3.8 |
SAVES | C | A | - | 3.9 |
SAVET | C | - | - | 3.10 |
SCFOR | - | I,R,R,R,R | - | 1.0 |
SCRSET | SC | - | Yes | 6.6 |
SELECT | C | I | - | 3.1 |
SHLINE | SC | A,I | - | 6.7 |
SIPLOT | P | I,H,I,I | - | 4.3 |
STPTYP | C | - | Yes | 3.14 |
SULINE | SC | A,I,R,I | - | 6.8 |
SYSSET | C | - | Yes | 3.15 |
TCP | T | - | - | 5.4 |
TITLEH | SC | A,I,R,I,I | - | 6.2 |
TITLEV | SC | A,I,R,I,I | - | 6.3 |
TSP | T | I,H,I | - | 5.3 |
USE | C | A | - | 3.11 |
VECTOR | P | I,I,I,I | - | 4.5 |
VERAM | T | A,I | - | 5.8 |
XAXSTP | P | I,I,I | - | 4.8 |
YAXSTP | P | I,I,I | - | 4.9 |
Abbreviations Used:
C Control Mode Subroutine P Plotting Mode Subroutine T Typing Mode Subroutine SC Software Character Subroutine I Integer R Real A Character String (could be an array) H Real Code for Character (See Appendix 1) G Integer Code for Character (see 6.1)
ADVAN EXPLGT LOCIO ADVFLM FCHTLE LTHICK ASSLP FISAV MOVETP ASSTLP FLEMK NEWLIN BANKALL FRBUFF NEWPAG BWRITE FRCOM NOHP CAM35 FRCLMF NOLP CHHT FRCLMT NOTK CHOCT FRCLMV OPT1 CHSP FREC1 OPT2 COMIC FREC2 OPT3 COPY FREND OPT4 C4020E FRENTS OPT5 C4020F FRFLMC OPT6 C4020I FRFLMK OPT7 DADVF FRGRXY OPT8 DCHHT FRIGN OPT9 DCHOCT FRINIT OPT10 DCHSP FROCT PLIMIT DCOL FROPMT PLOT DCOMIC FRPRIN PLOTPT DDRWNM FRSAV PLOTSC DEFBUF FRSPL PWRITE DERFIN FRTEXT REDUCE DFIN FRTPLN REGION DFISAV FRTP14 SAVES DFLMK FRTP15 SAVET DFRSAV FRTXT SCFOR DHLINS FRTXTB SCRSET DHPLOT GXAXIS SDCLP DHTEXT GYAXIS SDCORE DHTYPE HEADID SDERR DINTEN HORAM SDERRM DLNSP HPLOT SDJBNM DPLIM HPLOTS SDPRLP DPLOTP HTEXT SELECT DRAWNM HTYPE SETXY DSETX HTYPES SHLINE DSETXY IDEND SIPLOT DSETY IDFRAM STFLSR DTODX IDINFO STPTYP DTODXY IDST SULINE DTODY IFRTST SYSSET DTOX ISLL18 TCP DTOXY JSETXY TITLEH DTOY JTOX TITLEV DUPDX JTOY TSP DUPDXY JTYPEN TYPEN DUPDY JVEC USE DVALL LABELH VEC DVEC LABELV VECTOR EDPLOT LIMIT VERAM ENDSMG LIMITV XAXSTP ENDSPR LINEBK XFCHTL EXPAND LNSP XTLTST EXPHVY LOGAND XXNUMR YAXSTP
The following labelled common block names should not be defined by users in their FORTRAN programs.
COUNTF FR80TB SCFXX SCFYY SMGFR SMGHP SMGLP SMGTK SMOGC TEXTAB
The following ACL Manuals have been used in compiling this User Note. They should be read if a greater understanding of the system is desired.
1900 FORTRAN System for the SD4020 P M Nelson June 1973 The 1906A TASK System G W Robinson October 1973 SPROGS Manual R E Thomas January 1974 SPROGS Supplement R E Thomas January 1975 The 1906A Reference Manual ACL December 1974 SMOG Manual P A Dewar to be issued June 1975
This note may be regarded as a supplement to FR80 User Note 5 and is designed to point out differences between the implementation of SCFOR on the 360/195 and that previously documented on the 1906A. Although every effort has been made to ensure that the new SCFOR is a faithful simulation of the old, several changes have been forced on to us by the dis-similarity between the FR80 and the SC4020. These changes are listed below.
If the camera is selected via a call to SELECT this must be done before the call to IDST. Similariy, a call to CAM35 must precede the call to IDST. If SELECT is called with value 3, only the 16mm camera is selected.
It was felt that some users may not wish to recompile their programs but just need to Re-Linkedit them and in order that they could do this the following method of camera selection should be employed.
This method utilises a value supplied to the program via the PARM.G field of the EXEC card.
The values are as follows:
PARM.G='C=4' : black and white 35mm camera PARM.G='C=5' : 16mm black and white camera (default) PARM.G='C=7' : 12" x 12" full frame hardcopy paper PARM.G='C=8' : 6" x 6" 4 up hardcopy paper
The above method is the only one which allows the user to select the 12" x 12" hardcopy output. It also allows him to select his camera without recompiling his program. If a value other than those given above is supplied, the default camera (16m black and white) is used.
Calls to SELECT after the call to IDST are treated as Dummies.
If both a call to SELECT before the call to IDST and a value in the PARM.G field of the EXEC card are given the value in SELECT is taken.
Only one camera may be selected per run.
Page 14 of FR80 User Note 5 contains the conversion table for SD4020 hardware characters. Several rather special characters have been replaced by ? in this table as a result cf the 1906A's rather restrictive character set. The larger EBCDIC set of the 195 has allowed us to give these characters their correct values and so this table is now identical to that in use before.
No special JCL "Procedure" is required to run SCFOR on the 360/195. To use SCFOR, the user should specify SYSLIB='SYS1.SCFOR' on the EXEC card that invokes FHCL,FHCLG,AFFHCL,AFFHACLG,FGCL or any of the relevant standard RL procedures.
FORTRAN channel 12 is used to provide the user with a lineprinter summary of the graphical processing statistics.
360 SCFOR may output FR80 graphical orders to files on any one of the following:
private magnetic tape (7-track, 556 BPI or 9-track 1600 BPI) disc (scratch or private datasets) HASP spool
In addition, the package also outputs control information about each job [eg user's account, ID, time of day, routing etc]. The DD card information for each type of device is summarised below:
DDname Operand HASP SPOOL FR80 orders control GRAPHICS SYSOUT=(G,,code) Disc FR80 orders control GRAPHICS disc data set DSNAME,VOL,etc Mag tape FR80 orders control GRAPHICS tape VOL, DCB etc GRAPHMAN SYSOUT=(G,,code)
code should be one of the following:
HCS for 12" x 12" full frame hardcopy camera HCM for 6" x 6" many up hardcopy camera PR16 for 16mm black and white precision camera BW35 for 35mm black and white camera
It is the user's responsibility to ensure that the program and DD card specify the same FR80 output medium [for example, no check is made in SCFOR to ensure that 16mm pictures are not routed to 35mm or vice versa]. The authors hope, in time, to provide a FORTRAN-callable routine to enable code to dictate the output medium.
To compile, load and go with a FORTRAN program driving SCFOR. Output graphics via HASP SPOOL to "many-up" hardcopy:
//ABSMOG JOB (ABCD,AB),'UHEEP' // EXEC FHCLG,SYSLIB='SYS1.SCFOR',CPRINT=YES,PARM.G='C=8' //C.SYSIN DD * ............ FORTRAN routines ............ /* //G.GRAPHICS DD SYSOUT=(G,,HCM) //G.FT12F001 DD SYSOUT=A,DCB=PRINTER
To compile, load and go with a FORTRAN program driving SCFOR. Output to a scratch disc dataset &&SCRA created in step I for subsequent viewing, in step 3.
[Note the required DCB for &&SCRA is catalogued as XAFRDISK]
//ABTEST JOB (ABCD,AB), 'DCOPPERFIELD' ,CLASS=X // EXEC PGM=IEFBR14,REGION=4K step 1 //A DD DSN=&&SCRA,UNIT=WORK.30,DISP=(,PASS), // SPACE=(CYL,(2,1)),DCB=XAFRDISK // EXEC FGCLG,SYSLIB='SYS1.SCFOR',REGION.G=210K step 2 //C.SYSIN DD * ............... FORTRAN routines ............... /* //G.GRAPHICS DD DSN=&&SCRA, UNIT=WORK30,DISP=(OLD,PASS) //G.FT12F001 DD SYSOUT=A,DCB=PRINTER // EXEC JOBLIB,LIBRARY='SYS1.SMOG',MEMBER=VIEW$,REGION=80K step 3 //G.FT14F001 DD DSN=&&SCRA,UNIT=WORK30,DISP=(OLD,DELETE) //G.MUGWUMP2 DD DSN=MUGWUMP2,DISP=SHR
Note Some monitoring is always produced on the lineprinter by VIEW$ (G.FT06F001 in step 3) eg intensity settings, frame advances, non-identified character etc. The output may be suppressed by inserting:
//G.FT06F001 DD DUMMY,SYSOUT=
immediately after the EXEC JOBLIB card.
To compile, load and go with a FORTRAN program driving SCFOR. Output is to private 7-track tape (GRAPHM). 35mm B & W film is to be produced.
//ABFILM JOB (ABCD,AB,10),WMICAWBER /*SETUP GRAPHM,W,TAPE7,BLP // EXEC FGCLG,SYSLIB='SYS1.SCFOR',REGION.G=200K,PARM.G='C=4' //C. SYS.IN DD ,* ............... FORTRAN routines ............... /* //G.GRAPHICS DD VOL=SER=GRAPHM,DISP=(,PASS),UNIT=TAPE7, // LABEL=(l,BLP),DCB=(XAFR80,DEN=1) //G.GRAPHMAN DD SYSOUT=(G,,BW35) //G.FT12F001 DD SYSOUT=A,DCB=PRINTER
To use the procedure XASDRFL to re-linkedit a load module containing the old SC4020 package routines, which will be replaced by new ones from SCFOR. JCL and SYSIN information required is very similar to that normally used in the RL standard procedure FHL (or FGL).
The member OLD4020 (not an OVERLAY program) on the catalogued dataset ULIB.XAXA is to be re-linkedited to form a new member NEW4020 (driving the FR80) on the same dataset.
//A3TRANSL JOB (AABB,CC),CHIU,CLASS=X //EXEC XASDFRL,LIBRARY='ULIB.XAXA',MEMBER=NEW4020 //L.SYSIN DD DSN=ULIB.XAXA(OLD4020),DISP=SHR
The member OLDPLOT of the dataset SURVEY is to be re-linkedited to form a new member PLOTFR80 on the dataset SCAN. Subroutines S1, S2, S3 in OLDPLOT are overlaid against each other and this overlay structure is required in the new load module.
//EXEC XASDFRL,PARM.L=='OVLY,MAP,LIST,LET' //L.SYSLMOD DD DSN=SCAN(PLOTFR80),UNIT=DISK30, // VOL=SER=XA9999,DISP=OLD //L.LIB DD DSN=SURVEY,VOL=SER=XA9999,UNIT=DISK30,DISP=SHR //L.SYSIN DD * INCLUDE LIB(OLDPLOT) OVERLAY ONE INSERT S1 OVERLAY ONE INSERT S2 OVERLAY ONE INSERT S3 ENTRY MAIN /*