[Prycroft Six][Software][MVS S/w][REVLMOD]

REVLMOD Processing

REVLMOD-format data is created by the REVIEW TSO command processor when a user causes PDS members from a program library to be "offloaded". "Offloading" a PDS member is the process by which information about the member and its data content sufficient for its reconstruction or "reloading" is written to a sequential file. For a load module (a partitioned data set (PDS) member created by the linkage editor or its successor the program binder) to be successfully reconstructed not only must the member contents (which includes the executable code) be successfully restored by the offload/reload process, but important information in the directory entry of the program must also be restored.

Click here for a background discussion on PDS member offload and reload processing.

Installing Software distributed in REVLMOD Format

So, you have downloaded a file, unzipped it if necessary, and now you are ready to install the software contained therein. Well, the file you have contains data which has to be read and processed by a program. The name of the program is REVLMOD. But that is not a problem because you have already downloaded or otherwise acquired the source for REVLMOD, and have assembled and link edited it into a load library so that it can now be used.

REVLMOD reads the the sequential data set allocated to the SYSIN file, and writes to the partitioned data set allocated to the SYSUT2 file.

If you have an EBCDIC editor on your emulation platform then you can edit the data to place MVS JCL ahead of the data to invoke REVLMOD. The JCL would look something like:

//             MSGLEVEL=(1,1),NOTIFY=USERID

.....   software data to be installed    ......
Now, if we had used the more usual DD * for SYSIN, any record beginning with two slashes would have been considered JCL and would therefore have prematurely ended the SYSIN file. This is avoided by using DD DATA for SYSIN. However, we still have to consider that there may be a record beginning with a slash followed immediately by an asterisk. Here the terminating delimiter in the first two bytes of a record is @$ but whichever delimiter you choose make sure that no data record starts with this string.

If the only platform you can perform editing of an EBCDIC file is MVS, then you need to transfer the file to MVS unaltered. Suppose you have a card reader at address 00C on your system, and this reader is known as READER1 to JES2.

Firstly, drain the reader with the $PRDR1 JES2 operator command. (This causes JES2 to deallocate the card reader, which makes it available for your job to allocate.)

Secondly, associate the REVLMOD data file with your Hercules card reader at 00C. Tell Hercules that the file is EBCDIC.

Thirdly, copy the file to an MVS data set with a job something like:

//             MSGLEVEL=(1,1),NOTIFY=USERID

//             UNIT=SYSALLDA,SPACE=(TRK,(10,10),RLSE),
//             DCB=(DSORG=PS,RECFM=FB,LRECL=80,BLKSIZE=6160)
Then you can process the data with a job something like:
//             MSGLEVEL=(1,1),NOTIFY=USERID

Naturally, you would customise these sample jobs before running them. Check all the data set names, units, space parameters, DCB parameters, job statement details, and add explicit volume serial numbers if appropriate to your system. And add a STEPLIB for REVLMOD if it is not in your system link list.


Load modules reconstructed by REVLMOD are bit for bit, byte for byte identical to the original load module. They are not reblocked or reordered as they might be from a delink/relink cycle. This means that REVLMOD will fail if a load module block is longer than the block size of the output library.

The maximum block size output by the pre-DFP linkage editor (such as is found on IBM's free OSs) is 18,432 (= 18 times 1,024) bytes.

As a result, all downloadable software from this site intended to run on MVS/370 can be installed on to a 3350 (or a 3380 or a 3390).

Not all software from this site can be installed on to a 3330 (regardless of model) because some block lengths may exceed 13,030 bytes.

REVLMOD does not contain logic to update overlay segment addresses upon reload, so REVLMOD cannot restore overlay programs.


Copyright 2003 Prycroft Six Pty Ltd - ABN 17 006 544 636 - All rights reserved.