Submitting batch jobs from the reader
The IBM 29 card punch, from a film at the Deep Blue collection at the University of Michigan
In the previous post we looked at submitting batch jobs from the terminal; this time we will submit jobs from outside MTS using the emulated card reader. Using this method you can create jobs using a text editor on your host OS, submit to MTS and collect output without having to sign on interactively.
On Hercules, the emulated card reader accepts ASCII format text files, with each line representing one card. On MTS, the HASP batch scheduler reads cards from the reader and sets up batch jobs, with any output going to the printer.
Compared to submitting jobs from the terminal, you will need two additional items: a S8 card and full sign-on details.
S8 cards
For the first card in your job you will need a S8 card. This acts a header for batch jobs submitted to the reader and includes the number that will be used as the batch sequence ID.
According to the FAQ, these were handed out to users at the computer centre in UM for users to attach to their jobs and were then returned as a receipt when the job had finished.
You can create S8 cards by running the operator job *RCP
and directing output to the card punch.
Switch to the MTS operator’s console. Enter $DRAIN PCH1
to get HASP to let go of the punch then MTS *RCP
. Enter >PCH1
, NO
and two six digit numbers to select the range of IDs. Then $START PCH1
to give control of the punch back to HASP. The console should look like the below.
$DRAIN PCH1
$*OK
MTS *RCP
00053..MTS *RCP
00053 MTS MTS RECEIPT CARD PROGRAM
00053 MTS ENTER THE NAME OF THE PUNCH
>PCH1
00053 MTS ENTER YES IF RECEIPT CARDS WANTED, NO IF ONLY DECK CARDS WANTED
NO
00053 MTS ENTER SIX DIGIT STARTING RECEIPT NUMBER
100000
00053 MTS ENTER SIX DIGIT ENDING RECEIPT NUMBER
100100
00053 MTS ALL RECEIPT CARDS HAVE BEEN PUNCHED
$START PCH1
If you take a look at the punch file Units/PCH1.txt
, the first three lines should look like the below:
\ 100000 DECK 100000 .
\ 100001 DECK 100001 .
\ 100002 DECK 100002 .
You can now cut lines from this file and paste into your batch job file at the top. It is possible to reuse cards/IDs once the job using an ID has finished, but it’s best to use a new S8 card for each job.
Sign-on details
For interactive submission you could use $signon *
as MTS knew what user ID submitted the request. For card reader submission you need to supply the user name, eg $signon st01
, and in the next card supply the password.
Putting it together
So as an example let’s do the simple calculation job again.
Create a file on your host operating system. For the first line, cut the first S8 card from the punch file. For the second and third line provide the sign-on ID and password. The rest of the job is as before.
The file should look something like this:
\ 100000 DECK 100000 .
$signon st01
st01
$calc
a = 10
b = 13
c = 7
n = (a * b) / c
list
$endfile
$signoff
Submitting the job and collecting output
Copy your batch file to Units/RDR.txt
, overwriting the current contents.
Switch to the Hercules operator’s console and type devinit c
to bring the reader online.
HASP will read the job, execute it and print output to the printer file. Look in Units/PTR2.txt
and you will see output like the below, surrounded by the usual header and footer:
$SIGNON ST01
No Charges
Last signon was at 21:55:55, Sun Aug 23/14
User ST01 signed on at 22:38:11, Sun Aug 23/14
$calc
A = 10
B = 13
C = 7
N = 18.5714285714285694
$signoff
Copying files into MTS
You can use this batch job submission technique to send files into MTS. Say you want to send this file
Hello world
Welcome to MTS!
to the file DELTA
owned by ST01. You could create a batch job similar to the below:
\ 100001 DECK 100001 .
$signon ST01
ST01
$create delta
$copy *source* delta
Hello world
Welcome to MTS!
$endfile
$signoff
Further information
See the Operator’s manual for details of the *RCP
job.
To see how physical cards were punched by users before submitting them to MTS take a look at the film Basic Operation of the IBM 29 Card Punch from 1967 at UM.