JKK Posted December 28, 2023 Share Posted December 28, 2023 Hi! My question concerns atari800 emulator configuration in Linux/Ubuntu. In my previous computer configuration, I didn't have any problems with joysticks. Currently with my new computer, if I run jstest-gtk I can see having two joysticks: js0 AsRockLedController js1 Dark Tornado Joystick The first one seems to be some "artificial non-true joystick" for controlling motherboard led. Thus I should use js1 with atari800. In theory atari800 has the options -joy0 -joy1. Unfortunately when I type: atari800 -joy0 /dev/input/js1 It seems to be ignored and it doesn't work. Perhaps it's because of the remark in atari800 manual "Available on linux-ia32 only." The same if I try to set joy1. Sure I can use keyboard joystick but it's not so comfortable. Any ideas? I've noticed that in atari800 there is joystick configuration program joycfg https://github.com/dmlloyd/atari800/blob/master/src/joycfg.c Unfortunately when I install atari800 from deb, it's missing. And I have problems with atari800 compilation from source - this thread: How can I configure atari800 to use js1 joystick instead of js0 by default? I've tried the same thing with vice64 emulator. Here I had the same problem, but vice64 has the appropriate configuration option in settings and when switching to js1 joystick everything works smoothly. Quote Link to comment Share on other sites More sharing options...
baktra Posted December 28, 2023 Share Posted December 28, 2023 I am afraid, there are no user-visible controls that would allow you mapping the SDL joysticks to emulated Atari joysticks. In the code SDL/input.c, the emulator probes for SDL joysticks, and assigns the first SDL joystick to the first emulated joystick and the second SDL joystick to the second emulated joystick. Currently, there is no way for the user to change that. I remember an interesting debate on SDL joystick assignment in the emulator with the current maintainer of the emulator. One of the conclusions was that it wouldn't be easy to get it right - provided that we want to handle situations where the user connects one set of joysticks one day and completely different set of joysticks the day after, or just puts the same joysticks to different USB ports. Quote Link to comment Share on other sites More sharing options...
invisible kid Posted December 28, 2023 Share Posted December 28, 2023 I think OP said they were building from source. Maybe they can make a change in the code before building. Not sure, not familiar with the code. Quote Link to comment Share on other sites More sharing options...
baktra Posted December 28, 2023 Share Posted December 28, 2023 (edited) 23 minutes ago, invisible kid said: I think OP said they were building from source. Maybe they can make a change in the code before building. Not sure, not familiar with the code. Yes, the loop that detects and enumerates SDL joysticks can be modified to skip the unwanted joystick. But that's hardly a great solution. More permanent solution would be some interface to assign SDL joysticks to emulated joysticks. Not an easy task. Edited December 28, 2023 by baktra Quote Link to comment Share on other sites More sharing options...
invisible kid Posted December 28, 2023 Share Posted December 28, 2023 (edited) delete Edited December 28, 2023 by invisible kid Quote Link to comment Share on other sites More sharing options...
invisible kid Posted December 28, 2023 Share Posted December 28, 2023 (edited) 5.1 was just released and has changes to joystick configuration. Since you are building from source, you can try right away rather than wait for a package if you want. Might not help, passing it along just in case. https://github.com/atari800/atari800/releases/tag/ATARI800_5_1_0 Edited December 28, 2023 by invisible kid Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.