Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • I don't remember any CP/M system with the BIOS part in ROM (and BDOS loaded from disk). It would be possible, of course, but every subsequent version of CP/M for that machine would need to be able to work with the "frozen" BIOS, and I'm not sure CP/M was designed thinking of mixing BIOS/BDOS versions.

    Saying that, I think the Epson PX-4 and PX-8 had CP/M in ROM.

    Having said that, Alan Kay has seen things we people wouldn't believe, so, if he says it happened, I'm betting on him.

  • Man I didn't even realize that Quora was still around, let alone prominent people still answering questions on it. I deprioritized it in my Kagi searches months ago and even then I didn't notice that much of a change in the quality of my searches.
  • Kay nails it: the ENIAC 'BIOS' was literally a team of humans with patch cables. Makes you appreciate modern bootloaders.
  • 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.

  • Alan Kay answering questions on Quora. What a cool gift to the world!

    This is one of the thing we lose as more and more of the conversations turn to people privately asking LLMs things, who do their best to scrape out answers from the existing info or make up a best guess. People are losing the ability to ask experts with real, unique knowledge and then share that knowledge with humanity.

  • I'm pretty sure Kay's not quite correct about the Eniac not being a stored program computer. In it's original form it obviously was not, as it had to physically reconfigured to solve different problems. However, after the war it was rebuilt to operate like any other stored program (von Neumann architecture) computer, as it was the first recipient of the design philosophy seen in the EDVAC report. It operated in that mode from '48 to '55, when it was decommissioned.

    ENIAC in Action: Making and Remaking the Modern Computer is an excellent summary of the initial design and redesign of the Eniac.

  • I had Claude Opus disassemble the CDC 6600 dead start panel. The hard part was finding a better image of the switches so the vision could read the bits.¹

    The content isn't very interesting, and Claude's comments aren't very detailed. Not bad for 2 minutes of work about a 62 year old computer though. Look out Ken Shirriff, AI is coming for you.²

      Addr   Octal   Instruction      Meaning
      0001   7512    DCN  12          Disconnect channel 12 (put it in a known idle state)  
      0002   7712    FNC  12, 4000?   Send function code to channel 12's device  
      0003   4000?                      └ function code (last bit unclear: 4000 or 4001)  
      0004   7712    FNC  12, 0001    Send another function code
      0005   0001                       └ function code
      0006   7712    FNC  12, 1500?   Send a third function code
      0007   1500?                      └ function code (least certain row)
      0010   2000    LDC  0160?       Load A with a word count
      0011   0160?                      └ the count
      0012   7412    ACN  12          Activate channel 12
      0013   7112    IAM  12, 0015    Read A words from channel 12   into memory starting at 0015
      0014   0015                       └ destination address
    
    1. https://dyninst.github.io/scalable_tools_workshop/petascale2...

    2. Not really. I have no idea if this disassembly is corrrect.

    3. Quora is prison for words.

  • EDSAC as early as 1949 had an "initial orders" module. A boot-up ROM. There was a bank of rotary selector switches, to set the octal digits in each ROM word.

    David Wheeler (of subroutine fame) figured out the most sensible thing to put in the tiny ROM was a paper tape loader and mini-assembler that loaded the rest of itself from paper tape. So at switch-on the machine would start reading the tape input and run. Programs could be written on the teletype with mnemonics and relative addresses in octal.

    It seems a little strange that more advanced later machines like the original PDP-11 from 1970, couldn't "autostart" from ROM like that. You had to toggle in a bootloader.

    I think that was because core memory was non-volatile. (EDSAC didn't use core; it had a refreshing DRAM-like delay line memory.) With core, you only had to toggle the bootloader into once and, provided your software didn't accidentally overwrite it, it was still there after a power cycle. So re-toggling in the boot loader was not really that common, despite how much lore surrounds it.

Explore Birbla archives