wickensonline.co.uk
Retrochallenge 2009 Winter Warmup Entry
Introduction
|
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...