> On Mar 13, 2025, at 7:36 AM, Holm Tiffe via cctalk <cctalk@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