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)