After 3 years of part-time debugging, I've gotten my Imlac PDS-1 booting
original software!
I got an Imlac PDS-1 shortly after VCF East 1.0 and began to study the
documentation and
tinker with the machine. This was an original 4K word PDS-1 'Alpha' Imlac
(meaning it does
not have long vector support, and an odd non-linear display mapping designed
for text).
This PDS-1 had seen some modifications in it past lives. The original 4K
core memory was
one of the weak points, and had been 'upgraded' to use 8K words of static
ram. But for several
reasons the machine was unable to address the top 4K.
Additionally the main CPU was rather unstalble, often crashing even when
running 2 or 3 instruction
loops. The quality of the logic power supplies was very poor, with high 120
hz ripple. This made
me think the power supply needed to be re-capped, etc. There was also an
excessive amount of
high frequency noise as the original Imlac Engineers had left out the usual
decoupling caps from 99%
of the the logic for both processors (display and main CPU).
After some power supply work, and several weeks of evenings of soldering
small caps to the boards
to tame the logic supplies the machine was able to run hand-toggled programs
on the main CPU.
The Display Processor was another story. Any attempts to draw short vectors
with a -y displacement
produced +y axis vectors. This was chased down to an original Imlac option
board that expands the
display processors address space from 4K to 8K. With that option pulled (as
the machine could only address 4K anyway) I finally got the machine to
reliably display the HELLO test pattern.
But the basic stability problem soon returned. One recent evening I got a
little lucky and found
that the linear regulator for the +5 volt supply was dropping out of
regulation due to a high frequency
oscillation on one of the pins of the regulator IC. This was repaired, and
I once again had a solid
machine to work on.
I discovered that for the main CPU to address 8K several modifications were
needed, I had to
change some wire-pairs in the external programmers console box (which
already had the 8K
address switch and indicators), as well as debug the logic on the SRAM
modification that added
the extra bits to the memory address and program counter registers.
Imlac's hardware engineers also decided that the transistors driving the
console lamps did not need
base current limiting resistors, so they pull a TTL output to ground when
lit. This nailed the new
address bit low as far as the rest of the machine was concerned. A set of
TTL buffers restored
the new address bit with an absolute minimum of modifications.
Dallas NV SRAMS replaced the srams, so the 'appearance' of core memory
returned. At this point
I thought I had a solid 8K machine, except for the display processor anyway.
A plug-in replacement for the stock Imlac serial I/O board (110 baud!) was
designed and slipped
into the correct slot, with the ability to load Imlac software (stand-alone)
from eeprom.
But the machine would not boot correctly. I discovered that the bootstrap
loader was having
problems with the 4K address boundry, and indirect address transfers were
not correctly setting
the high order memory address bit.
More debugging of the sram modifications brought me to a missing connection,
and now I really
had a working 8K word Imlac main CPU with a 4K display processor.
Even after this it would not boot correctly, until I tweaked my serial
interface hack slightly, and
tested several binary images from Tom Uban's liberary.
Then early tonight I successfully loaded and ran a terminal emulation
program. It took well over
150 hours of on-again, off-again debugging, but seeing a page full of green
flickering vector text
was worth every moment.
And there is nothing like a 16 bit mimi with real incandescent bulbs
flickering on the panel!
I've still got some debugging and repair to do, and then the cosmetic
restoration of the display
and keyboard section will begin. I imagine that in about a year more, I'll
have the machine in
a very cherry state, excepting that the original core has been replaced.
But even that upgrade
is 'vintage' (having been done in the early 1980's). So maybe the upgrade
was not completed
until 2005, but thats a minor detail really.
I've restored five or six machines from the 1960's (this Imlac is circa
1969), but by far this
has been the most envolved job yet. Most other machines need a repair or
two and then
worked fine, but this Imlac has been a very different experiance.
Some may argue that I should have removed the sram mods and re-installed the
original core.
Alas, the original core (which I have) was never very reliable, and some of
the Imlac software of
the most interest to me requires 8K. There is also a (good) argument that
the modification to
sram is very much a part of the machine to preserve and has been in the
machine for over 15 years.
Perhaps some day soon I'll be using this Imlac as the system console on one
of my HP 2116's.
That would be just about the 'right' amount of blinking lights, for a single
user system anyway.