Something I liked about home computers was the fact that you turned it on and, if there was just no media attached to it, you were instantly dropped into a BASIC console. If you had no software, no OS, no cartridge, no tape, no floppy, no disk... the machine was still useful. I missed that when I started using a PC.
Later I got to know that the original PC, IBM 5150, had such feature and the skill was simply removed as the "standard" evolved.
I think motherboard vendors should have kept this option on the BIOS. Being able to turn on the computer and have the instant possibility of writing and running code when every other software brakes is very powerful. Recovering a DOS based system was relatively easy if you had other computer available: simply put a floppy and type "sys a:" and you had a new boot disk, but you still needed other computer to do a recovery. Getting your computer to a usable or useful state without the help of another machine is something that we shouldn't have lost.
As sibling notes, macs can install themselves over the internet from firmware, which sounds like exactly what you want.
Macs can also boot in target disk mode, which does need another computer but also trivializes certain recovery tasks.
Several systems (Android, at least some PCs, I think Chromebooks) have either 2 root filesystems or a recovery system on their disk that can reinstall the main OS. This is weaker but still useful.
You can flash iPXE to a network card and use that to boot a PC over the internet kind of like a mac with more steps.
Coreboot can take arbitrary payloads; if your device has enough flash you could easily include GRUB, FreeDOS, and a BASIC/LISP/etc.
A traditional BIOS can also boot an arbitrary payload. You can hijack INT 0x18 (boot to BASIC) to do whatever you want.
A lot of clone BIOSes just had to branch to a "please insert bootable media" or "No ROM BASIC - System Halted" message, but you could fairly easily inject something much like this.
I've modified the old "Anonymous XT clone" BIOS to support a stub that copies a chunk of ROM into RAM and then executes it.
This works reasonably well with some of the 512-byte "boot sector" tools I've tried, or with some minimal DOS .COM executables (i. e. an old Tiny Basic.) The copying step is a conservative approach because I suspect a lot of off the shelf software doesn't expect to be running inside ROM, and if it tries self-modifying code or simply writing to the same segment, all hell breaks loose.
For me, the limits were that, with an XT, you probably didn't want much more than 32-64k of ROM consuming precious address space, so unless you wanted to get gimmicky with banking in more memory or decompression, you're limited to maybe 20-40k of payload, which is a little small for "current" embeddable DOS products.
> Getting your computer to a usable or useful state without the help of another machine is something that we shouldn't have lost.
I once saw (and used) a similar feature on Mac: pressing some key combination during boot allowed you to wipe and reinstall OS from Internet. Not sure how exactly it was implemented, though, but I agree it would be cool if BIOS had a feature where you could type an URL to ISO and it would download and boot it.
> “It originated at Sun Microsystems, where it was known as OpenBoot, and has been used by vendors including Sun, Apple, IBM and ARM.”
> “Open Firmware allows the system to load platform-independent drivers directly from a PCI device, improving compatibility.”
> “Open Firmware may be accessed through its command line interface, which uses the Forth programming language.”
As I had written a few Forth programs on the Commodore 64, when I got an aluminium PowerBook G4 years ago (2003) I tried it out, and yes, it was Forth.
More recently, I used it for real when setting up a Sun Blade 150.
Get a bunch of cheap USB drives and flash LiveCD image on them. Use ISO format image if possible, as most systems treat those as read-only, even if they are on r/w drive. Tape a drive inside each computer's case, and you now have instant recovery.
For more advanced approach, get a device with physical "read only" switch, load a recovery image, set to R/O, and permanently connect to internal USB/IDE/SATA port. You'll have to disable it in your main OS, but boot menu will show it.
If you choose the good image, you'll get much more that BASIC of old: programming languages, graphical calculator, disk formater, and lots of other cool stuff.
Later I got to know that the original PC, IBM 5150, had such feature and the skill was simply removed as the "standard" evolved.
I think motherboard vendors should have kept this option on the BIOS. Being able to turn on the computer and have the instant possibility of writing and running code when every other software brakes is very powerful. Recovering a DOS based system was relatively easy if you had other computer available: simply put a floppy and type "sys a:" and you had a new boot disk, but you still needed other computer to do a recovery. Getting your computer to a usable or useful state without the help of another machine is something that we shouldn't have lost.