Sega created one of the first arcade games to feature Force Feedback controls. On this site you can download a modified Final Burn emulator which emulates the Force Feedback in Out Run and After Burner.
Final Burn Force Feedback binary
Final Burn Force Feedback source code
The modifications also include independent pedal controls (using the z and Rz axis) and have both pedal controls reversed (fully depressed=0xff). Axis rZ is numbered "3" in the config file. The joystick numbers might also have been changed as non-Force Feedback controllers are now numbered above Force Feedback controllers. These settings work correctly on a Logitech Driving Force Pro wheel.
After Burner has been tested with a Logitech Force 3D Pro joystick. The effects seem to be quite weak. If you are using another force feedback joystick, please send me an email describing how strong the effects are.
The rom data has been updated to match the latest MAME version as of today (0.105).
To configure Out Run to send motor signals to the emulator, set Dip B to 0x04. (Deluxe moving).
To configure After Burner to send motor signals to the emulator, set Dip B to 0x31 (Moving standard).
Start Final Burn and close it
Open finalburn.ini in the cfg subdirectory
At the bottom of the file are three new settings:
Setting |
Default value |
Description |
diMaxForce |
10000 |
The magnitude of the force when the force is at its greatest. The default is the maximum allowed by DirectX. |
diMinForce |
-1000 |
The magnitude of the force when the force is at its weakest. |
diForceFreq |
20 |
The duration of the force per cycle (1/x seconds). eg. The default is 1/20 of a second |
After setting Dip B to 0x04, Out Run will calibrate the Force Feedback on start-up by first moving the steering wheel to full left lock then to full right lock. Change the diMinForce setting to the lowest possible value which still allows movement on the wheel.
When the game screen appears, Out Run will try to center the wheel. If the diMinForce setting is too high, the wheel will continually swing left and right through the attract sequence. Lower the value if this occurs.
If the force feedback is too strong, reduce the diMaxForce setting.
If the game seems to be sending the forces in reverse, change the sign of the diMinForce and diMaxForce settings.
The diForceFreq value sets the duration of each force feedback command. When the emulator is running at full frame rate, 20 seemed like the best setting. If the wheel seems to vibrate when on the road, reduce the diForceFreq setting. If the force seems to lag the action on the screen, increase the value. If the emulator is not running at full frame rate, reduce the diForceFreq setting.
finaldave, get in touch with me, I’d like to ask you a few questions on the joystick setup. Chase HQ and SCI would be fun with Force Feedback if they could be added to the emulator too.
The Z and rZ axis have been hard-coded in reverse. This corrected the values sent by my steering wheel. Hope it doesn't negatively affect too many people.
Thanks to Dave for releasing the source code to Final Burn (much respect)
Thanks to the MAME team for the excellent debugger (both the old and new debuggers).