So we’ve played a lot of great games time to see who made these games.
Now we load our VT100 terminal client and dial in to the mainframe
okay that sucked, let’s try a different connection…
time to eat up some cycles
finally now let’s see
So today let’s talk about Mainframe security.
Those of you not in the know, so about 97% of YosPos, mainframes didn’t initially come with any security of any kind. So about mid 1970 RACF was released and the people rejoiced because now they could finally limit access to things like datasets, resources.. whatever. The problem, it was made by, for, and of, spergs. But because the system we emulate is such an old shit box it doesn’t come with racf but the much older SYS1.UADS.
Let’s launch our TN3270 emulator and I’ll show you what I mean
then we just logon as yospos
and here we…
Uh oh… that’s not good… wait I hear the printer
I’ve been infected
So we tried klingon and had no idea what the hell was going on. But when you look at it on CBT tape it sounds like it’s the sequel to startrek.
Now I’m pretty sure startrek is installed but lets see. First we need to connect with a TN3270, luckily I found a freeware one.
So we just browse on over to SYS1.CMDPROC
And there we go, STARINIT, STARTREK and STARRANK, let’s give this thing a try….
we exit back to the prompt and type ‘starinit’ to get everything setup
and we run startrek to give it a sh-
maybe I can fix this, taking a look at the launch script…
welp.. just so this isn’t a shit update (hint: they’re all shit) let’s upload and execute a job that will print on my printer.
So, we make a job
and then, using the built in FTP server, we upload it and execute it using AAINTRDR
it executed the job and after giving the printer a bit of time….
So, being the classy guy I am on this historical operating system that deserves our respect and addoration, what else would I do…
How I really feel about mainframes
Check out the whole printed job log: YOSGOAT.PDF, you have know idea the level of satisfaction I get from feeding through that garbage through this ancient OS.
So I heard someone had made klingon playable on MVS 380 so I downloaded their files and powered on the mainframe and logged on
First launching my ever reliable TN3270 emulator
whoa wrong IPL, lemme IPL the right one
after a bit…
this looks awful, after some research I found out I can customize this screen, 10 mins and an ASCII generator and here we go
now thats a welcome screen.
Alright so we got the right one but it still shows the default logon screen, let’s change that to something better
ahh much better
so we log on with the default account herc01, how boring let’s make a yospos account
and change the password
so we log off and back on with yospos and browse on over to the dataset with klingon (just to confirm it’s there)
we then exit and at the TSO “prompt” we type KLIGNON, we get some nice graphics that I’m too slow to capture but you can see them in this tape file.
So here we are
who needs instructions
a new game because I’ve never launched it before but I know I’ll be great at it
and we start the game
to be honest this is the best looking game I’ve seen on the mainframe, I’m actually surprised by this. I didn’t read the instructions so I don’t know what the fuck is happening but still, a decent game I guess. Better than Chess for sure.
So we got chess working but it really bugged me that there was no Tic Tac Toe.
Maybe there’s an old Tic Tac Toe game on CBT
So all the CBT tapes are included in YOSPOS/380 the trick is finding out which dataset. After much digging I found out it’s on CBTCOV so time to load up the TN3270 and connect to YOSPOS/380
Then we logon as yospos
We’re presented with RPF. Which is a freeware version of ISPF, which is like your BBS menus but for mainframes. To look at a dataset we select
To view a dataset we pick option 3 (a listing of utilities), followed by option 4
which brings us here:
Now, this probably means nothing to you but think of “level” as the root folder on the mainframe. So we put CBTCOV as the root level
and get presented
We can see that File 160 holds our Tic Tac Toe, so we open file 160 for viewing with the ‘b’ for browse I think
We then see the “members” of File 160. On the mainframe you can have a file that’s partitioned in to multiple parts and each part is a member. TEC012 holds our game so we “browse” that file, which really means “view”.
And we see this game in all it’s glory!
what the shit, god damned fortran is awful
So now let’s try and compile this bugger now that we know where it is, lets take a look at the hello world fortran example
Welp, this is awful and confusing, sorry folks no Tic Tac Toe, you’ll need to relive your W.O.P.R. fantasies elsewhere cause I’m not dealing with this shit
Tic Tac Toe? A game for babies, now Chess, that’s a mans game.
Let’s install DUCHESS
a chess program running on an IBM 370/168 under the MVS operating system, developed by three graduate students at the Duke University in the 70s, Eric Jensen, Tom Truscott and Bruce Wright. Duchess was one of the strongest programs of its time. In 1977, it was runner up at the Second World Computer Chess Championship in Toronto, behind Chess 4.6 winning from Kaissa, and tied first with Chess 4.6 at the Eighth North American Computer-Chess Championship, runner up due to tie breaking points. At the Third World Computer Chess Championship in Linz 1980, Duchess became third only losing from Belle. Duchess played seven ACM North American Computer Chess Championships from 1974 to 1981.
So first thing we need to do is download DUCHESS
Once that’s done we need to make some changes to the JCL file…
//DUCHESS JOB (),'INSTALL DUCHESS',CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1),
//* 1) VOLUME 'PUB000' IS A 3350 AND AVAILABLE FOR USE ON YOUR SYSTEM.
//* 2) 'SYS1.CMDPROC' IS YOUR SYSTEM'S TSO CLIST LIBRARY.
//* 1) CHECK JOB CARD DETAILS AND CHANGE AS APPROPRIATE.
//* 2) CHANGE HLQ 'HERC01' TO APPROPRIATE HLQ FOR YOUR SYSTEM.
//* FOR EXAMPLE, YOU MIGHT CHOOSE 'SYS2'.
//* 3) CHANGE TARGET VOLUME SERIAL 'STG005' TO APPROPRIATE VALUE
//* FOR YOUR SYSTEM. DO NOT USE 'PUB000' AS IT IS USED TO STAGE
//* THE TAPE FILES WHICH ARE IN IEHMOVE UNLOADED FORMAT.
//* IEHMOVE WILL ONLY READ THE FIRST FILE ON THE TAPE, WHICH
//* IS WHY THEY MUST BE STAGED.
//* 4) SUBMIT JOB AND MOUNT TAPE AS REQUIRED.
//* 5) READ IMPORTANT MEMBERS OF 'HERC01.DUCHESS.HELP'.
//* 6) ISSUE THE 'DUCHESS' TSO COMMAND TO INVOKE DUCHESS.
The trick here is finding a volume serial number that’s available for use. So lets logon to YOSPOS/380
Exiting to TSO we launch VOLS which shows me all the available volumes
Not knowing what the fuck any of this means I picked MVSRES cause one of my datasets is on that volume. And then uploaded the JCL file.
DUCHESS also comes with an AWS file. This is a TAPE image file that you mount from the console. First you turn on the tape drive
Then we submit the job and some messages come flying across the master console
The job installs DUCHESS then unmounts the tape.
So lets play some chess
Ugh. Looking at the help file I can see the current board:
Luckily there’s an image update so it looks less shitty. It comes as a simple JCL so it’s uploaded then submitted, then you change the DUCHESS member in SYS2.CMDPROC from DUCHESS6 to DUCHESSG
… and…. didn’t work, it’s supposed to look like this:
But it, much like everything else, doesn’t work. But anyway Chess is now installed, fuck you Tic Tac Toe.
Alright, let’s change the pride parade logon screen:
through some research found out there’s a REXX script(?) to take an ASCII file and make it so lets try to do this.
Using the examples provided I changed the screen:
and ran the script:
which turned my nice screen in to the ASM needed
Luckily I found out that there’s a JCL file to make the change I needed to make. And even better its available in the JCL folder so I can edit it in a modern editor instead of that line-by-line editor. I just replace the assembly already in there and we’re ready to go:
Alright, so we got JCL, otherwise known as Job Control, file now we just need to upload it. Since this is the mainframe world you can’t just FTP, oh no, you use IND$FILE:
So let’s do this, you enter transfer on x3270 which asks you a bunch on questions
and transfers the file to a dataset on the mainframe
So it was at this point I was starting to feel confident, 2.5 days with this monster and I new enough to upload the file, browse to it using RPF and then submit the job to be run
goddamnit, it was at this point that I was about the rage quit when I though about just running it through the “command prompt”, not expecting it to work but whatever
lets reboot VTAM, but I don’t know how to do that, probably “v net” on the master console or something. Anyway, I just reboot the mainframe and here we go:
Anyway, now that you’ve got some shit running you’ve got to initialize the terminals…
working in this makes Linux look like some pro level shit
alright, now to a civilized OS where I can use a good TN3270 emulator to connect,
and get the same hercules screen as before, welp, now you have to “CLEAR” your screen, whatever that means
anywho, TSO requires a password so I give it “yospos”
and get logged in straight to RPF (a ripoff of SDSF)
which I promptly exit (by pressing x) so I can get to TSO “prompt”
and now time to play some games
note, those are F keys, not 1, 2, 3 etc. The game, like almost everything in MVS is unuseable.
What follows is a series of posts I did at something awful about setting up and finally getting running a mainframe implementation.
Keep in mind that this is satire and not an attack on the amazing work that the people at Hercules or Fish have done. It’s to poke fun at the mainframe world which always takes itself so seriously, to the point of ridiculousness.
I also use it to vent my frustrations from having to deal with mainframe people (especial folks from IBM) as I conduct detailed mainframe reviews.