Page 1 of 1

Getting Joysticks to work

Posted: Sat May 22, 2021 6:48 pm
by starfiretbt
How do I get new joysticks to work in old dos games?
I have been trying to play several games with my joystick but they don't work, the games don't recognize the device. These games include Metaltech: Earthsiege, Star Wars: Rebal Assault, and Star Wars: X-Wing.
I have a Thrustmaster T. Flight Stick X. I have tried third party applications to associate the Joystick to other inputs that the game will recognize such as mouse or keyboard. These programs include the program "Antimicro" however they don't fully emulate the joystick functions. For Example some Dos games ask for a joystick calibration, while I can use antimicro to center a joystick and move it to top left I do not know how to program antimicro to automatically recenter the joystick, I need to manually move it and since I can't see where the joystick is currently that is very hard. What usually happens is the joystick is partially uncalibrated and this causes performance issues.

Getting Joysticks to work

Posted: Sun May 23, 2021 10:40 am
by MrFlibble
If you're running in real DOS, I suggest you ask here.

Getting Joysticks to work

Posted: Sun May 23, 2021 3:47 pm
by starfiretbt
I've tried asking them, they don't respond. I have been on a few emulator forums trying to get answers to getting a joystick to work. There is a post on Vogon's where somebody mentions each game having a specific joystick driver but the person making the post doesn't have the same problem as me.

Getting Joysticks to work

Posted: Sun May 23, 2021 5:20 pm
by Rwolf
Yes, well joysticks for PC were originally analog things, and the games had no common reference values for the min/max readouts in DOS, each game had to support the sticks they used based on values read from the game port - and as USB were not a thing back then, sometimes there is problems with modern sticks. DOSBox can be used with joysticks, but there are issues with emulated speed on some games and centering, and the polling interval may be needed to be selected different in the game profile depending on the game. Some old games that *do* support USB may mix in other USB devices with the joystick and it can mess up the button-mapping, which is why the control remapper programs are useful. If your new stick has some way of emulating an older model, it might sometimes help with older programs. (The Thrustmaster brand had several popular old models, but I don't think I ever owned one.)

Getting Joysticks to work

Posted: Mon May 24, 2021 11:08 am
by MrFlibble
starfiretbt wrote: I've tried asking them, they don't respond.
I found this post of yours. You mention you run the game on Windows 10, but Metaltech: Earthsiege is a DOS game -- are you using DOSBox or another emulator?

Getting Joysticks to work

Posted: Mon May 24, 2021 12:11 pm
by starfiretbt
I am using dosbox on windows 10. I got my joystick to work for Earthsiege using a program called "Antimicro" but other games request joystick calibration at the beginning of the game. If I set my joystick to keys or mouse it will not automatically center once I stop moving the joystick. I can get the joystick to move but it stays right were it is as soon as I stop moving it, it won't move back to center. This means that the game calibrates the joystick incorrectly.
I just need to be able to skip the calibration screen on games that ask for it.

Getting Joysticks to work

Posted: Mon May 24, 2021 2:34 pm
by MrFlibble
starfiretbt wrote: I am using dosbox on windows 10
Then you posted in the wrong forum -- the DOS section at VOGONS is for real DOS stuff. No wonder no one replied. You should post in the DOSBox Games/Apps section.

Getting Joysticks to work

Posted: Mon May 24, 2021 4:01 pm
by starfiretbt
Ok, I will try that. Thank you.

Getting Joysticks to work

Posted: Mon May 31, 2021 3:29 pm
by starfiretbt
They were able to help me. I am having specific game problems however and I didn't know if that was their issue. Now the issue I am having is the calibration screen does recognize my joystick (good) but if I go through the screen too fast it can get miscalibrated (bad).

Is there a way to skip joystick calibration screens for those old games that have them? The game I'm trying to play is "Star Wars: X-Wing" made in 1993. I assumed this site and forum deals with game issues.

Getting Joysticks to work

Posted: Tue Jun 01, 2021 5:45 am
by MrFlibble
starfiretbt wrote: Is there a way to skip joystick calibration screens for those old games that have them?
I don't believe there is a general solution to this except turning off joystick emulation in DOSBox, which is not what you're looking for. It likely depends on the game. So the right question would be, how to do that exactly in the X-Wing game.

Speaking of which, have you tried looking at GOG.com forums? The game is sold there and other users may have a similar issue.

However I should point out that in some games which I have come across that do a mandatory joystick calibration routine on start -- I don't have a joystick but a testing environment in DOSBox emulates it -- often pressing the Esc key allowed to skip forced calibration. But I assume that you've tried that yourself so I guess it does not work with X-Wing.

Getting Joysticks to work

Posted: Tue Jun 01, 2021 10:06 am
by Rwolf
As far as I know there is no skipping of the joystick calibration; I do it every time I launch the X-Wing/B-Wing/Imperial Pursuit etc games.

Getting Joysticks to work

Posted: Tue Jun 01, 2021 2:16 pm
by starfiretbt
That's terrible, thank you for your input. But if by any slim chance anybody knows how to skip this please share. It gets really frustrating.

Getting Joysticks to work

Posted: Wed Jun 02, 2021 6:28 am
by MrFlibble
Maybe someone can figure out how to hack the EXE to skip calibration? Or make a TSR that skips it for you?

Getting Joysticks to work

Posted: Wed Jun 02, 2021 12:39 pm
by starfiretbt
What's a TSR?

Getting Joysticks to work

Posted: Wed Jun 02, 2021 4:31 pm
by Rwolf
Looking at the saved config file for the game, there does not seem to be much in it, so possibly the calibration data is only kept in memory, which may be why it needs recreating that each launch.

TSR is a 'Terminate and Stay Resident' program; sometimes used for cheats but you have to first find the calibration data location, load the old data and skip the startup calibration next time you launch. Possible, but a bit too much effort IMO, a game mission usually takes some time to finish, so it's not too frequent. (One thing I've noticed is of you change the emulation speed ingame, the calibration also changes and the stick drifts.)

Getting Joysticks to work

Posted: Thu Jun 03, 2021 12:16 pm
by starfiretbt
I noticed increasing cpu cycles tend to do that, until I changed the part that says timed=no to timed=false. For some reason I was able to get cpu cycles to max with that. It didn't change game speed, just game "smoothness," I don't really know what other word to describe having low cpu cycles.

Getting Joysticks to work

Posted: Sat Jun 05, 2021 4:06 pm
by MrFlibble
JIC, please note that on a modern host CPU, DOSBox likely cranks out way more cycles at the max setting than X-Wing requires, which in turn might result in incorrect game behaviour.

Getting Joysticks to work

Posted: Sun Jun 06, 2021 7:10 am
by starfiretbt
How can you tell what number of cpu cycles a game needs?

Getting Joysticks to work

Posted: Sun Jun 06, 2021 8:01 am
by MrFlibble
A long time ago I asked a similar question to DOSBox devs at VOGONS, but it looks like there is no universal answer to that, and in some cases you can only get the "correct" values by trial and error.

That said, I found this DOSBox Wiki page rather helpful. In fact, I use the approximate values as my default settings: 7800 cycles for "roughly" a 386, 26800 cycles from about a 486 (default for protected mode in my setup) and 77000 for a Pentium.

Some games start to act incorrectly with cycles above 50000 so I set them to something around 45000. Certain older, real mode titles will find 7800 cycles too much but are comfortable with anything between 3000 and 4500.

It may be useful to know that cycles can be changed at runtime not only by pressing Ctrl + F11/F12, but also by typing config -set cpu cycles=<value> for a precise setting. But of course this cannot be done when a game is running.