Atari 7800 / 2600

thorr
Top Contributor
Posts: 1311
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 634 times
Been thanked: 308 times

Re: Atari 2600

Unread post by thorr »

I can't wait to try out the new core release with Paddle support! I hope it works well as a joystick using the 2600daptor D9, but if not, I will probably build a Mister Spinner adapter for my paddles. I found the link here: https://github.com/MiSTer-devel/Retro-C ... rollersUSB Unfortunately you need to mod the inside of the paddles and I am not sure if it breaks them on a real Atari or not. I already have a set of modded paddles with new potentiometers inside, so I don't mind modding them further for this.

Any word on the keypad and Star Raiders? I posted a couple of days ago the issues. I don't expect that it is fixed yet, but hoping it will be.

Also, what are the keys to toggle the switches? I didn't see a list defining what keys do what in the Readme. I thought I saw these were mapped to something, but I don't know what.

Thanks for the great core! I have already been enjoying the heck out of the pre-release!
Lightwave
Posts: 261
Joined: Sun May 24, 2020 10:06 pm
Has thanked: 136 times
Been thanked: 78 times

Re: Atari 2600

Unread post by Lightwave »

MiSTer_Kirk wrote: Mon Nov 29, 2021 7:34 pm The BEST 2600, is a 2600.
I agree with you, that's why I'm so happy that Kitrinx graciously spent the time to create this very accurate FPGA 2600 implementation for MiSTer users.

Start the core, load your 2600 games, and enjoy! I know I'll certainly be getting a lot of enjoyment out of it in the years to come :)
thorr wrote: Mon Nov 29, 2021 8:03 pm I can't wait to try out the new core release with Paddle support! I hope it works well as a joystick using the 2600daptor D9
It does!
User avatar
Kitrinx
Core Developer
Posts: 187
Joined: Sat May 23, 2020 2:14 am
Location: NYC
Has thanked: 1 time
Been thanked: 149 times
Contact:

Re: Atari 2600

Unread post by Kitrinx »

thorr wrote: Mon Nov 29, 2021 8:03 pm I can't wait to try out the new core release with Paddle support! I hope it works well as a joystick using the 2600daptor D9, but if not, I will probably build a Mister Spinner adapter for my paddles. I found the link here: https://github.com/MiSTer-devel/Retro-C ... rollersUSB Unfortunately you need to mod the inside of the paddles and I am not sure if it breaks them on a real Atari or not. I already have a set of modded paddles with new potentiometers inside, so I don't mind modding them further for this.

Any word on the keypad and Star Raiders? I posted a couple of days ago the issues. I don't expect that it is fixed yet, but hoping it will be.

Also, what are the keys to toggle the switches? I didn't see a list defining what keys do what in the Readme. I thought I saw these were mapped to something, but I don't know what.

Thanks for the great core! I have already been enjoying the heck out of the pre-release!
I have to look into it. It seems specific to the way the game is polling the keypad, and something about it that is making it confused. The touchpad is supposed to be entirely compatible with the keyboard controller, but maybe there's a subtle difference.
Swainy
Posts: 161
Joined: Sat May 22, 2021 9:07 am
Has thanked: 104 times
Been thanked: 17 times

Re: Atari 2600

Unread post by Swainy »

Is there a way to play the 7800 version of Commando with the pokey music playing?
User avatar
Kitrinx
Core Developer
Posts: 187
Joined: Sat May 23, 2020 2:14 am
Location: NYC
Has thanked: 1 time
Been thanked: 149 times
Contact:

Re: Atari 2600

Unread post by Kitrinx »

12characters wrote: Mon Nov 29, 2021 7:36 pm
Chris23235 wrote: Mon Nov 29, 2021 8:58 am Just out of interest, how is the bankswitch detection done, has the core some kind of database for the different roms?
I was also curious about this. Based on what I can make out of the source code, it appears to use elaborate guesswork with inspiration from software emulators.

Anyhow, +1 thank you to Kitrinx.
Alan wrote the module that does the bankswitching detection, and I believe he used the logic from stella as a reference. In the future I'd like to make the user experience better by supporting a header for 2600 roms, that will including things like bankswitching, default difficulty switch positions, paddle range and center, and preferred controller types for a game.
User avatar
Pulsar
Posts: 18
Joined: Sun Mar 28, 2021 2:03 pm
Has thanked: 5 times
Been thanked: 2 times

Re: Atari 2600

Unread post by Pulsar »

Quite frankly, while everyone is ballyhooing about the forthcoming PS1 release, this right here is the core I was truly most excited about. It doesn't disappoint either. Thank you Kitrinx.
User avatar
Kitrinx
Core Developer
Posts: 187
Joined: Sat May 23, 2020 2:14 am
Location: NYC
Has thanked: 1 time
Been thanked: 149 times
Contact:

Re: Atari 2600

Unread post by Kitrinx »

Chris23235 wrote: Mon Nov 29, 2021 7:38 pm
rhester72 wrote: Mon Nov 29, 2021 12:39 pm Is it still not possible to use keyboard for switches and joystick for input? (Ideally, I'd like to use a legitimate 7800 controller, but that'd be difficult for some 2600 games that used the switches as input.)
This would be great. Select and start are already mapped to F1 and F2. It would be great to have Left A/B, Right A/B and the Colour/BW switch mapped to F3, F4 and F5. The way it is done now makes it impossible to play e.g. Phaser Patrol with a 1 or 2 Button Joystick.

Sure, I can do this. No problem.
thorr
Top Contributor
Posts: 1311
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 634 times
Been thanked: 308 times

Re: Atari 2600

Unread post by thorr »

Pulsar wrote: Mon Nov 29, 2021 8:18 pm Quite frankly, while everyone is ballyhooing about the forthcoming PS1 release, this right here is the core I was truly most excited about. It doesn't disappoint either. Thank you Kitrinx.
While I am quite excited about the PS1, I agree with you! The Atari 2600 was a massive part of my childhood entertainment. This core is just as important to me as any other core I care about such as the NES, Genesis, etc. I never had a PS1 and I am looking forward to having one finally. :-) I am also looking forward to the Saturn which I have never even seen before. I am hoping to eventually see a perfect Apple II core followed by the IIgs. The IIgs will be the next core I am most excited about, but for now, there are no known plans for it. I would also love to see a color-capable Mac core. For now, I am very thankful for this massive addition to the MiSTer lineup.
thorr
Top Contributor
Posts: 1311
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 634 times
Been thanked: 308 times

Re: Atari 7800 / 2600

Unread post by thorr »

I have edited the title of the thread to reflect the 7800. I think this core deserves it's own section in the forum along side the other major console cores. Can somebody please add this if agreed? Maybe it would make sense to have an Atari Consoles section where Lynx, 5200, etc. threads can also reside.
thorr
Top Contributor
Posts: 1311
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 634 times
Been thanked: 308 times

Re: Atari 2600

Unread post by thorr »

Kitrinx wrote: Mon Nov 29, 2021 8:21 pm
Chris23235 wrote: Mon Nov 29, 2021 7:38 pm This would be great. Select and start are already mapped to F1 and F2. It would be great to have Left A/B, Right A/B and the Colour/BW switch mapped to F3, F4 and F5. The way it is done now makes it impossible to play e.g. Phaser Patrol with a 1 or 2 Button Joystick.
Sure, I can do this. No problem.
Awesome, and something please for Pausing the core, maybe F6? Eventually, maybe there will be save and load states, and F7 through F10 could be used with or without Alt similar to the NES.
remowilliams
Posts: 34
Joined: Sun May 24, 2020 7:13 pm
Has thanked: 21 times
Been thanked: 14 times

Re: Atari 2600

Unread post by remowilliams »

Lightwave wrote: Mon Nov 29, 2021 8:07 pm
thorr wrote: Mon Nov 29, 2021 8:03 pm I can't wait to try out the new core release with Paddle support! I hope it works well as a joystick using the 2600daptor D9
It does!
Real Atari paddle support via the first paddle only currently works with the core and a D9, it does work well however.
thorr
Top Contributor
Posts: 1311
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 634 times
Been thanked: 308 times

Re: Atari 2600

Unread post by thorr »

remowilliams wrote: Mon Nov 29, 2021 9:46 pm Real Atari paddle support via the first paddle only currently works with the core and a D9, it does work well however.
My guess is because the D9 uses both paddles on one joystick (x and y axis). Hopefully the second axis and button can be used for the second paddle in the near future.
KremlingKuthroat19
Posts: 237
Joined: Sat Aug 22, 2020 3:08 am
Has thanked: 27 times
Been thanked: 50 times

Re: Atari 7800 / 2600

Unread post by KremlingKuthroat19 »

thorr wrote: Mon Nov 29, 2021 8:44 pm I have edited the title of the thread to reflect the 7800. I think this core deserves it's own section in the forum along side the other major console cores. Can somebody please add this if agreed? Maybe it would make sense to have an Atari Consoles section where Lynx, 5200, etc. threads can also reside.
I second this. Maybe rename the thread to Atari 7800/2600 so folks don’t get confused and understand that this is the thread for both consoles as part of the same core.

Whether you like it or not, the 2600 is too iconic to not be properly preserved in FPGA. This is a huge deal and Kitrinx literally made the best 7800 emulator in the world (it’s the only 7800 emulator that plays 2600). No small feat and we should celebrate this!
User avatar
eewoke
Posts: 40
Joined: Sun May 24, 2020 9:44 pm
Has thanked: 2 times
Been thanked: 6 times

Re: Atari 7800 / 2600

Unread post by eewoke »

KremlingKuthroat19 wrote: Mon Nov 29, 2021 10:03 pm
thorr wrote: Mon Nov 29, 2021 8:44 pm I have edited the title of the thread to reflect the 7800. I think this core deserves it's own section in the forum along side the other major console cores. Can somebody please add this if agreed? Maybe it would make sense to have an Atari Consoles section where Lynx, 5200, etc. threads can also reside.
I second this. Maybe rename the thread to Atari 7800/2600 so folks don’t get confused and understand that this is the thread for both consoles as part of the same core.

Whether you like it or not, the 2600 is too iconic to not be properly preserved in FPGA. This is a huge deal and Kitrinx literally made the best 7800 emulator in the world (it’s the only 7800 emulator that plays 2600). No small feat and we should celebrate this!
I like to rename to 2600/7800 😉
-= MiSTer FPGA enthusiast =-
thorr
Top Contributor
Posts: 1311
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 634 times
Been thanked: 308 times

Re: Atari 7800 / 2600

Unread post by thorr »

eewoke wrote: Mon Nov 29, 2021 11:08 pm I like to rename to 2600/7800 😉
Lol, I was thinking the same thing, but out of respect for the core name, I put 7800 first. The 7800 is an amazing machine especially if you look at the homebrew stuff, but the 2600 is the star of the show IMO.
thorr
Top Contributor
Posts: 1311
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 634 times
Been thanked: 308 times

Re: Atari 7800 / 2600

Unread post by thorr »

I got a chance to try the paddles with the D9 and I have a couple of issues. In order to get them somewhat working, I tried Joystick and Paddles for the setting, and Paddles allows movement.

- I don't know why but the buttons don't work. When I set the port to Paddles, I can move back and forth with one of the two paddles but I can't use the button.

- With the modded potentiometers in my paddles, the D9 doesn't go all the way to the left and top. I am using Windows to see the behavior. So when I use them with Kaboom, I can go all the way to the right, but not all the way to the left. On a real Atari, the travel is much less than the full range of the paddles so a small movement gives you the full range, and in my case I am having the opposite problem. It would be great if we could enter numerical values for the left and right extremes of the paddles so we could use a limited range if we want to (and in my case get the paddle to move all the way across). Any suggestions on how to get the buttons working would be greatly appreciated. I am thinking it might be recognizing the paddles from previously being defined in a wrong way, but I don't know how to fix it.

Thanks!

Edit: using my much older "Stelladapter" instead of the D9, I get the expected range that I would get on a real Atari. In Windows, it goes to the ends when I hit the ends of the Paddle. In the 7800 core, I hit the ends on the screen before I hit the end of the paddle, just like on a real Atari. I think I can see a tiny bit of lag with the Stelladapter unfortunately. The paddle buttons still don't work with it.
User avatar
skooter
Posts: 65
Joined: Mon May 25, 2020 1:37 pm
Location: Brazil
Has thanked: 2 times
Been thanked: 19 times
Contact:

Re: Atari 7800 / 2600

Unread post by skooter »

I didn't have issues with D9 and the paddles range. I can get to both extremes of the screen.

Regarding the button, I used another controller to enter in the button mapping setting, skipped everything except for the paddle button, which I mapped to the paddle button and it worked. However, this only works if the second paddle is assigned as 1A. If it is the first one, the mapping doesn't work. I couldn't get exactly why.
User avatar
Kitrinx
Core Developer
Posts: 187
Joined: Sat May 23, 2020 2:14 am
Location: NYC
Has thanked: 1 time
Been thanked: 149 times
Contact:

Re: Atari 7800 / 2600

Unread post by Kitrinx »

thorr wrote: Tue Nov 30, 2021 5:29 am I got a chance to try the paddles with the D9 and I have a couple of issues. In order to get them somewhat working, I tried Joystick and Paddles for the setting, and Paddles allows movement.

- I don't know why but the buttons don't work. When I set the port to Paddles, I can move back and forth with one of the two paddles but I can't use the button.

- With the modded potentiometers in my paddles, the D9 doesn't go all the way to the left and top. I am using Windows to see the behavior. So when I use them with Kaboom, I can go all the way to the right, but not all the way to the left. On a real Atari, the travel is much less than the full range of the paddles so a small movement gives you the full range, and in my case I am having the opposite problem. It would be great if we could enter numerical values for the left and right extremes of the paddles so we could use a limited range if we want to (and in my case get the paddle to move all the way across). Any suggestions on how to get the buttons working would be greatly appreciated. I am thinking it might be recognizing the paddles from previously being defined in a wrong way, but I don't know how to fix it.

Thanks!

Edit: using my much older "Stelladapter" instead of the D9, I get the expected range that I would get on a real Atari. In Windows, it goes to the ends when I hit the ends of the Paddle. In the 7800 core, I hit the ends on the screen before I hit the end of the paddle, just like on a real Atari. I think I can see a tiny bit of lag with the Stelladapter unfortunately. The paddle buttons still don't work with it.
I don't know if your adapters are emulating mice or joysticks, but if it's a joystick, you have to make sure it's actually using the full range of the stick. If it doesn't use the full range of the stick, it won't be able to cover the full range of the paddle. I'd highly suggest building yourself a Mr. Spinner adapter instead, they are much better and have painless integration with the mister framework.
User avatar
redsteakraw
Posts: 245
Joined: Sun May 24, 2020 11:19 pm
Has thanked: 1 time
Been thanked: 41 times

Re: Atari 7800 / 2600

Unread post by redsteakraw »

Kitrinx wrote: add 2600 support with an entirely new implementation
Kitrinx I just did my Tapper test on my CRT with the new core and holy crap, you actually did it! Once video stabilizer is turned off my CRT plays tapper jitter free and everything is working just like on my actual hardware. This release is top notch and I can see the amount of love and attention poured into this recent release with all of the options and features packed into this core. The Atari 2600 for such a simple hardware system is very complicated and you managed to not only do it, but do it well, add a tone of edge cases and implement a 7800 core and integrate an even more top notch 2600 core with a 7800 core for the ultimate Atari console FPGA core. Thank you Kitrinx so much for this.

PS to stop the jitter in Tapper turn off Stabilize video in the 2600 options
Fear is the mind killer!
thorr
Top Contributor
Posts: 1311
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 634 times
Been thanked: 308 times

Re: Atari 7800 / 2600

Unread post by thorr »

Kitrinx wrote: Tue Nov 30, 2021 12:28 pm I don't know if your adapters are emulating mice or joysticks, but if it's a joystick, you have to make sure it's actually using the full range of the stick. If it doesn't use the full range of the stick, it won't be able to cover the full range of the paddle. I'd highly suggest building yourself a Mr. Spinner adapter instead, they are much better and have painless integration with the mister framework.
Thanks! The D9 emulates a joystick.

I just ordered the parts to make an adapter. It looks like the Mr. Spinner also emulates a joystick from what I can tell from the code, but I am not sure. This would make sense since paddles/potentiometer have a limited range and don't spin forever. https://github.com/MiSTer-devel/Retro-C ... rollersUSB

Per the instructions, I will be using the paddle pins on the Arduino and not the spinner pins. Hopefully everything works! I sort of have my doubts because it feels like I will end up with another adapter that does the exact same thing as I already have, but will work with my potentiometers' range better than the D9 and less lag than the Stelladapter. I am guessing it will still have the issue of working with both paddles and the buttons. I will let you know how it goes. Thanks again.
thorr
Top Contributor
Posts: 1311
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 634 times
Been thanked: 308 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: 187
Joined: Sat May 23, 2020 2:14 am
Location: NYC
Has thanked: 1 time
Been thanked: 149 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 242 times
thorr
Top Contributor
Posts: 1311
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 634 times
Been thanked: 308 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: 187
Joined: Sat May 23, 2020 2:14 am
Location: NYC
Has thanked: 1 time
Been thanked: 149 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: 1311
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 634 times
Been thanked: 308 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: 187
Joined: Sat May 23, 2020 2:14 am
Location: NYC
Has thanked: 1 time
Been thanked: 149 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: 107
Joined: Sat Jul 11, 2020 9:59 am
Has thanked: 18 times
Been thanked: 42 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: 187
Joined: Sat May 23, 2020 2:14 am
Location: NYC
Has thanked: 1 time
Been thanked: 149 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: 1311
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 634 times
Been thanked: 308 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: 187
Joined: Sat May 23, 2020 2:14 am
Location: NYC
Has thanked: 1 time
Been thanked: 149 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.
Post Reply