Saturday, August 27, 2011

Fun with Emulation - Running VM/370 under Ubuntu Linux

When I first arrived at university in 1981, I was planning to study Medical Technology (e.g. clinical pathology) with an eye toward medical school.  That all changed when, as part of the University Honors Program, we were given a tour of the Computing Center and I laid eyes on the school's IBM 3081 (later 3090) mainframe.   It basically filled the basement of the center, as you can see in this historical review from IBM, and we were told that it cost some then-obscene amount of money.  Well, the notion that I could basically command this thing to do my bidding flipped a switch inside my brain, and I was hooked.  Many were the hours spent punching cards, learning all the stuff they DIDN'T teach us in my PL/1 and assembler courses, and finally "graduating" to a 3270 terminal with XEDIT.  I spawned REXX and assembler code to do all sorts of things, and only a few of them landed me in compelled audiences with the Director of the Center and/or the Dean of Students (but those are other stories).

I had thought those days long gone...until last week.

Somehow, I stumbled across the Hercules project.  Long story short - these great folks have written a cross-platform emulator that allows one to run various IBM mainframe operating systems in virtual machines on Windows, Macintosh or Linux platforms.  Well, that was all I needed to see; I promptly downloaded the source tarball for the latest build of Hercules and compiled it on my ThinkPad T41 running Ubuntu 11.04.  A little bit of digging led me to Robert O'Hara's "Six Pack" build of VM/370 R6 (the public domain VM/370 release), and a bit of tweaking had that up and running.  The final piece of the puzzle was finding Hercules Studio, a GUI frontend for Hercules.  The end result is...well, this:


Yes, that's an x3270 session in the lower right, green screen and all.  The Sixpack VM/370 build comes with several programming languages (including GCC, ASMF, FORTRAN and REXX), so I'm ready to dust off some old code and get back to some old-school coding.  The interesting thing is that Hercules will apparently support z/Linux as well, so I'll be playing with that on the "real world" side of life.  If this strikes your fancy, start with Hercules and Hercules Studio at the links below.

The Hercules System/370, ESA/390, and z/Architecture Emulator
Hercules Studio

Next up - emulating other hardware (and operating systems) of my hacking youth...

No comments: