On Mon, 23 Dec 2024, Volkert via Freedos-devel wrote:
Also, muefircate <https://gitlab.com/tkchia/muefircate> (and its
predecessor BiEFIrcate) have been mentioned in threads in freedos-devel
before, but there hasn't been much engagement on it.
That's really unfortunate, since this project seems to be exactly what
FreeDOS needs to remain natively usable on newer PCs.
Muefircate (a.k.a. "μuᴇꜰɪrcate") is a UEFI boot loader that would allow
legacy OSes to boot from UEFI systems that lack a Compatibility Support
Module (CSM), which applies to most motherboards and laptops that entered
the market after 2020.
The project accomplishes this by implementing the relevant legacy BIOS
routines, notably INT 10h for video output and INT 13h for disk access, and
by scanning the upper memory area for option ROMs and a video BIOS, and
loading them if detected. (Even on modern UEFI systems, the upper memory
area often still contains such loadable ROMs.) Even if no legacy video BIOS
is detected, it could then try either loading a generic VGA BIOS from the
SeaBIOS project, or failing that, implement INT 10h routines that output
video through whatever framebuffer interface UEFI would expose. Also, there
was some work in progress to emulate a PS/2 keyboard, since modern UEFI
systems only take USB keyboards these days. And then it would search for
MBRs to boot.
And with those three (INT 10h, INT 13h, PS/2 keyboard emulation, MBR
chainloading), I believe you'd already have the bare minimum to be able to
boot DOS from a legacy-free x86-64 UEFI system, right?
You mention (in a part of the message I snipped) the plan Intel had to
remove legacy support from their AMD64 CPUs - and indeed, Intel has been
slowly pushing for the removal of legacy support more generally (as far as
I can tell, at least) from PCs. (AMD is apparently a different story,
thankfully)
A few years ago I had had an idea - but in the process of doing something
similar but less complex I decided I didn't quite have the mad skillz to
do it. Since I figured this crippling of legacy support was inevitable,
my idea was to create an OS that provided the superficialities of DOS to
the user, and if they needed to run a legacy app, to emulate legacy
hardware.
I think at some point we'll just have to take for granted that modern PCs
are too different from even 486 machines and emulation might be the only
way forward at that point.
-uso.
_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel