For a open source project like SDL is, for something like this, it's usually a matter of how invasive it is, and how likely the contributors seem to stick around and maintain it.
Different projects have different policies, and I don't know what SDLs is.
But they already have a lot of ports, so I trust they know what they're getting themselves into.
> Input: ... gameport joystick via BIOS INT 15h with auto-calibration
Joystick calibration: what a blast from the past! Blast from the past I encountered recently...
Joysticks had to be "calibrated" and it was something you had to do for each game that supported joysticks. These would give back analog values and they'd depend on the phases of the moon or the room temperature or both. I'm not making this up: this was a serious pain point both for players and coders.
FWIW in that DOS game of mine from 1991 or so for which I still had the .ASM source code files (about 30 000 lines of assembly code, 15 000 of which were auto-generated code to do very fast sprites drawing in the VGA 320x200 "tweaked" mode) and which I managed, at long last, to get to compile again a few days ago thanks to UASM (and quite some LLM help), I found lines like these:
ul_corner_ch:
db 63,"PUT YOUR JOYSTICK IN THE UPPER LEFT CORNER AND PRESS A BUTTON "
lr_corner_ch:
db 63,"PUT YOUR JOYSTICK IN THE LOWER RIGHT CORNER AND PRESS A BUTTON "
p1_choose:
dw 1 ;1 keyboard 2 joystick
p2_choose:
dw 0 ;0 none 1 keyboard 2 joystick
And basically a 350 lines assembly file only for joystick calibration.
So you can understand that "auto-calibration" as in TFA is quite a selling point!
Note this uses DJGPP, which switches processor to 32 bit mode via DPMI. You won't get old-school experience of segmented memory, near pointers and 64KB limits everywhere.
>Timer: Native PIT-based timer using DJGPP's uclock()
I want to commend Dj Delorie for doing a great job. As a poor child at that time having access to a proper compiler which could ran on my old PC which only ran DOS, was awesome and amazing.
For making DOS games, there is also an old port of Löve2D. Löve2D normally uses SDL, but the DOS port has its own little (mode 13h VGA) graphics/audio/input library instead. Guess with a proper SDL port it might be possible to make a more complete port of Löve 2D (and of a newer version).
24 comments
[ 4.0 ms ] story [ 46.0 ms ] thread[1] - https://github.com/freebasic/fbc
Different projects have different policies, and I don't know what SDLs is.
But they already have a lot of ports, so I trust they know what they're getting themselves into.
Usually upstream projects would reject such PRs under the reason they just increase maintenance cost with little to no benefit to the userbase.
Joystick calibration: what a blast from the past! Blast from the past I encountered recently...
Joysticks had to be "calibrated" and it was something you had to do for each game that supported joysticks. These would give back analog values and they'd depend on the phases of the moon or the room temperature or both. I'm not making this up: this was a serious pain point both for players and coders.
FWIW in that DOS game of mine from 1991 or so for which I still had the .ASM source code files (about 30 000 lines of assembly code, 15 000 of which were auto-generated code to do very fast sprites drawing in the VGA 320x200 "tweaked" mode) and which I managed, at long last, to get to compile again a few days ago thanks to UASM (and quite some LLM help), I found lines like these:
And basically a 350 lines assembly file only for joystick calibration.So you can understand that "auto-calibration" as in TFA is quite a selling point!
I want to commend Dj Delorie for doing a great job. As a poor child at that time having access to a proper compiler which could ran on my old PC which only ran DOS, was awesome and amazing.
https://github.com/SuperIlu/lovedos
The original upstream version is archived and has not been maintained in 9+ years. The link is to a fork that has fixes as recent as 2025.