Retrochallenge 2009
      Mark Wickens
      24-Dec-2008 06:45
                                        Introduction

      This is an introduction to my "winter warm-up" retrochallenge entry
      2009. I've been following the retrochallenge for the past couple of years and it
      seemed like a good time to give it a go.

      The goals of my entry are two fold:

      1. I am going to develop a character-based screen-oriented application to
         control a network-connected appliance. The appliance currently controls an
         eight way IEC connector block into which the computers that are located in
         the attic are connected. I have developed a Java/Swing based application that
         I use from either Windows XP or Linux based PCs to control power. If I only
         have VAX or Alpha boxes running then I cannot control the power except
         through a web browser (and in order to use that I have to remember which
         computers are connected to which lines!)

      2. I am going to restrict myself to using the VAX 4000/90 for the duration of
         the challenge as my 'home' computer. I need to be a little flexible with this
         requirement as I can't always be sitting in the attic directly connected to
         this machine. When this is not the case I will be using my Lenovo X60 laptop
         as a terminal. I have a PowerStation KEA keyboard which is a PS/2 keyboard
         that is laid out in OpenVMS format. Combining this with PowerTerm 525 allows
         me to get most of the VMS-specific keys to work (the only exception appears
         to be PF4).

      I will also be looking at the relative performance of the VAX 4000/90 compared
      to modern Intel-based PCs, how WPS-PLUS with its' GOLD key bindings differs to
      modern word processors and the user experience with DECwindows compared to
      modern windowing systems like KDE4 and MS Windows.

      Documentation is created using the WPS-PLUS word processor embedded in the DEC
      application ALLIN1 and post-processed using DECtpu into HTML.

                                     Personal Background

      So what's the history. Well, as most people will point out, it only seems like
      yesterday...

      I grew up with the first generation of home computers. My first computer was a
      ZX81. My first exposure to computers was at secondary school (age 10) when the
      science teacher brought in a ZX80. I was fascinated and immediately hooked. If I
      remember correctly the ZX81 with a 16K RAM pack cost £80. This was a special
      offer that a friends dad manage to get (I believe list price at the time was
      £100).

      Most of my time on the ZX81 was spent playing games and typing in basic
      programs. My parents thought it was a good idea for me to get immersed in the
      computers so I never had a problem spending lots of time on it. My friend got a
      VIC-20 next, which supported colour graphics. My next computers were: Spectrum,
      Commodore 64, Amiga and then IBM personal computers including an Amstrad PPC640
      (an odd looking 'luggable'), Twinhead 8088 desktop (with 20MB hard drive) then
      when I started work I jumped from an 8088 to a 80486 based computer, although
      initially because I couldn't afford a colour graphics card and monitor it was
      running a monochrome Hercules monitor!

      Computers within education were for the most part mainstream UK school choices:
      Acorn Atoms, Research Machines RM-380Zs and BBC micros. This was at Manshead
      Upper School in Dunstable, UK. The odd one out was contained in a small room
      that was normally locked - it was an ASR-33 Teletype connected to the local
      college via an acoustic coupler. Through joining the computer club and gentle
      persuasion we gained access to the terminal (albeit on a limited basis) and
      spent some time exploring the PDP at the other end of the telephone line. The
      ASR-33 is a paper-based/hardcopy terminal, so using it not only consumed money
      for the telephone connection but also consumed a vast amount of paper. I don't
      recall it seeming like a glimpse of the future, in fact because of all the
      video-based devices including the school computers and home computers it already
      felt like a bit of an antique.

      My college years exposed me to my first VAX. The computer department at Hatfield
      Polytechnic (now the University of Herfordshire) was very much a DEC shop and
      the 'terminal room' consisted of a large number of VT300-series terminals. This
      was initially a fascinating sight, and to me seemed like home-from-home, much
      like University libraries often have a very comfortable feel. In my first year
      programming course was l learned to program Pascal on the VAX, and assignments
      were typically handed in as listings produced by a lineprinter. You never got to
      see the printer as it was located in the server room - an operator would
      periodically have to go through the listings, splitting them up and putting then
      in alphabetized pigeon holes. For some reason it all seems very civilized now,
      but I'm sure it was a pain at the time when you needed to get an assignment in
      pronto!

      IBM PC compatibles were making large in-roads into the diverse computing market
      of the time. I learned to program Ada in the second year which was on IBM PC
      compatibles running the GEM operating system. I remember GEM seeming quite a
      nice, quick graphical desktop. At the same time the original Apple MAC had made
      an appearance, so if you wanted to write a report (and you didn't have a
      suitable home computer) you would need to buy yourself a 3.5 inch floppy disk
      (typically costing about £5!) get it formatted on a MAC and fire up MAC write.
      If I remember correctly I started in my first year with my now venerable
      Commodore 64 and DPS-1101 daisywheel printer which produced fantastic quality
      output. The printer was a present from my dad for getting decent O level grades,
      so by this time it was getting on a bit (and one day it would no longer talk to
      the computer and that was that).

      I was exposed to Modula-2 and C in the second year, as well as 68000 assembler
      programming. I'd dabbled in assembler with the Commodore-64 (6502) and a little
      with the Z80 (Spectrum/ZX81) but never been disciplined enough to get any good
      at it. The 68000 computers I'm guessing were based on the Motorola Single Board
      Computer (MECB) of which I own a clone now. They were built into large steel
      cabinets with a single vacuum fluorescent display - communication was via a
      terminal, the ADM-3A which had a really heavy duty keyboard and you could only
      type in uppercase.

      In my third year I wrote a 'meta-assembler' in Modula-2 as my final year
      project. The idea of a meta-assembler was to create a core infrastructure of an
      assembler which was then supplemented by machine-specific implementation
      modules. This was written in Topspeed Modula-2 on the PPC640 then the 8088 PC
      later. The 8088 based desktop, even though a step backward in terms of processor
      technology, was much quicker because it contained a hard drive!

      My first job was as a software developer for a company called Cybertek (now
      Cyberscience Systems) in Hoddesdon, Hertfordshire. I was part of the VAX porting
      team, responsible for implementing machine-specific code for their main product
      CQ/CS which was written in FORTRAN on UNIX and converted to C for retargetting
      to what at the time seemed like a huge number of different platforms. This was
      my first exposure to programming VAX MACRO-32, the VAX assembler language.
      Having recently finished my 'meta-assembler' I found VAX MACRO to be a very nice
      assembly language, both from a machine point of view (the language is remarkably
      orthogonal) and from an assembler implementation point of view (the MACRO
      facility is quite powerful and the language very rich).

      I spent two years at Cyberscience programming on VAXen and Intel-based UNIX
      computers before going back to college to do a PH.D. (which I never wrote up!)
      My Supervisor and Director of Studies arranged for the purchase of a
      brand-spanking-new DEC 3000/600 Alpha AXP running Digital UNIX which at the time
      cost in excess of £10,000 (this is back in 1994!) The 24-bit graphics card (over
      the standard 8-bit card) was a £2,500 option! About two years ago, after some
      prolonged expressions of interest my ex-supervisor let me take the machine away,
      including  original DEC 21" monitor, external DAT tape drive and all
      documentation. It is one of my more treasured possessions!

      After I left college again I became a 'computer contractor' and worked in a
      variety of jobs with various kit, including OpenVMS based Alphas at British Gas
      Research which is where my exposure to ALLIN1 came. I was a C programmer for a
      long time before making the jump to Java, and, as they say, the rest is
      history...