Jump to content
IGNORED

Calling the 7800 hardware gurus - odd port 2 issue


-^CrossBow^-

Recommended Posts

So I'm working on a 7800 for someone, and just when I thought everything was good to go and was about to ship it back to its owner, I decide to take some screenshots of games running to show the client. Well, I discovered that player wouldn't move left with any controller I tried, and sometimes on power on would also register 1 or both buttons being pressed, but ONLY when a controller was plugged into port 2.

 

Having seen similar in the past, I first changed out the TIA since that controls the buttons, but no luck and of course the left direction on player 2 still would not work at all. Checking a few more things I find that pin 3 on the player2's port doesn't appear to make contact to pin 10 on the RIOT as the schematics show? So I put in some jumper wire to correct this. However that now was registering as left always being selected?! So I replaced the damn RIOT and now all directions are working properly. But there is still an issue with the second player's fire buttons. They aren't registering as always being pressed any more, but I can't get button 1 to register at all, only button 2 works. If I plug in a 2600 controller, then button 1 registers as it should.

 

It isn't the controller as it works fine in player 1s port. Something to do with the logic or another component I need to check on the player 2 port side.

 

Anyone have an ideas on something like this. Since the TIA swap didn't change anything before I have the original TIA back in service on the 7800 but I do have a replacement RIOT 6532 installed into a socket. I'm guessing a diode or cap..or some other passive component is the issue for a 7800 button 1 to not register?

 

 

Link to comment
Share on other sites

What voltage do you measure at the controller port pins and are they as you would expect (i.e. same as port 1)?

Are you sure your controller does not have an intermittent fault and thus it just happened to be ok when in the player 1 port?

If you are certain the controller is not the issue then generally Atari used active low (pull down to 0V) inputs, so if a 2600 controller works where a 7800 controller does not perhaps examining the differences between the two controllers will provide an insight into the problem.

Link to comment
Share on other sites

The controller is not the issue. I've tried both a standard Pro-line controller that exhibits the same issues as well as a modified NES to 7800 controller I normally use. And yes a Tac-2 I was also using for testing does work just fine on both ports, but the issue now is that button 1 will not register when using a 7800 controller. Could still be a TIA issue I suppose? But I installed sockets while troubleshooting this and two different TIA chips give the same results in regards to button 1 not responding from a 7800 controller. This is why I suspect some other passive component is possibly to blame? Although there isn't all that much between the fire button lines off the controller ports to the TIA from what I can tell?

Link to comment
Share on other sites

  • 2 weeks later...

Okay, still struggling to figure out what the heck on this. After replacing the TIA with a good known working TIA I've gotten it down to just the left fire button not responding when using a 7800 controller. If you use a 2600 controller, then both buttons register as being triggered. However, the 7800 controller isn't at fault since it works just fine on port 1.

 

But in looking at the schems for the 7800, it appears that regardless of which controller is used, both FBs only act as just two fire buttons period in the entire system? What I mean is that in the schems in the lower left it only shows FB1 and FB2. They in turn attach to TIA pins 34 and 35. But I don't see the anything for the FBs for player two? So how does the 7800 even know?

 

Anyway, in trying to track down if there is a faulty part etc...I need to know if there exists a board layout diagram of what component is where? Since most of the component numbers are obscured by the component, I can't tell where some of the caps and resisitors are that are in the FB circuit?

Link to comment
Share on other sites

Okay, still struggling to figure out what the heck on this. After replacing the TIA with a good known working TIA I've gotten it down to just the left fire button not responding when using a 7800 controller. If you use a 2600 controller, then both buttons register as being triggered. However, the 7800 controller isn't at fault since it works just fine on port 1.

 

But in looking at the schems for the 7800, it appears that regardless of which controller is used, both FBs only act as just two fire buttons period in the entire system? What I mean is that in the schems in the lower left it only shows FB1 and FB2. They in turn attach to TIA pins 35 and 36. But I don't see the anything for the FBs for player two? So how does the 7800 even know?

 

Anyway, in trying to track down if there is a faulty part etc...I need to know if there exists a board layout diagram of what component is where? Since most of the component numbers are obscured by the component, I can't tell where some of the caps and resisitors are that are in the FB circuit?

Link to comment
Share on other sites

 

But in looking at the schems for the 7800, it appears that regardless of which controller is used, both FBs only act as just two fire buttons period in the entire system? What I mean is that in the schems in the lower left it only shows FB1 and FB2. They in turn attach to TIA pins 35 and 36. But I don't see the anything for the FBs for player two? So how does the 7800 even know?

 

The only way to be certain of this is to trace the wiring on the in the joystick but although I think the resistors may be shown in the wrong place this schematic confirms my thought that the paddles inputs must be used in some way, if the schematic is correct then then any game designed for a two button joystick strobes pins 5 & 9 (paddle analogue inputs) of the joystick port High and Low, thus when it sees a low on the FB input the software knows which button is pressed (Left when pin 9 is set low, Right when pin 5 is set low).

Pressing the FB for the one that has the high strobe will return a high and thus not be registered as being pressed when the inputs are read.

 

The 2600 Joystick returns both FB's as its fire button is switch to the ground pin and does not rely on the strobes so if the aforementioned schematic is correct then logically the problem should be that P2 (pin 9) line to the controller is always high. However, as you have replaced the TIA it would be unusual and very unlucky to use two that have the same fault and you say that you switched it for a known good TIA, so first put the original TIA back in (may save damaging the known good one) then try to confirm if P2 permanently high is the fault.

 

If that is indeed the fault and the TIA sits in a socket then remove the TIA, bend the relevant leg so that it sits outside the socket when the TIA is replaced (make sure it does not short to anything) and see what the P2 line to the joystick and the TIA pin are doing. If the TIA pin is permanently high (around 5V) and the P2 line to the joystick is permanently low then the TIA should be the problem, however if the TIA pin switches between high and low (probably read around 2.5V on a DMM). and the P2 line to the controller remains high or also switches between high and low then look for a short circuit somewhere.

Link to comment
Share on other sites

Well, I've been using the 7800 diagnostic utility to check this and without a controller plugged into the 7800's port 2, it will show neither button pushed. I did reinstall the original TIA back in and took out the socket as I was getting intermitten issues with controller readings using the socket. Soldered in I'm where I'm as described above. So, taking a pin out of the circuit will be more difficult since it is all soldered back into the board at this point. I'm going to give this one last look tonight before I have to box it back up and return it back to its rightful owner. Shouldn't I just be able to check for shorts by making sure each pin doesn't have a connection to ground? But even if that were the issue, then I would have the opposite issue where one fire button always registers as being pressed. That isn't the case here. Again, I only show the left fire button being pressend when you use a 2600 controller on that port. Put in a 7800 and only the right fire button will register as being pressed.

 

But I will check more into this tonight. After that, the owner of this console has decided they want it back regardless and only cared if 2 player 2600 games were good to go, and if the AVox+ would still work normally. (I've tested both and indeed the AVox+ does work normally on port 2 regardless of the left fire button issue).

Link to comment
Share on other sites

If the diagnostic utility you're using is designed for two button joysticks, you can't use it to test single button 2600 ones.

The 7800 has a 2 button mode that is only enabled by some 7800 games in order to read the 2 distinct buttons of the controllers. In all the other cases, both buttons appear as the single button in the standard 2600 controller (You can easily verify that by using the 7800 joystick in a 2600 console: both buttons work and have the same function, even in games released before the 7800 was even designed)

In single button mode, the 2600 buttons and BOTH 7800 ones are read from TIA pins 36 and 35 (for left and right port respectively), connected to pin 6 of the each port. The pin is HIGH when the button(s) is released, and LOW if pushed.

In 2 button mode, transistor Q6 (for left port) and Q5 (right port) are activated, TIA pins 36 and 35 are always HIGH and the buttons are read, with INVERTED LOGIC (button pressed -> pin HIGH, button released -> pin LOW) from the paddle lines as follows:

LEFT JOYSTICK:
-left button: TIA pin 39 (pin 9 of the joystick port)
-right button: TIA pin 40 (pin 5 of the joystick port)
RIGHT JOYSTICK:
-left button: TIA pin 37 (pin 9 of the joystick port)
-right button: TIA pin 38 (pin 5 of the joystick port)

 

post-10599-0-16261300-1506358135.png

Link to comment
Share on other sites

The 7800 diag utility allows the mixing and matching of the controllers for testing. Done it many times. I actually turn on the 7800 to the Diag utility without any controllers plugged in. I can then plug in either type of controller and it will work as you would expect (If the 7800 is working properly that is).

 

So on my actual 7800, If I plug in a 7800 controller into port 1 or 2 after the utility is up and running, and then test, all cardinal directions function, plus button 1 (Left) and button 2(right), will show as being activated independently as you would expect. If I then unplug the 7800 controller and put in my Tac-2 (in this case) to test 2600 use, all cardinals still work as normal. And the fire button will show both buttons being activated as you describe. Plug the 7800 controller back in and you get the first results I mentioned. Both ports will work this way on my two 7800s that I own. But on this one that I'm AV modding, the 7800 controllers worked normally in port 1. But port 2 started off with no fire buttons being registered and the left direction not responding at all. Found out in the diag utility that originally both buttons were showing as being constantly activated. Replacing the RIOT took care of both of these issues, with the exception that a 7800 controller does not activate the left button 1 fire button in testing but all cardinal directions work. Plug in a 2600 controller and both buttons will show as activated. So.. I'm suspecting one of the passive type components is failing and doesn't effect 2600 mode controller support.

Link to comment
Share on other sites

On the 7800 schematic around the lower left-hand side, you have 3 transistors switched from 3 sources: TIAEN (TIA enabled/disabled), PB4 (RIOT Port B, bit4), and PB2 (RIOT Port B, bit2).

 

If a game wants to read joystick 2 in 2 button mode, it needs to set RIOT Port B to output 0 for bit 4. If your problem is specific to 2-button mode not working for joystick 2, start with R49 and Q5(as Alex said).

Link to comment
Share on other sites

On the 7800 schematic around the lower left-hand side, you have 3 transistors switched from 3 sources: TIAEN (TIA enabled/disabled), PB4 (RIOT Port B, bit4), and PB2 (RIOT Port B, bit2).

 

If a game wants to read joystick 2 in 2 button mode, it needs to set RIOT Port B to output 0 for bit 4. If your problem is specific to 2-button mode not working for joystick 2, start with R49 and Q5(as Alex said).

 

Q5 and R49 check out.

 

I was wrong earlier. With a 2600 controller in only, using the 7800 diag util controller test option, the 2600 fire button registers on the left or FB1 only. With a 7800 controller plugged in, I only get FB2 or the right button to show as being activated. So....I'm more confused now than ever it would seem. Again, the exact 7800 controller works just fine in port 1 for both fire buttons. Just port 2.

Link to comment
Share on other sites

I'd say the next thing would be to check out R39 - probably best to measure the resistance between pin 9 on the joystick port and TIA pin 37. If that checks out, maybe do the same with joystick pin 5 and TIA 38, in case we've mixed up left vs right button somewhere along the way.

Link to comment
Share on other sites

I'd say the next thing would be to check out R39 - probably best to measure the resistance between pin 9 on the joystick port and TIA pin 37. If that checks out, maybe do the same with joystick pin 5 and TIA 38, in case we've mixed up left vs right button somewhere along the way.

 

I will do that now...I did just replace both Q5 and Q6, although the originals were testing fine on my tester just in case but no change. All the resistors are also good as well. I'm also showing +5 to the transistors so I know they are getting power. Let me check out R39 and the continuity between pin 9 to TIA37 and pin 5 to TIA 38. If I didn't mention this before, there is something wrong with the trace from port 2's right direction. Changing out the RIOT didn't correct this either but did correct the FB always showing active. I've got a piece of kynar from pin 11 off the RIOT straight to port 2 to get the right direction working again.

Link to comment
Share on other sites

Okay... so I'm getting 4.5v to pin 5 and 9 when I actuate them with the proline fire buttons. Left on pin 5 and right on pin 9 from the controller. So this would indicate that the transistors are working properly and doing their thing. This is pointing back to the TIA but I fail to see how two different TIAs could produce the same results.

Edited by -^Cro§Bow^-
Link to comment
Share on other sites

I need to know if there exists a board layout diagram of what component is where? Since most of the component numbers are obscured by the component, I can't tell where some of the caps and resisitors are that are in the FB circuit?

Mitch kindly shared this scan of one of the unpopulated motherboards a while back...

post-23476-0-00386900-1506483539_thumb.jpg

Link to comment
Share on other sites

Well the caps checked out fine and weren't shorted. I'm buttoning it back up and getting it boxed to send back to its waiting owner tomorrow. The owner is aware of the issues with the first FB for port 2 for 7800 games. Considering the second ports didn't have left direction and both FBs were originally showing as being actuated at all times, it is much more playable than it was before and the owner is okay with this. Damn...really thought I could get this one squared away, but the 7800 is such a fickle and odd beast.

 

Thanks Rev for your assistance, it is much appreciated!

  • Like 1
Link to comment
Share on other sites

Okay... so I'm getting 4.5v to pin 5 and 9 when I actuate them with the proline fire buttons. Left on pin 5 and right on pin 9 from the controller. So this would indicate that the transistors are working properly and doing their thing. This is pointing back to the TIA but I fail to see how two different TIAs could produce the same results.

 

Bad socket?

Link to comment
Share on other sites

 

Bad socket?

 

TIA isn't in a socket. The RIOT is, but that doesn't have anything to do with the fire buttons really. I did have no trace from pin 3 to pin 11 on the RIOT so I had to run a wire jump to restore the left direction back to working again. But the TIA is directly soldered back to the mainboard and I redid all the solder points off the pins last night just in case. Everything ohms out as it should from the TIA pins back to the pins on the controller, so traces are good. The only other possibility is that I have two TIAs with the same exact issue? Unlikely but not unheard of I supposed. Doesn't matter now, as I had to send that 7800 back to its owner. And yes, the owner is fully aware of these issues and where it currently stands. It was much worse when I got it as both FB were contantly active and there was no left direction when I originally got it sent to me for an AV mod. I only discovered the other issues with port 2 when I went to fire up 7800 Xenophobe to take some screen shots for the owner and then found out I couldn't start player 2 and it just went from there.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...