{"id":94,"date":"2016-09-01T05:11:04","date_gmt":"2016-09-01T09:41:04","guid":{"rendered":"http:\/\/www.vintage.excited-geek.com\/blog\/?p=94"},"modified":"2016-09-18T15:18:50","modified_gmt":"2016-09-18T19:48:50","slug":"terminal-emulation-apple-c-mac-se","status":"publish","type":"post","link":"http:\/\/www.vintage.excited-geek.com\/blog\/2016\/09\/01\/terminal-emulation-apple-c-mac-se\/","title":{"rendered":"Terminal Emulation, Apple \/\/c &#038; Mac SE"},"content":{"rendered":"<p>In August, I decided to use my Apple \/\/c and my Macintosh SE as terminals on my emulated PDP 11(Puff).\u00a0 I wanted them to work as video terminals.<\/p>\n<p>In the past, when accessing Puff, I would use a telnet program on one of my pc&#8217;s.\u00a0 I went with a pretty\u00a0vanilla kind of setup.\u00a0 I configured all terminals as LA36, and all the telnet programs I used worked.<\/p>\n<p>When setting up this latest generation of Puff, I configured it so it would use com1: and com2: as vt100 terminals.<\/p>\n<p>Com1: is set up at 1200,8n1 and that is where my \/\/c is connected using a null modem cable.\u00a0 Com2:, meanwhile is setup at 9600, 8n1 and is connected with a null modem cable to my Macintosh SE.\u00a0 Instead of using telnet software I use a communications program on both machines to connect to Puff.<\/p>\n<p>This is very much like using a dialup connection, so the first program I tried on the \/\/c was ZLink.\u00a0 I got it to work by matching the 1200, 8n1 parameters.\u00a0 Using the Open Apple T command to change emulation to VT100.\u00a0 The only program I knew of that worked differently on a display terminal was VT50PY, so I ran that.\u00a0 It worked as I remembered, displaying a running a systat.<\/p>\n<p>For software on the Mac side, I ran Mac Terminal, again VT50PY runs well on it.<\/p>\n<p>At the high school we had two VT52 terminals and later received two more display terminals that were, I believe, VT100 compatible.\u00a0 I don&#8217;t remember much about them, except they were amber screened and made with a crisp metal edged case.<\/p>\n<p>Inspired, partly by David Moisan&#8217;s 2012 Retrochallange project Hac-Man, I was thinking I would recreate an old game or two.\u00a0 I wanted to work on a game that used the VT100\u00a0&#8216;s cursor control abilities.\u00a0 In high school\u00a0I worked on a game I called GALAXY which was loosely based on the star trek games of that time.\u00a0 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.<\/p>\n<p>I did some research and found several sites with VT100 codes, but was missing the key to how to use them.\u00a0 Johnny Billquist and Dennis Boone from comp.os.rsts came back with the key answer to cursor control.\u00a0 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.<\/p>\n<p>PRINT CHR$(155);&#8221;[&#8220;;NUM1$(ROW%);&#8221;;&#8221;;NUM1$(COL%);&#8221;H&#8221;;<\/p>\n<p>The semicolon at the end is important as it keeps the cursor there.<\/p>\n<p>I wrote a simple program to position the cursor at each corner of the screen and print something.\u00a0 It didn&#8217;t work on either the \/\/c or the Mac.<\/p>\n<p>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,\u00a0in VT100 emulation and it worked.\u00a0 I ran my copy and used telnet to connect to Puff.\u00a0 When I ran my test\u00a0program, it worked as I wanted it to.<\/p>\n<p>That being the case, maybe the programs I was running on the \/\/c and Mac weren&#8217;t as VT100 compatible as needed.\u00a0 I tried ZLink on the Mac SE and when I connected, ran my test program and it worked.\u00a0 On the Apple \/\/c, I found ProTerm worked with my test program.\u00a0 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.<\/p>\n<p>UPDATE:\u00a0 After testing both ProTerm and ZLink on the Apple \/\/c, I found neither handles the graphics characters well.\u00a0 Zlink just displays regular characters and ProTerm does not do corners or intersections with line drawing. (02-SEP-16)<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In August, I decided to use my Apple \/\/c and my Macintosh SE as terminals on my emulated PDP 11(Puff).\u00a0 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&#8217;s.\u00a0 I went with a pretty\u00a0vanilla kind of setup.\u00a0 I configured [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5,4,12],"tags":[],"class_list":["post-94","post","type-post","status-publish","format-standard","hentry","category-apple-c","category-mac-se","category-pdp-11"],"_links":{"self":[{"href":"http:\/\/www.vintage.excited-geek.com\/blog\/wp-json\/wp\/v2\/posts\/94","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.vintage.excited-geek.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.vintage.excited-geek.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.vintage.excited-geek.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.vintage.excited-geek.com\/blog\/wp-json\/wp\/v2\/comments?post=94"}],"version-history":[{"count":10,"href":"http:\/\/www.vintage.excited-geek.com\/blog\/wp-json\/wp\/v2\/posts\/94\/revisions"}],"predecessor-version":[{"id":114,"href":"http:\/\/www.vintage.excited-geek.com\/blog\/wp-json\/wp\/v2\/posts\/94\/revisions\/114"}],"wp:attachment":[{"href":"http:\/\/www.vintage.excited-geek.com\/blog\/wp-json\/wp\/v2\/media?parent=94"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.vintage.excited-geek.com\/blog\/wp-json\/wp\/v2\/categories?post=94"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.vintage.excited-geek.com\/blog\/wp-json\/wp\/v2\/tags?post=94"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}