{"id":746,"date":"2020-04-12T07:06:53","date_gmt":"2020-04-12T07:06:53","guid":{"rendered":"http:\/\/www.wickensonline.co.uk\/rc2012sc\/?p=746"},"modified":"2020-04-12T07:21:57","modified_gmt":"2020-04-12T07:21:57","slug":"smalltalk-80-on-vax-vms","status":"publish","type":"post","link":"http:\/\/www.wickensonline.co.uk\/rc2012sc\/2020\/04\/12\/smalltalk-80-on-vax-vms\/","title":{"rendered":"Smalltalk-80 on VAX\/VMS"},"content":{"rendered":"\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<p>I&#8217;ve been paying more attention to vintage computing since my portable amateur radio activities have been curtailed due to COVID-19. I recently found an excellent youtube video: <\/p>\n\n\n\n<iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/T3tcCBHRIfU\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen=\"\"><\/iframe>\n\n\n\n<p>Bob Supnik being a key figure from DEC&#8217;s history and also implementer of the VAX emulation in <a href=\"http:\/\/simh.trailing-edge.com\/\">SIMH<\/a>. <\/p>\n<\/div><\/div>\n\n\n\n<p>There was also a very interesting post on the <a href=\"http:\/\/www.update.uu.se\/~bqt\/hecnet.html\">HECNET mailing list<\/a> that provided a link to an archive containing the DIGITAL version of Smalltalk-80:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>See below for a link to a g-drive file containing a ZIP archive of the DEC research group implementation of Smalltalk for the VAX.<\/p><p>If someone has a VT125 to try it on I would appreciate seeing an image of the screen with Smalltalk running.<\/p><p>Begin forwarded message:<\/p><p><strong>From:<\/strong> Nigel Williams &lt;<a href=\"mailto:nw@retroComputingTasmania.com\">nw@retroComputingTasmania.com<\/a>&gt;<br><strong>Date:<\/strong> 7 April 2020 at 10:33:55 pm AEST<br><strong>To:<\/strong> John Ames &lt;<a href=\"mailto:commodorejohn@gmail.com\">commodorejohn@gmail.com<\/a>&gt;<br><strong>Subject:<\/strong> <strong>Re:&nbsp; VAX\/Smalltalk-80?<\/strong><\/p><p>On 2 Apr 2020, at 10:08 am, John Ames via cctech &lt;<a href=\"mailto:cctech@classiccmp.org\">cctech@classiccmp.org<\/a>&gt; wrote:<\/p><p>I know from the book &#8220;Smalltalk-80: Bits of History, Words of Advice&#8221;<\/p><p>Thanks for the reminder about the VMS version, as you likely know<br>their paper about VAX Smalltalk was in an early DEC Technical Journal<br>too.<br><br>&#8230;while the second ran under VMS and was actually developed within DEC. This version &#8211; VAX\/Smalltalk-80 &#8211; was headed up by Stoney Ballard and Stephen Shirron; anybody know if there&#8217;s a surviving copy out there, if it was ever available outside DEC to begin with?<\/p><p>I contacted Stephen and he kindly provided a ZIP<br><a href=\"https:\/\/drive.google.com\/open?id=1NvO-ULropJ9xyT-WFqalXY79FBt6tdfB\">https:\/\/drive.google.com\/open?id=1NvO-ULropJ9xyT-WFqalXY79FBt6tdfB<\/a><br>I had a quick look and it will need an early VMS I suspect, around<br>version 4.x (might work on a later version).<br><br>cheers,<br>nigel.<\/p><\/blockquote>\n\n\n\n<p>I found this really interesting for two reasons: firstly I know nothing about Smalltalk other than it came out of <a href=\"https:\/\/en.wikipedia.org\/wiki\/PARC_(company)\">Xerox PARC<\/a> is a message-passing, object-oriented language with its&#8217; own environment. Secondly, upon inspection the majority of the code is written in <a href=\"https:\/\/en.wikipedia.org\/wiki\/VAX_Macro\">VAX Macro-32 Assembly language<\/a>, with only one C source file used to interface to VWS. To have an application coded up in VAX Macro is quite unusual &#8211; normally it is used for targeted performance optimization, not a whole application.<\/p>\n\n\n\n<p>VWS or <em>VMS Workstation Sofware<\/em> was the pre-cursor to the DEC X-Window System providing a graphical user-interface to VAX\/VMS and was available on a number of devices including VT200 terminals and early VAXstations:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>VMS Workstation Software (VWS) is a VMS layered<br>product that provides windowing and graphics support<br>for the VAXstation II, VAXstation II\/GPX, VAXstation<br>2000, VAXstation 3100 Models 30\/40\/38\/48 with GPX<br>graphics and VAXstation 3200\/3500.<\/p><p>VWS supports VAXstations with windowing, VT200 se-<br>ries terminal emulation with technical character set,<br>TEK4014\u00ae and TEK4125\u00ae terminal emulation, a simple<br>mouse-based human interface for window manipulation,<br>a graphics programming interface, Hard Copy (HCUIS)<br>for applications requiring hardcopy output, VWS\/SIGHT,<br>an easy-to-use tool that enables the user to create<br>graphics, and a Migration Tools kit to assist users in<br>migrating UIS applications to the DECwindows platform.<\/p><cite><a href=\"http:\/\/wickensonline.co.uk\/static\/files\/rc202004\/VWS043_SPD.pdf\">VWS 4.3 Software Product Description<\/a><\/cite><\/blockquote>\n\n\n\n<p> There isn&#8217;t a great deal on the web about VWS, although I did find an interesting Masters Thesis that provides some insight in using it as a graphics library:<\/p>\n\n\n\n<div class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-flow wp-block-group-is-layout-flow\">\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><a href=\"https:\/\/archive.org\/details\/applicationofvax1094527529\/mode\/2up\"><em>Application of VAX\/VMS graphics for solving preliminary ship design problems<\/em><\/a><br>Publication date&nbsp;<a href=\"https:\/\/archive.org\/search.php?query=date:1989-12\">1989-12<\/a><br>Publisher&nbsp;Monterey, California : Naval Postgraduate School<br>Collection&nbsp;<a href=\"https:\/\/archive.org\/details\/navalpostgraduateschoollibrary\">navalpostgraduateschoollibrary<\/a>;&nbsp;<a href=\"https:\/\/archive.org\/details\/fedlink\">fedlink<\/a><br>Language&nbsp;<a href=\"https:\/\/archive.org\/search.php?query=%28language%3Aeng+OR+language%3A%22English%22%29\">English<\/a><\/p><p>The VAX\/VMS UIS graphics library routines were used in the creation of a menu driven, interactive program which solves basic preliminary ship design problems. The program uses a menu with active mouse and keyboard to select options, enter data, and control program execution. At present, the program solves transverse and longitudinal static stability problems and predicts the effects of shifting weight in three planes. It also calculates the hydrodynamic derivatives for maneuvering performance and predicts the turning circle characteristics of the ship. Provisions for a hardcopy, detailed report are also included. Space has been allocated to include future program modules or user supplied programs.<\/p><cite>by&nbsp;<a href=\"https:\/\/archive.org\/search.php?query=creator%3A%22McGowan%2C+Gerald+K.%22\">McGowan, Gerald K.<\/a><\/cite><\/blockquote>\n<\/div><\/div>\n\n\n\n<p>A year or so ago I used Matt&#8217;s <a href=\"https:\/\/www.9track.net\/simh\/video\/\">excellent update to SIMH for VAXstation graphics adapters<\/a> to create a virtual VAXstation 3000 Model 38. I had it up and running using VAX\/VMS 5.5-2H4 and felt sure that I could get VWS running on this hardware emulation. This proved very straightforward.<\/p>\n\n\n\n<p>Building the VAX\/Smalltalk software was also very straightforward, with help from Keith Halewood who fixed the file formats for the source code and virtual machine image. I had to tweak the limits for the user account in order for it to have enough breathing room to start up (I copied the values from the SYSTEM account)<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1026\" height=\"891\" data-attachment-id=\"752\" data-permalink=\"http:\/\/www.wickensonline.co.uk\/rc2012sc\/2020\/04\/12\/smalltalk-80-on-vax-vms\/image-3\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.wickensonline.co.uk\/rc2012sc\/wp-content\/uploads\/2020\/04\/image-3.png?fit=1026%2C891\" data-orig-size=\"1026,891\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image-3\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/www.wickensonline.co.uk\/rc2012sc\/wp-content\/uploads\/2020\/04\/image-3.png?fit=300%2C261\" data-large-file=\"https:\/\/i0.wp.com\/www.wickensonline.co.uk\/rc2012sc\/wp-content\/uploads\/2020\/04\/image-3.png?fit=730%2C634\" src=\"https:\/\/i0.wp.com\/www.wickensonline.co.uk\/rc2012sc\/wp-content\/uploads\/2020\/04\/image-3.png?fit=730%2C634&amp;ssl=1\" alt=\"\" class=\"wp-image-752\" srcset=\"https:\/\/i0.wp.com\/www.wickensonline.co.uk\/rc2012sc\/wp-content\/uploads\/2020\/04\/image-3.png?w=1026 1026w, https:\/\/i0.wp.com\/www.wickensonline.co.uk\/rc2012sc\/wp-content\/uploads\/2020\/04\/image-3.png?resize=300%2C261 300w, https:\/\/i0.wp.com\/www.wickensonline.co.uk\/rc2012sc\/wp-content\/uploads\/2020\/04\/image-3.png?resize=1024%2C889 1024w, https:\/\/i0.wp.com\/www.wickensonline.co.uk\/rc2012sc\/wp-content\/uploads\/2020\/04\/image-3.png?resize=768%2C667 768w, https:\/\/i0.wp.com\/www.wickensonline.co.uk\/rc2012sc\/wp-content\/uploads\/2020\/04\/image-3.png?resize=730%2C634 730w\" sizes=\"(max-width: 730px) 100vw, 730px\" \/><figcaption>VAX\/Smalltalk on the VAXstation 3100 Model 38 SIMH emulator<\/figcaption><\/figure><\/div>\n\n\n\n<p>This software is in two parts: the VAX Smalltalk-80 virtual machine emulator, and the virtual machine image of the Smalltalk-80 environment provided by Xerox.<\/p>\n\n\n\n<p>There is thankfully lots of information on the internet about Smalltalk-80, and it is a fascinating story. One of the best sources of &#8216;drop-in&#8217; information is <a href=\"https:\/\/archive.org\/details\/byte-magazine-1981-08\/mode\/2up\">BYTE magazine&#8217;s August 1981 special Smalltalk-80 edition<\/a>. There are a number of <a href=\"http:\/\/stephane.ducasse.free.fr\/FreeBooks\/\">Smalltalk books available free online<\/a>. <\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-large is-resized\"><a href=\"https:\/\/archive.org\/details\/byte-magazine-1981-08\/mode\/2up\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" data-attachment-id=\"751\" data-permalink=\"http:\/\/www.wickensonline.co.uk\/rc2012sc\/2020\/04\/12\/smalltalk-80-on-vax-vms\/image-2\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.wickensonline.co.uk\/rc2012sc\/wp-content\/uploads\/2020\/04\/image-2.png?fit=443%2C596\" data-orig-size=\"443,596\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image-2\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/www.wickensonline.co.uk\/rc2012sc\/wp-content\/uploads\/2020\/04\/image-2.png?fit=223%2C300\" data-large-file=\"https:\/\/i0.wp.com\/www.wickensonline.co.uk\/rc2012sc\/wp-content\/uploads\/2020\/04\/image-2.png?fit=443%2C596\" src=\"https:\/\/i0.wp.com\/www.wickensonline.co.uk\/rc2012sc\/wp-content\/uploads\/2020\/04\/image-2.png?resize=443%2C596&#038;ssl=1\" alt=\"\" class=\"wp-image-751\" width=\"443\" height=\"596\" srcset=\"https:\/\/i0.wp.com\/www.wickensonline.co.uk\/rc2012sc\/wp-content\/uploads\/2020\/04\/image-2.png?w=443 443w, https:\/\/i0.wp.com\/www.wickensonline.co.uk\/rc2012sc\/wp-content\/uploads\/2020\/04\/image-2.png?resize=223%2C300 223w\" sizes=\"(max-width: 443px) 100vw, 443px\" \/><\/a><figcaption>BYTE Magazine August 1981 Cover<\/figcaption><\/figure><\/div>\n\n\n\n<p>A fascinating article in BYTE called <em><a href=\"https:\/\/archive.org\/details\/byte-magazine-1981-08\/page\/n103\/mode\/2up\">The Smalltalk Environment<\/a><\/em> by Larry Tesler of Apple describes his crusade for mode-less computer applications. It includes a detailed description of how to select text in Smalltalk. What really struck me is how this contrasted to the general state of computing evident in the numerous adverts for text-only PCs and terminals.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/archive.org\/details\/byte-magazine-1981-08\/page\/n121\/mode\/2up\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"646\" height=\"866\" data-attachment-id=\"755\" data-permalink=\"http:\/\/www.wickensonline.co.uk\/rc2012sc\/2020\/04\/12\/smalltalk-80-on-vax-vms\/image-4\/\" data-orig-file=\"https:\/\/i0.wp.com\/www.wickensonline.co.uk\/rc2012sc\/wp-content\/uploads\/2020\/04\/image-4.png?fit=646%2C866\" data-orig-size=\"646,866\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image-4\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/i0.wp.com\/www.wickensonline.co.uk\/rc2012sc\/wp-content\/uploads\/2020\/04\/image-4.png?fit=224%2C300\" data-large-file=\"https:\/\/i0.wp.com\/www.wickensonline.co.uk\/rc2012sc\/wp-content\/uploads\/2020\/04\/image-4.png?fit=646%2C866\" src=\"https:\/\/i0.wp.com\/www.wickensonline.co.uk\/rc2012sc\/wp-content\/uploads\/2020\/04\/image-4.png?resize=646%2C866&#038;ssl=1\" alt=\"\" class=\"wp-image-755\" srcset=\"https:\/\/i0.wp.com\/www.wickensonline.co.uk\/rc2012sc\/wp-content\/uploads\/2020\/04\/image-4.png?w=646 646w, https:\/\/i0.wp.com\/www.wickensonline.co.uk\/rc2012sc\/wp-content\/uploads\/2020\/04\/image-4.png?resize=224%2C300 224w\" sizes=\"(max-width: 646px) 100vw, 646px\" \/><\/a><figcaption>How to select text in Smalltalk-80<\/figcaption><\/figure>\n\n\n\n<p>The official user-guide is <a href=\"http:\/\/wickensonline.co.uk\/static\/files\/rc202004\/Smalltalk-80%20The%20Interactive%20Programming%20Environment.pdf\">Smalltalk-80 &#8211; The Interactive Programming Environment<\/a>.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><a href=\"http:\/\/wickensonline.co.uk\/static\/files\/rc202004\/Smalltalk-80 The Interactive Programming Environment.pdf\"><img decoding=\"async\" src=\"https:\/\/external-content.duckduckgo.com\/iu\/?u=http%3A%2F%2Fwww.computinghistory.org.uk%2Fuserdata%2Fimages%2Flarge%2FPRODPIC-3458.jpg&amp;f=1&amp;nofb=1\" alt=\"Smalltalk-80: The Interactive Programming Environment ...\"\/><\/a><\/figure><\/div>\n\n\n\n<p>So lots to think about! Just bringing this all back on point for the Retrochallenge I am thinking in true Wickens style I will have an initial detour into Smalltalk and see if I can&#8217;t implement my Lunar Lander program in the Smalltalk environment for VAX. We can get to the COBOL implementation, all in good time.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve been paying more attention to vintage computing since my portable amateur radio activities have been curtailed due to COVID-19. I recently found an excellent youtube video: Bob Supnik being a key figure from DEC&#8217;s history and also implementer of the VAX emulation in SIMH. There was also a very interesting post on the HECNET &#8230;<\/p>\n<p><a href=\"http:\/\/www.wickensonline.co.uk\/rc2012sc\/2020\/04\/12\/smalltalk-80-on-vax-vms\/\" class=\"more-link\">Continue reading &lsquo;Smalltalk-80 on VAX\/VMS&rsquo; &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"Smalltalk-80 on VAX\/VMS #retrochallenge","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[1],"tags":[47,46],"class_list":["post-746","post","type-post","status-publish","format-standard","hentry","category-general","tag-retrochallenge-2","tag-rc2020-04"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p73JhD-c2","jetpack-related-posts":[],"_links":{"self":[{"href":"http:\/\/www.wickensonline.co.uk\/rc2012sc\/wp-json\/wp\/v2\/posts\/746"}],"collection":[{"href":"http:\/\/www.wickensonline.co.uk\/rc2012sc\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.wickensonline.co.uk\/rc2012sc\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.wickensonline.co.uk\/rc2012sc\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/www.wickensonline.co.uk\/rc2012sc\/wp-json\/wp\/v2\/comments?post=746"}],"version-history":[{"count":14,"href":"http:\/\/www.wickensonline.co.uk\/rc2012sc\/wp-json\/wp\/v2\/posts\/746\/revisions"}],"predecessor-version":[{"id":771,"href":"http:\/\/www.wickensonline.co.uk\/rc2012sc\/wp-json\/wp\/v2\/posts\/746\/revisions\/771"}],"wp:attachment":[{"href":"http:\/\/www.wickensonline.co.uk\/rc2012sc\/wp-json\/wp\/v2\/media?parent=746"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.wickensonline.co.uk\/rc2012sc\/wp-json\/wp\/v2\/categories?post=746"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.wickensonline.co.uk\/rc2012sc\/wp-json\/wp\/v2\/tags?post=746"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}