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

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.

Signon 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 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 000d 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.