X11-Basic (1991-2020)
x11-basic.sourceforge.net
x11-basic.sourceforge.net
This is both terrifying and something I definitely want to play with.
When are we finally designing computers like proper products?
There's a lot of philosophical ways you could see it as why a computer has to "boot" every time it is powered on, but the way I think about it, it all has to do with the volatility of memory. When power is removed, registers and DRAM all lose their state slowly. When a modern computer is powered on, a lot of things happen before the primary CPU even begins to boot. Once reset is pulled down on the CPU, it has to go through the process of actually booting. Each phase of bootstrap builds on the previous phase, on modern computers usually starting with some kind of ROM right on the CPU, to firmware in EEPROM which may boot in multiple phases, to a bootloader, to the actual operating system kernel. Embedded devices can be a lot simpler here but unilaterally there will be some sequence of code at the beginning whose job is to (re)initialize a bunch of state that holding reset won't. (From my spelunking on older hardware it seems like holding reset on most CPUs only ever does nearly the absolute bare minimum to make it possible for a bootrom to deal with the rest of initialization. Makes enough sense, really.)
This has to happen every time a computer is powered on because it's a clean slate every time it turns on. The registers won't just magically get into some state, there has to be some integrated logic that can reset the processor to a known state and start the process of bootstrapping again.
Let's say someone builds a computer with absolutely no volatile memory at all. If power is removed, registers keep all of their state. The RAM is durable. All of the caches are durable. Then what? Well, then you probably don't have to bootstrap every time the computer is turned on. At least in theory it ought to be possible to have a computer that works this way and simply resumes exactly where it left off when power is returned. You would probably design computers differently since you wouldn't necessarily need RAM and disk to be separate, it could possibly just be one thing, and what is now booting an OS would be somewhat more like installing it.
I don't really think we have the technology to make something like this practical, and it's hard to imagine it much since our hardware and software is designed tightly around the assumption of these processes and the existence of multiple tiers of memory, but that's my opinion for the best philosophical justification for why computers must bootstrap.
It would be interesting to see, though I don't really agree with the characterization that making a computer without a bootstrap process would make it any more "proper" of a product...
I mean, Intel Optane is kind of this, although afaik, nobody ran systems with only Optane, and you would still need some amount of suspend/resume logic, because cpu registers need to be persisted including getting the cpu into the proper mode. Also, perhiperals would need to be reinitialized (and possibly redetected).
If you really want to avoid booting, the registers also need to be non-volatile, and all of the peripherals have to be built this way, too, e.g. the GPU.
Consider a system like a PDP-8 with magnetic core memory. When you powered it on, memory had the same contents it had when powered off. You give the CPU an address of your favorite program in memory, start the CPU running, and you're off.
Of course, if you don't have anything useful in memory, you've got to do something about that. Which is why, sticking with the PDP-8 family, the PDP-8i had the machine code (in octal) for a paper tape loader printed on the front of the system for you to toggle into core with your binary switches.
https://www.pdp8online.com/pdp8i/pics/pdp8i_frontpanel.shtml...
You'd probably need to tune your chosen kernel to hit 500ms, but it's doable. Harder if you include the time in system firmware though.
https://www.techspot.com/article/531-eben-upton-interview/
See also https://youtu.be/PAHBZImmXsI?t=590
This looks like fun: https://wiki.openstreetmap.org/wiki/TTconsole
and serve cool warez
Now that they're killing it… I don't think I'll go back to using a TomTom any time soon lol
This also goes a lot for the leap from command prompts to GUI's. You trade off control for functionality and that is not necessarily a bad thing. I just wish it was easier to get back to a middle path on this. Many have tried but it all seems a little too fragmented.
That niche has been pretty much filled by Excel, for better or worse.