I got the interview by mistake, not that it turned out badly or anything, just that the interviewer and I had a complete failure on language. He was looking for someone with experience of Microprocessors, the Intel 4040 to be precise, and my CV said that I had two years experence of Microcode. We started talking, we clearly got on well, but I was beginning to suspect that we were talking about completely different things. In the end I decided to explain in detail what I meant by microcode, as I had not even heard of microprocessors! A laugh, and then we decided that programming in the bits and bytes of the ordercode was just what was needed to get a primitive microprocessor to do useful things. And what things? Elliotts made traffic-lights!
It turned out that computers had been used for a few years to manage the traffic-lights of major cities to improve flow rates of traffic. Now Elliotts wanted to try and build a small controller so that towns with, maybe 20 traffic-light controlled junctions could get in on the act. The job would mean writing, from scratch, the Operating System and the Application. It was a realtime, mission critical, safety-critical application. Together with the hardware designer, I would have almost complete autonomy. From being a small team leader in a big company, I would be a project head in a small company. I was offered the job there and then, and I took it.
A short diversion into the world of Traffic Lights will ensue…
In most of the world, traffic lights are controlled by timers. Not so in the UK. Almost all traffic lights here are demand-driven from detector loops in the road. What happens is that there is a basic timing pattern, but this is modified by the detectors. For instance, if one limb of the junction has been green for some minimum time, then a demand from one of the other limbs will start a change. Or, if a light has changed to amber (on it’s way to red) and a demand from the close range detector appears the amber will be ‘held’ for a few extra seconds, to clear the vehicle through. There is a complex set of parameters and rules that the traffic engineers can use to effect policy.
When computer control of a number of junctions is introduced, the way it’s done (or was, in the 1970’s) is to use the computer to inject extra demands, spoof detector firings, into the junction controllers. By making the traffic on one limb or another of the junction appear heavier than it is, we can ‘influence’ the flow patterns of the traffic. As you can imagine, this is not exactly easy. The objective is to platoon the traffic, and pass each platoon through the set of junctions at some optimum speed, usually some large fraction of the speed limit.
The traffic plans that the area traffic control system runs vary due to predicted demand, a different plan for morning rush hour, evening rush hour, weekends, football match days and so on. The sort of wide area systems seen up to 1975 were based on large mainframes and handled many many plans and hundreds of junctions. We were planning something economic for a 20 junction town, but we had to work under the same legal framework as the big systems – this is a safely-critical system after all.
We planned to use a Intel 8080 microprocessor, with a small RAM, and the OS and application in Eprom. This would be housed in a small cabinet with UPS power supply, completely driven from a small panel with a few switches and LED display.
I studied the specs for some weeks, and planned a simple real-time executive program that would time schedule the various timing plans for the lights. The timing was based on a precision hardware clock that generated interupts. It was written entirely in 8080 assembler using an Intel Intelec-8 to run the compiler, the storage medium was paper tape, and I did my own data prep with an ASR teletype.
I learnt a whole lot about the instruction timing on the 8080. It was critical to know exactly how many clock cycles each instruction took, and to time the loops to achieve the desired results.
It was fairly clear that this was too big a job for one person, and we soon recruited an understudy. So by the time the hardware was ready, we had some software to blow into eprom, and the first results were looking good.
I was also involved with the discussions with potential customers – my first customer contact. I made numerous presentations, both internal and external on the design and philosphy of the ‘Highwayman’ (yes, we had a product name, and a brochure).
But in 1976, after 18 months on the project, I received one of those ‘headhunter’ phone calls. ICL wanted me back. I said ‘(expletive deleted) off’, they said ‘£££’, I relented and went to find out more.