On Mar 13, 2025, at 7:36 AM, Holm Tiffe via cctalk
<cctalk(a)classiccmp.org> wrote:
...
Ok, this is a full fledged mainframe CPU.. not really what I want todo first.
That stuff tends to "explode" in sight of parts, needed power and space,
I know that.
On the other side I saw different controllers for PDP11/VAX stuff that
used the 290x to control "hardware". That are microprogrammed computers
w/o any system bus and macro-instructions. Even the controller of an DEC
RX01 RX02 is build around two AM2901.
I can think of several places where DEC used 2901 designs. One is the VAX 730. One of
the PostScript laser printers also used these, I think -- LPS20 perhaps? Not the LPS40,
that was a microVAX running VaxELAN based firmware.
Another, and an interesting one, is the UDA50. It has a 16 bit engine using 4 2901s plus
a 2910 sequencer. My mentor Anton Chernoff worked on the microcode for it and showed me
some of it. I remember it had a specialized assembler where the ALU opcode (for the 2901)
was in the left half of the line, and the sequencer opcode (for the 2910) in the right
half, separated by a semicolon. The 2901 had condition codes, which were transferred to
the 2910 for conditional branches, but with a one cycle delay at least in the UDA50. So
you could see weird stuff like this:
clr r1 ; bne foo
because the conditional branch would act on the condition codes set by the preceding
line's ALU part.
The UDA50 had an implementation, in a tiny amount of microcode, for a small 16-bit
microprocessor instruction set. I think it was roughly a very much simplified PDP-11.
That was used for various downloadable diagnostics and service tools, like a disk
formatter. Richie Lary of PDP-8 fame wrote that part of the microcode.
paul