Stoked: Star Wars Yoke!
-
@caver01 I have a Tempest repro, and a Galaga repro in progress. The Tempest will have a stick to accommodate Tron and Mad Planets. The idea is to build a cabinet for each type of game control scheme. I probably play PaperBoy with the Star Wars yoke as much as anything else. That cabinet also has a dolphin bar for shooting games. Build time is probably 8-10 hours (over time depending on when I can work on them).
ws
-
Hi there, I'm building a reproduction Star Wars upright cabinet. I've got all my woodwork and metalwork built and sorted and am ready to move onto the electronics side of things. I'm curious as to how your cabinet performs. I've gathered that you're running retropie and advancemame. Does your setup boot straight into Star Wars? I'll be using a 3B+, pimoroni picade X hat for audio, power and additional buttons and an Alan-1 reproduction yoke with USB adapter. I'm ready to start experimenting with setups to see what will work best and any help or pointers in the right direction would be greatly appreciated.
-
@james-milroy Hey thanks for the inquiry. My Star Wars performs perfectly, I'm really happy with it. It doesn't boot straight into Star Wars but I would like it to. It boots into Emulation Station. One thing I could not get to work right is using the yoke to select from the game menu. When I would push the yoke up or down it would scroll too quickly, it was hard to get it to land on what I wanted. So I mapped the lit rectangular buttons on the left side to UP, DOWN, and SELECT, so thats what I use for menu selection. Other buttons on the right are EXIT (ui_cancel in the .rc) and I think the other two aren't used i can't remember. For the design, I loosely followed the original cabinets profile, only making sure to match the angle of the surface that the yoke mounts to.
Other than Star Wars there are a number of games that play really well on it; Paperboy, Spy Hunter, Space Harrier, Hydra and even Lunar Lander all work great with the yoke. I play Paperboy and Spy Hunter as much as anything else.
I'm interested in that Alan-1 yoke and its USB adapter. Let us know how it goes!
-
@wstanek , Cool, thanks for the info. I really want my cabinet to boot right into Star Wars by default, I will play other games on it. There is also an alternative to the Alan-1 yoke now, look on youtube for Glens Retro Arcade. He's got a kickstarter going for his take on it. His yoke is metal construction but uses hall effect sensors instead of pots and there is no intrusion into the cabinet, it mounts flush. It looks like its working out at $150 a piece. I've had mine running of sorts so I know it works, i'll have it mounted in the cabinet and running in the next few days. I'll post up some pictures when I get a chance.
-
@wstanek I've managed to eliminate the deadzone for my Alan-1 yoke and adapter. My solution might work on your RAM controls setup.
-
@JAMES.MILROY Hi I was reading your thread there! I've just tried those suggestions and so far I haven't been able to kill the dead zone.
I added the code to /etc/rc.local I also added that .rules file. I might not be pointing properly or have some syntax error.
What worked for you?
ws
-
@wstanek I'd start by dropping to a command prompt and entering
evdev-joystick --l
to see if your USB adapter is using the evdev API. If it is listed then try entering
evdev-joystick --s /dev/input/event*
where * is the number of your controller, for example event0. This will tell you how much deadzone has been applied in %. They refer to it as 'flatness' though. Finally you can attempt to zero the deadzone with the following:
evdev-joystick --e /dev/input/event* --d 0
Let me know when you've tried this if you haven't already.
-
@JAMES.MILROY That didn't fire. Do I need to install something? I found this: https://github.com/Virusmater/evdev-joystick-calibration
Your cabinet is incredible! You're steely-eyed, sir.
What games are you putting on it? I have a small handful of games that run better than I thought they would like Paperboy and Spyhunter. Lunar Lander is quite satisfying using the elevator as thrust. I tried using the x axis for rotation but couldn't quite get something i was happy with so ended up using the triggers.
I want to try and get Firefox running on it. STUN runner plays but has a sound issue and im not sure if its running full speed, I haven't tried other flavors of mame on it, but it plays!
ws
-
@wstanek What files are in your /dev/input folder? Thats where the installed input devices are. If any are using joystick API then you'll have entries like js0, js1 etc. If any are using evdev-joystick then there will be event0, event 1 and so on. There is a sub-folder called /by-id and in there the devices will be described by the name reported by USB, for example usb-Alan-1_Flight_Yoke_Adapter. Let me know what you find in that folder please.
-
Here are those directories:
-
@wstanek Some good information to be had there. It looks like your yoke adapter is identified as js2 and event5. The Vendor id is: abee and the Product id is: 1002.
Can you try the following command for me:
/usr/bin/evdev-joystick --s /dev/input/event5
This should give the current calibration on your yoke adapter. Like I said before, the amount of dead zone is shown as 'flatness' and has a numerical value and a percentage. Mine was 255 (6.23%). Typing
/usr/bin/evdev-joystick --e /dev/input/event5 --d 0
should set the dead zone to 0 (0%). Once we establish that, you should test it in Star Wars. We'll still need to create a UDEV rule to set the dead zone to zero every boot regardless of what id the controller takes on.
-
I need to update. I don't see evdev-joystick, but i did see evtest, ran it and got results shown below.
I do see evdev-joystick on one of my other cabinets, which is a much more recent install, so let me update my Star Wars and try those commands.
I would love to cross this bug off my list!!!
-
@wstanek Cool, looks like we're getting somewhere. There is a dead zone on the adapter as you well know, we should be able to eliminate it as I did with mine. Just for reference, I'm running retropie 4.6 on my cabinet and Star wars on advmame 3.9. evdev-joystick was already on the system. Hopefully when you update, it'll be there too.
-
@james-milroy AYE! she works!
I never did get evdev-joystick to appear after updates and installs, but I copied it from my other machine and she fired.
So then next is to get it into a persistent rule? I rebooted and it still says 0, but I think I added that rule when I was following along with your initial thread with mitu.
So thank you, that deadzone issue has been on my list of troubles for years. I even replaced the RAM USB with the ThisOldGame USB thinking that would solve it. Now I'm going to be playing and seeing how my scores are affected.
Again beautiful work on your cabinet. Let me know what games you get running on it. I never could get Roadblasters to work.
Looking forward to your next build! I just finished number 7, Pole Position. My RPi arcade is now complete!
Regards, Warren
-
@wstanek That's great to hear, glad you got it sorted. On my build the deadzone was definitely a bug-bear. I had to eliminate it or I would have had to drop in a PC since there is more control available in windows mame. I'm glad it worked out on the Pi cause of the simplicity of it all. As for other games, there's nothing on there at the moment. I'll be dropping in Empire and Jedi. After that, I don't know, undecided as of yet.
Have I understood you right and you have a rule in place to zero the deadzone on every boot?
-
@james-milroy Yes I had written that rule as described but of course it didn't work without evdev-joystick in place. I think it must be working now because I did a reboot and no dead zone!
I might need to apply this to my Pole Position cab, where I interfaced a gas pedal (pot) to a teensy. I wrote some code for the teensy to act as a mouse, mapping the analog range to mouse moves. It works but I'm wondering if there is a better way...
What a joy it is to drill into the Pi with some code and actually have it work.
By the way you had said that you wanted to enable SSH. I have all my cabs on static IPs with network names. I might be able to help you out with some of that if I can re-trace my steps. Its nice to have bookmarks to get right into the rom folder if I want to load a new game.
Oh and I also recently got it to load a rom on boot. I had tried before but must have had a syntax error (again). Sounds like you'll definitely want to boot right into Star Wars, I'm sure you've already got that.
cheers!
ws -
@wstanek I'd like to know how you got it to boot into a rom, that would be a nice touch. As for a next build, I have a Tron joystick and spinner, so a low profile bartop or wall mounted Tron is on the cards. Just finished making up a wiring loom for my mate's cab. I have his Pi, Picade and coin door here. I'll clone my SD and he'll be good to go. Can't actually go round to his to set it all up because we're still on a lockdown of sorts here in Scotland. I'll drop off the stuff at his and he'll have to do the dirty work himself using my pictures as reference.
-
edited:
/opt/retropie/configs/all/autostart.shwith:
/opt/retropie/supplementary/runcommand/runcommand.sh 0 SYS arcade ~/Retropie/roms/arcade/starwars.zip
wait $1
emulationstation --no-splash #auto
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.