Showing posts with label linux. Show all posts
Showing posts with label linux. Show all posts

Tuesday, August 30, 2011

Fun with Emulation #3 - Running a PDP-11/34 with RSTS/E under Ubuntu Linux

The first "real" computer system upon which I ever laid my hot little hands was a PDP-11/34 at Western Kentucky University.  I was attending WKU during the summer between my 11th and 12th-grade years of high school, and one of my typical "go see what's out there" walkabouts led me to the "computer center."  Now, there were several signs posted which suggested that ONLY those students taking SPECIFIC Computer Science classes could gain access to "the PDP", but I explored the terminal room anyway.  One of the admins came out and started throwing a tantrum about the mess left by all the students.  Inspiration hit - I quickly offered to stop by every afternoon and clean up the terminal room, if I could only get access to the PDP...and the deal was done.  I had no idea that TI Silent 700 terminals generated SO much waste paper.

Nonetheless, I was in.  I started playing around with RSTS/E, which was one of DEC's major operating systems in the educational arena, and BASIC-PLUS-2 was THE language of choice.  (Hey, this was 1980.)  One fine day, I was browsing the system tables and noted that there seemed to be 32 terminals connected to the system, although I counted only 24 in the computing center; when I asked, the admins just said, "Well, he gets a key to the closets."  As it turned out, these guys had commandeered closets (scattered throughout the science complex) and wired in either Silent 700 or--*GASP*--LA-36 DECWriter hardcopy terminals.  SCORE!  Printouts on which you could actually TAKE NOTES!  I spent a great deal of time in those closets, and I found that, yes, one COULD write device drivers in BASIC, given enough system calls.  One could also wreak havoc upon peripherals with PIP if you didn't know what you were doing.  I did both.

Bringing back RSTS/E turned out to be the easiest of my emulation projects to date.  After compiling the pdp11 simluator from the SIMH package (linked below), I found the RSTS V9 Archive, which provides a prebuilt, full image of RSTS/E V9.6 on an RP04 disk image; the latter site even provides configuration files for SIMH.  This was literally a ten-minute project, and I had RSTS/E up and running under Ubuntu Linux.  (RSTS/E is text-based only, so I won't bore you with a screenshot.)  If you're longing to write code like:

100 OPEN User_keyboard$ AS FILE #1

Tmp$ = SYS(CHR$(118)+CHR$(18))

LINPUT 'Enter the first line of text';User_input$

...then hie thee to the links below.

The Computer History Simulation Project

RSTS/E V9 Archive

 

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