Mikes Hercules Page

Hercules is a freely-available program which runs on Linux and emulates (rather well!) IBM System/360, 370, and 390 computers. Rather than extoll it's virtues ad nauseum, I'll simply point to the place from whence it comes:

http://www.conmicro.cx/hercules/

I've included a link here - MVT test - which will open an IBM Host-On-Demand session to allow you to login to my OS/360 MVT system. Don't use it if you don't know what you're doing! Please report any problems.

Or, if you have a 3270 client of your own, just use tn3270 to connect to linux390.corestore.org, port 1074.

Note - this is a Java application and will probably ask you to grant certain permissions. Hopefully the certificates will convince you it's kosher! It's a substantial app and make take 2-4 mins to complete the download and initialise... longer if you have a slow dialup. You don't have to do anything after hitting the 'MVT test' link, just sit back and wait for the terminal window to open up. The 'Start Session MVT' button you may see does NOT have to be pressed - it will open an *additional* terminal window, which you (probably) don't want.

Once again, please DO NOT attempt to use this if you aren't familiar with MVT - the login procedure is non-intuitive and you can end up causing problems for others who wish to use the system. Hint - if the screen doesn't seem to present a correct login prompt, try hitting 'clear'!

MVT test

Guide to configuring multiple TSO terminal support under OS/360 MVT

Malcolm Beattie has produced a most excellent guide to getting TSO up and running on Hercules MVT. It can be found at:

http://users.ox.ac.uk/~mbeattie/hercules/tso.html

However, this procedure leaves one with a TSO configuration which only supports a single terminal. Still very useful, but sub-optimal. It would be nice to have support for multiple concurrent logins. Well, this is possible, and it's not all that hard to configure. It doesn't seem to be fully documented anywhere, so I thought I'd have a go at documenting what worked for me:

1. Start by following Malcolms instructions on the above link. This should bring you to a working TSO system with a single terminal.

2. The Hercules configuration file, conventionally called mvt.cnf, needs additional entries for the extra terminals we are about to configure. I've configured five screens, so the relevant portion of my mvt.cnf looks like this:

0150    3330    sysres.150
0151    3330    work01.151
0190    3270
0191    3270
0192    3270
0193    3270
0194    3270
0195    3270
0196    3270
030E    1403    mvtlog.txt
0350    3330    mvtres.350
The screens at 0190 and 0191 are the main & auxilliary consoles; the remainder will be TSO screens.

3. You will recall that the initial TSO setup as per Malcolms instructions involved submitting the TCAMSTG1 job, and inserting the resulting output into the TCAMSTG2 job. We now need to revisit this to add additional LINEGRP statements to the TCAMSTG1 job. (OK, you could set up TSO this way from the start, I'm sure, but to me it made more sense to confirm it was working with the known configuration first, then worry about the additional screens). My revised TCAMSTG1 is as follows:

//TCAMSTG1 JOB CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1)
//TCAMSTG1  EXEC ASMFC,PARM.ASM='DECK',REGION.ASM=512K
//ASM.SYSUT1 DD  UNIT=SYSDA
//ASM.SYSUT2 DD  UNIT=SYSDA
//ASM.SYSUT3 DD  UNIT=SYSDA
//ASM.SYSIN  DD  *
         PRINT NOGEN
         LINEGRP TERM=327L,DDNAME=L3270,LINENO=01,                    +
               DIAL=NO,UNITNO=1,SCREEN=(24,080)
         LINEGRP TERM=327L,DDNAME=L3270B,LINENO=02,                   +
               DIAL=NO,UNITNO=2,SCREEN=(24,080)
         LINEGRP TERM=327L,DDNAME=L3270C,LINENO=03,                   +
               DIAL=NO,UNITNO=3,SCREEN=(24,080)
         LINEGRP TERM=327L,DDNAME=L3270D,LINENO=04,                   +
               DIAL=NO,UNITNO=4,SCREEN=(24,080)
         LINEGRP TERM=327L,DDNAME=L3270E,LINENO=05,                   +
               DIAL=NO,UNITNO=5,SCREEN=(24,080)
TCAM     TSOMCP
         END
//
You will see the additional terminals differ in the DDNAME, LINENO, and UNITNO parameters.

4. Rerun the TSO setup from scratch - run TCAMSTG1, insert the punch output in TCAMSTG2 and run that, then TCAMPRCS and TSOSETUP - exactly as per Malcolms instructions.

5. One final stage: the TCAM PROCLIB has to be modified in order to make it aware of the additional DDNAMES we've defined above. There's a hard way to do this, using the IEBUPDTE program, which I didn't even attempt. The easy way is to use IEBGENER:

Submit the following job, FOO.TXT:

//FOO JOB1,CLASS=A
//TEST     EXEC PGM=IEBGENER
//SYSPRINT  DD  DUMMY
//SYSIN     DD  DUMMY
//SYSUT2    DD  SYSOUT=A
//SYSUT1    DD  DSN=SYS1.PROCLIB(TCAM),DISP=SHR
This should produce some printed output. Examine the output, and you should find something like:
//TCAM     EXEC PGM=IEDQTCAM,ROLL=(NO,NO),TIME=1440,DPRTY=(15,15),
//             REGION=128K
//SYSABEND  DD  SYSOUT=A,SPACE=(CYL,(20,10),RLSE)
//L3270     DD  UNIT=192
At least that's what I got. Edit the above text to reflect the additional DD statements and insert it into a job to write a new TCAM PROCLIB:
//FOO JOB 1,CLASS=A
//TEST     EXEC PGM=IEBGENER
//SYSPRINT  DD  DUMMY
//SYSIN     DD  DUMMY
//SYSUT2    DD  DSN=SYS1.PROCLIB(TCAM),DISP=SHR
//SYSUT1    DD  DATA,DLM=XX
//TCAM     EXEC PGM=IEDQTCAM,ROLL=(NO,NO),TIME=1440,DPRTY=(15,15),
//             REGION=128K
//SYSABEND  DD  SYSOUT=A,SPACE=(CYL,(20,10),RLSE)
//L3270     DD  UNIT=192
//L3270B    DD  UNIT=193
//L3270C    DD  UNIT=194
//L3270D    DD  UNIT=195
//L3270E    DD  UNIT=196
XX
//
You should now be able to start TSO and have multiple terminal support. Acknowledgments to the various contributors to the Hercules list whose hints & tips have enabled me to get this working and distill this procedure.

Any problems getting this working, feel free to get in touch!

mross666@hotmail.com