RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    4 way to 8 way adjustable restrictor plate

    Scheduled Pinned Locked Moved General Discussion and Gaming
    joystickrestrictor placabinet buildmodifying
    14 Posts 6 Posters 3.0k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • mediamogulM
      mediamogul Global Moderator @Lurker
      last edited by mediamogul

      @lurker

      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.

      RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

      1 Reply Last reply Reply Quote 0
      • S
        spud11
        last edited by

        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.

        RetroPie v4.4.1 • RPi3 Model B • 5.1V 2.5A PSU • 32GB SanDisk Extreme microSD • 2TB Toshiba Canvio Basics Portable USB 3.0 hard drive • 4 x DragonRise USB Arcade joysticks • 2 x TurboTwist spinners • 1 x USB trackball • 1 x PS4 wireless • 1 x 8BitDo Zero

        1 Reply Last reply Reply Quote 0
        • AndersHPA
          AndersHP
          last edited by

          I'd love to hear more about the software method?

          My "Bubble Bobble" Themed Bartop Arcade
          My Gameboy

          S 1 Reply Last reply Reply Quote 0
          • S
            spud11 @AndersHP
            last edited by

            @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-xboxdrv

            I use xboxdrv for all of my controller inputs for every libretro core and non-libretro emulator except reicast and the n64 emulator.

            RetroPie v4.4.1 • RPi3 Model B • 5.1V 2.5A PSU • 32GB SanDisk Extreme microSD • 2TB Toshiba Canvio Basics Portable USB 3.0 hard drive • 4 x DragonRise USB Arcade joysticks • 2 x TurboTwist spinners • 1 x USB trackball • 1 x PS4 wireless • 1 x 8BitDo Zero

            AndersHPA 1 Reply Last reply Reply Quote 1
            • AndersHPA
              AndersHP @spud11
              last edited by

              @spud11 thanks for the code, unfortunately as you insightfully wrote, I'm using an iPac controller.

              My "Bubble Bobble" Themed Bartop Arcade
              My Gameboy

              mediamogulM 1 Reply Last reply Reply Quote 0
              • edmaul69E
                edmaul69 @Lurker
                last edited by edmaul69

                @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.

                ClydeC 1 Reply Last reply Reply Quote 0
                • ClydeC
                  Clyde @edmaul69
                  last edited by

                  @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.

                  1 Reply Last reply Reply Quote 0
                  • mediamogulM
                    mediamogul Global Moderator @AndersHP
                    last edited by mediamogul

                    @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.

                    RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                    edmaul69E 1 Reply Last reply Reply Quote 1
                    • edmaul69E
                      edmaul69 @mediamogul
                      last edited by edmaul69

                      @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.

                      mediamogulM 1 Reply Last reply Reply Quote 0
                      • mediamogulM
                        mediamogul Global Moderator @edmaul69
                        last edited by

                        @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.

                        RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                        1 Reply Last reply Reply Quote 0
                        • LurkerL
                          Lurker
                          last edited by

                          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.

                          mediamogulM ClydeC 2 Replies Last reply Reply Quote 0
                          • mediamogulM
                            mediamogul Global Moderator @Lurker
                            last edited by mediamogul

                            @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.

                            RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                            1 Reply Last reply Reply Quote 0
                            • ClydeC
                              Clyde @Lurker
                              last edited by

                              @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.

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post

                              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.