On my driving cab, I have a pair of 360° steering wheels and a pair of analog pedals. These work AWESOME for 360° games (Sprint series games, Off Road, Danny Sullivan, etc.), but they work like ass for 270° games IMO. MAME handles the optical input in such a way that it basically requires a physical restrictor of some kind to keep things playing correctly. When you start a game that has 270° controls, the wheel is centered. If you turn to the right slightly, MAME sees that movement and accurately turns the wheel. Upon recentering, the game responds correctly. The problem comes in when you turn the wheel past the end of travel. MAME simply throws any movement away that occurs beyond the end of travel. So, as a result, if you turn the wheel to the right several turns and then move it back several turns, MAME doesn't see the wheel as centered, it sees a hard turn to the opposite side.
Now, this is probably something that people have just dealt with as something that couldn't be corrected and either accepted or moved on. Well, I did both in the past...but not any more! I have come up with a solution to make 270° steering wheel games in MAME play GREAT with a 360° steering wheel. I'm including the scripts and the GameEx setup as well so that others may utilize what I've found in their setups! In my script, when you turn past the end of travel, the joystick is simply maxed out. When you turn back, as soon as you hit the end of travel, the joystick will start responding and will move with you again. The only way to make this better would be to add a physical restriction for the movement, but that's a LOT more complicated. I think this works intuitively whereas MAME's default motion is confusing.
Btw, the other benefit to this is that it will now be possible to play games like Need for Speed, Test Drive, Carmagedon, etc. that need either a joystick or keyboard with a steering wheel and pedals. I'm REALLY excited about this capability, but have not tested it yet. I know it will work, I just haven't gotten that far yet. cool.gif
Follow these steps:
- Download the attached archive (contains all scripts and configs you need).
- Download and extract GlovePIE (I use 0.29, but 0.30 might work too...haven't tested it).
- OPTIONAL: Install AutoHotKey.
- Put "Mouse_to_270_Steering_Wheel.PIE" into your GlovePIE directory.
- Download and install PPJoy.
- Install a Virtual PP joystick with at least 1 analog axis. I have 3 so I can map my pedals to this controller as well. If you don't want to use the pedals this way, you will need to edit the GlovePIE script to remove the last couple lines of code or it could crash.
- Copy the Init_270.ahk and Init_270.exe files to your MAME directory (or another location if you prefer). If you installed GlovePIE to "C:\Emu\GlovePIE029", then you can use the precompiled script. If you put it somewhere else, you need to edit the AHK script and recompile it (which means you need AHK installed).
- In GameEx, you need to create an emulator for your MAME with 270 controls. This emulator will be combined with MAME, so you just need enough to make it work (you don't need snap paths and such). I suggest you just use my emulator setup since it has everything worked out to make it work right. You just need to correct the paths once you import it. The file name is MAME_270.ini.
- Finally, to get the 270° games in the main MAME list to load with this emulator, you need to use the mameemumap.ini file that I've included. Just drop it in your C:\Program Files\GameEx\CONFIG directory if you don't already have one configured. If you do, you will need to combine what I've included with yours. Also, make sure you update the emulator number for these roms to whatever you set this new MAME emulator as. In my config, I have it set as emulator 1 but your setup may vary.
I think that's it. Restart GameEx and give it a try. If you have any issues with the scripts or improvements for this guide, let me know!
NOTE: I originally posted this at the GameEx forums, but I don't think very many people using GameEx have 360° cabs so this technique was apparently lost to them. This can easily be used on any other front end using the same settings in your preferred FE.