Retrochallenge 2009
      Mark Wickens
      30-Jan-2009 07:00

      So what have I learnt from all these shenanigans? Some thoughts:

      1. Messing with OpenVMS has been a lot of fun, and it runs quickly and without
         fuss on a 1991 VAX with a 72 Mhz processor and 80 MB of RAM.

      2. Programming within the DECwindows environment is still a nice experience.
         Originally I was going to restrict myself to a VT terminal, but in hindsight
         I think this would have been one step too far. Having a bit more knowledge of
         the tools (support for multiple buffers and windows in the text editor for
         example) might mitigate the pain somewhat.

      3. The OpenVMS facilities for parsing command lines, TCP/IP interaction and
         character-terminal interfaces are straightforward once you've grasped the
         concepts around OpenVMS descriptors. The amount of logic in my application is
         relatively small, so it would be a good candidate for a port to VAX Macro at
         some point in the future.

      4. Using ALLIN1 as a repository for documentation for a simple online Content
         Management System has been very successful. It is simple, quick and works.
         For the basic pages I need to generate it keeps the amount of HTML coding to
         a minimum and produces pages in a consistent format. It's worked so well for
         me compared with my previous system of hand-coding pages using GNU NVu that
         I'm going to continue to use it for new content for the website.

      5. Web-browsing was hit-and-miss using VAX Mosaic. Simpler websites displayed
         enough to get the job done, but there were plenty out there that refused to
         display in Mosaic, generally because of the lack of javascript. The VAX
         struggled with pages that contained a large number of images and the eight
         bit-plane graphics card rendered the images with noticable artifacts. Another
         glaring omission, CSS, meant that pages were rendered in the same serif font
         and lacked a lot of formatting. Compared with Lynx (the text-based browsed)
         I'd say the decision of which to use was down to the content of the page.
         Form based pages were probably easier in Mosaic, whereas pages with a large
         amount of text content were as easy to view in either browsers.

      6. Programming in the 'C' language for the first time in a number of years of
         Java programming has caught me out a few times with pointers. Other than that
         the standard C library functions were picked up again with no trouble, and
         that initial 'head-brickwall' interface didn't last long.

      7. The use of the VAX day-to-day as my main computer was surprisingly
         uneventful. I had to resort back to a modern PC only on a few occasions, such
         as to interact with specific websites or to pull digital images off a camera.
         Email/SMTP, FTP, Telnet and IRC were all handled without incident (which goes
         to show how mature a lot of the technologies driving the internet are these
         days). Where a process I would normally use failed using the VAX I had to
         explore other avenues and as such I am thankful for the experience to
         encourage me to explore possibilities outside my normal 'comfort zone' a bit

         The hardware performed flawlessly, once I'd worked out that rebooting the
         DECserver 90TL terminal server into which the console port of the VAX was
         plugged would restart the VAX without warning. I've read various reports of
         the VAXstation 4000 series being very solid and dependable and I have to
         fully concur.

      8. I've developed an application that should compile up and be useful on my DEC
         3000/600, DS10L and ZX6000 boxes. It will be made available to other OpenVMS
         users who may have a requirement for remote control applications. Being able
         to have any one of these computers on individually without requiring another
         to control the Mirrorbow will save electricity and money.


      1. As hinted earlier, I'd like to interface the VAX with my MECB 68000-based
         single board computer. There is an existing 68000 assember, A68K, that looks
         like it will port fairly easily over to the VAX. It produces Motorola
         S-record format output which is what the MECB likes to process. There will be
         some physical connections required (DEC MMJ -> 9 PIN D-type) and some digging
         around for software which will facilitate the communication - some sort of
         menu-based loader program might fit the bill.

      2. I'd like to write a decent-sized program in VAX Macro. The Mirrorbow
         controller I've just developed in C would port over fairly easily as the
         grunt work is all handled within the OpenVMS system calls and these are
         accessible from VAX Macro with a minimum of fuss. What I should be able to do
         is to provide a VAX Macro based version that has the same functionality and
         external interface as the C version.

      3. One of the main sticking points of using the VAX as a sole computer was its'
         inability to read Compact Flash cards from the digital camera. There are
         serial to Compact Flash interfaces that would make this fairly
         straightforward, but I think the speed at which data could transfer over such
         an interface might make it impractical to transfer large digital images.
         Compact Flash is apparently an IDE interface, so some sort of bridge between
         SCSI and IDE that would work on the VAX might be a useful project.

      4. Retro-graphics. The VAX supports a few different graphics standards such as
         PHIGS and GKS as well as the terminal support for Regis graphics. I'd like to
         explore what these libraries have to offer and compare them with more modern

      Must first go to my wife for putting up with me and my stack of retro gear.

      I'd like to thank Jim Duff for his excellent[1] website which
      provides numerous programming examples of calling OpenVMS system services.

      I'd like to thank all those who worked at making DIGITAL the engineering-based
      company that it was, and the resulting hardware and software legacy.

      I'd like to thank my fellow retrochallenge entrants for their interesting
      projects and write-ups. If you're new to retrochallenge and have enjoyed any
      part of this entry then why not give it a go yourself next time round?

      I'm organising a meeting in Autumn 2009 for fellow DIGITAL enthusiasts - if
      you're interested check the blog entry[2] for details as they become available.

      I leave you with the somewhat apt words from an entry on my retro-playlist,
      Thomas Dolby (who's music once again is haunting my every waking moment) and
      'One of Our Submarines':

                      ' more night
                      the Winter Boys are freezing in their spam tin'

      ... see you all again in the summer ...


      2. Lakeland Developer Blog