RC2017/04 – April 20

Right after the last post, I came down sick.  Now I have to pick it up and get it together.

As of my last post I hadn’t even decided what to do for a game. Two games that I played in the past, came to mind.  I played Hammurabi on the PDP 11/70.  Star Merchant was another game I came across.  Both have possibilities, and apparently Creative Computing agreed about Hammurabi, because they published Dukedom, which was supposed to be a multiplayer version, although I never quite got it to work that way.

That leaves me with Star Merchant.  This would have been my first choice anyway, but I was concerned it might be to complicated to the short amount of time to work with.  Dukedom and Star Merchant were both published in the book, Big Computer Games in 1984.

Star Merchant is a game where you as captain, take your starship in a trade route of your choice between ten different star systems.  At each star system you buy and sell cargo in the attempt to gain a profit.

The original single player version from Creative Computing has been typed in and can be run on my emulated PDP 11/70.  Once you are signed on you can run it by entering:

RUN !STMRCH

Last Update: 01-Apr-18

 

RC2017/04 – April 5

I spent the last few days working on what I call recipes. They are short documents explaining how to do things. In this case I set up recipes for logging in, logging out and getting around RSTS/E.

A final recipe is actually just a list of telnet clients that I have used.

RC2017/04 – April 1

For this RetroChallenge I plan to write a multiplayer game that will run on an emulated PDP 11/70.

The first computer I ever used or worked on was a PDP 11/70 in High School. The main operating system when I had access to it was RSTS/E. The version back then was V06B and later V06C. I have had a fascination with the system ever since. Over the years I have run emulations of the PDP 11/70 under SimH and recently under Ersatz-11. The closest version of RSTS/E I have been able to setup is V7.0-07, so that is the version I will use.

On past RetroChallenges, I have seen some that in addition to following along reading the blog posts, it would be interesting to get hands on as well.

With that in mind, I have set up separate accounts in my emulated system to store my work and make it available to play with as I go along. The emulated system can be reached with telnet at: puff dot mooo dot com at port 4000. Once you connect you can log in with the account number 17,4 and password of RC. I’ll post a recipe above shortly showing how to get around in RSTS/E.

Terminal Emulation, Apple //c & Mac SE

In August, I decided to use my Apple //c and my Macintosh SE as terminals on my emulated PDP 11(Puff).  I wanted them to work as video terminals.

In the past, when accessing Puff, I would use a telnet program on one of my pc’s.  I went with a pretty vanilla kind of setup.  I configured all terminals as LA36, and all the telnet programs I used worked.

When setting up this latest generation of Puff, I configured it so it would use com1: and com2: as vt100 terminals.

Com1: is set up at 1200,8n1 and that is where my //c is connected using a null modem cable.  Com2:, meanwhile is setup at 9600, 8n1 and is connected with a null modem cable to my Macintosh SE.  Instead of using telnet software I use a communications program on both machines to connect to Puff.

This is very much like using a dialup connection, so the first program I tried on the //c was ZLink.  I got it to work by matching the 1200, 8n1 parameters.  Using the Open Apple T command to change emulation to VT100.  The only program I knew of that worked differently on a display terminal was VT50PY, so I ran that.  It worked as I remembered, displaying a running a systat.

For software on the Mac side, I ran Mac Terminal, again VT50PY runs well on it.

At the high school we had two VT52 terminals and later received two more display terminals that were, I believe, VT100 compatible.  I don’t remember much about them, except they were amber screened and made with a crisp metal edged case.

Inspired, partly by David Moisan’s 2012 Retrochallange project Hac-Man, I was thinking I would recreate an old game or two.  I wanted to work on a game that used the VT100 ‘s cursor control abilities.  In high school I worked on a game I called GALAXY which was loosely based on the star trek games of that time.  It was written to be played on a display terminal only, as it required the ability to use cursor control to keep a grid on the screen and update it during play.

I did some research and found several sites with VT100 codes, but was missing the key to how to use them.  Johnny Billquist and Dennis Boone from comp.os.rsts came back with the key answer to cursor control.  Printing an escape character with the high bit set chr$(27+128) followed by the open square bracket, the row, a semicolon, the column (fixed column from colon, 18-sep-16) and the letter H positions the cursor.

PRINT CHR$(155);”[“;NUM1$(ROW%);”;”;NUM1$(COL%);”H”;

The semicolon at the end is important as it keeps the cursor there.

I wrote a simple program to position the cursor at each corner of the screen and print something.  It didn’t work on either the //c or the Mac.

David Moisan said said in his blog (https://davidcmoisan.wordpress.com/2012/07/05/hac-man-retrochallenge/) he used tera term, an open source windows program, in VT100 emulation and it worked.  I ran my copy and used telnet to connect to Puff.  When I ran my test program, it worked as I wanted it to.

That being the case, maybe the programs I was running on the //c and Mac weren’t as VT100 compatible as needed.  I tried ZLink on the Mac SE and when I connected, ran my test program and it worked.  On the Apple //c, I found ProTerm worked with my test program.  VT50PY would not run properly under either ProTerm on the //c or ZLink on the Mac, which made sense since it was written for the VT50 series of terminals.

UPDATE:  After testing both ProTerm and ZLink on the Apple //c, I found neither handles the graphics characters well.  Zlink just displays regular characters and ProTerm does not do corners or intersections with line drawing. (02-SEP-16)

 

Emulating the PDP 11

Years ago, I stumbled across an article about emulating the PDP 11 computer.  After doing a little more research I found a package of programs called SimH, which allowed you to emulate a number of computers.  Amongst these was an emulator program for the PDP 11 system.

RSTS/E stands for Resource Sharing, Time Sharing, Extended and systems that ran it quite often had dial up connections.  Our high school had several.  The emulators I have found let you set up dial up connections using telnet.

I set up a simulation of the PDP 11/70 that I used in high school.  I could not find a version of RSTS/E that was close to V06 that I used in high school so I installed one of the later version of RSTS/E, 9.2, I believe, and patched it with the y2K patch to fix dates.  I ran that for years to play with occasionally.

I later found a version that was much closer, V7.0.07.  This I installed and patched with a Y2K patch.  Again I ran this version for years.

Since 2003 or 2004, I’ve been running these simulations, and one thing has been missing, the ability to print seamlessly, just like a real 11/70.

In this time, I have looked at another emulator, Ersatz 11, from time to time.  It is a commercial emulator for businesses who need to retain their software, but replace their hardware.  They allow hobbyist use for smaller configurations, and that works for me.

Last fall, I bought a Rosewill PCI communications card for my PC.  It has two serial ports and one parallel port.  I bought it to replace a usb serial adapter that I used to move files back and forth between my PC and either my Apple //c or my Macintosh SE.

Recently, I was reading through the documentation of Ersatz and realized, that printing was something it does.  I decided to try it out.  I started setting it up and added a little something extra.

I set it up to assign both serial ports as terminals.  My apple //c is set up as KB1: and my Mac SE as KB2: using terminal emulation software on both machines.  I also setup to assign lp0: to the windows printer using OSPRINT:.

Last Update: 15-Aug-17 Fixed spelling error and added a comma.

Exposure to the PDP 11

I started high school in the fall of 1976 at South Portland High School.

We had a PDP 11/70 running RSTS/E Vo6B on 256KW of memory with two RP04 hard drives.

My first year in high school, my algebra class assigned us to write basic programs, solving certain quadratic equations.  This was my first real exposure to computers.  Over the course of high school, I spent a great many hours working on that computer.

During the Summer after both my Junior and Senior years I worked for the school as a programmer/operator.  I handled the daily and weekly system backups as well as maintained systems programs with updates.  From a programming point of view I worked on data entry and analysis programs for the high school, school department and the police department.

RSTS/E V06 was written in assembler, however most of the commonly used system programs were written in Basic-Plus.  I believe it was in my Junior year, we got a version of Pascal from OMSI.  The computer also had COBOL for the business classes.

I wrote mostly in Basic-Plus, although I did take a class in Pascal and wrote some in that.  I wrote one small program in Cobol to read cards from the card reader and put them in a data file.