No Progress!

      No progress to report I'm afraid this week. My wife is in the local pantomine
      this year so I've been 'daddy day care' or more accurately 'daddy evening care'
      which has lead to little time for retrochallenging. I also endured four days of
      from Monday of not knowing whether I'd still have a job on Thursday which was
      quite the most horrible experience for everyone affected. So retrochallenge, I'm
      afraid, took a back burner for a while.

      I can report more specific non-progress. Having had a good go at getting the
      Meta Assembler compiling with the VAX Modula-2 implementation I threw the towel
      in after a few hours when I realised that some serious work would be required.
      One of the ambiguous areas in the specification of Modula-2 is the concept of
      sets, or more specifically, the maximum size of a set. Often these were
      implemented in a 'machine word' as a bit set for performance purposes, but some
      implementers clearly wanted to provide a more generic facility. In the case of
      the Topspeed implementation for which the program was originally written the
      designers had chosen an arbitrary size (or at least one big enough to handle the
      large sets I used in the Meta Assembler) but the VAX implementation does not
      provide enough capacity in it's set implementation. As sets are part of the
      language I would therefore have to re-implement the functionality as a separate
      LargeSets module and my heart isn't currently into such an undertaking.

      One thing I did do (which isn't directly related to retrochallenge but may be of
      interest to some folk and given the box was made in 2003 makes it almost
      eligible for retrochallenge!) was to swap the motherboard in my HP ZX6000
      Itanium-based workstation for an RX2600 motherboard. The ZX6000 is only
      supported unofficially by OpenVMS and as such is not included in firmware
      updates, whereas its' server-incarnation, the RX2600, is. The enclosure and
      motherboard appear identical apart from firmware. The ZX6000 is 'office
      friendly' (i.e. it doesn't sound like a jet engine) whereas the standard RX2600
      is designed for a machine room where reliability is much more important that
      noise output.

      The swap was fairly painless apart from the re-insertion of the CPU modules.
      The CPUs are supported by a cast-metal frame which engages in a similar frame on
      the motherboard to align the CPU pins. Only after having a fault following
      re-assembly and actually reading a manual about CPU replacement did I realise
      that the zero-insertion force sockets must be 'locked' to engage the pins on the
      CPU in the socket. This requires a 'custom tool' which fits through a tiny hole
      drilled directly through the CPU cooler vents and has an allen key end. As luck
      would have it I randomly picked a screwdriver out of my toolbox which had a thin
      enough shaft and exactly the right width blade to turn the locking mechanism
      (which is entirely hidden once the CPU is in place).

      So I have installed OpenVMS 8.4 on this 'hybrid' box and am planning on testing
      out the latest release of Java and Distributed Netbeans. It's a great box and
      unusually for VMS can be used as a fully-fledge desktop (VMS workstations were
      not produced after the ZX6000) with an ATI 7500 PCI graphics card at full HD
      resolution providing a CDE-based window manager. Pure luxury!