As much as I love DOS, there are certain aspects we should consider :
DOS..
- makes use of the BIOS
- is using text-mode or VGA
- supports just one processor
- is limited to 2GiB FAT partitions on FAT16
- uses 16bit real-mode
- requires MBR-style paritioning
- uses TSR style drivers
- is limited to 1MiB / 4GiB of RAM
- has no native API for graphics and sound
This is in stark contrast to modern, or rather current systems.
At this point, "DOS compatibility" is only beeing hold together by the equivalent of a chewing gum and an elastic band.
(x86 ISA and PC-BIOS, essentially).
The foundation it once was based on, namely ISA Bus, 8284 clock generator, 8288 bus controller,
8254 PIT, 8255 PIO, 8259 PIC, 8237 DMA controller, MC146818 RTC is long gone.
What is left is a poor imitation of what once was.
So if we are going to add sound support to DOS,
we would perhaps be better off creating a new, natively running DOS.
A modern DOS, which supports..
- UEFI
- emulated text-mode (via UGA or GOP)
- multi-tasking / threading
- multiple CPU cores (one for each VM, maybe ?)
- Long-Mode for well-behaved 16Bit DOS programs (optional)
- Compatibility-Mode for extender games or badly coded DOS apps
- loadable driver modules
- audio emulation core (SB/AdLib), one for each VM
- global audio mixer
- some sort of control "panel" to configure modern DOS
- FAT32 or exFat
- a 64bit or 36bit addressing scheme for about 64GiB of RAM
- GPD partitions
- direct access to hardware (similar to Win9x)
Anyway, that's just my idea. Sophisticated, Unix-style DOSes already existed since the mid-80s.
Maybe we/someone can take apart FreeDOS and assemble it to something actually useful ? 😉
Edit: Typos fixed, some left.
"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel
//My video channel//