SDL Now Supports DOS
Why SDL for DOS?
- Many see it as fun and “because we can,” fitting the spirit of hobbyist hacking rather than “serious” use.
- Others highlight that DOS (and FreeDOS) is still used in industrial control and legacy systems where “if it ain’t broke, don’t fix it” dominates.
- Some argue older systems are conceptually simpler and more fully understandable by one person, which is attractive for learning and tinkering.
- A project goal mentioned: getting modern engines (e.g., Diablo via DevilutionX, OHRRPGCE) running “on anything,” including DOS.
Technical/Platform Details
- Implementation uses DJGPP and DPMI, so it’s 32‑bit protected mode, not “old-school” segmented real-mode DOS.
- Requirements claimed: i386+ with VGA and 4MB RAM, comparable to Doom-era hardware; a K6-2 test machine reportedly runs Quake via SDL at ~45 fps in 640×480.
- Input support includes gameport joysticks via BIOS with auto-calibration, contrasted with painful manual joystick calibration in classic DOS games.
- Discussion notes that DOS as a target combines with browser DOSBox for easy, portable deployment of mid‑90s‑era games.
Bare-Metal / Pre‑OS Game Ideas
- Multiple comments imagine SDL-style games running in pre‑OS environments: BIOS, UEFI, “SDL for bare metal.”
- UEFI is compared (contentiously) to a “modern DOS”: simple shell, crude drivers, program loader model.
- Limitations raised: lack of standardized sound in UEFI, no vsync indication in graphics protocol, messy Bluetooth/USB audio; several argue it’s easier to just boot a minimal Linux and run the game as PID 1.
- Historical parallels: Amiga and PC “booter” games that boot directly into a game without a general-purpose OS.
Ecosystem, Maintenance, and Obscure Targets
- Some are surprised upstream accepted DOS support, expecting maintenance-cost objections.
- Others note that obscure ports often survive thanks to one dedicated maintainer and that SDL already spans many platforms.
FreeDOS and Policy Oddities
- In some countries, laws requiring a bundled OS lead vendors to ship FreeDOS as the cheapest option.
- Vendors sometimes layer FreeDOS inside Linux/QEMU when hardware isn’t DOS‑compatible.