Skip to main content

QBone Part 4: Bus Drivers

In Part 2, we talked about re-designing the QBone to eliminate an obsolete CPLD. However, there's another part on the QBone that we can't easily replace with a modern part: the bus transceiver (or "driver" or "interface")) chips. [1]

The first QBus machines were based on the LSI-11 KD11 processor. Introduced in 1975, the KD11-F and KD11-L shared a quad-width module size, the original LSI-11 chipset, 1 level of interrupt, and a 16-bit address bus. 64KB of RAM could be addressed, and each had 8KB of RAM on-board. [2] These modules were designed initially for OEM use in third-party machines, but were later sold in a complete system by DEC, as the PDP-11/03 series.


On these initial CPUs, the bus driver chips are DS8641 chips, a National Semiconductor (now owned by Texas Instruments) quad transceiver part hand-selected for optimal specifications. DEC eventually started having these labelled DEC8641 to indicate their selection as ideal for QBus systems. In later machines, especially microVAX and PDP-11/73 and /83s, the NatSemi / TI DS3662 was used - still hand-selected, but now branded as DEC8641-2. Third-party QBus boards used these, as well as a variety of other chips to drive the QBus, including the DL8641DC (East German made), NatSemi's DS8838, and the Soviet-made КР559ИП3, most famously used in the Elektronika PDP-11 clones.

New Old Stock КР559ИП3 chips.

Initially, my business partner's gut reaction was: "let's replace these obsolete chips with a modern component that's still available," such as Eric's recommended AMD / TI AM26S10C or SN75138. As QBones already have surface-mount components, there's no real overhead to add more SMD chips, and supply is not a concern. However, Joerg and I both know that some customers are using QBones as a platform for testing bus transceiver chips. So, for this pass on the QBone, we're keeping the DIP-package DS8641 part. If we do a second run of boards, we're considering various options, such as multiple sets of footprints on the PCB, or doing a run of SMT-to-DIP adapters for the newer parts. (This would also let us sell these "chips" individually as replacement parts for old, failed boards.)

So the problem pivots from one of re-design to one of vintage part sourcing. Joerg's favourite supplier of chips ran out during his last order, so that wasn't going to work for us. We managed to obtain a large number of the Russian КР559ИП3 chips, and from an e-cycler, many pulled DS8641 and DS3662 chips. While the Russian chips are new old stock (NOS), there's very few DS8641/DS3662 chips that are NOS on the market today.

Now, we need to test the chips. ZIF sockets in a QBone turned out to be easier than building a device characterisation rig, given the size of this board run. Sadly, though, only 6 ZIF sockets can fit on a QBone, given the current layout:

QBone with 6 driver chips and 6 ZIF sockets for testing purposes.

Unfortunately, this problem only came to light after placing the QBone PCB order, so we were unable to redesign the board to fit 12 ZIF sockets next to each other. So, for fully assembled units, we simply populate all 12 transceiver sockets in a new board with chips, and if necessary replace a chip for failure.

Our test process uses the TL menu's * r command for 10 minutes, followed by the BS menu's TP "walking bit" test and a QProbe for visual verification that all lines are being driven correctly. When fully assembling a QBone, we follow this by booting RT-11 and running ADVENT on our known-good 11/23 (M8186) CPU.

Based on our initial testing, we have a failure rate of about ~2.5% in pulls, and ~0.5% for NOS chips. This is better than expected for pulls, but a little worse than expected for NOS chips. We'll update these numbers as our testing progresses.

Next time, getting a handle on DEC handles.