‹ BackHN Continuity

Thread

Alan Kay's answer to “Did the ENIAC have a BIOS”?

188 points · 74 comments · midnightfish

  1. coldpie · · focus · HN ↗
    Somewhat tangential, I've watched a bunch of videos on YouTube from @deramp5113 about the Altair 8800 and other early microcomputers, which feature a similar set of front panel switches for dialing in your initial program. One thing that's interesting to me, as someone who learned computing in the late 90s, is how much is expressed in octal instead of hex on these early computers.

    As shown in the linked picture, the byte pairs are divided into [4 groups of 3] instead of [3 groups of 4] switches, which I would find more comfortable as a hex-reader. I believe, maybe someone can confirm, that octal notation is easier to translate into bits than hex is. We just don't do either of those things terribly often anymore, so octal has mostly fallen out of favor, perhaps because it groups less nicely into multiples of 8.

    Nowadays I almost never think in octal. The only time it seems to come up is for Unix file mode switches (chmod etc), which likely date to this time when octal was more common.

    Just some interesting cultural drift.

    1. z500 · · focus · HN ↗
      Octal just maps onto 3 bits instead of hex's 4. I always imagined it had something to do with the size of the byte not being standardized yet.
      1. voidUpdate · · focus · HN ↗
        AFAIK, a "byte" is 8 bits, but a "word" wasn't quite decided yet, and they were often divisible by 3, making octal make more sense
        1. ElevenLathe · · focus · HN ↗
          Was this at all related to standard tubes using octal sockets? I can't think of any reason this would be personally, but I could be missing something.
          1. voidUpdate · · focus · HN ↗
            Octal sockets are just tube sockets with 8 pins, it doesn't mean they calculate in octal
            1. ElevenLathe · · focus · HN ↗
              Right, how could they? It's just one tube.
        2. rswail · · focus · HN ↗
          On a PDP-11 there were 8 registers, R0-R7, with R6 being the (default) stack pointer and R7 being the program counter.

          There were 8 address modes for each register.

          So a src/dst instruction used up 12 bits for the src/dst+modes, a single register instruction used 6 bits.

          You could load the registers directly at addresses 177770 through 177777 on the front panel. So if your program was 5 words long, you could load that into registers R0-R4, then load R7 with the address 177770 and execute.

Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.