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
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!