There’s just something about this “light” simulation. I can just go for a “simple fly in a Learjet” (hah) while doing other stuff.
FS4 had joystick support for the analogue joysticks of the time already, and dosbox properly emulates those. But the problem I ran into is the limited configuration options for the joysticks:
* "Joystick A" controls the yoke.
* "Joystick B" controls either trottle+brakes, or throttle+rudder.
Again this should be fine if you actually have a physical throttle control and can split up the two axes to different joysticks (as you're not likely to actually have throttle and rudder on the same joystick), which dosbox/dosbox-x should be able to do.
But for this "quick flying", I'm often on my laptop and using a Bluetooth gamepad with two analogue thumb sticks: https://www.8bitdo.com/sn30-pro-g-classic-or-sn30-pro-sn/
In that case, having the throttle forcibly on any thumb stick axis is terrible: Throttle adjustments are done comparatively rarely, so the self-returning nature of a thumb stick means that you're constantly having to hold the axis in the same position with your thumb. In addition, typically one stick will be fully occupied by the yoke, so the other stick will have to be throttle and rudder, which is just unnatural and weird.
I put throttle increase/decrease on buttons instead (not ideal, but works out pretty well), but unless you turn off "Joystick B" entirely, which implies also losing rudder control, FS4 can't be made to ignore the throttle axis, and will override the throttle setting with whatever the current value of the axis is. Mapping the axis to "nothing" in dosbox does not help, since that will just keep the throttle at 0.
So I spent half an hour or so dumping memory state, diffing, and single-stepping through the assembly, just so that I could patch out the instructions that set the throttle value from joystick input with NOPs, effectively ignoring it.
To do that, patch out the bytes from 0x776c to 0x7771 (inclusive) to be 0x90 (a NOP) in FS4.EXE. This is for V4.0b of FS4 specifically, but if there is a reason to use an earlier version I'm not aware of it.