Alan Kay has famously described Lisp as the "Maxwell's equations of software". He describes the revelation he experienced when, as a
graduate student, he was studying the LISP 1.5 Programmer's Manual
and realized that the half page of code on the bottom of page 13 was
Lisp in itself.
Bedrock Platform
================
A bedrock platform is a hardware platform or a universal
virtual machine that can be expected to remain compatible with any
software that has ever been written for it. Bedrock platforms can
be used to prevent software rot.
A simple bedrock platform guide based on the IBM PC line:
* Can you compile and run the program in FreeDOS?
If yes, you have the bedrock support (just make sure that the
compiler and other needed tools are archived somewhere).
If not, can you create an x86 operating system image that compiles
and runs the program without accessing any external resources?
* There are no copyright issues in regards to the hardware design,
firmware IP, etc.
Candidates for bedrock hardware
===============================
IBM PC
------
Widely cloned, remains ubiquitous, every type of common component has
had multiple manufacturers in different parts of the world (with the exception of OPL2/OPL3 common in classical soundcards). Can be
emulated by open-source software such as QEMU, Dosbox, or Bochs.
There are also several different DOS-compatible operating systems,
including FreeDOS. Standard configurations may be difficult to
pinpoint.
* * *
Raspberry Pi is an example of a platform that fails the criteria. It
depends on a single-manufacturer SoC chip (Broadcom BCM2835) that
doesn't have full documentation available. QEMU emulates some versions
of the platform to some extent but this emulation does not cover the undocumented parts of the chip (e.g. running the GPU firmware code).
Ben Collver <bencollver@tilde.pink> quoted someone who wrote:
Bedrock Platform
================
FreeDOS itself relies on the PC BIOS for hardware interactions,
instead of having its own chipset-specific drivers. Even if DOS is
running in an emulator on top of an OS such as Linux which can use
its own specific hardware drivers (if those exist for the specific
chipset used, which often requires that the chip manufacturer wrote
the Linux driver themselves), you still need the BIOS to initialise
the hardware first and boot that OS. The BIOS is therefore an
"external resource" required by FreeDOS, and unless an open-source replacement such as Coreboot has been installed, it's got the same
"copyright issues" the author is proposing to avoid.
On Fri, 8 May 2026 13:38:59 -0000 (UTC), Ben Collver wrote:
Alan Kay has famously described Lisp as the "Maxwell's equations of
software". He describes the revelation he experienced when, as a
graduate student, he was studying the LISP 1.5 Programmer's Manual
and realized that the half page of code on the bottom of page 13 was
Lisp in itself.
I wonder where he thought the lexical analyzer was ...
On 2026-05-08, Computer Nerd Kev <not@telling.you.invalid> wrote:
FreeDOS itself relies on the PC BIOS for hardware interactions,
instead of having its own chipset-specific drivers. Even if DOS is
running in an emulator on top of an OS such as Linux which can use
its own specific hardware drivers (if those exist for the specific
chipset used, which often requires that the chip manufacturer wrote
the Linux driver themselves), you still need the BIOS to initialise
the hardware first and boot that OS. The BIOS is therefore an
"external resource" required by FreeDOS, and unless an open-source
replacement such as Coreboot has been installed, it's got the same
"copyright issues" the author is proposing to avoid.
You can install FreeDOS in DOSBox or qemu, which both provide BIOS.
That's how HP ships FreeDOS on UEFI-only laptops.
On Fri, 8 May 2026 21:03:59 -0000 (UTC), Lawrence D’Oliveiro wrote:
On Fri, 8 May 2026 13:38:59 -0000 (UTC), Ben Collver wrote:
Alan Kay has famously described Lisp as the "Maxwell's equations
of software". He describes the revelation he experienced when, as
a graduate student, he was studying the LISP 1.5 Programmer's
Manual and realized that the half page of code on the bottom of
page 13 was Lisp in itself.
I wonder where he thought the lexical analyzer was ...
It could be in hardware. That's part of the beauty of the language.
Ben Collver <bencollver@tilde.pink> wrote:
On 2026-05-08, Computer Nerd Kev <not@telling.you.invalid> wrote:
FreeDOS itself relies on the PC BIOS for hardware interactions,
instead of having its own chipset-specific drivers. Even if DOS is
running in an emulator on top of an OS such as Linux which can use
its own specific hardware drivers (if those exist for the specific
chipset used, which often requires that the chip manufacturer wrote
the Linux driver themselves), you still need the BIOS to initialise
the hardware first and boot that OS. The BIOS is therefore an
"external resource" required by FreeDOS, and unless an open-source
replacement such as Coreboot has been installed, it's got the same
"copyright issues" the author is proposing to avoid.
You can install FreeDOS in DOSBox or qemu, which both provide BIOS.
That's how HP ships FreeDOS on UEFI-only laptops.
And you could run an emulator for a Raspberry Pi just the same, yet
the author rules that platform out.
Computer Nerd Kev <not@telling.you.invalid> wrote:
Ben Collver <bencollver@tilde.pink> wrote:
On 2026-05-08, Computer Nerd Kev <not@telling.you.invalid> wrote:
FreeDOS itself relies on the PC BIOS for hardware interactions,
instead of having its own chipset-specific drivers. Even if DOS is
running in an emulator on top of an OS such as Linux which can use
its own specific hardware drivers (if those exist for the specific
chipset used, which often requires that the chip manufacturer wrote
the Linux driver themselves), you still need the BIOS to initialise
the hardware first and boot that OS. The BIOS is therefore an
"external resource" required by FreeDOS, and unless an open-source
replacement such as Coreboot has been installed, it's got the same
"copyright issues" the author is proposing to avoid.
You can install FreeDOS in DOSBox or qemu, which both provide BIOS.
That's how HP ships FreeDOS on UEFI-only laptops.
And you could run an emulator for a Raspberry Pi just the same, yet
the author rules that platform out.
The problem is that such an emulator doesn't exist.
Many RPi 'emulators' are just emulating a generic Arm target that runs RPi userland, without running the RPi-specific kernel. QEMU does have some RPi targets, on which you can run the correct kernel, but they just implement
a few of the API calls made to the Pi's GPU firmware, only the few that are needed to boot Linux.
None emulate the GPU itself, which means that software that tries to talk to the GPU hardware won't work.
Perhaps that isn't such a problem, if you have
part of your driver stack able to run GPU ops on the CPU instead.
But that is not the point of a 'bedrock platform' - it's fully hardware emulated so that software can run identically, it doesn't depend on
switching bits of your software stack for others.
Many RPi 'emulators' are just emulating a generic Arm target that
runs RPi userland, without running the RPi-specific kernel. QEMU
does have some RPi targets, on which you can run the correct kernel,
but they just implement a few of the API calls made to the Pi's GPU
firmware, only the few that are needed to boot Linux.
None emulate the GPU itself, which means that software that tries to
talk to the GPU hardware won't work.
| Sysop: | DaiTengu |
|---|---|
| Location: | Appleton, WI |
| Users: | 1,116 |
| Nodes: | 10 (0 / 10) |
| Uptime: | 85:27:56 |
| Calls: | 14,305 |
| Files: | 186,338 |
| D/L today: |
652 files (186M bytes) |
| Messages: | 2,525,478 |