(I hope we haven't covered this somewhere...)

The 1949 EDSAC could boot, as we say nowadays, from a bank of uniselectors. It's unclear to me how program code was actually represented on the uniselectors.

The EDSAC had 18-bit words (17 usable!) so a naïve approach would be to have 18 uniselectors, with one word on each switch position. And given that Initial Orders 1 has been reported as being 31 words long, that naïve approach would require 31 switch positions.

The photos I can now find have 5 uniselectors. That, perhaps not coincidentally, corresponds to the 5-channel paper tapes that EDSAC used. So maybe the uniselectors were delivering the same thing. That equates to 7 uniselector positions for every 2 machine words, which works out at requiring over 100 positions total (for the 31-word Initial Orders 1). That seems infeasible, though I've not actually counted positions from the photos.

So how were the uniselectors coded?

Perhaps one position of the rotating switch could hold multiple values, selected by external logic, so a complete boot load required multiple revolutions?

Added: this YouTube video from the replica project says that 4 of the uniselectors contained the data, and the 5th controlled the operation of the other 4. That doesn't get me closer to the encoding, but it does shoot down the '5 channel paper tape similarity' hypothesis.

  • 2
    For what it's worth - I count 8 banks on each uniselector, and they probably have 25 'outlets' (positions) like this:- worthpoint.com/worthopedia/… Feb 21, 2021 at 4:43
  • 1
    If an uniselelector works by connecting the 8 "poles" in a line together in a step, you get 7 bits for each uniselector step, or 7*4=28 bits for 4 uniselectors; that's a complete word. Then the 5th can indeed do control operations, whatever they are. I can't see how many steps the uniselectors have, but it may well be 31.
    – dirkt
    Feb 21, 2021 at 7:37
  • Oh, yeah: I was overlooking the (visually obvious) fact that a single uniselector has multiple banks.
    – dave
    Feb 21, 2021 at 11:55
  • @BruceAbbott - I confirm your count of 8 x 25..
    – dave
    Feb 21, 2021 at 14:34
  • 2
    More pieces: if you look at the bit pattern of the initial instructions, only 11 bits of the 17 bits actually have changing values; the rest is always zero. So we need 11*30 = 330 bits; we have 25*5*7 = 875 bits when every pin in the selectors is used. So there's enough bits, and actually 2 uniselectors would allow to set 14 bits of the 17 total bits needed. So the first 2 uniselectors could be the first 25 words (14 bits only), and the next 2 uniselectors another 25 words.
    – dirkt
    Feb 21, 2021 at 16:19

1 Answer 1


Partial answer; I'll update this as I find things out. I'm writing this as an answer rather than comments since it's easier to organize this way.

This video in the first half has John Sanderson from the EDSAC reconstruction project talking about the uniselectors.

He holds one of the uniselectors up to camera, and it's possible to count that it has 8 banks and 25 positions. I assume the reconstruction uses the same-size switches as the original.

Around the 3-minute mark, Sanderson is talking about wiring instructions. He seems to be saying that the switch 'circumferential' position maps to the word address (instruction 4 is 4 pins up). If there's a simple mapping of pin to logic 0 or 1, and if it's possible to get a 17 bit instruction in 16 bits (examination of the order code might show that one bit can be elided), then we're still stuck at only 25 halfwords.

If anyone has contact information for Sanderson, that would be helpful.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .