Jump to content
IGNORED

Joystick multiplexer help


gauauu

Recommended Posts

51 minutes ago, johnnywc said:

@Karl G  Hi Karl!  Were you able to make any progress with the joystick button for 7800 games in 1 button mode using the QuadTari?  I saw your raindrops game was played on ZPH but didn't get a chance to watch the show.

I'm not much of a hardware guy, unfortunately, so I didn't do anything with the button code after that previous post. The gameplay doesn't rely on a button at all; I only added that as an option to restart the game. I have the QT and a Concerto cart though, so I can run tests if anyone has anything specific they would like me to try.

Link to comment
Share on other sites

11 hours ago, Karl G said:

I'm not much of a hardware guy, unfortunately, so I didn't do anything with the button code after that previous post. The gameplay doesn't rely on a button at all; I only added that as an option to restart the game. I have the QT and a Concerto cart though, so I can run tests if anyone has anything specific they would like me to try.

Thanks for the update Karl.  I'm not much of a hardware guy either (the QT design and testing was more of a trial by fire for me ;) ) so for now let's wait for the hardware/7800 experts to do some research and hopefully come up with a solution. :D   Thanks everyone!

Link to comment
Share on other sites

Wow! Just now paying attention to this thread and I see that what I experienced when I was first testing the QT on my 7800 with 2 sets of 7800 controllers is happening to others! Yes I also noticed when using Rev's utility cart that if I have 2 7800 controllers plugged into the QT, the system immediately registers player 1's fire 1 as always being depressed. Worse is that even removing the QT and power cycling didn't correct the issue?! It was stuck with fire button 1 always registering as being pressed. It didn't correct itself until I plugged in a single button controller (My Epyx 500Xj) into the play 1 port and then power cycled the 7800. At that point is seemed to be working correctly again. 

 

When I made my video on the Quadtari, I made sure to keep the Epyx plugged into port 1 on the QT and had a 7800 controller in port 3 of the QT when I was showing off the QT using Wizard of Wor: Arcade and that worked properly. I've not done much else but it would seem that when using actual 7800 controllers in the QT connected up to a 7800 and trying to operate in 7800 mode, that the TIA is always triggering on fire 1 at that point.

 

So for now it would seem that using a QT is only possible with actual single button controllers on the 7800, especially in 7800 mode.

 

Link to comment
Share on other sites

Yeah, we came to that conclusion a while back, before QuadTari was completed. As part of the design it uses the paddle lines, and so do the proline sticks, so two-button mode has always been known to be unsupported.

 

QuadTari *should* work with 7800 in single-button mode with regular cx-40 sticks. It *might* work with prolines in single-button mode, but that needs testing. I've been swamped IRL, so I just haven't gotten to that yet.

Link to comment
Share on other sites

48 minutes ago, -^CrossBow^- said:

Wow! Just now paying attention to this thread and I see that what I experienced when I was first testing the QT on my 7800 with 2 sets of 7800 controllers is happening to others! Yes I also noticed when using Rev's utility cart that if I have 2 7800 controllers plugged into the QT, the system immediately registers player 1's fire 1 as always being depressed. Worse is that even removing the QT and power cycling didn't correct the issue?! It was stuck with fire button 1 always registering as being pressed. It didn't correct itself until I plugged in a single button controller (My Epyx 500Xj) into the play 1 port and then power cycled the 7800. At that point is seemed to be working correctly again. 

 

When I made my video on the Quadtari, I made sure to keep the Epyx plugged into port 1 on the QT and had a 7800 controller in port 3 of the QT when I was showing off the QT using Wizard of Wor: Arcade and that worked properly. I've not done much else but it would seem that when using actual 7800 controllers in the QT connected up to a 7800 and trying to operate in 7800 mode, that the TIA is always triggering on fire 1 at that point.

 

So for now it would seem that using a QT is only possible with actual single button controllers on the 7800, especially in 7800 mode.

 

Thanks for the feedback Jesse!  I have tested Wizard of Wor Arcade with a QT and 2 Proline controllers in port 1 and 3 and it works fine for both players.  The only caveat is that only the left button works on the Proline.  So, it seems that Proline controllers work with the QT on 2600 games at least.  Does this work for you too?

1 minute ago, RevEng said:

Yeah, we came to that conclusion a while back, before QuadTari was completed. As part of the design it uses the paddle lines, and so do the proline sticks, so two-button mode has always been known to be unsupported.

 

QuadTari *should* work with 7800 in single-button mode with regular cx-40 sticks. It *might* work with prolines in single-button mode, but that needs testing. I've been swamped IRL, so I just haven't gotten to that yet.

Thanks, I think it *should* work too but unfortunately I don't have a way to test since I need to find my Cuttlecart (oh, and I don't know how to program 7800 games ;)  ).  Hopefully you can figure it out when you get a free moment, RL has been pretty swamped over here too! :P  

 

 

  • Like 1
Link to comment
Share on other sites

Well I didn't use prolines as I have Curt's Proline Arcade 7800, the new one that Bratwurst has been offering and also one of Retrogameboiz NES style controllers. Far as I know, they all basically use the same components to trigger the signals as the original prolines do?

 

But yeah, having Curt's controller in Port 3 on the QT and Brat's controller in port 1 on the QT, and then firing up Rev's utility cart image from my Mateos, it started to immediately trigger player 1 fire as being pressed. Unplugged the controller and it continued to do this. Unplugged the QT and it was still doing this. I then power off the 7800 with nothing plugged in at this point and it still registered fire 1 being triggered. I thought my TIA was hosed at that point, but once I plugged in my Epyx controller into port 1, it wasn't doing it anymore and hasn't since. 

 

So having the two controllers plugged in while firing up the Utility cart triggered some state on the TIA making it always think the fire button was being pressed when it wasn't. 

 

It was odd that it didn't correct until I plugged in an actual single button 2600 stick into it to 'reset' it internally somehow.

 

Link to comment
Share on other sites

30 minutes ago, -^CrossBow^- said:

Well I didn't use prolines as I have Curt's Proline Arcade 7800, the new one that Bratwurst has been offering and also one of Retrogameboiz NES style controllers. Far as I know, they all basically use the same components to trigger the signals as the original prolines do?

 

But yeah, having Curt's controller in Port 3 on the QT and Brat's controller in port 1 on the QT, and then firing up Rev's utility cart image from my Mateos, it started to immediately trigger player 1 fire as being pressed. Unplugged the controller and it continued to do this. Unplugged the QT and it was still doing this. I then power off the 7800 with nothing plugged in at this point and it still registered fire 1 being triggered. I thought my TIA was hosed at that point, but once I plugged in my Epyx controller into port 1, it wasn't doing it anymore and hasn't since. 

 

So having the two controllers plugged in while firing up the Utility cart triggered some state on the TIA making it always think the fire button was being pressed when it wasn't. 

Okay, thanks for the clarification Jesse! :thumbsup:  I'm not familiar with the 7800 scene, but I assume Rev's utility cart is a 7800 program (meaning, it's not a 2600 program?).  If you own the Wizard of Wor Cartridge (or Harmony), have you tried with the QT and Proline-compatible controllers while starting those up?  On my end, 2600 programs (ie. the Harmony bios or WoW Arcade) don't have the issue with Proline buttons automatically engaging, only if I'm testing with Pole Position 2 (a 7800 game) in which case the game starts automatically and the gas pedal is always enabled.  I'm trying to confirm if Proline compatible controllers work with the QT for 2600 programs (they do in my testing) vs. 7800 programs in which case we know it doesn't not work (at least for now).

30 minutes ago, -^CrossBow^- said:

It was odd that it didn't correct until I plugged in an actual single button 2600 stick into it to 'reset' it internally somehow.

 

I had the same issue for me.  We'll have to leave that explanation to the hardware experts as I'm not sure what causes it or what fixes it. :P  

 

Thanks!

John

 

Link to comment
Share on other sites

1 hour ago, johnnywc said:

I have tested Wizard of Wor Arcade with a QT and 2 Proline controllers in port 1 and 3 and it works fine for both players.  The only caveat is that only the left button works on the Proline. 

Is pin 5 on each Quadtari controller port connected to +5V (to power a genesis pad)?
If so that would explain why the right button of a proline doesn't work: pressing the right button connects pin 6 to +5v, while you want to pull pin 6 low to detect a fire button press. (another effect is that you have one of the 520 ohm resistors always connected between +5v and ground, which dissipates a bit of power)

7800_joystick.thumb.png.4f95dd86eb410c291e2e8de9051d1e9d.png

 

45 minutes ago, -^CrossBow^- said:

But yeah, having Curt's controller in Port 3 on the QT and Brat's controller in port 1 on the QT, and then firing up Rev's utility cart image from my Mateos, it started to immediately trigger player 1 fire as being pressed. Unplugged the controller and it continued to do this. Unplugged the QT and it was still doing this. I then power off the 7800 with nothing plugged in at this point and it still registered fire 1 being triggered. I thought my TIA was hosed at that point, but once I plugged in my Epyx controller into port 1, it wasn't doing it anymore and hasn't since. 

The 7800 in two button mode, with a Quadtari plugged in (no matter what's plugged in the QuadTari itself)  will see the right button pressed, because of the pullup resistor on pin 5 inside the QuadTari.

Even if you then unplug the QuadTari, the paddle cap inside the console will stay charged and the console will continue to see the button pressed. The cap stays charged even after a power cycle, unless the software specifically discharge it. If it was designed to only test joysticks and not paddles, maybe the utility cart never dumps the caps and therefore keeps seing a two button controller with the right button pressed even after a power cycle.

 

Try running the utility with a pair of paddles. It should identify them as a two button controller with both buttons pressed. What happens if you then unplug them?

Edited by alex_79
Link to comment
Share on other sites

8 minutes ago, johnnywc said:

Okay, thanks for the clarification Jesse! :thumbsup:  I'm not familiar with the 7800 scene, but I assume Rev's utility cart is a 7800 program (meaning, it's not a 2600 program?).  If you own the Wizard of Wor Cartridge (or Harmony), have you tried with the QT and Proline-compatible controllers while starting those up?  On my end, 2600 programs (ie. the Harmony bios or WoW Arcade) don't have the issue with Proline buttons automatically engaging, only if I'm testing with Pole Position 2 (a 7800 game) in which case the game starts automatically and the gas pedal is always enabled.  I'm trying to confirm if Proline compatible controllers work with the QT for 2600 programs (they do in my testing) vs. 7800 programs in which case we know it doesn't not work (at least for now).

I had the same issue for me.  We'll have to leave that explanation to the hardware experts as I'm not sure what causes it or what fixes it. :P  

 

Thanks!

John

 

Well it does make sense as the TIA changes its controller functions depending on being in 7800 mode or 2600 mode. So it working regardless of which controllers are plugged in with a QT attached in 2600 games make sense. 

 

The odd issue is when plugging in two pro-lines or other similar 7800 2 button controllers when a QT is attached and the system switches to 7800 mode. You issue with Pole Position mimics what I saw using the Utility cart which is a 7800 program.

 

* I see @alex_79 answered the hardware question as I was typing my answer.

 

 

 

Link to comment
Share on other sites

2 minutes ago, alex_79 said:

Is pin 5 on each Quadtari controller port connected to +5V (to power a genesis pad)?
If so that would explain why the right button of a proline doesn't work: pressing the right button connects pin 6 to +5v, while you want to pull pin 6 low to detect a fire button press. (another effect is that you have one of the 520 ohm resistors always connected between +5v and ground, which dissipates a bit of power)

7800_joystick.thumb.png.4f95dd86eb410c291e2e8de9051d1e9d.png

 

The 7800 in two button mode, with a Quadtari plugged in (no matter what's plugged in the QuadTari itself)  will see the right button pressed, because of the pullup resitor on pin 5 inside the QuadTari.

Even if you then unplug the QuadTari, the paddle cap inside the console will stay charged and the console will continue to see the button pressed. The cap stays charged even after a power cycle, unless the software specifically discharge it. If it was designed to only test joysticks and not paddles, maybe the utility cart never dumps caps and therefore will keep seing a two button controller with the right button pressed even after a power cycle.

 

Try running the utility with a pair of paddles. It should identify them as a two button controller with both buttons pressed. What happens if you then unplug them?

Well the issue with that is you are correct. The utility does indeed show this but since the menu options are selected with button presses, you have to plug the paddles into the 7800 after power up the Utility rom and then plug them into the console with the Joystick test up and running. It will show button 1 always pressed down I seem to recall, and moving the paddle beyond the halway point clockwise will trigger the second button to show as being activated along with one of the direction controls too I believe?

 

I was using Curt's controller for testing that since it has the Paddle built into and I can turn its lines on and off with a switch on the back of the controller.

 

 

Link to comment
Share on other sites

3 hours ago, alex_79 said:

Is pin 5 on each Quadtari controller port connected to +5V (to power a genesis pad)?

Yes, pin 5 on each controller port is connected to +5.

Unfortunately I don't have a 7800 that I can test with, but I'm eager to hear about everyone's test results, and I'll update the document as we go.

Link to comment
Share on other sites

QuadTari on 7800 in one-button mode appears fine. I may need to adjust the 7800basic abstraction for two-button vs one-button fire-button sticks as part of the QuadTari support (likely where Karl's test got hung up) but INPT4/INPT5 is registering as expected.

 

Here's a 7800 test program. It sets one-button mode, but shows 2 button controls because it's adapted from another program. Just look at the INPT4 and INPT5 registers, rather than the graphical button state. Left difficulty switch controls vblank cap grounding/charging. (i.e. whether INPT4 reads are for QT ports 1 or 3, and whether INPT5 reads are for QT 2 or 4)

 

quadtaritest.bas.a78

quadtaritest.bas.bin

 

I'll do a proper 7800basic integration soonish, but this should hopefully give anybody keen to support QuadTari enough info to do it.

 

Link to comment
Share on other sites

2 minutes ago, RevEng said:

QuadTari on 7800 in one-button mode appears fine. I may need to adjust the 7800basic abstraction for two-button vs one-button fire-button sticks as part of the QuadTari support (likely where Karl's test got hung up) but INPT4/INPT5 is registering as expected.

That's great news, thanks so much for confirming! :thumbsup:  

2 minutes ago, RevEng said:

 

Here's a 7800 test program. It sets one-button mode, but shows 2 button controls because it's adapted from another program. Just look at the INPT4 and INPT5 registers, rather than the graphical button state. Left difficulty switch controls vblank cap grounding/charging. (i.e. whether INPT4 reads are for QT ports 1 or 3, and whether INPT5 reads are for QT 2 or 4)

 

quadtaritest.bas.a78 32.13 kB · 1 download

quadtaritest.bas.bin 32 kB · 1 download

 

I'll do a proper 7800basic integration soonish, but this should hopefully give anybody keen to support QuadTari enough info to do it.

 

You may inspire me to get into 7800 programming now... ;)  It would be nice to add some 7800 games to the Champ Games list someday. :D 

 

Thanks again!

John

 

Link to comment
Share on other sites

9 minutes ago, johnnywc said:

That's great news, thanks so much for confirming! :thumbsup:  

You may inspire me to get into 7800 programming now... ;)  It would be nice to add some 7800 games to the Champ Games list someday. :D 

You're totally welcome. The 7800 folks, myself included, would be thrilled to see what you could do with the old gal. :thumbsup:

 

  • Like 3
Link to comment
Share on other sites

12 hours ago, RevEng said:

QuadTari on 7800 in one-button mode appears fine. I may need to adjust the 7800basic abstraction for two-button vs one-button fire-button sticks as part of the QuadTari support (likely where Karl's test got hung up) but INPT4/INPT5 is registering as expected.

I'm glad to hear that A) it works, and B) it wasn't me doing something stupid. Though I could have lived with B.  ;-)

 

I think the QT has the potential to really shine on the 7800 due to the ability to use more sprites without flicker for multiplayer games.

  • Like 1
Link to comment
Share on other sites

1 hour ago, Karl G said:

I'm glad to hear that A) it works, and B) it wasn't me doing something stupid. Though I could have lived with B.  ;-)

Understood. It's much better when my (B) moments happen in private, because it keeps the illusion of competence going. :grin:

  • Haha 1
Link to comment
Share on other sites

13 hours ago, RevEng said:

QuadTari on 7800 in one-button mode appears fine. I may need to adjust the 7800basic abstraction for two-button vs one-button fire-button sticks as part of the QuadTari support (likely where Karl's test got hung up) but INPT4/INPT5 is registering as expected.

So when ZPH was showing off Raindrops last Friday, @Karl G did you program that game for single button mode only then? Because according to James, he was using the Edladdin Twin 78 in ports 1 and 3 on the QT and had a 7800 gamepad and Pro-Line in ports 4 & 2 on the QT.

Link to comment
Share on other sites

1 hour ago, -^CrossBow^- said:

So when ZPH was showing off Raindrops last Friday, @Karl G did you program that game for single button mode only then? Because according to James, he was using the Edladdin Twin 78 in ports 1 and 3 on the QT and had a 7800 gamepad and Pro-Line in ports 4 & 2 on the QT.

Yes, it's in one-button mode. The only thing that the button does is restart the game. That part works in emulation, but not on hardware. Not a big deal for this game, though, since you can hit Reset at least. I'll update my game demo whenever the QT support gets added to 7800Basic.

Link to comment
Share on other sites

The problem is that in 7800 mode, the 7800 turns on Q8, which provides power to Q6 and Q5.  These two transistors give strong pull-up on pin 6 of both controllers.  That's the fire button on single-button controllers.  I'm surprised that using a CX40 on a 7800 game doesn't burn them out since it shorts 6 to ground when you push the fire button, but maybe the resistors to each transistor do adequate current limiting.

 

Anyway, the 7800 mode buttons are sampled as pot inputs on pins 5 and 9.  They are expected to be normally 0V, and rise to 5V when their respective buttons are pressed due to the common connection to pin 6.  Again, hopefully the transistors have adequate current limiting, because otherwise you risk destroying the TIA's internal dumping transistors if they try to sink too much current when turned on.

 

Anyway, it seems the answer is that Quadtari is not compatible with 2-button games, or the 7800 controllers, due to the pin usage differences.  In short:

 

 2600 mode

5 = pot input

6 = fire button input

9 = pot input

 

7800 2-button mode

5 = left fire input

6 = power output

9 = right fire input

 

If you want to use Quadtari in 7800 mode with one button, then turn off the Q6/Q7 transistors at RIOT port B, and use the 2600's fire button bit.

  • Like 2
Link to comment
Share on other sites

1 hour ago, ChildOfCv said:

I'm surprised that using a CX40 on a 7800 game doesn't burn them out since it shorts 6 to ground when you push the fire button, but maybe the resistors to each transistor do adequate current limiting.

[...]

If you want to use Quadtari in 7800 mode with one button, then turn off the Q6/Q7 transistors at RIOT port B, and use the 2600's fire button bit.

A CX-40 button press does cause a short when the console is in two-button mode. A two-button game is supposed to monitor INPT4/5, and immediately switch back to one button mode if they go down.

 

7800basic does include this protection when in two-button driver, so it should be safe. As safe as the original commercial run of games, anyway. The same protection will kick in if a game designer is using QuadTari with Prolines and accidentally enables two-button mode.

 

  • Like 2
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...