Atari 7800 / 2600

thorr
Top Contributor
Posts: 1100
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 537 times
Been thanked: 252 times

Re: Atari 7800 / 2600

Unread post by thorr »

Update: I decided to forget about making the original paddles work. I can use the unofficial Atari 2600 SNAC/ADC core if I want to use those. I cancelled my order for the parts which were around $50, and decided to build a single super nice spinner paddle using these parts for less than $80 and I will be able to use it with spinner games as well:
https://www.amazon.com/gp/product/B08HNB5933/
https://www.amazon.com/gp/product/B089K4KCQK
https://www.amazon.com/gp/product/B09BZ7XTMZ

I may try to squish the USB cable that comes with the spinner inside the case if it is short enough but I doubt it, and get an extension cable for the main cord. Otherwise I will need to use an external USB extension cord, or maybe I will cut the end off the longer extension cord and attach it to the connector inside somehow.
User avatar
Kitrinx
Core Developer
Posts: 185
Joined: Sat May 23, 2020 2:14 am
Location: NYC
Has thanked: 1 time
Been thanked: 147 times
Contact:

Re: Atari 2600

Unread post by Kitrinx »

thorr wrote: Fri Nov 26, 2021 5:39 am
Kitrinx wrote: Tue Nov 16, 2021 12:41 pm There is a tester rom for 7800 for the keypad and other controllers. Via the keyboard at least, the keypad appears to work fully. If there's a specific game not working with it, let me know what that is.
Hello Kitrinx,

I finally hooked up my real Atari 2600 and did extensive testing with Star Raiders and the keypad. Something is definitely broken with Star Raiders. How it is supposed to work on a real Atari 2600 is you should be able to plug the joystick into the left port, and the keypad in the right port. Pressing the upper left corner on the keypad (1) brings up Fore View so you can see where you are flying and shoot at stuff. Pressing (2) brings up the Gal Map. Once in the Gal Map, you should be able to move the cursor around the screen with the joystick. Pressing (3) Hyperwarps you to that square.

The problem with the 7800 core is in Star Raiders, when you configure the keypad as player 2 and the Joystick or SNAC for player 1, you can't move around with the joystick. The fire button works, but that is it. This makes it impossible to move around in Star Raiders either on the map or when flying the ship. I tried both SNAC and 2600-daptor D9's.

Regarding the actual real keypad, when connected to the 2600-daptor, it translates them to joystick buttons 1-12. If you could program the core to look for joystick buttons 1-12 on the second USB device, then the keypad should work. Currently, it does not work at all with SNAC or USB.

Also, without changing any configuration, I can load up another Atari 2600 game and the joystick movement works fine. It is just broken in Star Raiders.

Please let me know if you have further questions. Thanks for your help!
Please let me know if this resolves the star raider problem (and hopefully doesn't break any other input). I also added some keys for the switches, but they're a little different than stella, because it's a lot easier for me to make them work the same as the buttons.
Attachments
Atari7800_srfix.rbf
(3.6 MiB) Downloaded 142 times
thorr
Top Contributor
Posts: 1100
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 537 times
Been thanked: 252 times

Re: Atari 2600

Unread post by thorr »

Kitrinx wrote: Tue Nov 30, 2021 11:32 pm Please let me know if this resolves the star raider problem (and hopefully doesn't break any other input). I also added some keys for the switches, but they're a little different than stella, because it's a lot easier for me to make them work the same as the buttons.
Thanks!! I will give it a go tonight and let you know. Did you add support for the keypad being a joystick with buttons 1-12? If so, I will test that too. I will test the switches too. Can you provide a list of function keys and what they are supposed to do?
User avatar
Kitrinx
Core Developer
Posts: 185
Joined: Sat May 23, 2020 2:14 am
Location: NYC
Has thanked: 1 time
Been thanked: 147 times
Contact:

Re: Atari 2600

Unread post by Kitrinx »

thorr wrote: Wed Dec 01, 2021 12:23 am
Kitrinx wrote: Tue Nov 30, 2021 11:32 pm Please let me know if this resolves the star raider problem (and hopefully doesn't break any other input). I also added some keys for the switches, but they're a little different than stella, because it's a lot easier for me to make them work the same as the buttons.
Thanks!! I will give it a go tonight and let you know. Did you add support for the keypad being a joystick with buttons 1-12? If so, I will test that too. I will test the switches too. Can you provide a list of function keys and what they are supposed to do?
the keypad is keys, it can be

1234567890-=

or

123
qwe
asd
zxc

or the numeric keypad on the keyboard.
thorr
Top Contributor
Posts: 1100
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 537 times
Been thanked: 252 times

Re: Atari 7800 / 2600

Unread post by thorr »

Kitrinx wrote: Tue Nov 30, 2021 11:32 pm Please let me know if this resolves the star raider problem (and hopefully doesn't break any other input). I also added some keys for the switches, but they're a little different than stella, because it's a lot easier for me to make them work the same as the buttons.
Thanks! I tested it and the keypad using the keyboard is now working perfectly and it doesn't seem to have broken anything as far as I can see. I tried it with the joystick as SNAC and as USB using the 2600daptor D9.

I have a few more requests to polish up some issues and add some helpful features. Many/most of us Atari 2600 fans are using 2600daptor D9's or something similar and would be able to benefit greatly if you could add these to the core:
-----
Issue 1)
Paddles with the 2600daptor D9 are two Atari paddles that act a single analog joystick with two buttons and use one db9 port. One paddle is the Joystick X-axis and Button 1, the other is the same Joystick's Y-axis and Button 2. In the core, it is not clear what setting a port to "Paddle" does. For example, if a user has a spinner that acts a mouse, what do they select? If they have a joystick-based paddle that doesn't spin forever, what do they select?

Suggestion 1)
I would suggest to make it more clear in the menu both the function of the port as the Atari sees it, and the device the end user is actually using:
Port 1: 2 Paddles / 2-Btn Analog Joy <--- This is currently not available, but is what all of us D9 users want/need for real Atari paddles.
Port 1: 2 Paddles / 2-Btn Mouse X and Y Spinners <--- This would be used by USB spinners that act as a mouse. I am planning to build a paddle using a spinner. I just tested and see that using a mouse, this works, so I am glad my paddle spinner project should work! However, Paddle 2 should work using the mouse moving up and down and using the second Mouse button, but this currently doesn't work.
Each Port (1 and 2) should be able to work with 2 Paddles. Warlords has up to four players, for example. The mouse/spinner method could only be used for one set of paddles, so people would also need a D9 (or two D9's instead of also having a spinner-based set) if they wanted four paddles working at once.
-----
Issue 2)
There is no way to use a real physical Atari keypad instead of just the keyboard (thanks again for fixing this with Star Raiders!)

Suggestion 2)
Using a 2600daptor D9, the Atari keypad acts as 12 joystick buttons. Please add these options for the keypad:
Port 2: Keypad / 123QWEASDZXC
Port 2: Keypad / 12-Btn Joystick
-----
Issue 3)
The Driving controller is very touchy using a mouse, and may vary with different spinners (use Indy 500 as a test).

Suggestion 3)
Add a sensitivity adjustment for the driving controller (and also the mouse-based spinner paddles up in suggestion 1)
Rename the controller to:
Port 1: Driving / Mouse X (Spinner)
-----
Issue 4)
The new F6 seems to be pause. It blanks the screen and my CRT loses sync. When I unpause, I miss some of the action while my CRT re-syncs.

Suggestion 4)
Leave something on the screen while it is paused even if it is just the word "Paused" so the CRT doesn't lose sync.
-----
Also, your suggestion about having profiles for each game with preferred switch settings and controllers plugged in would be awesome!

Thank you again for all of your excellent work, and I would be eternally grateful if you could implement the above suggestions, and I am happy to test each feature as it becomes available. For now, I will continue to enjoy what I have. I already won a game of Star Raiders and got a rank of Scout 3! :-)
User avatar
Kitrinx
Core Developer
Posts: 185
Joined: Sat May 23, 2020 2:14 am
Location: NYC
Has thanked: 1 time
Been thanked: 147 times
Contact:

Re: Atari 7800 / 2600

Unread post by Kitrinx »

thorr wrote: Wed Dec 01, 2021 5:21 am Issue 1)
Paddles with the 2600daptor D9 are two Atari paddles that act a single analog joystick with two buttons and use one db9 port. One paddle is the Joystick X-axis and Button 1, the other is the same Joystick's Y-axis and Button 2. In the core, it is not clear what setting a port to "Paddle" does. For example, if a user has a spinner that acts a mouse, what do they select? If they have a joystick-based paddle that doesn't spin forever, what do they select?

Suggestion 1)
I would suggest to make it more clear in the menu both the function of the port as the Atari sees it, and the device the end user is actually using:
Port 1: 2 Paddles / 2-Btn Analog Joy <--- This is currently not available, but is what all of us D9 users want/need for real Atari paddles.
Port 1: 2 Paddles / 2-Btn Mouse X and Y Spinners <--- This would be used by USB spinners that act as a mouse. I am planning to build a paddle using a spinner. I just tested and see that using a mouse, this works, so I am glad my paddle spinner project should work! However, Paddle 2 should work using the mouse moving up and down and using the second Mouse button, but this currently doesn't work.
Each Port (1 and 2) should be able to work with 2 Paddles. Warlords has up to four players, for example. The mouse/spinner method could only be used for one set of paddles, so people would also need a D9 (or two D9's instead of also having a spinner-based set) if they wanted four paddles working at once.
I don't want to add special handling for d9dapter in the core. Not only does it make the core more confusing, but the framework itself makes it quite awkward to use more than one button per controller for paddles. This is a problem with the adapter, but the framework itself is much better suited to work around the adapter's limitations than the core is. The person who makes those adapters said he might create an alternate version of the firmware that will properly split the paddles into two devices if enough people contact him.
thorr wrote: Wed Dec 01, 2021 5:21 am Issue 2)
There is no way to use a real physical Atari keypad instead of just the keyboard (thanks again for fixing this with Star Raiders!)

Suggestion 2)
Using a 2600daptor D9, the Atari keypad acts as 12 joystick buttons. Please add these options for the keypad:
Port 2: Keypad / 123QWEASDZXC
Port 2: Keypad / 12-Btn Joystick
The NES core has buttons mappable like this for the power pad, and it annoys virtually everyone all the time whenever they remap their controllers. I've learned my lesson from this, and that's why I made a pretty flexible approach to the keyboard. Remember that it's part of the mister framework to map joystick buttons to keys.
thorr wrote: Wed Dec 01, 2021 5:21 am Issue 3)
The Driving controller is very touchy using a mouse, and may vary with different spinners (use Indy 500 as a test).

Suggestion 3)
Add a sensitivity adjustment for the driving controller (and also the mouse-based spinner paddles up in suggestion 1)
Rename the controller to:
I admit that I didn't test the driving controller outside of a test rom because I don't even know what it's used for. It probably just needs some tweaking. Because it's a spinner and not a paddle, only infinite sources make sense for it, like mr spinner or mouse.
thorr wrote: Wed Dec 01, 2021 5:21 am Issue 4)
The new F6 seems to be pause. It blanks the screen and my CRT loses sync. When I unpause, I miss some of the action while my CRT re-syncs.

Suggestion 4)
Leave something on the screen while it is paused even if it is just the word "Paused" so the CRT doesn't lose sync.
This is normal and expected behavior for pausing a core, since the circuits that make video are also paused, and analog video has no way to maintain itself. There is a new function the framework that can emulate an analog signal generating a black screen when it's paused, so I will look into hooking that up.
thorr wrote: Wed Dec 01, 2021 5:21 am
Also, your suggestion about having profiles for each game with preferred switch settings and controllers plugged in would be awesome!
Not profiles but actual headers. This hardware information really belongs to be kept with the roms themselves. It's hard for me to believe that in the decades emulating this console nobody has been willing to do this in favor of screwy heuristics, guesswork, and incomplete databases.
User avatar
TLPD-AVW
Posts: 96
Joined: Sat Jul 11, 2020 9:59 am
Has thanked: 17 times
Been thanked: 33 times

Re: Atari 7800 / 2600

Unread post by TLPD-AVW »

I assume that 7800 bios should be disabled to play Starpath Supercharger games, is that right?
User avatar
Kitrinx
Core Developer
Posts: 185
Joined: Sat May 23, 2020 2:14 am
Location: NYC
Has thanked: 1 time
Been thanked: 147 times
Contact:

Re: Atari 7800 / 2600

Unread post by Kitrinx »

TLPD-AVW wrote: Wed Dec 01, 2021 2:52 pm I assume that 7800 bios should be disabled to play Starpath Supercharger games, is that right?
It's best to keep it disabled all the time unless you really like having it pop up. It's primary function is to apply copy protection and sort out 2600 games, which isn't really necessary in the core at all.
thorr
Top Contributor
Posts: 1100
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 537 times
Been thanked: 252 times

Re: Atari 7800 / 2600

Unread post by thorr »

Thanks for the very helpful feedback!
Kitrinx wrote: Wed Dec 01, 2021 1:52 pm I don't want to add special handling for d9dapter in the core. Not only does it make the core more confusing, but the framework itself makes it quite awkward to use more than one button per controller for paddles. This is a problem with the adapter, but the framework itself is much better suited to work around the adapter's limitations than the core is. The person who makes those adapters said he might create an alternate version of the firmware that will properly split the paddles into two devices if enough people contact him.
Sounds reasonable, except I have one more question. What if someone wants 2-4 paddles using spinners? Aren't they recognized as a mouse, and I think there is a limit of one mouse so they would conflict with each other? I really hope the maker can provide an alternate firmware. As it is right now, the D9 only works for movement on one paddle and no buttons for me so I can't use it at all.
Kitrinx wrote: Wed Dec 01, 2021 1:52 pm The NES core has buttons mappable like this for the power pad, and it annoys virtually everyone all the time whenever they remap their controllers. I've learned my lesson from this, and that's why I made a pretty flexible approach to the keyboard. Remember that it's part of the mister framework to map joystick buttons to keys.
I didn't realize that I could map joystick buttons to keys. This should definitely solve the issue. Thanks!
Kitrinx wrote: Wed Dec 01, 2021 1:52 pm I admit that I didn't test the driving controller outside of a test rom because I don't even know what it's used for. It probably just needs some tweaking. Because it's a spinner and not a paddle, only infinite sources make sense for it, like mr spinner or mouse.
Thanks! Indy 500 is the game to test it with, and definitely it is an infinite source device, not a paddle.
Kitrinx wrote: Wed Dec 01, 2021 1:52 pm This is normal and expected behavior for pausing a core, since the circuits that make video are also paused, and analog video has no way to maintain itself. There is a new function the framework that can emulate an analog signal generating a black screen when it's paused, so I will look into hooking that up.
Understood, and that would be awesome, thanks!
Kitrinx wrote: Wed Dec 01, 2021 1:52 pm Not profiles but actual headers. This hardware information really belongs to be kept with the roms themselves. It's hard for me to believe that in the decades emulating this console nobody has been willing to do this in favor of screwy heuristics, guesswork, and incomplete databases.
Agreed for the controller types. The games themselves have different functions when using the switches that change based on user preferences, and it would be cool if there was a way to remember the last settings for each rom as they are changed. This might make sense to store in a separate file for each rom automatically.

Thanks again!
User avatar
Kitrinx
Core Developer
Posts: 185
Joined: Sat May 23, 2020 2:14 am
Location: NYC
Has thanked: 1 time
Been thanked: 147 times
Contact:

Re: Atari 7800 / 2600

Unread post by Kitrinx »

thorr wrote: Wed Dec 01, 2021 4:20 pm
Sounds reasonable, except I have one more question. What if someone wants 2-4 paddles using spinners? Aren't they recognized as a mouse, and I think there is a limit of one mouse so they would conflict with each other? I really hope the maker can provide an alternate firmware. As it is right now, the D9 only works for movement on one paddle and no buttons for me so I can't use it at all.
I'd like to point out that the Mr. Spinner firmware is designed to create spinners and paddles as purpose-made, zero-configuration devices on mister, and this will give you best experience with mister. Other adapters do whatever they please with these non-standard inputs and it's impossible to really work around it at a core level. Mister framework provides only one mouse input, and there's not much I can do about that.

Mr Spinner can be built directly into controllers, or as a db9 adapter. I would really suggest you use that if you want a good experience with spinners and paddles. Otherwise, i've done more or less all I can reasonable do from a core level, it's up to the framework to abstract any special handling of these things into something useable by cores.
thorr
Top Contributor
Posts: 1100
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 537 times
Been thanked: 252 times

Re: Atari 7800 / 2600

Unread post by thorr »

Kitrinx wrote: Wed Dec 01, 2021 5:02 pm Mister framework provides only one mouse input, and there's not much I can do about that.
Thanks! Do the Mr. Spinners allow more than one spinner, or do they take up the one mouse input? Can you have two driving controllers using two Mr. Spinners? What I am suggesting is that you could have up to three if you used X, Y, and Z and the three buttons on the one mouse input.
Lightwave
Posts: 232
Joined: Sun May 24, 2020 10:06 pm
Has thanked: 110 times
Been thanked: 68 times

Re: Atari 7800 / 2600

Unread post by Lightwave »

thorr wrote: Wed Dec 01, 2021 4:20 pm As it is right now, the D9 only works for movement on one paddle and no buttons for me so I can't use it at all.
To get this working, you need to go into controller mapping in the core and map "paddle button" to the paddle button, skipping everything else.
User avatar
Kitrinx
Core Developer
Posts: 185
Joined: Sat May 23, 2020 2:14 am
Location: NYC
Has thanked: 1 time
Been thanked: 147 times
Contact:

Re: Atari 7800 / 2600

Unread post by Kitrinx »

thorr wrote: Wed Dec 01, 2021 5:11 pm
Kitrinx wrote: Wed Dec 01, 2021 5:02 pm Mister framework provides only one mouse input, and there's not much I can do about that.
Thanks! Do the Mr. Spinners allow more than one spinner, or do they take up the one mouse input? Can you have two driving controllers using two Mr. Spinners? What I am suggesting is that you could have up to three if you used X, Y, and Z and the three buttons on the one mouse input.
Here is the project, they create two paddles.
https://github.com/MiSTer-devel/Retro-C ... rollersUSB
thorr
Top Contributor
Posts: 1100
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 537 times
Been thanked: 252 times

Re: Atari 7800 / 2600

Unread post by thorr »

Kitrinx wrote: Wed Dec 01, 2021 6:42 pm
thorr wrote: Wed Dec 01, 2021 5:11 pm
Kitrinx wrote: Wed Dec 01, 2021 5:02 pm Mister framework provides only one mouse input, and there's not much I can do about that.
Thanks! Do the Mr. Spinners allow more than one spinner, or do they take up the one mouse input? Can you have two driving controllers using two Mr. Spinners? What I am suggesting is that you could have up to three if you used X, Y, and Z and the three buttons on the one mouse input.
Here is the project, they create two paddles.
https://github.com/MiSTer-devel/Retro-C ... rollersUSB
Correct, but looking at the code, I think the two paddles are mapped as a single joystick with X and Y being the two paddles. I haven't built one, so I can't say for sure. That is the same thing the D9 does currently and it isn't working. Sorry if I am being a pain, and I am really trying not to be. I just have my doubts it will work based on what I am seeing.
User avatar
Kitrinx
Core Developer
Posts: 185
Joined: Sat May 23, 2020 2:14 am
Location: NYC
Has thanked: 1 time
Been thanked: 147 times
Contact:

Re: Atari 7800 / 2600

Unread post by Kitrinx »

thorr wrote: Wed Dec 01, 2021 7:04 pm
Correct, but looking at the code, I think the two paddles are mapped as a single joystick with X and Y being the two paddles. I haven't built one, so I can't say for sure. That is the same thing the D9 does currently and it isn't working. Sorry if I am being a pain, and I am really trying not to be. I just have my doubts it will work based on what I am seeing.
It creates special paddle devices on mister. They are neither a mouse nor a joystick. The framework has a special port for them, which the core supports.
thorr
Top Contributor
Posts: 1100
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 537 times
Been thanked: 252 times

Re: Atari 7800 / 2600

Unread post by thorr »

Kitrinx wrote: Wed Dec 01, 2021 7:34 pm It creates special paddle devices on mister. They are neither a mouse nor a joystick. The framework has a special port for them, which the core supports.
Great! That is the key piece that I was looking for. So if I create a two-Paddles Mr. Spinner, and I choose "Paddle" for Port 1 in the 7800 core, both paddles will work. If I create a second two-Paddles Mr. Spinner, and I choose "Paddle" for Port 2, then four paddles will work? And if I create two infinite spinners and choose Driving controller for Ports 1 and 2, they will both work? Thanks!!
User avatar
Kitrinx
Core Developer
Posts: 185
Joined: Sat May 23, 2020 2:14 am
Location: NYC
Has thanked: 1 time
Been thanked: 147 times
Contact:

Re: Atari 7800 / 2600

Unread post by Kitrinx »

thorr wrote: Wed Dec 01, 2021 8:42 pm
Kitrinx wrote: Wed Dec 01, 2021 7:34 pm It creates special paddle devices on mister. They are neither a mouse nor a joystick. The framework has a special port for them, which the core supports.
Great! That is the key piece that I was looking for. So if I create a two-Paddles Mr. Spinner, and I choose "Paddle" for Port 1 in the 7800 core, both paddles will work. If I create a second two-Paddles Mr. Spinner, and I choose "Paddle" for Port 2, then four paddles will work? And if I create two infinite spinners and choose Driving controller for Ports 1 and 2, they will both work? Thanks!!
the way it's made, it will assign paddles in the order that you "touch" them.
So if you enable port1 as paddles, and then click a mouse button, the mouse will be 1a, then if you move an analog stick on a controller, that analog stick will be 1b, then if you turn a paddle connected to mr spinner, that will be 2a, and so on.

If you want only paddle 2a and 2b, the only enable paddles for port 2. If you need just 1b, you can assign 1a, then swap it in the menu. It's a goofy situation but I tried to make it pretty flexible.
thorr
Top Contributor
Posts: 1100
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 537 times
Been thanked: 252 times

Re: Atari 7800 / 2600

Unread post by thorr »

Ok, that makes sense. Thanks a lot for your help!
thorr
Top Contributor
Posts: 1100
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 537 times
Been thanked: 252 times

Re: Atari 7800 / 2600

Unread post by thorr »

Kitrinx wrote: Thu Dec 02, 2021 12:48 am It's a goofy situation but I tried to make it pretty flexible.
I got my GRS spinner today that has a built-in USB connector (not a Mr. Spinner). It works, is very well made, but there is no way as far as I know to adjust the spinner sensitivity, and in Kaboom I have to turn it a lot further than I would like to get it to move the buckets across the screen. Is there anyway you would consider adding a sensitivity adjustment in the menu for the paddles and driving controller? Then I could dial it in just perfect. Thanks for your consideration!
thorr
Top Contributor
Posts: 1100
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 537 times
Been thanked: 252 times

Re: Atari 7800 / 2600

Unread post by thorr »

I succeeded in getting one Atari paddle to work with the button with a 2600daptor D9 by doing the following in the 7800 core menu where you define the joystick:
- The first thing it asks you is to press Right. Well, we need to skip this step, but we can't. If we press the spacebar, it thinks we want to use the keyboard. The only option is to press the paddle button on the second paddle. This gets the device recognized so you can define or skip more stuff.
- Skip through the rest of it until you get to Paddle button by using the spacebar
- Press the paddle button on the first paddle.
- Skip the rest using the spacebar

After doing the above, Kaboom works great with one paddle. I have been greatly enjoying playing many paddle games tonight on this amazing core!

I have been in communication with the maker of the 2600daptor about making the second paddle be a second device. The problem is, as described above, even if he did this, it doesn't seem there would be a way to define it because the first thing it asks you is to press Right. There is no Right to press, so you are stuck unless you press space, and from that point you are stuck with pressing keyboard keys instead of paddle buttons.

I have expressed frustration in the past with the way the MiSTer handles its input definitions, and this is just another example. Another example I have used in the past is if I make an arcade panel with two physical joysticks on it, sometimes I want each joystick to be separate players, and sometimes I want them to both work for one player. If I make them separate players, they will work great as separate joysticks. However, if I want to play Super Smash TV on the SNES using my two joysticks, I need the left joystick to be the plus on the SNES controller, and the right joystick to be the SNES buttons. I simply can't do this if they are separate devices and it wants to use the left joystick as player one and the right joystick as player 2. In my opinion, the MiSTER input system needs to allow any device to be anything. Plug in all your stuff, and each core asks you to press whatever you want on any device for "Player 1, left", etc. I am thankful for what we have but frustrated by these limitations and feel powerless to do anything about it.

Yes, I know I can use Mr. Spinner to solve this particular case, but it means I need to buy/build yet another device when the one I have should just work and it sort of does, but only for one player because of these limitations. Mr. Spinner won't solve my Super Smash TV dilemma. Also, I just bought a GRS push/pull Tron spinner, and it comes with its own USB implementation. It doesn't work with Discs of Tron, and the core doesn't allow you to define anything, so it won't work. I am not sure what the solution is for that. Mr. Spinner doesn't have a push/pull spinner option and the only push/pull spinners you can get are from GRS and Groovygamegear and they have their own USB implementation already. My only option is to open an issue on github (already did this) and hope that Discs of Tron can be updated to add support for the GRS directly. Meanwhile, I guess my only option for Discs of Tron is to use Mame because I can define the controls.

I am not blaming anyone for this. It is a general problem that I hope can be addressed. I don't want to come off as ungrateful, but if I don't express these things, they may not ever get noticed or addressed. In Mame, it is quite nice how everything is in a list of what does what. I wish MiSTer could adapt the Mame style of input definitions. If anyone has any suggestions to any of the issues I ran into, I would appreciate the help. It is quite possible I just don't know what I am doing.
Stinky
Posts: 84
Joined: Mon Nov 15, 2021 9:05 pm
Has thanked: 44 times
Been thanked: 9 times

Re: Atari 7800 / 2600

Unread post by Stinky »

Super work, I love Atari!
User avatar
skooter
Posts: 60
Joined: Mon May 25, 2020 1:37 pm
Location: Brazil
Has thanked: 1 time
Been thanked: 14 times
Contact:

Re: Atari 7800 / 2600

Unread post by skooter »

You can skip buttons by pressing OSD on MiSTer or another controller. This way you can also map only the paddle button of any paddle. However, at least in my case, only the second paddle button will work even after mapped.
thorr
Top Contributor
Posts: 1100
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 537 times
Been thanked: 252 times

Re: Atari 7800 / 2600

Unread post by thorr »

skooter wrote: Thu Dec 02, 2021 9:42 am You can skip buttons by pressing OSD on MiSTer or another controller. This way you can also map only the paddle button of any paddle. However, at least in my case, only the second paddle button will work even after mapped.
Thanks! By "another controller" what exactly do you mean? Do you plug a joystick into the D9 to start it, then switch over to the paddles? I tried that and ended up in a situation where the paddle button on one button worked, and the spinner on the other worked, if I recall correctly. Do you mean a different D9 with something plugged into it? Do you mean anything else, like a USB gamepad? I appreciate your help. Your and others' posts on the D9 helped me get as far as I did at least.
User avatar
skooter
Posts: 60
Joined: Mon May 25, 2020 1:37 pm
Location: Brazil
Has thanked: 1 time
Been thanked: 14 times
Contact:

Re: Atari 7800 / 2600

Unread post by skooter »

Another controller in my scenario is a DualShock 4 connected through Bluetooth. I usually play Atari with the original controllers (assigned to Player 1) but with the Dualshock (assigned to Player 2) to use for the console buttons (SELECT, START, etc.) and the OSD. I guess it can be assigned to Player 3 in the case of two-player games, but I never tried.

So I use the Dualshock 4 to navigate in the menus and select the button assignment option, while the paddles are connected through D9. Once there, I use the OSD button on the Dualshock to skip all the buttons. When it is time to press the paddle button, I press the paddle button on the second paddle. Only at this time, MiSTer knows that I'm configuring the paddle because the OSD presses don't count (I just don't touch any other button on the DS while setting the buttons). I skip the rest of the buttons the same way.

Now I select the option to re-assign the controllers, move the second paddle so it is registered as 1A and that's it. I keep using the Dualshock to navigate in the OSD and console buttons.

Notice that I only got this to work for the second paddle. The first paddle maps just fine (apparently) but the button doesn't work even after mapped and I don't know why.
thorr
Top Contributor
Posts: 1100
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 537 times
Been thanked: 252 times

Re: Atari 7800 / 2600

Unread post by thorr »

Thank you very much for the detailed explanation. Is OSD the same as "Menu" when defining the buttons on the DS4? This is purely from memory, so for all I know it may say "press a button for OSD", but I don't recall. Thanks again!
User avatar
skooter
Posts: 60
Joined: Mon May 25, 2020 1:37 pm
Location: Brazil
Has thanked: 1 time
Been thanked: 14 times
Contact:

Re: Atari 7800 / 2600

Unread post by skooter »

You're probably right. I think it says "Menu" when assigning the buttons.
But I remember reading something like "Hold OSD to cancel" during the assignment, probably because the MiSTer button says OSD.

Anyway, any Bluetooth or USB controller with Menu assigned or the OSD button on MiSTer should work for skipping buttons.
User avatar
Kitrinx
Core Developer
Posts: 185
Joined: Sat May 23, 2020 2:14 am
Location: NYC
Has thanked: 1 time
Been thanked: 147 times
Contact:

Re: Atari 7800 / 2600

Unread post by Kitrinx »

skooter wrote: Thu Dec 02, 2021 6:46 pm You're probably right. I think it says "Menu" when assigning the buttons.
But I remember reading something like "Hold OSD to cancel" during the assignment, probably because the MiSTer button says OSD.

Anyway, any Bluetooth or USB controller with Menu assigned or the OSD button on MiSTer should work for skipping buttons.
Or the menu button on the IO board.
User avatar
skooter
Posts: 60
Joined: Mon May 25, 2020 1:37 pm
Location: Brazil
Has thanked: 1 time
Been thanked: 14 times
Contact:

Re: Atari 7800 / 2600

Unread post by skooter »

Kitrinx wrote: Thu Dec 02, 2021 7:07 pm Or the menu button on the IO board.
That's what I meant by OSD on MiSTer. Both my case and my IO board say 'OSD' instead of Menu.
thorr
Top Contributor
Posts: 1100
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 537 times
Been thanked: 252 times

Re: Atari 7800 / 2600

Unread post by thorr »

Thanks! My MiSTer is encased in a NESPi 4 case (this was a lot of work but I managed it) and I don't have access to the OSD button.
User avatar
redsteakraw
Posts: 244
Joined: Sun May 24, 2020 11:19 pm
Has thanked: 1 time
Been thanked: 40 times

Re: Atari 7800 / 2600

Unread post by redsteakraw »

One thing I would say is that with the Daptor D9 Which I primarily use for paddle controllers the problem is that configuring Mister with paddle controllers is near impossible and leads to more trouble than it is worth. What might make it easier if there was a specific define paddle controller dialog streamlined for paddle controllers so I can just plug in the Daptor and configure it once and it will work on all games for the core.
Fear is the mind killer!
Post Reply