Final Burn

with Force Feedback

 

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

 

Force Feedback settings

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

 

How to calibrate the Force Feedback

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.

 

Other games

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.

 

Technical Notes

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

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

 

finalburnff@yahoo.co.uk