Three DOS support modules in a single commit: a WAD file chooser that auto-detects IWAD type, a game launcher that scans for known EXE signatures and generates internal config, and an Xbox BT controller-to-DOS-scancode mapper. Together they complete the DOS game launch pipeline from controller input to DOOM/Duke/Quake/Wolf3D/Heretic/Hexen/Strife.
WAD chooser
dos/wad_chooser.sg
IWAD auto-detection + D-pad selection — scans
/roms/dos/ for .WAD files, detects IWAD type by lump directory signature: E1M1→Doom 1, MAP01→Doom 2, HTIC→Heretic, CLUS1MSG→Hexen, STRIFE marker→Strife. 8-entry list with auto-launch on single IWAD found, D-pad selection for multiples.Game launcher
dos/dos_launcher.sg
EXE signature scan + auto-config — scans for known EXE signatures (DOOM/DOOM2/DUKE3D/QUAKE/WOLF3D/HERETIC/HEXEN/STRIFE), generates internal config (cycle count, SB16 port
0x220, IRQ, DMA), mounts game directory, auto-runs. No autoexec.bat exposure — config is generated internally by the launcher.Controller mapper
dos/dos_controller.sg
Xbox One BT → DOS scancode mapper — maps Xbox One Bluetooth controller inputs to DOS keyboard scan codes for Doom-era games. D-pad for movement, triggers for strafe, bumpers for weapon cycle, A=use, B=fire, Y=run, X=open, Start=ESC, Back=TAB (automap). Full mapping table for the standard DOS FPS control scheme.