jonjacky 2 minutes ago

I wasn't planning to use the front panel extensively because, as mentioned in the video, front-panel booting is not a practical way to start a computer.

The next step up is to use a hex keypad to enter 16 bits at a time. Some single board computers from the 1970's provided this. It was marginally practical - I used to enter programs of a couple of hundred bytes into a KIM-1 this way, it only took a few minutes.

Those computers did provide a simple monitor in ROM to support this, but that code was very small - Steve Wozniak's Wozmon monitor for the Apple I was 256 bytes. You could probably design some circuitry not much more complicated than in this article to replace its array of switches with a keypad.

Fwirt 7 hours ago

I kind of wonder if the designers of the Atmega8 series had this in mind when they designed the parallel interface. I always wondered if there were any modern devices left other than say, EPROM where programming by hand was still possible. The fact that you can do this means you could use an Atmega8 to bootstrap a larger computer that was dependent on a serial interface. Always thought it would be interesting to see someone program a desktop “from nothing” starting with just hardware and no software (other than boot ROMs and firmware) and end up with a usable OS like that UEFI FORTH implementation.

  • dragontamer 5 hours ago

    I'm fairly certain that any simple MCU with static clock (ie: supports 0.01 Hz clock, or 100seconds per clock and slower) will suffice as a human level bootstrap.

    ATmega8 happens to satisfy those requirements. It's also not too hard to program microcontrollers that would support human level inputs.

    In practice, the bootstrap device will be like a Windows7 laptop we've got squirreled away somewhere. It's probably cheaper to buy up a ton of used / old laptops that are sufficient for bootstrapping rather than trying to build methodologies that bootstrap from scratch.

  • grishka 6 hours ago

    The main problem seems to be that the only way the BIOS can boot an OS is a mass storage device with executable code in the boot sector, in contrast to older computers that had some sort of monitor/debugger in their ROM. I haven't researched disk drive interfaces, but trying to hook up a floppy drive to some toggle switches so I could write a boot disk would be my first step. But then modern motherboards don't have floppy drive controllers ¯\_(ツ)_/¯

    Of course you can also try to reprogram the BIOS ROM on the motherboard, but you're likely to need a full OS to first reverse engineer it enough to know where to stick your debugger code.

    • vdupras 6 hours ago

      I think the broad idea isn't to directly, for example, program a floppy disk drive (to boot a PC from BIOS) driver from such a front panel (a gargantuan task), but to gradually bootstrap your way up there.

      For example, you could build yourself a makeshift hex keyboard and load a driver for that keyboard onto an ATmega. Good! from that point on, you can enter bytes faster.

      Then, you hook a few seg7 together to have some kind of display. Even better!

      ... and so on, until you can drive that FDD.

      • grishka 5 hours ago

        Or emulate one. Yeah, right.

cameron_b 9 hours ago

This is the way.

I've seen a lot of hand-waving explanations of how boot-strapping happens (and granted it is very implementation-specific) but this is delightfully complete without veering off into the rough.

  Interface schematic

  Architecture reference AND AVR Binary output reference for programming

  Achievable

  Fun!
jack_tripper 9 hours ago

Finally, a programing job that AI won't be able to replace.

We had devices like those in university, left from previous generations where they'd manually program Z80s ROM by hand through switches and see the output on LEDs.

Then programing(not the correct term) CPLDs via obscure programming languages and some MS-DOS tool via the parallel port.

  • jecel 4 hours ago

    > Finally, a programing job that AI won't be able to replace.

    Well, at the recent VCF (vintage computer festival) Midwest they showed a robot using the Altair's front panel to toggle in a game:

    https://techav.net/post/796938975198707712