4 way to 8 way adjustable restrictor plate
-
Okay so this is a small post that I owe to @Clyde
This is a phase 1 if you will for modifing a 4-8 way joystick so you can switch between 4 and 8 way more easily.
I have noticed that there are a few different types of restrictors out there, so if you have one with the fix plate or the screws this might not help much. Also if you have the cash to buy the joystick that has the servo or the pull up rotate version cough @Clyde cough Then you already have a solution.
... good for you. But some of us are poor okay! and we get the cheapest kit we can find and we make due... stop judging me!
sniffles I'm okay.So anyway, If you have the plate like below, it changes from 4 to 8 or back by lifting the two prongs and rotating the center until the pegs click into the other slot. There's not much to grab and it takes a balancing act of two pliers, three hands and some swearing to do.
Here you can see the other slot circled. That slot in the other direction is a hole and if you move the pegs to that when the plate is off the center ring comes off. You would want to do that for this mode.
What we are going to do is to remove the red material between the two slots allowing the center ring to rotate without have to pull so far up. This can be done with a dremel and a cutting bit or if you have time and no tools you can make successive cuts with an exacto knife. That way is dangerous though so I would go with the dremel.
The trick here is to NOT shave the material down flush with the slots but to leave just a little lip to hold the peg in place when it is in the correct possition.
If too loose the center ring will rotate on its own when you pull a clockwise or counter clockwise move. I found with just that little lip you can reach under the deck and just twist the restrictor into the other position like turning a key.
I am working with a friend on a rig that will connect to the pegs and have an off set knob that you can rotate to effectively rotate the pegs under neither without having to lift the deck.
...but that is for another time.
-
Very nice guide. Four-way restriction is important to many titles. It's usually only associated with Arcade titles, but generally, if you play the same games ported to various platforms, the same problem exists. Play any of the Pac-titles, 'Donkey Kong', 'Burgertime', 'Dig Dug', etc on an Atari system, Intellivision, ColecoVision, Astrocade, etc, you'll run into dropouts on the diagonals. I restrict direction through software myself, but anyone looking to add a hardware solution like this will get a lot more use out of it than they may think and the games become much more playable as a result.
-
This is certainly very clever. I wonder if you could provide us with some "after" photos please so we can see what the "lip" looks like. I'm also using the same software method as mediamogul, but alternative solutions are always welcome.
-
I'd love to hear more about the software method?
-
@andershp Using xboxdrv, you can set it up so that arcade games that use 4 way joysticks don't recognise diagonal movements. An example from my
runcommand-onstart.sh
:sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv >> /dev/shm/runcommand.log 2>&1 \ --silent \ --detach-kernel-driver \ --deadzone=4000 \ --deadzone-trigger 15% \ --force-feedback \ --mimic-xpad \ --trigger-as-button \ --ui-buttonmap lb=void,rb=void,tl=void,tr=void,guide=void,lt=void,rt=void \ --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.2:1.0-event-joystick \ --device-name "Player_3" \ --evdev-absmap ABS_X=x1,ABS_Y=y1 \ --four-way-restrictor \ --evdev-keymap BTN_TRIGGER=y,BTN_THUMB=a,BTN_THUMB2=back,BTN_PINKIE=x,BTN_TOP=b,BTN_TOP2=start \ --ui-axismap X1=KEY_DOWN:KEY_UP,Y1=KEY_RIGHT:KEY_LEFT \ --ui-buttonmap a=KEY_LEFTCTRL,b=KEY_LEFTALT,x=KEY_SPACE,y=KEY_LEFTSHIFT,back=KEY_5+KEY_1,start=KEY_6+KEY_2,start+back=KEY_KPSLASH \ --ui-buttonmap back+start=KEY_ESC
You will see the
--four-way-restrictor
flag above - that is the restriction. It works pretty well with my USB Dragonrise arcade joysticks. Mediamogul uses it with his Logitech F710 joystick. Unfortunately, you can't use xboxdrv with ipac controllers as they are recognised by Retropie as keyboard encoders rather than joysticks, but otherwise it should work with most other joysticks. (My code above is tailored to my joysticks; your's would be different.)Have a look at the Advanced Mapping Guide if you are interested:
https://github.com/RetroPie/RetroPie-Setup/wiki/Universal-Controller-Calibration-&-Mapping-Using-xboxdrvI use xboxdrv for all of my controller inputs for every libretro core and non-libretro emulator except reicast and the n64 emulator.
-
@spud11 thanks for the code, unfortunately as you insightfully wrote, I'm using an iPac controller.
-
@lurker or you could just buy joysticks from ultimarc that switches between 4-way and 8-way by pulling up on the joystick and twisting. Or the ones ultimarc has with a powered servo that switches it with the push of a button. No need for all the hassle or extra bulk.
-
@edmaul69 said in 4 way to 8 way adjustable restrictor plate:
@lurker or you could just buy joysticks from ultimarc that switches between 4-way and 8-way by pulling up on the joystick and twisting. Or the ones ultimarc has with a powered servo that switches it with the push of a button. No need for all the hassle or extra bulk.
I think you missed this part of his posting (and just to be sure, I checked that he didn't edit it in afterwards).
@lurker said in 4 way to 8 way adjustable restrictor plate:
if you have the cash to buy the joystick that has the servo or the pull up rotate version cough @Clyde cough Then you already have a solution.
... good for you. But some of us are poor okay! and we get the cheapest kit we can find and we make due... stop judging me!
sniffles I'm okay.@Lurker Care not, I won't judge you for not being such a money dissipator like myself, as long as you don't pick on my nearly non-existent handyman skills that force me to buy stuff instead.
By the way, I always wondered why those restrictor rings can't be moved more smoothly.
-
@andershp said in 4 way to 8 way adjustable restrictor plate:
I'm using an iPac controller.
With any luck iPac controllers could be supported in the future, as there is a PR for xboxdrv that would allow mapping keyboard input to other types, even other keys. If this were implemented, features like 4-way restriction would also be possible. After a two year hiatus, the main developer, Grumbel has recently begun some minor work to the software since the project moved to Gitlab, so hopefully we'll also see some feature updates as a result.
-
@mediamogul the reason i prefer an actual restrictor plate is for games like pacman and donkey kong. They require very quick and precise movements for fastest moves. Without a restrictor plate you can still press the angled position that slows down your movements. For several of these old arcade games that can affect your game significantly.
-
@edmaul69 said in 4 way to 8 way adjustable restrictor plate:
Without a restrictor plate you can still press the angled position that slows down your movements.
Surprisingly, the result is virtually the same between the two solutions. In software, if you hit an angled position, it translates to the nearest restricted direction immediately. Depending on the joystick, you could even argue that the movement is faster through software, as it has less distance to travel between directions. Still, both solutions are great and it's almost impossible to hit a snag either way.
-
That software solution looks very nice and useful if you are using a gamepad like an xbox controller. I will have to keep that in mind.
A question on theory though; I see that the diagonal inputs are voided but what does the system do when it sees one?
In other words if you were moving left and then shifted to diagonal with the intention of moving up does the system continue with the last direction? Or does it shift to the new direction "up"?I'm just curious how that works.
@spud11 I could try to post "after" images but since the plastic is clear it is difficult to show the detail.
@clyde said in 4 way to 8 way adjustable restrictor plate:
By the way, I always wondered why those restrictor rings can't be moved more smoothly.
I think the answer to that is a result of the industry we are building from. Back in the day it was good to have joysticks configurable so they apply to more game types but they were expected to be used in one configuration in the cabinet and so no effort was made to let them change back and forth easily. "Set it once for the one arcade game you are building and that's it"
"We" are a applying new needs to an existing market of parts. I wouldn't be surprised (or mind that much) if someone started producing new plates based on the above modification. I briefly thought about it but decided that the other overhead items that I would need to put in place first over rode any profit I might make on such a small item. If I had already had the framework in place because I was making some other ...thing then it would be easy to add.
-
@lurker said in 4 way to 8 way adjustable restrictor plate:
That software solution looks very nice and useful if you are using a gamepad like an xbox controller.
It can also be used for any arcade joystick that uses hat, axis and button events. Some arcade stick encoders are keyboard only, but there are others that support both.
A question on theory though; I see that the diagonal inputs are voided but what does the system do when it sees one?
I'm just curious how that works.With analog axis input, I believe it divides the diagonal space in half and assigns one of the restricted directions to the half closest to that direction. With an 8-directional joystick or hat, I'm really not sure. However, I have tested with both and it still works all the same.
-
@lurker said in 4 way to 8 way adjustable restrictor plate:
@clyde said in 4 way to 8 way adjustable restrictor plate:
By the way, I always wondered why those restrictor rings can't be moved more smoothly.
I think the answer to that is a result of the industry we are building from. Back in the day it was good to have joysticks configurable so they apply to more game types but they were expected to be used in one configuration in the cabinet
I think you have a point there. Even in today's retro gaming community, cabinets that are dedicated to specific controls are not uncommon.
I wouldn't be surprised (or mind that much) if someone started producing new plates based on the above modification. I briefly thought about it but decided that the other overhead items that I would need to put in place first over rode any profit I might make on such a small item.
Also, the existing plates are most likely patented, so you would have have to design a new plate from scratch, get permission from the patent holders, or risk being sued.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.