{"id":34,"date":"2016-05-04T08:42:40","date_gmt":"2016-05-04T08:42:40","guid":{"rendered":"http:\/\/mal-home.dyndns.org\/wordpress\/?page_id=34"},"modified":"2016-05-04T08:42:40","modified_gmt":"2016-05-04T08:42:40","slug":"installing-vax-basic-3-3","status":"publish","type":"page","link":"https:\/\/avitech.com.au\/?page_id=34","title":{"rendered":"Installing VAX BASIC 3.3"},"content":{"rendered":"<p>BASIC was available from DEC as a <em>&#8220;layered product&#8221;<\/em> for VAX\/VMS systems. I&#8217;m running VMS 5.3 on my circa-1989 VAX. So I figured it was appropriate to install a version of BASIC from around the same time period: VAX BASIC 3.3.<\/p>\n<p>The first challenge was finding a copy of this software. The only version I&#8217;ve been able to find so far is an imaged copy of the TU58 distribution which I downloaded from <a href=\"http:\/\/iamvirtual.ca\/VAX11\/VAX-11-software.html\">http:\/\/iamvirtual.ca\/VAX11\/VAX-11-software.html<\/a>. At that link you will find the 5 TU58 tape images and associated documentation. Links to each tape are provided in the table below.<\/p>\n<p>The install files are stored in a <em>&#8220;save-set&#8221;<\/em> format and can&#8217;t be just copied across to a hard drive on the VAX, for two reasons. Firstly, they are designed to be installed using the VAX utility VMSINSTAL.COM. Secondly, some of the save-set files span across a tape boundary. So VMSINSTAL has to be used to extract them from the TU58 tapes (or in my case, from the TU58 images mounted on a virtual VAX in SIMH).<\/p>\n<p>Because I want to install BASIC on a real VAX (VAXserver 3400), I needed a way to make these TU58 images available to it. Fortunately the VAX simulators in SIMH support TU58 drives. I found that I could use VMSINSTAL on my SIMH VAX to extract (rather than install) the install files to a directory on my SIMH VAX. With the SIMH VAX connected to the real VAX over DECnet, I was then able to run VMSINSTAL on the real VAX, pulling the install files across from the SIMH VAX as required to install it on the real VAX.<\/p>\n<h4>Downloading and renaming the TU58 images<\/h4>\n<p>The table below shows the DEC part number of each tape, and the name I gave it when copied to my SIMH directory:<\/p>\n<table style=\"width:80%;margin-left:10%;\">\n<tr class=\"bb\">\n<th>DEC P\/N<\/th>\n<th>SIMH Filename<\/th>\n<th>Description<\/th>\n<\/tr>\n<tr class=\"topjust\">\n<td><a href=\"http:\/\/iamvirtual.ca\/VAX11\/LayeredProducts\/BE-N984I-BE.TAP\">BE-N984I-BE<\/a><\/td>\n<td>vax-basic-33-1.tu58<\/td>\n<td>VAX BASIC V3.3 BINARY TAPE 1 OF 5<\/td>\n<\/tr>\n<tr class=\"topjust\">\n<td><a href=\"http:\/\/iamvirtual.ca\/VAX11\/LayeredProducts\/BE-N985H-BE.TAP\">BE-N985H-BE<\/a><\/td>\n<td>vax-basic-33-2.tu58<\/td>\n<td>VAX BASIC V3.3 BINARY TAPE 2 OF 5<\/td>\n<\/tr>\n<tr class=\"topjust\">\n<td><a href=\"http:\/\/iamvirtual.ca\/VAX11\/LayeredProducts\/BE-N986I-BE.TAP\">BE-N986I-BE<\/a><\/td>\n<td>vax-basic-33-3.tu58<\/td>\n<td>VAX BASIC V3.3 BINARY TAPE 3 OF 5<\/td>\n<\/tr>\n<tr class=\"topjust\">\n<td><a href=\"http:\/\/iamvirtual.ca\/VAX11\/LayeredProducts\/BE-N987G-BE.TAP\">BE-N987G-BE<\/a><\/td>\n<td>vax-basic-33-4.tu58<\/td>\n<td>VAX BASIC V3.3 BINARY TAPE 4 OF 5<\/td>\n<\/tr>\n<tr class=\"topjust\">\n<td><a href=\"http:\/\/iamvirtual.ca\/VAX11\/LayeredProducts\/BE-HX00D-BE.TAP\">BE-HX00D-BE<\/a><\/td>\n<td>vax-basic-33-5.tu58<\/td>\n<td>VAX BASIC V3.3 BINARY TAPE 5 OF 5<\/td>\n<\/tr>\n<\/table>\n<h4>Starting up the SIMH VAX<\/h4>\n<p>Installing a SIMH VAX, installing VMS on it, and getting DECnet running are beyond the scope of this article. But to assist in replicating this process, here&#8217;s the simh.ini file that I used to configure the SIMH MicroVAX 3900:<\/p>\n<pre>; This virtual machine has 64M memory\nset cpu 64m\n\n; SIMH supports: SET CPU MODEL=(MicroVAX|VAXServer|VAXStation)\nSET CPU MODEL=VAXServer \n\n; Ask SIMH to recognise when the system is idle\nset cpu idle\n\n; Attach VAX BASIC 3.3 TU58 tape 1 of 5\nset tdc enabled\nset tdc0 locked\nattach tdc0 vax-basic-33-1.tu58\n\n; Define disk drive types. RA92 is largest-supported VAX drive.\nset rq0 ra80\nset rq1 disable\nset rq2 disable\nset rq3 disable\n\n; Attach defined drives to local files\nattach rq0 d0.dsk\n\n; Disable unused devices. It's also possible to disable individual devices,\n; using a construction like \"set rq2 disable\" if desired.\nset rl disable\nset ts disable\n\n; The next command lists the eth[x] interfaces\nshow xq eth\n\n; Setup the Ethernet interface\nset xq enabled\nset xq mac=08-00-2B-AA-BB-CC\n\n; Attach to the HP8440p's LAN adapter (which equates to eth1)\nattach xq eth1\n\n; Show the configuration of our Ethernet connection\nshow xq\n\n; Setup PUTTY to start up and connect to the VAX automatically\nset console telnet=11111\n! start \/b cmd \/c \"\"putty\" \"telnet:\/\/127.0.0.1:11111\/\"\"\n\n; Lets capture the SIMH console messages (this won't include the VAX console)\nset console log=console-log.txt\n\n; Now start the simulated VAXServer 3900\nboot cpu<\/pre>\n<p>Details of the simulated VAX can be seen in the first line of SIMH console output:<\/p>\n<pre>MicroVAX 3900 simulator V4.0-0 Beta        git commit id: 3a4e879c<\/pre>\n<h4>Extracting the BASIC install files from TU58 images<\/h4>\n<p>Create an empty directory on the SIMH VAX hard drive, ready to store the extracted install files. We&#8217;ll also run a DIR command to check that the directory has been created:<\/p>\n<pre>$<span class=\"crt-input\"> CREATE\/DIRECTORY DUA0:[MAL] \u21b5<\/span>\n\n$<span class=\"crt-input\"> DIR DUA0:[000000] \u21b5<\/span>\n\nDirectory DUA0:[000000]\n\n000000.DIR;1        BACKUP.SYS;1        BADBLK.SYS;1        BADLOG.SYS;1       \nBITMAP.SYS;1        CONTIN.SYS;1        CORIMG.SYS;1        INDEXF.SYS;1       \nMAL.DIR;1           SYS0.DIR;1          SYSEXE.DIR;1        VMS$COMMON.DIR;1   \nVOLSET.SYS;1        \n\nTotal of 13 files.\n\n$<\/pre>\n<p>We&#8217;ve already got the first TU58 tape <em>&#8220;ATTACH&#8217;d&#8221;<\/em> to the VAX (we set this up in simh.ini). There&#8217;s no need to <em>&#8220;MOUNT&#8221;<\/em> it in VMS. In fact, if you do mount it, the VMSINSTAL process that we&#8217;re about to do will fail, as it won&#8217;t prompt you to change tapes.<\/p>\n<p>Before we start VMSINSTAL, it&#8217;s helpful to remind ourselves how we are going to change TU58 tapes in SIMH, when prompted by VMSINSTAL to do so.  Here&#8217;s how the process works:<\/p>\n<ol>\n<li>Wait for VMSINSTAL to prompt us to change tapes<\/li>\n<li>In the SIMH console window, press CTRL-E to pause SIMH<\/li>\n<li>Still in the SIMH console window, attach the next tape by using the command <em>&#8220;AT TDC0 vax-basic-33-2.tdc&#8221;<\/em>, and then press <em>&#8220;c&#8221;<\/em> to continue<\/li>\n<li>Switch back to the VAX console window (in PUTTY) and type <em>&#8220;YES&#8221;<\/em> to confirm that the tape has been changed<\/li>\n<\/ol>\n<p>Repeat the above process as requested by VMSINSTAL, obviously incrementing the filename of the TU58 tape each time.<\/p>\n<p>Let&#8217;s extract the files.  Here&#8217;s the dialog in VMS. Note the use of <em>&#8220;OPTIONS G&#8221;<\/em> in the VMSINSTAL command:<\/p>\n<pre>$<span class=\"crt-input\"> @SYS$UPDATE:VMSINSTAL.COM BASIC DDA0: OPTIONS G DUA0:[MAL] \u21b5<\/span>\n\n\nVAX\/VMS Software Product Installation Procedure V5.3\n\n\nIt is 4-MAY-2016 at 23:39.\n\nEnter a question mark (?) at any time for help.\n\n\nPlease mount the first volume of the set on  DDA0:.\n* Are you ready?<span class=\"crt-input\"> Y \u21b5<\/span>\n\n%MOUNT-I-MOUNTED, BASIC01      mounted on _DDA0:\n\nThe following products will be processed:\n\n  BASIC V3.3\n\n%VMSINSTAL-I-CREATEDIR, Creating temporary directory  _DUA0:[VMIWORK].\n\n    Because VMSINSTAL does not know how many save sets comprise a software\n    product, it will simply copy as many as it can find.  Do not be\n    concerned about error messages from BACKUP after all save sets have\n    been copied.\n\nGetting save sets for BASIC V3.3\n\n%VMSINSTAL-I-RESTORE, Restoring product save set A ...\n%BACKUP-I-STARTVERIFY, starting verification pass\n%VMSINSTAL-I-RESTORE, Restoring product save set B ...\n%BACKUP-I-RESUME, resuming operation on volume 2\n%BACKUP-I-READYREAD, mount volume 2 on _DDA0: for reading\nEnter \"YES\" when ready:<span class=\"crt-input\"> YES \u21b5<\/span>\n\n%BACKUP-I-NEXTVOL, volume 2 mounted - operation continues\n%BACKUP-I-RESUME, resuming operation on volume 3\n%BACKUP-I-READYREAD, mount volume 3 on _DDA0: for reading\nEnter \"YES\" when ready:<span class=\"crt-input\"> YES \u21b5<\/span>\n\n%BACKUP-I-NEXTVOL, volume 3 mounted - operation continues\n%BACKUP-I-STARTVERIFY, starting verification pass\n%VMSINSTAL-I-RESTORE, Restoring product save set C ...\n%BACKUP-I-RESUME, resuming operation on volume 4\n%BACKUP-I-READYREAD, mount volume 4 on _DDA0: for reading\nEnter \"YES\" when ready:<span class=\"crt-input\"> YES \u21b5<\/span>\n\n%BACKUP-I-NEXTVOL, volume 4 mounted - operation continues\n%BACKUP-I-STARTVERIFY, starting verification pass\n%VMSINSTAL-I-RESTORE, Restoring product save set D ...\n%BACKUP-I-STARTVERIFY, starting verification pass\n%VMSINSTAL-I-RESTORE, Restoring product save set E ...\n%BACKUP-I-RESUME, resuming operation on volume 5\n%BACKUP-I-READYREAD, mount volume 5 on _DDA0: for reading\nEnter \"YES\" when ready:<span class=\"crt-input\"> YES \u21b5<\/span>\n\n%BACKUP-I-NEXTVOL, volume 5 mounted - operation continues\n%BACKUP-I-STARTVERIFY, starting verification pass\n%VMSINSTAL-I-RESTORE, Restoring product save set F ...\n%BACKUP-I-STARTVERIFY, starting verification pass\n%VMSINSTAL-I-RESTORE, Restoring product save set G ...\n%BACKUP-I-STARTVERIFY, starting verification pass\n%VMSINSTAL-I-RESTORE, Restoring product save set H ...\n%BACKUP-F-OPENIN, error opening DDA0:[000000]BASIC033.H; as input\n-SYSTEM-W-NOSUCHFILE, no such file\nPlease mount the next distribution volume on  DDA0:.\n(If no more volumes, answer NO.)\n* Are you ready?<span class=\"crt-input\"> NO \u21b5<\/span>\n* Is it impossible to fulfill the request?<span class=\"crt-input\"> YES \u21b5<\/span>\n\n%VMSINSTAL-E-NOSAVESET, Save set  H  cannot be restored.\n\nA total of 7  save sets copied for  BASIC V3.3\n\n\nVMSINSTAL procedure done at 23:40\n\n\n\n$<\/pre>\n<p>Let&#8217;s use the DIRECTORY command to verify that the install files have been extracted:<\/p>\n<pre>$<span class=\"crt-input\"> DIR DUA0:[MAL] \u21b5<\/span>\n\nDirectory DUA0:[MAL]\n\nBASIC033.A;1        BASIC033.B;1        BASIC033.C;1        BASIC033.D;1       \nBASIC033.E;1        BASIC033.F;1        BASIC033.G;1        \n\nTotal of 7 files.\n\n$<\/pre>\n<h4>Installing BASIC on our real VAX hardware<\/h4>\n<p>Now that we have the 7 save-set files stored on our SIMH VAX, we can run VMSINSTAL locally on the real VAX, and pull the save-set files across over DECnet as VMSINSTAL runs. The dialog below shows the install process. All commands were entered through the operator&#8217;s console on the real VAX (a VAXserver 3400 with VMS 5.3.2 installed, with DECnet node name CAEPG2).<\/p>\n<p>Note that before attempting this you should verify that DECnet is running correctly and you\u2019ve used the VMS command <em>&#8220;UAF> add\/proxy [etc]&#8221;<\/em> on the SIMH VAX, to allow the real VAX to grab the files over DECnet. Try copying a file or two manually, to make sure it&#8217;s all working fine (and without the need to specify a username and password during the file-copy operation).<\/p>\n<p>Once you&#8217;re happy that DECnet is behaving itself, here&#8217;s what we&#8217;ll see in VMS during the install process:<\/p>\n<pre>CAEPG2::system&gt; <span class=\"crt-input\">@SYS$UPDATE:VMSINSTAL BASIC 8440P::DUA0:[MAL]\u00a0\u21b5<\/span>\n\n\nVAX\/VMS Software Product Installation Procedure V5.3-2\n\n\nIt is 1-MAY-2016 at 21:41.\n\nEnter a question mark (?) at any time for help.\n\n* Are you satisfied with the backup of your system disk [YES]?<span class=\"crt-input\">\u00a0\u21b5<\/span>\n\n\nThe following products will be processed:\n\n  BASIC V3.3\n\n\nBeginning installation of BASIC V3.3 at 21:41\n\n%VMSINSTAL-I-RESTORE, Restoring product save set A ...\n%VMSINSTAL-I-RELMOVED , The product's release notes have been successfully moved\n to SYS$HELP.\n\nVAX BASIC V3.3 Installation Procedure\n\n   There are three possible installation options. They are described\n   as follows: \n\n   1) Perform a normal installation of BASIC. \n\n   2) Install VAX\/VMS system definitions text library only (10-45 minutes).\n\n   3) Obtain a copy of the BASIC message text for modification. \n\n* Which option do you want to use [1]: <span class=\"crt-input\">1\u00a0\u21b5<\/span>\n* Do you want to install the BASIC HELP files [YES]?<span class=\"crt-input\">\u00a0\u21b5<\/span> \n* Do you want to install the VAX\/VMS system definitions [NO]?<span class=\"crt-input\">\u00a0\u21b5<\/span> \n* Do you want to install the sample graphics programs [YES]?<span class=\"crt-input\">\u00a0\u21b5<\/span> \n* Do you want to purge files replaced by this installation [YES]?<span class=\"crt-input\">\u00a0\u21b5<\/span> \n\n\n        Product:      BASIC\n        Producer:     DEC\n        Version:      3.3\n        Release Date: 1-MAY-1988\n\n\n* Does this product have an authorization key registered and loaded? <span class=\"crt-input\">NO\u00a0\u21b5<\/span>\n\n%VMSINSTAL-W-NOIVP, IVP will not be run since license is not installed.\n%VMSINSTAL-I-IVP, It is recommended that the IVP be run after the license has be\nen installed.\n%VMSINSTAL-I-RUNIVP, To run the IVP, invoke @SYS$SYSROOT:[SYSTEST.BASIC]BASIC$IV\nP.COM.\n%VMSINSTAL-I-RESTORE, Restoring product save set B ...\n%VMSINSTAL-I-SYSDIR, This product creates system disk directory  VMI$ROOT:[SYSTE\nST.BASIC].\n\n    ************************************************************************\n    If you have VAX GKS V2.0 or later on your system, VAX BASIC V3.3 allows \n    you to use graphics language statements.  The procedure:\n\nSYS$SYSROOT:[SYSTEST.BASIC]BASIC$GRAPHICS_IVP.COM\n\n    will verify that VAX BASIC graphics capabilities work on your system.\n    You must execute this procedure on a terminal with graphics capabilities.\n    ************************************************************************\n\n%VMSINSTAL-I-INSHELP, Installing BASIC Help files\n%VMSINSTAL-I-RESTORE, Restoring product save set C ...\n%VMSINSTAL-I-INSSAMPLE, Installing sample programs and PICTURE libraries\n%VMSINSTAL-I-RESTORE, Restoring product save set E ...\n%VMSINSTAL-I-RESTORE, Restoring product save set F ...\n%VMSINSTAL-I-SYSDIR, This product creates system disk directory  VMI$ROOT:[SYSHL\nP.EXAMPLES.BASIC].\n\n    *********************************************************************\n    A number of sample programs demonstrating BASIC graphics statements\n    have been copied to [SYSHLP.EXAMPLES.BASIC].  \n\n    Read [SYSHLP.EXAMPLES.BASIC]BASIC_EXAMPLES.TXT for information on the \n    sample programs provided.\n    *********************************************************************\n\n%VMSINSTAL-I-MOVEFILES, Files will now be moved to their target directories...\n\nInstallation of BASIC V3.3 completed at 21:44\n\n\nVMSINSTAL procedure done at 21:44\n\n\n\nCAEPG2::system&gt;<\/pre>\n<h4>Installing the BASIC license PAK<\/h4>\n<p>Like VAX\/VMS itself, the layered products such as BASIC require a license PAK to be registered and loaded in VMS before the software can be used.<\/p>\n<p>The license PAK for BASIC can be installed before or after installing BASIC. Because the PAK was not installed when I installed BASIC, you can see in the dialog above that I answered <em>&#8220;NO&#8221;<\/em> when asked <em>&#8220;Does this product have an authorization key registered and loaded?&#8221;<\/em>. Because the PAK was not loaded, the install process did not run the <em>&#8220;installation verification process&#8221;<\/em> (IVP). So we will now load the PAK, so we can run IVP and also run BASIC.<\/p>\n<p>Fortunately the OpenVMS Hobbyist Licenses currently issued by HP will activate VAX BASIC V3.3. The example shown below uses my current Hobbyist License, though each <em>&#8220;x&#8221;<\/em> shown below obscures the real details.<\/p>\n<p>License PAKs can be entered at the VMS command line, or through the interactive menu-driven process provided by @SYS$UPDATE:VMSLICENSE.COM. We&#8217;re going to use the latter approach:<\/p>\n<pre>CAEPG2::system> <span class=\"crt-input\">SET DEF SYS$UPDATE \u21b5<\/span>\n\nCAEPG2::system> <span class=\"crt-input\">@VMSLICENSE.COM \u21b5<\/span>\n\n    VMS License Management Utility Options:\n\n        1. Register a Product Authorization Key\n        2. Amend an existing Product Authorization Key\n        3. Cancel an existing Product Authorization Key\n        4. List Product Authorization Keys\n        5. Modify an existing Product Authorization Key\n\n        9. Exit this procedure\n\n    Type '?' at any prompt for a description of the information \n    requested.\n\n\nEnter one of the above choices [4]: <span class=\"crt-input\">1 \u21b5<\/span>\n\nDo you have your Product Authorization Key? [YES]: <span class=\"crt-input\">\u21b5<\/span>\n\n   The REGISTER option allows you add a new license to a license\n   database.  A Product Authorization Key (PAK) provides the product \n   name and information you need to register the license.  You must \n   enter all the information provided by your PAK exactly as specified.\n\n\nPAK ID:\n\n                       Issuer [DEC]: <span class=\"crt-input\">\u21b5<\/span>\n\n         Authorization Number []: <span class=\"crt-input\">HOBBYIST-VA-KEYxxxxx-xxxxxx \u21b5<\/span>\n\nPRODUCT ID:\n\n                 Product Name [*]: <span class=\"crt-input\">BASIC \u21b5<\/span>\n\n                     Producer [DEC]: <span class=\"crt-input\">\u21b5<\/span>\n\nNUMBER OF UNITS:\n\n              Number of Units []: <span class=\"crt-input\">0 \u21b5<\/span>\n\nKEY LEVEL:\n\n                      Version []: <span class=\"crt-input\">\u21b5<\/span>\n\n         Product Release Date []: <span class=\"crt-input\">\u21b5<\/span>\n\nKEY TERMINATION DATE:\n\n         Key Termination Date []: <span class=\"crt-input\">28-APR-2017 \u21b5<\/span>\n\nRATING:\n\n      Availability Table Code []: <span class=\"crt-input\">\u21b5<\/span>\n\n          Activity Table Code []: <span class=\"crt-input\">100 \u21b5<\/span>\n\nMISCELLANEOUS:\n\n                  Key Options []: <span class=\"crt-input\">\u21b5<\/span>\n\n                Product Token []: <span class=\"crt-input\">\u21b5<\/span>\n\n                  Hardware-Id []: <span class=\"crt-input\">\u21b5<\/span>\n\n                     Checksum []: <span class=\"crt-input\">2-NEFB-BGNI-OFJP-PFEE \u21b5<\/span>\n\n      License Database File:  SYS$COMMON:[SYSEXE]LMF$LICENSE.LDB\n                     Issuer:  DEC\n              Authorization:  HOBBYIST-VA-KEYxxxxx-xxxxxx\n                   Producer:  DEC\n               Product Name:  BASIC\n                      Units:  0\n                       Date:  \n                    Version:  \n           Termination Date:  28-APR-2017\n               Availability:  \n                   Activity:  CONSTANT=100\n                    Options:  \n                      Token:  \n                Hardware ID:  \n                   Checksum:  2-NEFB-BGNI-OFJP-PFEE\n\n\nIs this information correct? [YES]: <span class=\"crt-input\">\u21b5<\/span>\n\nRegistering BASIC license in SYS$COMMON:[SYSEXE]LMF$LICENSE.LDB...\n\n\nDo you want to LOAD this license on this system? [YES]: <span class=\"crt-input\">\u21b5<\/span>\n\n%LICENSE-I-LOADED, DEC BASIC was successfully loaded with 0 units\n\n    VMS License Management Utility Options:\n\n        1. Register a Product Authorization Key\n        2. Amend an existing Product Authorization Key\n        3. Cancel an existing Product Authorization Key\n        4. List Product Authorization Keys\n        5. Modify an existing Product Authorization Key\n\n        9. Exit this procedure\n\n    Type '?' at any prompt for a description of the information \n    requested.\n\n\nEnter one of the above choices [1]: <span class=\"crt-input\">9 \u21b5<\/span>\n\nCAEPG2::system><\/pre>\n<h4>Running the Installation Verification Procedure<\/h4>\n<p>With the BASIC license PAK loaded, we can now run the IVP:<\/p>\n<pre>CAEPG2::system> <span class=\"crt-input\">@SYS$SYSROOT:[SYSTEST.BASIC]BASIC$IVP.COM \u21b5<\/span>\n\nExecuting VAX BASIC installation verification procedure\n\n\n%VMSINSTAL-I-IVPSUCCESS, VAX BASIC V3.3 Installation test PASSED\nThe BASIC IVP has succeeded\n\nCAEPG2::system><\/pre>\n<h4>Running BASIC<\/h4>\n<p>Our installation is complete. We can now run BASIC from any terminal that that is connected to the system, provided the user has adequate privileges. So BASIC can be run from the system console, or from any number of terminals (VT100, VT220, etc) connected to a terminal server.<\/p>\n<p>Here&#8217;s how we start BASIC, type in and run a simple program. Note that we have to type <em>&#8220;EXIT&#8221;<\/em> twice to return back to VMS. When we first attempt to EXIT, BASIC warns us that we have unsaved changes. No such warning is given on the second attempt to EXIT.<\/p>\n<pre>CAEPG2::system> <span class=\"crt-input\">BASIC \u21b5<\/span>\n\nVAX BASIC V3.3\n\nReady\n\n<span class=\"crt-input\">10 FOR I = 1 TO 10 \u21b5<\/span>\n<span class=\"crt-input\">20 PRINT \"Welcome to the VAXserver 3400!\" \u21b5<\/span>\n<span class=\"crt-input\">30 NEXT i \u21b5<\/span>\n<span class=\"crt-input\">40 END \u21b5<\/span>\n<span class=\"crt-input\">LIST \u21b5<\/span>\nNONAME     1-MAY-2016 21:57\n\n10 FOR I = 1 TO 10\n20 PRINT \"Welcome to the VAXserver 3400!\"\n30 NEXT I\n40 END\n\nReady\n\n<span class=\"crt-input\">RUN \u21b5<\/span>\nNONAME     1-MAY-2016 21:57\n\nWelcome to the VAXserver 3400!\nWelcome to the VAXserver 3400!\nWelcome to the VAXserver 3400!\nWelcome to the VAXserver 3400!\nWelcome to the VAXserver 3400!\nWelcome to the VAXserver 3400!\nWelcome to the VAXserver 3400!\nWelcome to the VAXserver 3400!\nWelcome to the VAXserver 3400!\nWelcome to the VAXserver 3400!\nReady\n\n<span class=\"crt-input\">EXIT \u21b5<\/span>\n%BASIC-W-CHANGES, unsaved change has been made, CTRL\/Z or EXIT to exit\nReady\n\n<span class=\"crt-input\">EXIT \u21b5<\/span>\nCAEPG2::system> <\/pre>\n<p>Still to do:<br \/>\n* Add a download file with the 5 tapes and various docs<\/p>\n","protected":false},"excerpt":{"rendered":"<p>BASIC was available from DEC as a &#8220;layered product&#8221; for VAX\/VMS systems. I&#8217;m running VMS 5.3 on my circa-1989 VAX. So I figured it was appropriate to install a version of BASIC from around the same time period: VAX BASIC 3.3. The first challenge was finding a copy of this software. The only version I&#8217;ve ..<\/p>\n<div class=\"clear-fix\"><\/div>\n<p><a href=\"https:\/\/avitech.com.au\/?page_id=34\" title=\"read more...\">Read more<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"parent":10,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"full-width-template.php","meta":{"footnotes":""},"class_list":["post-34","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/P7xTsk-y","jetpack-related-posts":[{"id":735,"url":"https:\/\/avitech.com.au\/?page_id=735","url_meta":{"origin":34,"position":0},"title":"Install Log: VAX\/VMS 5.3","author":"malcolm","date":"4-July-2016","format":false,"excerpt":"This page shows the install log from the process of installing VMS 5.3 on a VAXstation 3100 M90. This is pretty rough - very few explanatory comments have been added at this stage. The command to issue at the standalone backup command is (If the CDROM drive is DKB400 and\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1867,"url":"https:\/\/avitech.com.au\/?page_id=1867","url_meta":{"origin":34,"position":1},"title":"VAX 11\/750 Parts","author":"malcolm","date":"18-April-2017","format":false,"excerpt":"This is a temporary page. If you are interested in any photos here, please take a copy ASAP. I'm in the process of parting out a VAX-11\/750. The photos below show the machine before I started to strip it, as well as a bundle of parts that are on their\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/avitech.com.au\/wp-content\/uploads\/2017\/04\/20170418_115006_1492502006237_resized.jpg?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/avitech.com.au\/wp-content\/uploads\/2017\/04\/20170418_115006_1492502006237_resized.jpg?resize=350%2C200 1x, https:\/\/i0.wp.com\/avitech.com.au\/wp-content\/uploads\/2017\/04\/20170418_115006_1492502006237_resized.jpg?resize=525%2C300 1.5x, https:\/\/i0.wp.com\/avitech.com.au\/wp-content\/uploads\/2017\/04\/20170418_115006_1492502006237_resized.jpg?resize=700%2C400 2x, https:\/\/i0.wp.com\/avitech.com.au\/wp-content\/uploads\/2017\/04\/20170418_115006_1492502006237_resized.jpg?resize=1050%2C600 3x, https:\/\/i0.wp.com\/avitech.com.au\/wp-content\/uploads\/2017\/04\/20170418_115006_1492502006237_resized.jpg?resize=1400%2C800 4x"},"classes":[]},{"id":1919,"url":"https:\/\/avitech.com.au\/?page_id=1919","url_meta":{"origin":34,"position":2},"title":"DEC VAXstation 3100 Model 76","author":"malcolm","date":"19-April-2017","format":false,"excerpt":"This page will eventually include notes about my experience in setting up VMS, DECwindows and Motif on this machine. For the time being, this page just includes some photos, and a couple of useful links. Links Kee's VS3100 page: Lots of useful information here, including a link (at the bottom\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/avitech.com.au\/wp-content\/uploads\/2017\/04\/20170419_135936_1492574429276_resized.jpg?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/avitech.com.au\/wp-content\/uploads\/2017\/04\/20170419_135936_1492574429276_resized.jpg?resize=350%2C200 1x, https:\/\/i0.wp.com\/avitech.com.au\/wp-content\/uploads\/2017\/04\/20170419_135936_1492574429276_resized.jpg?resize=525%2C300 1.5x, https:\/\/i0.wp.com\/avitech.com.au\/wp-content\/uploads\/2017\/04\/20170419_135936_1492574429276_resized.jpg?resize=700%2C400 2x, https:\/\/i0.wp.com\/avitech.com.au\/wp-content\/uploads\/2017\/04\/20170419_135936_1492574429276_resized.jpg?resize=1050%2C600 3x, https:\/\/i0.wp.com\/avitech.com.au\/wp-content\/uploads\/2017\/04\/20170419_135936_1492574429276_resized.jpg?resize=1400%2C800 4x"},"classes":[]},{"id":97,"url":"https:\/\/avitech.com.au\/?page_id=97","url_meta":{"origin":34,"position":3},"title":"Factory full of DEC","author":"malcolm","date":"5-May-2016","format":false,"excerpt":"A small factory full of DEC gear was recently added to my collection. There are about 100 monitors, 40 sizeable VAX\/Alpha machines, 500 boxes of documentation and much more. This has all been accumulated and saved thanks to 20 years of work by a well known collector in Melbourne. I'm\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/avitech.com.au\/wp-content\/uploads\/2016\/05\/factory-20160225-102957-Medium.jpg?fit=1200%2C675&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/avitech.com.au\/wp-content\/uploads\/2016\/05\/factory-20160225-102957-Medium.jpg?fit=1200%2C675&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/avitech.com.au\/wp-content\/uploads\/2016\/05\/factory-20160225-102957-Medium.jpg?fit=1200%2C675&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/avitech.com.au\/wp-content\/uploads\/2016\/05\/factory-20160225-102957-Medium.jpg?fit=1200%2C675&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/avitech.com.au\/wp-content\/uploads\/2016\/05\/factory-20160225-102957-Medium.jpg?fit=1200%2C675&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":1292,"url":"https:\/\/avitech.com.au\/?page_id=1292","url_meta":{"origin":34,"position":4},"title":"DEC InfoTower","author":"malcolm","date":"23-October-2016","format":false,"excerpt":"Here's some photos of what I think is a VAX InfoServer system. On the outside, it's called an InfoTower. On the inside, it's labelled as an InfoServer 1000. I haven't done anything with this yet.","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/avitech.com.au\/wp-content\/uploads\/2016\/10\/20161023_171900_resized.jpg?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/avitech.com.au\/wp-content\/uploads\/2016\/10\/20161023_171900_resized.jpg?resize=350%2C200 1x, https:\/\/i0.wp.com\/avitech.com.au\/wp-content\/uploads\/2016\/10\/20161023_171900_resized.jpg?resize=525%2C300 1.5x, https:\/\/i0.wp.com\/avitech.com.au\/wp-content\/uploads\/2016\/10\/20161023_171900_resized.jpg?resize=700%2C400 2x"},"classes":[]},{"id":3623,"url":"https:\/\/avitech.com.au\/?page_id=3623","url_meta":{"origin":34,"position":5},"title":"Garage Sale on Sat 5 October 2019","author":"malcolm","date":"30-September-2019","format":false,"excerpt":"I'm doing something of a clean out of vintage computer gear, due to downsizing. This Saturday (5 October 2019) from 9am to 5pm. Factory 71, 22 Dunn Crescent, Dandenong Here's a partial list of what will be available (this list will be updated on Friday): The Free Pile DEC Networking\u2026","rel":"","context":"Similar post","block_context":{"text":"Similar post","link":""},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/avitech.com.au\/index.php?rest_route=\/wp\/v2\/pages\/34","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/avitech.com.au\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/avitech.com.au\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/avitech.com.au\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/avitech.com.au\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=34"}],"version-history":[{"count":0,"href":"https:\/\/avitech.com.au\/index.php?rest_route=\/wp\/v2\/pages\/34\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/avitech.com.au\/index.php?rest_route=\/wp\/v2\/pages\/10"}],"wp:attachment":[{"href":"https:\/\/avitech.com.au\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=34"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}