The following button configuration was chosen for a good gaming experience:
Player 1 Controls:
Button ID | JAMMA | Linux | Emulation Station / Retroarch |
0 | TEST | BtnSelect | No Default Mapping |
1 | START | BtnStart | P1 Start |
2 | SVC | BtnMode | No Default Mapping |
3 | Button 1 | Btn1 | Button B |
4 | Button 2 | Btn2 | Button A |
5 | Button 3 | Btn3 | Shoulder L |
6 | Button 4 | Btn4 | Button Y |
7 | Button 5 | Btn5 | Button X |
8 | Button 6 | Btn6 | Shoulder R |
11 | COIN 1 | ExtraBtn | Select / HotKey |
Player 2 Controls:
Button ID | JAMMA | Linux | Emulation Station / Retroarch |
0 | TILT | BtnSelect | No Default Mapping |
1 | START | BtnStart | P1 Start |
2 | N/A | BtnMode | No Default Mapping |
3 | Button 1 | Btn1 | Button B |
4 | Button 2 | Btn2 | Button A |
5 | Button 3 | Btn3 | Shoulder L |
6 | Button 4 | Btn4 | Button Y |
7 | Button 5 | Btn5 | Button X |
8 | Button 6 | Btn6 | Shoulder R |
11 | COIN 2 | ExtraBtn | Select |
The only differences between Player 1 and Player 2 controls is the configuration of the JAMMA Service, Test and Tilt switches, and the mapping of the Retropie Hotkey button which maps only to JAMMA Coin 1 switch.
Exiting game / emulator is done by HOTKEY + START together, which maps to JAMMA COIN + START with the default configuration.
Emulation Station Controls Configuration:
This can be pasted into the following file for the default PJ configuration with RetroPie / Emulation Station:
File Location: /opt/retropie/configs/all/emulationstation/es_input.cfg
<?xml version="1.0"?>
<inputList>
<inputConfig type="joystick" deviceName="JAMMA standard 2-axis digital joystick with 12-buttons" deviceGUID="15000000010000000100000000010000">
<input name="up" type="axis" id="1" value="-1" />
<input name="down" type="axis" id="1" value="1" />
<input name="left" type="axis" id="0" value="-1" />
<input name="right" type="axis" id="0" value="1" />
<input name="a" type="button" id="4" value="1" />
<input name="b" type="button" id="3" value="1" />
<input name="x" type="button" id="7" value="1" />
<input name="y" type="button" id="6" value="1" />
<input name="leftshoulder" type="button" id="5" value="1" />
<input name="rightshoulder" type="button" id="8" value="1" />
<input name="select" type="button" id="11" value="1" />
<input name="start" type="button" id="1" value="1" />
<input name="hotkeyenable" type="button" id="11" value="1" />
</inputConfig>
</inputList>
Retroarch Controls Configuration:
This is the default controller configuration section (only controls) from the retroarch configuration file. Paste and replace the existing content for these variables. This may need to be changed for some emulators to improve the experience.
File location: /opt/retropie/configs/all/retroarch.cfg
# PJ Player 1 defaults
input_player1_analog_dpad_mode = "0"
input_player1_joypad_index = "0"
input_player1_mouse_index = "0"
input_player1_up_axis = "-1"
input_player1_down_axis = "+1"
input_player1_left_axis = "-0"
input_player1_right_axis = "+0"
input_player1_b_btn = "0"
input_player1_a_btn = "1"
input_player1_y_btn = "3"
input_player1_x_btn = "4"
input_player1_l_btn = "2"
input_player1_r_btn = "5"
input_player1_select_btn = "8"
input_player1_start_btn = "10"
# PJ Player 2 defaults
input_player2_analog_dpad_mode = "0"
input_player2_joypad_index = "1"
input_player2_mouse_index = "0"
input_player2_up_axis = "-1"
input_player2_down_axis = "+1"
input_player2_left_axis = "-0"
input_player2_right_axis = "+0"
input_player2_b_btn = "0"
input_player2_a_btn = "1"
input_player2_y_btn = "3"
input_player2_x_btn = "4"
input_player2_l_btn = "2"
input_player2_r_btn = "5"
input_player2_select_btn = "8"
input_player2_start_btn = "10"
#hotkey configuration input_enable_hotkey_btn = "8" input_exit_emulator = "x" input_exit_emulator_btn = "10"