SDL Now Supports DOS
SDL, a popular cross‑platform multimedia library used for games and emulators, has gained native support for DOS via DJGPP, enabling modern SDL-based titles to run on classic PCs and in DOSBox-like environments. Commenters see it as both a nostalgic and practical move: it simplifies targeting retro hardware, leverages widely accessible DOS emulation, and aligns with ongoing interest in developing new games for old platforms. While few expect serious new industrial uses, many note that DOS still underpins legacy control systems and that FreeDOS keeps the platform alive as a lightweight, actively maintained OS.
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.