1977
PDP11/34 : Coral66 : Edge Tracker
One of my favorite projects.
A new anti-tank missile was planned, which would use image processing to home in on its target. The hardware circuit design included am2900 bit slice microprocessor chips and some expensive specialist chips. Our teams job was to provide a software emulator for the missile guidance system so that another team could test their guidance algorithms and code by running it on our emulator.
I wrote the code for the ALU and some other system components. It was vital that the emulator behaved exactly like the proposed hardware and I provided an exhaustive test suite to make sure results match the circuit specification. We wrote our programs on a DEC PDP-11/34. The PDP had an Operating System RSX and display terminals. This provided an incredibly productive environment, allowing us to write our programs quickly directly in the computer, compile them in a few seconds and then test them immediately.
Coral66 was a good "sceintific" language to use, like Algol60 but slanted towards the defence industry somehow.
The project was a great success and allowed the guidance team to test their software on real digital video data, provided by the army, of tanks moving in various scenarios. By analysing the edges of objects in a the image they were usually able to pinpoint the tank from the heat signature of its exhaust fumes.
I recall that one dataset proved troublesome; it contained a tank in a field of cows, and the missile guidance usually aimed at a cow's "exhaust" instead of the tank!
As a follow-up we started to build an emulator for guidance system based on 6502 processors for an air-to-surface missile. I wrote most of the code before the project was cancelled. It may have been because the actual hardware board became available to use for testing and an emulator was no longer required.
1978
Siemens 330 : Assembler : ATE
I spent some time in the Automated Test Equipment lab. The idea was to use computer programs to test whether equipment / weapons were working properly; at the time it was quite an advanced concept. For some reason, probably political, we were using Siemens 3003 computers which we had to program in German assembly language.
Not being able to understand German this slowed me, and others. down considerably. I dont remember what equipment we were supposed to test. I do recall that the programs and data shared the same address space so we could try out dynamic programming. For example, if you wanted a loop to execute 50 times you would write the integer value 50 into the appropriate place in the program. It was all a bit of a come down from sexy PDP-11s.
No comments:
Post a Comment