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 signon details.
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
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.
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 signon 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
See the Operator's manual for details of the
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.