49-way joystick L&R swapped on Arch Rivals - Working as expected on Pigskin - Looking for Guidance

1013

Member

Donor 2023-2024
Joined
Dec 10, 2023
Messages
67
Reaction score
51
Location
West Virginia
Hey all!

I've been working on a cabinet that will have Pigskin 621AD and Arch Rivals on a Jim Riddle 2-way switcher. Both games use 49-way joysticks that have dedicated PCB connection points rather than using the Jamma harness's joystick mapping locations. No worries there as I made a harness that splits connections to each board per joystick and they work great.

With that mini backstory, now to the root of my issue...

I noticed when testing the joysticks specifically for Arch Rivals that the Left and Right directions on the joystick are flipped (but all works as expected on Pigskin). Essentially, when playing Arch Rivals, if either player presses the joystick in the left direction the game registers right direction movement and vice versa.

At first I thought maybe I got my wiring mixed up on the harness I created, so I removed my splitter harness from the equation and plugged the original joystick harness directly into the 49-way joystick.... and... it yielded the same results.

When pressing the joystick up and down (for either player) the game registers the correct upward and downward orientations as expected; this is isolated to just left and right.

I spent time reviewing some documentation and noticed a difference in pinouts between what the Arch Rivals ops manual states and information I found on Brad Raedel's site here:

kCcxvzJ.png

Information from Arch Rivals ops manual:

kjpAT2u.jpg

At first glance I thought I could just swap the pins, but knowing that the Up and Down orientations are working appropriately, wouldn't swapping the pins just swap the issues from L-R to U-D?

I wanted to ask the experts here before pulling pins, swapping them, and other time consuming efforts. Perhaps @braedel could school me/teach me the ways or if others have advice, I'm ready to learn.

I also made a quick video to add a verbal summary to my information here:


Thank you!
 
I'm curious if I just swapped (pins based on Arch Rivals ops manual) pins 2,3,4 to 4,3,2 in that order...so just pins 4 and 2 flipping spots... if it would essentially swap the behavior of L and R positions. Thoughts?
 
I'm second guessing the original harness wiring as it's wire colors do not match what's in the manual... not that they have to, but I'm going to make sure all wires from the joystick side are properly mapped back to board side.

It's got to be something insanely simple... right?
Well more complex than your standard jamma based joystick...

I will dive deeper this evening. I'll pop in to check on feedback around then as well.
 
As I tackled other things today, I remembered the 49-way joysticks that I've been using were not the ones that were originally in with this cabinet. I dug those ones out and noticed a jumper wire on the joystick PCB. When hooking it up to the game PCB, all directions on the stick were registering properly but left and right's sensitivity would not have any middle ground it was either 0 or 3 (min or max)... which for Arch Rivals, not sure it really matters.

That joystick PCB mod makes sense based on the game's behavior...but isn't going to work for Pigskin if I swapped out the joysticks with the ones that have this mod.

Is my quest to support switching between the two games dead in its tracks?

Next is to review schematics for the opto joystick board and understand more specifics on what this jumper is doing.

zlewMXM.jpg
 
Located both Arch Rivals joysticks and noticed that they both had jumpers, but in different positions -- details on that in my video below.

Here's some schematics for the path of the jumper for Player 2 (photo from previous post):

e1IudgM.png

Which goes to the IC on the board --- 4011B CMOS QUAD 2 Input NAND (Data Sheet)

o5VihOq.png

GH6A3YW.png

To support both games in a single cabinet, I plan to add a DPST switch going to each Joystick PCB so that I can flip the switch to kill or connect this jumper depending on the game being played...

Here's the video summary:
 
Last edited:
If that switch ends up accomplishing what you need than you can use a relay in place and have it power up off the switcher for the appropriate game board that needs the jumper so you wouldn't need to flip a switch.
 
If that switch ends up accomplishing what you need than you can use a relay in place and have it power up off the switcher for the appropriate game board that needs the jumper so you wouldn't need to flip a switch.
That's an excellent idea! Do you have any recommendations on a quality relay? Usually instant gratification on Amazon is hit or miss quality wise, but found something like this:

i5wmVex.jpg

Thoughts? Advice?
 
Last edited:
Probably not just a jumper... the trace from IC1:11 to connector pin 9 is cut as well, otherwise you're shorting the pin 10 and 11 outputs.

It'd be easier to add an XOR to invert IC1:11 when needed than to fool with relays to select IC1:10 vs IC1:11.
 
Probably not just a jumper... the trace from IC1:11 to connector pin 9 is cut as well, otherwise you're shorting the pin 10 and 11 outputs.

It'd be easier to add an XOR to invert IC1:11 when needed than to fool with relays to select IC1:10 vs IC1:11.
You are correct! I started to disassemble the original Arch Rivals P2 joystick and here's where the trace has been cut on pin 9... this has become way more work than I wanted it to be.

JGklgU9.jpg
 
Weird... Using pin 9 doesn't match the schematic, and would have 9 and 8 outputting the same value making the "direction bit" pretty useless.
 
Weird... Using pin 9 doesn't match the schematic, and would have 9 and 8 outputting the same value making the "direction bit" pretty useless.
Yea, I thought the direction bit should have been fubared, but when testing it in Arch Rivals, all directions on the stick were registering properly but left and right's sensitivity would not have any middle ground it was either 0 or 3 (min or max)


Here's some images of a quick continuity check between non-modified board and modified board results


These are the continuity results for Joystick pin 9 on a non-modified board ("stock"):
M1aOGnn.jpg

These are the continuity results for Joystick pin 9 on a modified board (jumper on opposite side going from Joystick Pin 9 to IC1's Pin 10; trace physically severed on PCB going from Joystick Pin 9 to IC1's Pin 8):
65mtSYt.jpg

I'm starting to lean more towards doing an 8 terminal rotary change over switch such as this to cover both joysticks:

45iu11Q.png

  • Pigskin would need the severed connection on IC1:8 reestablished and break the connection on IC1:10
  • Arch Rivals would need the connection severed at IC1:8 and establish a connection on IC1:10.
This rotary switch would do the trick it seems...

I still want to dive deeper on the reason behind this modification and understand it more to see if there are optimizations to it...
 
Last edited:
Doh... misread the pin numbers.
IC1:8 == IC1:11, so that makes sense.

The cross coupled NANDs just make an S-R latch, and picking pin 10 instead of pin 11 is just inverting the output.

Just leave the trace cut and piggback a 74LS86 on top of the 4011 with all pins bent up except 7, 10, 14, and do this:

With the jumper left floating, it'll act like the original board. Grounding the jumper inverts it.

1734791028331.png
 
@HudsonArcade
Thank you for your help on this. I'll do some hunting for a 74LS86 (if you have any recommendations for where to buy, please let me know [I usually try to avoid Amazon, AliExpress, etc. whenever possible] (Update: Found them on Peter's site (APAR)).

Quick sanity check, this looks good right? https://www.arcadepartsandrepair.com/store/integrated-circuits/ttl-chips/74ls86/ also found them at Marco Specialties (https://www.marcospecialties.com/pinball-parts/74LS86) [Ordered]


Doing adjustments like this is quite new to me, so I'm sure I'll have another question or two up my sleave to double check my homework once I get the the 74LS86.

Thanks again!

So vertically stack the chips on each other (in the same keyed orientation) , and solder the correct pins (7, 10, 14) on the 74LS86 to the CD4011 and make sure its other pins do not touch the IC1 (CD4011)? [maybe bend up and heat shrink them for bonus protection?]
 
Last edited:
So vertically stack the chips on each other (in the same keyed orientation) , and solder the correct pins (7, 10, 14) on the 74LS86 to the CD4011 and make sure its other pins do not touch the IC1 (CD4011)? [maybe bend up and heat shrink them for bonus protection?]

You can just clip 1-6, 11-13, if you like

I've had good luck with common TTLs from Amazon... 2 days and free shipping!
 
Just so I understand correctly, once the 74LS86 is installed on top of the CD4001 based on your guidance above,

EDIT: which option/scenario is correct?

  • Option #1: Add switch to swap Joystick Pin 9's jumper connection between IC1:10 or IC1:7 (ground) [this doesn't sound right, does it need to be Joystick pin 9 going to both? see option #4]
  • Option #2: Add switch to swap IC1:10's jumper connection between Joystick Pin 9 or Joystick 11/12 (ground) [No, this doesn't sound right either, not a swap...]
  • Option #3: Add switch to simply sever and establish IC1:10's connection to Joystick 11/12 (ground) [No, can't be this one, because Joystick Pin 9 needs to be involved here, right?]
  • Option #4: Add switch to either have no jumper connection at all [remove jumper connection from one side and connect to switch?] (for original board/Pigskin) OR establishing jumper connection between IC1:10, IC1:7 (or Joystick Pin 11/12), and Joystick Pin 9 (all three, correct?).
---I feel like I'm still not listing the correct option...

When you have time, I'm just wondering if you could elaborate on your closing statement "With the jumper left floating, it'll act like the original board. Grounding the jumper inverts it." -- it will help me get my brain wrapped around it all.

EDIT2: I'm way over thinking this as you can see above... I just need to remove the existing jumper wire from the IC1:10 side (when playing Pigskin) and only connect it to IC1:10 and IC1:7 (ground) whenever I play Arch Rivals, is that correct? (still second guessing this too...)


Thank you!
 
Last edited:
Back
Top Bottom