Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

SDL 3 officially adds DOS (DJGPP) support (Developers)

posted by Rugxulo Homepage, Usono, 12.05.2026, 16:05

SDL 3 for DOS (DJGPP) is now officially supported.

* https://github.com/libsdl-org/SDL/pull/15377

What's supported

* Video: VGA and VESA 1.2+ framebuffer, RGB, and 8-bit indexed color with VGA DAC palette programming, hardware page-flipping with vsync, VBE state save/restore on exit
* Audio: Sound Blaster 16 (16-bit stereo, up to 44.1 kHz), Sound Blaster Pro (8-bit stereo, up to
2kHz), Sound Blaster 2.0/1.x (8-bit mono), all via IRQ-driven DMA with double-buffered auto-init
* Input: PS/2 keyboard with extended scancodes (0xE0 prefix), INT 33h mouse with queried sensitivity, gameport joystick via BIOS INT 15h with auto-calibration
* Threading: Cooperative scheduler using setjmp/longjmp with stack patching. Real mutexes, semaphores, TLS, and condition variables (generic fallback). Yield points in the event pump and delay functions keep audio and other threads responsive.
* Timer: Native PIT-based timer using DJGPP's uclock() at ~1.19 MHz resolution
* Filesystem: GetBasePath / GetPrefPath via DJGPP's searchpath(), POSIX filesystem ops fallback
* Build: CMake cross-compilation toolchain file, DJGPP CI job, preseed cache for faster configure

What's NOT included

* Audio recording playback only
* SDL_TIME native implementation reuses Unix gettimeofday via DJGPP's POSIX layer (works fine)
* Shared library loading support (no SDL_LoadObject).

 

Complete thread:

Back to the forum
Board view  Mix view
23397 Postings in 2207 Threads, 406 registered users (0 online)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum