TurboTwist 2 spinner for retropie.
@caver01 Awesome. I think I want to build another one like yours. Haha...Yes video belongs to me but I made some changes. Now there is a plexiglass with black borders and spinner on it (I just put it this morning but didn't have time to go through setup).
@caver01 Plus, I ordered a small electronic to setup a safe power button. Thanks for the compliment for my bartop.
@caver01 I don't know where I am making a mistake but I couldn't get it to work. Here is my usb devices
pi@retropie:/dev/input $ ls -lah
drwxr-xr-x 4 root root 280 Jul 27 06:48 .
drwxr-xr-x 15 root root 3.4K Jul 27 06:48 ..
drwxr-xr-x 2 root root 180 Jul 27 06:48 by-id
drwxr-xr-x 2 root root 180 Jul 27 06:48 by-path
crw-rw---- 1 root input 13, 64 Jul 27 06:48 event0
crw-rw---- 1 root input 13, 65 Jul 27 06:48 event1
crw-rw---- 1 root input 13, 66 Jul 27 06:48 event2
crw-rw---- 1 root input 13, 67 Jul 27 06:48 event3
crw-rw---- 1 root input 13, 68 Jul 27 06:48 event4
crw-rw---- 1 root input 13, 0 Jul 27 06:48 js0
crw-rw---- 1 root input 13, 1 Jul 27 06:48 js1
crw-rw---- 1 root input 13, 63 Jul 27 06:48 mice
crw-rw---- 1 root input 13, 32 Jul 27 06:48 mouse0
crw-rw---- 1 root input 13, 33 Jul 27 06:48 mouse1
I went to the specified file (advmame-1.4.rc) and made the changes and resarted the retropie but it is not working. Very frustrating. It is like the spinner doesn't even exist. Any recommendation? Thanks.
@hakan1708 Try a test within Linux. Exit to a command prompt ant type this:
Turning the spinner from side to side will show characters and move cursor from side to side on the line.
Now lets test directly to the device:
Turning the spinner will show the same results as before with characters and move cursor from side to side on the line but now you know which mouse.
If you can't get it to detect movement this way, Linux isn't seeing the input. Maybe it's hooked up wrong.
It you can get input this way, we need to look carefully at your .rc file. What game are you using to test?
This post is deleted!
@caver01 You are a saver. Okay I tested the spinner using the codes that you gave. This is the first time I saw the spinner is reacting.
mice and mouse1 is showing some characters when I spin the spinner. mouse0 doesn't react at all. Is this normail? Do I have to change the code according to these results? Here are the games I put in retropie advancemame 1.4:
TEMPEST (DID NOT WORK)
Or do you think I didn't set it right inside the mame? Thanks a lot for your help.
hakan1708 last edited by hakan1708
@caver01 Here is my original code (advmame-1.4.rc)(luckily I saved all the config files before I messed it up:)
Also I don't have a trackball, that's why I didn't mention about that part of the code. Should I still add that code too anyway?
Question is: Do I have to change this code according to my results? (mice and mouse1 working) Also there is another code there I noticed that you did not mention: device_raw_firstkeyhack no . I don't even know what that is. Right now I only have one spinner but I may add another in the future. Thanks.
@caver01 Also I noticed one more thing:
When I go to custom game settings
Dial Analog <none>
Dial Dec j:stick x+ (which is my joystick)
Dial Dec j:stick x- (which is my joystick)
I tried to change "Dial Analog <none>" but was not able to.
@hakan1708 Looks like your spinner is working! It appears to be detected as mouse1. Not sure what is being detected as mouse0, but it doesn't matter. We will capture them all as RAW.
You need to update the .rc file. Don't worry about the mame GUI until you get the input working. The only thing you will update in the GUI is sensitivity, or to possibly REMOVE simultaneous joystick input which is there for people that don't have the analog hardware. Don't worry about "Dial Analog <none>" because you can't change it. This is why you need to do the setup in the .rc file.
Your original .rc settings won't work. You need to change them to this:
device_mouse raw device_raw_mousedev /dev/input/mouse0 device_raw_mousedev /dev/input/mouse1 device_raw_mousedev /dev/input/mouse2 device_raw_mousetype ps2 device_raw_mousetype ps2 device_raw_mousetype ps2
You absolutely need to update these lines. AUTO and PNP simply doesn't work. device_raw_firstkeyhack has nothing to do with this.
These settings tell MAME to look at least three possible mouse inputs. If you ever plug in an external mouse for some reason, the 0,1,2 designations can shift around (not sure how linux decides the order at boot). So, by adding all of these, we are covering the possibilities.
With these changes, you basically have 3 possible mouse inputs that MAME will recognize. Each mouse as an X and a Y axis. Depending on which pins you are using on your TurboTwist interface board, your spinner will affect either X or Y. I can't tell you which, but your test proves it's working.
You need to find the right input line in the .rc file and configure it. For spinner games it's usually the DIAL input
input_map[p1_dialx] mouse[0,x] mouse[1,x] mouse[2,x]
You see what I am doing here? I have the Player 1 DIAL X input mapped to all three mouse possibilities (0, 1, 2), each referencing the x-axis. You can do the same for Player 1 DIAL Y, just find that input line and use this:
input_map[p1_dialy] mouse[0,y] mouse[1,y] mouse[2,y]
You will have to do some testing after this to find out if it works. I think most spinner games use p1_dialx.
@caver01 Of course, if your spinner is plugged into the interface board and uses the Y pins, well, you will have to flip-flop the mapping like this:
input_map[p1_dialx] mouse[0,y] mouse[1,y] mouse[2,y]
You don't technically need to do the input_map for all three, but until you know it works and which mouse number represents your spinner, it's easier just to map all three. Advance MAME binaries includes a mouse testing utility called
advmbut I don't know if it is included on RetroPie, or where it lives if it is there.
@caver01 You should be a teacher. Now I understand the logic. Right now I am installing my Retropie from my 30gb back up file. As soon as it is done, I will do exactly what you wrote and hopefully it will work. I'll let you know.
Omg! It's working now. You just made my day... You have 3 wishes to ask from me. Retropie should put this one as a mouse or spinner documentation on their website if there is none. I can't say enough thank you for your effort. Someday I am planning to make a complete video and documentation in my native language (Turkish) and put it on youtube since there is none. I am sure somebody will benefit from it. Oh, I will show you the final version of my bartop when I finish it. Thanks a lot again. Take care.
@hakan1708 The nice thing about RetroPie is that everyone brings a different set of skills, experience, AND HARDWARE to the project. From portable devices to full-sized arcade cabinets and everything in between, we have a broad range of devices out there. However, it seems that spinners and trackballs have fewer users. However, I understand that lr-mame2003 may soon have usable mouse support, so when that happens, I will definitely be looking into it.
I should probably write a wiki document explaining all of this for AdvanceMAME anyway.
@caver01 Wiki page would be awesome. My Spinner is working just fine in advancemame, I just have to find working rom sets for it. Legal rom sets ;)
@hakan1708 Glad it's working. One way to push the limits is to give it a HUGE SPIN and see what happens. You may want to update the mouse polling rate as described in my post that you linked to in your first post here. Then, you can adjust the sensitivity in the MAME GUI to make it work the way you expect. You should not have get backspin when you give it a really fast spin. That can happen if the sensitivity or polling rate isn't optimal.
On some games, it may be appropriate to make adjustments. For example, driving games may require a different sensitivity than Tempest, or Arkanoid.
Actually spinner is very responsive. When I give a huge spin, game doesn't go out of control which is good too. Do you recommend any driving game rom that works? I put a F1 Grand Prix Star II driving game, it works with joystick but doesn't work with spinner. Is there anyway to make these games work?
Riverstorm last edited by
@caver01 Wiki page would be awesome.
I'll second that, your "institutional knowledge" on AdvMAME is a tremendous asset and should be archived for all of time! ;)
I'll keep AdvMAME for the vector games alone and FBA as it seems so optimized for performance but I hope to center my main arcade experience around lr-mame2003 as Dank has fixed pretty much everything on my check list to make it a go.
I think mame4all-pi will be around a long time on merit alone. It works, it's solid, it's small and it covers the "golden era" perfectly not to mention it's been ported to almost every platform. It was sneaked (not snuck? ;) through even on iTunes for about a day and I grabbed a copy before they pulled it due to a terms of agreement violation. I think they had another called Gridlee that was based on 0.139 too but didn't get that one. How they get them through I don't know but they pull them as fast as they publish them. :)
@hakan1708 You can try Pole Position, Turbo, Super Sprint and even Ivan "Ironman" Stewart's Super Off Road. I also have tried old school Night Driver with success.
@hakan1708 As far as games that don't seem to work, take a look in MAME GUI and see what THIS GAME controls are listed. It may not be a DIAL input, and if that's the case, you can head back into your .rc file and find the corresponding input and set it up too.
@Riverstorm I picked up both iMAME and Gridlee, but I can't add games to these anywhere since Apple locked down access to the subfolders where you would need to drop roms. Unless they can look at the Documents folder. It has been a while since I tried.
I also have the Best Of FTA AppleII emulator on the iPad, but this too requires you to have edit access to sub folders within the app. I could jailbreak, but I can't be bothered by that. I would rather spend time configuring the Pi.