Re: Atari 2600
Posted: Fri Jan 08, 2021 11:54 pm
The online community for MiSTer FPGA enthusiasts
https://misterfpga.org/
Condor Attackrhester72 wrote: ↑Fri Jan 08, 2021 4:00 pmCan you give examples?SegaSnatcher wrote: ↑Fri Jan 08, 2021 3:56 pm Now what this core really needs is an optional frame buffer toggle for the few games that have weird output. Most games can handle the low latency V_Sync=2 setting no problem, but a few games are very problematic and it would be nice if one could turn on a buffer on the fly specifically for those games.
Woah, I have been greatly looking forward to this core with 2600 support! Unfortunately I am having two major issues with it:
Paddles will never work via SNAC. the GPIO pins are a digital interface, and paddle movement is analog. It's not electrically possible. You will have to use some form of ADC for that purpose, but in reality, a usb adapter is a much better choice.thorr wrote: ↑Mon Nov 15, 2021 3:30 amWoah, I have been greatly looking forward to this core with 2600 support! Unfortunately I am having two major issues with it:
- I can't get it to use the keyboard to press Reset and Select. I can map the keys, but they don't work.
- SNAC is still broken. I can run "Bugs" which doesn't require a Reset to start, just a paddle button press. The paddle button works, but the movement does not. I have SNAC Analog set to Yes. On my SNAC enabled 2600 core, everything works fine. Edit: Found this on the discord page and it states that Paddles are currently broken. That gives me hope that it will be fixed. Now if I could just get Reset to work, I could start playing some games!
There is already an official Atari 2600 SNAC adapter available that I am using right now with an unofficial 2600 core. They use the ADC jack in combination with the GPIO pins. There is also a switch or jumpers (I have a switch) to select between Paddles and Joysticks connected to the adapter. You can purchase the adapters right now:
As far as I know, the Atari 2600 core doesn't even have SNAC support currently. There was some random prototype-y SNAC adapters floating around for it, one of which used the ADC. In the 7800 core the ADC is used for tape input, as it was designed to do.thorr wrote: ↑Mon Nov 15, 2021 2:42 pm There is already an official Atari 2600 SNAC adapter available that I am using right now with an unofficial 2600 core. They use the ADC jack in combination with the GPIO pins. There is also a switch or jumpers (I have a switch) to select between Paddles and Joysticks connected to the adapter. You can purchase the adapters right now:
Thanks for adding start and select! I am looking forward to trying this out! I am at work at the moment.Kitrinx wrote: ↑Mon Nov 15, 2021 11:59 pm As far as I know, the Atari 2600 core doesn't even have SNAC support currently. There was some random prototype-y SNAC adapters floating around for it, one of which used the ADC. In the 7800 core the ADC is used for tape input, as it was designed to do.
I have added start and select for you as F1 and F2, as I don't think those keys will interfere with the POKEY keyboard input. Before release, I will be fixing the proper paddle input for mouse, analog sticks, and actually-official "mr spinner" compatible adapters. Ricardo makes a very nice spinner if you're interested in a quality paddle. Otherwise, SNAC should work for non-analog input as usual.
Have you tried Kaboom? (no pun intended)Kitrinx wrote: ↑Tue Nov 16, 2021 12:05 am Additionally, and just as an "Ackshyually" moment regarding "lightning fast", a lightning strike lasts around 60 microseconds, while the mister spinner type adapters have a latency of around 650-700 microseconds (0.7ish milliseconds). While it's not technically as fast as lightning it's only about 10 times slower.
Same, and I also use a D9. It used to work quite well (though with fiddly setup) in the older core at one point.thorr wrote: ↑Tue Nov 16, 2021 1:17 am For paddles, I prefer to use the real paddles. I have a 2600daptor D9 that will covert real controllers to USB joysticks, so they might work. I think one paddle goes up and down and the other goes left and right and each has a button all showing up as one analog joystick.
Kitrinx, I am home and finally got a chance to try this. First of all, congratulations on an AMAZING job well done. This is officially the best way ever to play Atari games, with a few exceptions. I put it through all of my standard stress tests and most things work perfectly. Great job! Here are the things I am having issues with and suggested improvements:
Try pressing F12 and look for things like Swap joysticks and also you might need to program the "buttons" directly in the core.telengard wrote: ↑Tue Nov 16, 2021 3:04 am I too own those 2600 'daptors but I have had no luck even getting a joystick to work in the 2600 core, let alone the paddles. I'm able to assign L/R/U/D and Fire (and I skip the remainder), save settings, and they do not register at all in games. The MiSTer menu however works w/ the joystick. I'm sure I'm doing something very stupid...
Definitely works with Atari joysticks, are you starting games with reset (i.e. the console reset button mapped to another controller, not MiSTer reset)?telengard wrote: ↑Tue Nov 16, 2021 3:04 am I too own those 2600 'daptors but I have had no luck even getting a joystick to work in the 2600 core, let alone the paddles. I'm able to assign L/R/U/D and Fire (and I skip the remainder), save settings, and they do not register at all in games. The MiSTer menu however works w/ the joystick. I'm sure I'm doing something very stupid...
After learning my lesson with the NES core, the keypad buttons just use the keyboard.thorr wrote: ↑Tue Nov 16, 2021 4:14 amKitrinx, I am home and finally got a chance to try this. First of all, congratulations on an AMAZING job well done. This is officially the best way ever to play Atari games, with a few exceptions. I put it through all of my standard stress tests and most things work perfectly. Great job! Here are the things I am having issues with and suggested improvements:
- Can you please swap F1 and F2? On a real Atari, the Reset is on the right. It feels really weird pressing those keys backwards (muscle memory).
- The Atari 2600 sound is perfect as far as I can tell. On Pitfall II, the music is nearly perfect. The pitch is great. The only issue is there seems to be a bit of static that I don't remember hearing before, especially in the right speaker.
- SNAC works fine with the Atari 2600 joystick. The buttons do not work on an Atari 7800 joystick. I can use the 2600daptor D9, but SNAC would be nice too if possible.
- I tried the Star Raiders keypad with SNAC and also the 2600daptor D9. I can't get it to work. I think there needs to be a way to program the buttons for the keypad in the core, or get it to work with SNAC. Star Raiders is another of my favorite games of course.
That is all I can think of at the moment (besides getting great Paddles support in one form or another). Thanks again!
Thanks! If there is anything I can do to help, please let me know. Maybe you can create a tester core and I can press the buttons and let you know what it says/does. Here is a picture of the inside: https://the-liberator.net/site-files/re ... er-003.JPG and here is a video going into great detail how to build the controller with schematics in the video: https://www.youtube.com/watch?v=FICpISoyDAA I tried playing with the keyboard as noted above, and it seems to be at least partially working. It's been a long time since I played the game and I am having trouble remembering how to navigate around on the Gal map. I can bring it up and close it, but there is more to it than that (Hyperspacing around). I may need to hook up my real Atari and/or read the instructions again. Getting older sucks.Kitrinx wrote: ↑Tue Nov 16, 2021 4:34 am After learning my lesson with the NES core, the keypad buttons just use the keyboard.
// 1,2,3 ---> 1,2,3
// 4,5,6 ---> Q,W,E
// 7,8,9 ---> A,S,D
// *,0,# ---> Z,X,C
that's the pattern, make sure to set the controller type to keypad. SNAC should also work with it (bidirectionally) so maybe some wires are crossed, but I don't have one of those controllers so I'm not really sure, and I can't debug it.
Never heard of that until now. I will have to check that out!
I am not quite sure I follow you. Are you saying in order for SNAC to work in two button mode, I need to use a Genesis controller instead of an Atari 7800 controller? I am testing with Commando, and no buttons work on the Atari 7800 controller. It would be great if the 7800 core could use 7800 controllers as the default.
Awesome, thanks!
Agreed! I am sure you will be able to come up with some kind of acceptable solution. Just to beat a dead horse into a pile of goo, maybe you could implement them the SNAC/ADC way using a menu option to toggle the function of the ADC between tape and paddles. This would be ideal since there would be no funky calibration or other craziness. Same with the Driving controller. The developer who did the work on the Atari 2600 SNAC core that was never published to the main core is named blue1 (if you wanted to reach out to him). His test core worked with paddles and the driving controller, and joysticks, but not the Star Raiders keypad. I provided a link to the core a few posts ago if you want to try it. You have to turn off the ADC inside the core menu in order to use joysticks with SNAC and turn it on in order to use paddles.
Yes, I am aware of the cart to cart speeds. I am quite happy with the speed you picked! The static does sound like high frequency noise. Maybe you can implement a low pass filter for the Pitfall II chip.Kitrinx wrote: ↑Tue Nov 16, 2021 4:34 am Regarding pitfall II, it's difficult to tell. A real system will have ~3khz filtering from the RF unit, and it seems pretty noisy in general, maybe some of the static is just high frequency noise? To further complicate it, it used a low quality oscillator that varied wildly in speed so it actually doesn't have a consistent music speed from cart to cart. Weird cart.
Off isn't the right word. The video is perfectly accurate, especially if you turn off the stabilization feature. The problem is the console wasn't well designed, and the game code had to worry about the vertical video timings, so they do chaotic things. The stabilizer does it's best to understand the intent of the games and make them work on a modern display, but there's limits. For me, tapper is perfectly stable, so I'm really not sure what you're talking about there.redsteakraw wrote: ↑Tue Nov 16, 2021 6:28 am
he bigger problem is that the video on the current core is still off. I use Tapper as the benchmark, and while playable it has a very jittery look which isn't apparent on real hardware. So for now I am sticking to the games that are joystick and that display well like frogs and flies. Keystone kapers, Demon Attack and Spider Fighter. The core has come a long way since the beginning though and that is thanks to the hard work of the devs and contributors.
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.thorr wrote: ↑Tue Nov 16, 2021 8:01 am Thanks! If there is anything I can do to help, please let me know. Maybe you can create a tester core and I can press the buttons and let you know what it says/does. Here is a picture of the inside: https://the-liberator.net/site-files/re ... er-003.JPG and here is a video going into great detail how to build the controller with schematics in the video: https://www.youtube.com/watch?v=FICpISoyDAA I tried playing with the keyboard as noted above, and it seems to be at least partially working. It's been a long time since I played the game and I am having trouble remembering how to navigate around on the Gal map. I can bring it up and close it, but there is more to it than that (Hyperspacing around). I may need to hook up my real Atari and/or read the instructions again. Getting older sucks.
The way 7800 controllers work is a bit awkward for SNAC. It was a bit of a hack on the original system to make it compatible with 2600. They pull up the fire button pin strongly, which ends up driving the two analog pins. I think probably being only an open drain system, there is not enough current for that pin to pull up to the extent that it needs to.thorr wrote: ↑Tue Nov 16, 2021 8:01 am I am not quite sure I follow you. Are you saying in order for SNAC to work in two button mode, I need to use a Genesis controller instead of an Atari 7800 controller? I am testing with Commando, and no buttons work on the Atari 7800 controller. It would be great if the 7800 core could use 7800 controllers as the default.
I don't have any plans of using the ADC for paddles in additional to tape audio. Mr Spinner does have a design for atari 2600 paddles as far as I know, and it doesn't have be inside them, it can be an external adapter. This is the one from Ricardo I'm talking about https://ultimatemister.com/product/ultimate-spinner-pro It's kind of pricy but well made.thorr wrote: ↑Tue Nov 16, 2021 8:01 am Agreed! I am sure you will be able to come up with some kind of acceptable solution. Just to beat a dead horse into a pile of goo, maybe you could implement them the SNAC/ADC way using a menu option to toggle the function of the ADC between tape and paddles. This would be ideal since there would be no funky calibration or other craziness. Same with the Driving controller. The developer who did the work on the Atari 2600 SNAC core that was never published to the main core is named blue1 (if you wanted to reach out to him). His test core worked with paddles and the driving controller, and joysticks, but not the Star Raiders keypad. I provided a link to the core a few posts ago if you want to try it. You have to turn off the ADC inside the core menu in order to use joysticks with SNAC and turn it on in order to use paddles.
There's no need. MiSTer framework has a filter option for audio already, and a pack of filters. The arcade low pass filters are what you're looking for.
Kitrinx wrote: ↑Tue Nov 16, 2021 12:24 pm
Off isn't the right word. The video is perfectly accurate, especially if you turn off the stabilization feature. The problem is the console wasn't well designed, and the game code had to worry about the vertical video timings, so they do chaotic things. The stabilizer does it's best to understand the intent of the games and make them work on a modern display, but there's limits. For me, tapper is perfectly stable, so I'm really not sure what you're talking about there.
That game uses 480i timings as a curiosity for the system. Maybe the coders didn't know how to 240p worked. I could enable interlaced video, but you won't like the results.
Yeah, I usually test with Adventures of Tron which starts a game just by moving the joystick. I will dig into this some more. Does the joystick have to be setup as a whole for MiSTer before setting up for the 2600 core? I was looking for a spot to do that (I thought I had done this for my 8bitdo pad) and couldn't find it.Lightwave wrote: ↑Tue Nov 16, 2021 4:21 amDefinitely works with Atari joysticks, are you starting games with reset (i.e. the console reset button mapped to another controller, not MiSTer reset)?telengard wrote: ↑Tue Nov 16, 2021 3:04 am I too own those 2600 'daptors but I have had no luck even getting a joystick to work in the 2600 core, let alone the paddles. I'm able to assign L/R/U/D and Fire (and I skip the remainder), save settings, and they do not register at all in games. The MiSTer menu however works w/ the joystick. I'm sure I'm doing something very stupid...
Only a few games will start with the fire button.
Yes, when MiSTer boots up, you'll be in the "Menu" core, you need to map the Joystick here first.telengard wrote: ↑Tue Nov 16, 2021 2:58 pmYeah, I usually test with Adventures of Tron which starts a game just by moving the joystick. I will dig into this some more. Does the joystick have to be setup as a whole for MiSTer before setting up for the 2600 core? I was looking for a spot to do that (I thought I had done this for my 8biddo pad) and couldn't find it.Lightwave wrote: ↑Tue Nov 16, 2021 4:21 amDefinitely works with Atari joysticks, are you starting games with reset (i.e. the console reset button mapped to another controller, not MiSTer reset)?telengard wrote: ↑Tue Nov 16, 2021 3:04 am I too own those 2600 'daptors but I have had no luck even getting a joystick to work in the 2600 core, let alone the paddles. I'm able to assign L/R/U/D and Fire (and I skip the remainder), save settings, and they do not register at all in games. The MiSTer menu however works w/ the joystick. I'm sure I'm doing something very stupid...
Only a few games will start with the fire button.
What a great core, many thanks Kitrinx. First I thought the B/W switch wasn't doing anything as I tried to switch the starfield on and off in Cosmic Arc but this seems to only be a feature of the PAL version, didn't knew this.Kitrinx wrote: ↑Mon Nov 15, 2021 11:59 pm I have added start and select for you as F1 and F2, as I don't think those keys will interfere with the POKEY keyboard input. Before release, I will be fixing the proper paddle input for mouse, analog sticks, and actually-official "mr spinner" compatible adapters. Ricardo makes a very nice spinner if you're interested in a quality paddle. Otherwise, SNAC should work for non-analog input as usual.