This is like the reverse of the bootloaders first pioneered by the Hackintosh community to boot UEFI macOS on traditional BIOS systems.
and VESA VBIOS from SeaBIOS project
Unfortunately I believe modern GPUs without a standard VBIOS may not act enough like an IBM VGA for a generic VGA VBIOS to work, so I see another project for someone in the future: a retrofit VBIOS, especially for those GPUs e.g. Intel's for which lots of open-source driver code and documentation is available but later models no longer come with a VBIOS.
Perhaps also injecting a true CSM from an old closed-source UEFI BIOS, before they started removing it, is worth doing as in my limited experience SeaBIOS isn't as quite compatible as the closed-source ones for some edge-cases.
Very cool hack.
But, as okanat says, if the goal is to run legacy operating systems, then modern hardware is going to be challenging in other ways too. IME the biggest thing I want PC BIOS back for is the ability to use non-GPT disk layouts, which this doesn't accomplish as, as to use it you put it on the EFI partition on your GPT disk.
Amazing! I thought all hope of ever running FreeDOS on the bare metal again on new hardware was lost, but maybe using this code (or something similar) a future FreeDOS installer can fix this at least on some systems.
Beautiful.
This is the project that I think has been needed for a while now.
So much that a Replacement CSM for user implementation has been top of mind to suggest here, awaiting the next time I see a request from programmers looking for a worthwhile project.
Now there's nothing more performant than a request being granted before it's even been made :)
I have been looking for something like this for a long time, I am glad to see it now exists.
Huh, Github fails quite badly at dealing with submodules from other forges.
Why?
I'd love to see someone tackle eMMC support on older machines as the next step.
> Windows XP/7's video modesetting logic is a bit mysterious. It may try to set a incompatible mode using int10h, which will cause flickering or even black screen after transferring control to the legacy OS.
I would really love to know more about this.
I assume it's this VGA driver:
https://github.com/tongzx/nt5src/tree/master/Source/XPSP1/NT...