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 7800 / 2600

Unread post by thorr »

I can check in about 6 hours if I remember. ;-)

rhester72
Top Contributor
Posts: 1323
Joined: Thu Jun 11, 2020 2:31 am
Has thanked: 15 times
Been thanked: 213 times

Re: Atari 7800 / 2600

Unread post by rhester72 »

Well, that took a hot minute. The real answer comes from the time in which the Atari SNAC adapter was born (in 2020).

In 'Others' (or digital) mode on the Atari SNAC adapter (i.e. the switch is in the opposite position of Paddles), Atari pin 9 is mapped to USB pin 9, also known as IO6 on the MiSTer side.

Those who have been playing along at home for the past several years know that later revisions of the Analog I/O board (version 6.1+) and the Digital I/O board (revised a few years ago now, but definitely after the Atari SNAC adapter was designed!) added an additional jumper called IO6, which allowed for another addressable SNAC line. When that jumper is unset on the I/O board, 3.3V of output power is supplied on that line instead.

Just like with other more complex SNAC adapters, IO6 is crucial to be set properly (i.e. jumpered) for proper operation...the Atari SNAC is no exception. No doubt your I/O board is already set that way.

So why is there a jumper pad on the Atari SNAC adapter? Again, before the late-model I/O boards with the jumper, the ONLY function of USB pin 9 was to supply 3.3V to the user port. Given an Atari controller is expecting pin 9 to be an output pin (and certainly not a power pin!), this is very dangerous. A regular Atari joystick won't care (because pin 9 is unconnected), but something like a 7800 controller or keypad controller will ABSOLUTELY care, because the moment you apply 5V (with the level shifter) to a digital output pin on the controller, you just fried it. Game over. That disconnected-by-default jumper pin protects against that.

Those days are now long behind us, because that pin is now available to SNAC (unless you don't read the directions and set the jumper on your I/O board wrong!), and in fact needed for the controllers referenced above. If you close the jumper pad (mine is marked 7GPIO) on the bottom of your Atari SNAC adapter, it will close the circuit in Others/digital mode and connect Atari pin 9 to USB pin 9 (nee IO6), and (assuming the core is configured correctly!) should allow button 2 on the 7800 controller and the center column of the keypad controller to work as expected.

I will be closing the jumper on mine in just a moment and confirming in the core, but I am 100% confident in the above (minus the core correctness part) based on the Atari 2600 SNAC schematic found here:

https://github.com/blue212/SNAC-adapter ... ri2600.brd

which for convenience sake can be viewed online here:

https://www.altium.com/viewer/

Whew! LOL Will report in one more time when I've confirmed (or not) proper operation with the pad connected.

rhester72
Top Contributor
Posts: 1323
Joined: Thu Jun 11, 2020 2:31 am
Has thanked: 15 times
Been thanked: 213 times

Re: Atari 7800 / 2600

Unread post by rhester72 »

So...kind of a mixed bag here. The keypad test worked flawlessly with the 2600 Test Cartridge, so yay. The open jumper was definitely the problem (and that seemed pretty obvious after the continuity test started working after the jumper was closed).

On to the 2600... I can't find my ProSystem controller, but I do have a mint OEM CX78.

With the 7800 core set to SNAC for controller 1, behavior is...bizarre. Directionals work, no problem. Games that only require a single button (e.g. Galaga) work great, and both buttons 1 and 2 act as FIRE. If I use the 2600 Test Cartridge on the 7800, same result - both buttons act as button 1.

True two-button games (like Asteroids) are where things get interesting. NEITHER button works, and nothing I do in the settings menu seems to convince it otherwise. I also tried Karateka with the same result, so I have no explanation for this at all. It's not the SNAC adapter, because I have a completely separate Genesis/MegaDrive SNAC setup that I plugged a regular 2600 controller into (and same thing, directionals work, fire does nothing) and my CX78 (which put it into weird hyperspace convulsions).

Very interested in hearing about others' 7800 SNAC experiences.

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 »

Sounds familiar. Earlier in this thread I spoke about my 7800 experience, but I don't recall if I mentioned those same things or not. Also, I have mint Pro-line joysticks and a mint 7800. My wife had them in zip lock bags and they look like they were hardly ever used.

I will test tonight. Can you upload a picture of your mod to the SNAC adapter? I don't want to fry anything.

Edit: See my post and the response here about Commando: viewtopic.php?p=37551&hilit=commando#p37551

rhester72
Top Contributor
Posts: 1323
Joined: Thu Jun 11, 2020 2:31 am
Has thanked: 15 times
Been thanked: 213 times

Re: Atari 7800 / 2600

Unread post by rhester72 »

2600snac.png
2600snac.png (1.17 MiB) Viewed 4862 times

Sorry for the poor quality, macro photography isn't my speciality. If it's not clear, please let me know, but don't overdo it with the solder...just enough to join the pads is sufficient.

The simplest way to test your work without having to connect to anything is to make sure the switch is set to Others (vs. Paddles), then check continuity between Atari pin 9 (the rightmost pin of the bottom row, facing the connector) and USB pin 9 (the leftmost trace of the USB connector). It will be absent before the mod (as pin 9 connects to nothing) and present after.

It's impossible to see due to my own solder blob there, but the two rectangular pads (inside the white 'square') are what you're connecting via solder, not the circular test point to the right of them (in the photo).

rhester72
Top Contributor
Posts: 1323
Joined: Thu Jun 11, 2020 2:31 am
Has thanked: 15 times
Been thanked: 213 times

Re: Atari 7800 / 2600

Unread post by rhester72 »

thorr wrote: Tue Jul 09, 2024 10:38 pm

Edit: See my post and the response here about Commando: viewtopic.php?p=37551&hilit=commando#p37551

I read...that's unfortunate. I believe it...5V is what it is, but it's not backed up by much amperage at all, and obviously 1970s circuit design was a lot freer with the juice than the microelectronics of today.

At least one element of things is now well understood and addressed now...who knows, maybe a future iteration (of SNAC or the core) can correct for more somehow. I'm fairly out of my depth there, but I maintain hope. =)

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 »

Regarding the +5V amperage, I notice it depends on the DE10-Nano power source. I have a Zeroforce Lightgun (with GunCon, GunCon 2, and Justifier modes) which would randomly reset MiSTer when recoil was enabled. This stopped when I changed the original 2A PSU for a Mean Well 4A one. Zeroforce still has issues with SNAC, but the amperage is no longer one of them.

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 »

Excellent work! My keypad was non-working in the middle row and now it works. Still the two 7800 joystick buttons only act as one button. Unfortunately, I can't find a power adapter with enough amps to try skooter's suggestion. I just ordered one for $8.99 and it will be here tomorrow.

rhester72
Top Contributor
Posts: 1323
Joined: Thu Jun 11, 2020 2:31 am
Has thanked: 15 times
Been thanked: 213 times

Re: Atari 7800 / 2600

Unread post by rhester72 »

I believe it's amperage, but I don't think a heftier supply will help much. The issue is the amount of power the I/O board can realistically deliver over a thin trace, which is the current-limiting factor here.

Being made of presumably far more modern methods and materials, I do have access to one of the new CX78+ controllers Atari just put on-market. If it's truly an amperage issue, hopefully that may be below the margins.

EDIT: Well, that's unfortunate. The CX78+ exhibits exactly the same behavior. It also makes me wonder, as the 2600+ should in theory be far weaker yet manages without an issue. I'm not sure the open-drain theory is necessarily accurate.

EDIT2: Scratch that - the 2600+ converts to USB protocolling in much the same way that the 2600-daptor does and thus wouldn't be affected, this is a SNAC-specific problem (or so it appears). Doesn't rule out it could be some sort of obscure core bug, but that's above my pay grade. =)

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 tried out the new 4 amp power supply and it made no difference.

rhester72
Top Contributor
Posts: 1323
Joined: Thu Jun 11, 2020 2:31 am
Has thanked: 15 times
Been thanked: 213 times

Re: Atari 7800 / 2600

Unread post by rhester72 »

I have a whole new theory on this. Stay tuned. (Hint: It's not an open collector problem, or Galaga couldn't work.)

rhester72
Top Contributor
Posts: 1323
Joined: Thu Jun 11, 2020 2:31 am
Has thanked: 15 times
Been thanked: 213 times

Re: Atari 7800 / 2600

Unread post by rhester72 »

Theory did not pan out - and oh my, I was so very wrong on this (and now Kitrinx's explanation makes complete sense). The 7800 button management is goofy as all hell because it was the only way to make a single 9-pin input work for two-button input and paddles.

This thread goes into considerable detail:

https://forums.atariage.com/topic/84963 ... -they-are/

and the money shot is this post in particular:

https://forums.atariage.com/topic/84963 ... nt=1034453

Given the pullup voltage required is, well, let's call it very high, this may indeed be an unsolvable problem because I sincerely doubt SNAC can get there from here. :/ I'm sorry.

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 »

My guess is that it is possible with a different SNAC adapter that supports the higher voltage than the normal voltage converter. Also, the joystick works with the 2600daptor D9 and that doesn't require anything more than regular USB power. It probably wouldn't be that hard to design a new SNAC adapter. I haven't had time to review the posts yet in detail though. I saw something about how the paddles work, and I am interested in reading that part because it almost sounded like they were handled digitally which seems crazy and probably not the case, but at first glance it seemed that way in the two seconds I had to glance at the posts.

rhester72
Top Contributor
Posts: 1323
Joined: Thu Jun 11, 2020 2:31 am
Has thanked: 15 times
Been thanked: 213 times

Re: Atari 7800 / 2600

Unread post by rhester72 »

The way the two-button controller is read is that there's very high pullup on pin 6, and the button presses vary the current by measurable amounts using the two pot pins (5 and 9). The software measures the variance to determine if a button is pressed (and which one). It's insane, but was the only way to add another readable button without adding another pin and still have paddles able to work.

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 »

So how it could possibly work then is to construct a new SNAC adapter that is designed to use the ADC when hooking up a 7800 joystick.

rhester72
Top Contributor
Posts: 1323
Joined: Thu Jun 11, 2020 2:31 am
Has thanked: 15 times
Been thanked: 213 times

Re: Atari 7800 / 2600

Unread post by rhester72 »

Possibly? I'd be keen on knowing how the 2600-daptor units handle this, they are clearly converting analog to digital somehow.

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 »

That would be easy to do actually. Using an Arduino for example, you can write a simple line of code like 'if the value is greater than this, activate button 1'.

Also, I am sort of wondering now if the SNAC switch was set to paddles and it is connected to the ADC, if it could work that way (but it might require update to the core's code).

rhester72
Top Contributor
Posts: 1323
Joined: Thu Jun 11, 2020 2:31 am
Has thanked: 15 times
Been thanked: 213 times

Re: Atari 7800 / 2600

Unread post by rhester72 »

I had a similar thought and will be testing later today.

On a positive note, I spoke with Kitrinx and she does intend to integrate full ADC-based SNAC paddle support into the 7800 core - woo! =)

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 »

THAT IS AMAZING NEWS!!!! Can you tell I am excited? :-D

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 »

rhester72 wrote: Thu Jul 11, 2024 7:02 pm

I had a similar thought and will be testing later today.

On a positive note, I spoke with Kitrinx and she does intend to integrate full ADC-based SNAC paddle support into the 7800 core - woo! =)

Any idea when we might see this? I tried playing Kaboom the other day and for some reason my paddle buttons are not being recognized, and I just shut it off out of frustration instead of trying to figure out why it stopped working properly. SNAC support would make this so much easier for everyone.

rhester72
Top Contributor
Posts: 1323
Joined: Thu Jun 11, 2020 2:31 am
Has thanked: 15 times
Been thanked: 213 times

Re: Atari 7800 / 2600

Unread post by rhester72 »

thorr wrote: Thu Aug 01, 2024 8:00 pm

Any idea when we might see this? I tried playing Kaboom the other day and for some reason my paddle buttons are not being recognized, and I just shut it off out of frustration instead of trying to figure out why it stopped working properly. SNAC support would make this so much easier for everyone.

I feel you - I've never had it working reliably.

Unfortunately, she didn't say. I sort of got the feeling that just getting from "not going to happen" to "yeah, I'm planning to do it one day" was a big leap in and of itself.

Robe_Inie
Posts: 7
Joined: Thu Aug 18, 2022 10:04 pm

Re: Atari 7800 / 2600

Unread post by Robe_Inie »

Hello! Anyone is having problems with the Flickerbend option in Atari 2600 mode ?
At the past, I had good results with it. No flicker when activated.
Now, when activated, I got a darker screen (sometimes lighter), and the graphics look less bright, and it keeps flickering.

¡Thanks!

WhiteHat94
Posts: 8
Joined: Mon Apr 25, 2022 11:38 pm
Has thanked: 1 time
Been thanked: 1 time

Re: Atari 7800 / 2600

Unread post by WhiteHat94 »

I'm trying to get a 2600 homebrew game working and having an issue. The game is Cave Raider and apparently uses EFSC 64k bankswitching, according to a reply to my question. It works on the Atari emu Stella but not on MiSTer. It starts on MiSTer but you just get a broken screen when you start the game. Is it possible for this game to work on MiSTer, or is this kind of bankswitching not supported?

https://forums.atariage.com/topic/35907 ... rchip-game

Flandango
Core Developer
Posts: 459
Joined: Wed May 26, 2021 9:35 pm
Has thanked: 59 times
Been thanked: 383 times

Re: Atari 7800 / 2600

Unread post by Flandango »

It looks like the Superchip auto detection isn't working right (at least for this particular rom/game). I did a quick test by making a test core with a toggle switch to force the detection on and the game works fine.
When I get back home and have some time, I'll double check the detection method and see what is going on and if possible propose a fix/workaround, if nobody else gets it done sooner.

Flandango
Core Developer
Posts: 459
Joined: Wed May 26, 2021 9:35 pm
Has thanked: 59 times
Been thanked: 383 times

Re: Atari 7800 / 2600

Unread post by Flandango »

The code for Superchip detection was working fine, it was just not using it (i.e. there was EF banking support just not EFSC). I sent up a pull request.

WhiteHat94
Posts: 8
Joined: Mon Apr 25, 2022 11:38 pm
Has thanked: 1 time
Been thanked: 1 time

Re: Atari 7800 / 2600

Unread post by WhiteHat94 »

Is there a way to download the core with this change added? I see the change was made on Github but I don't see where to grab a new version of the core.

Post Reply