Skip to content

Commit

Permalink
Merge pull request #930 from bcat/8bitdo-n64-modkit
Browse files Browse the repository at this point in the history
Add dinput config for 8BitDo N64 Modkit
  • Loading branch information
RobLoach authored Oct 6, 2023
2 parents 793d450 + c512aa4 commit 8f8865f
Showing 1 changed file with 76 additions and 0 deletions.
76 changes: 76 additions & 0 deletions dinput/8Bitdo_N64_Modkit.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# 8BitDo N64 Modkit - http://www.8bitdo.com/ - https://shop.8bitdo.com/products/8bitdo-mod-kit-for-original-n64-controller
# Firmware v1.00 - http://support.8bitdo.com/
# This is with the device started in Android (D-Input) mode.
# Note: USB and Bluetooth connections have the same PID.
# Note: Switch mode uses the NSO N64 controller's VID/PID instead.

input_driver = "dinput"
input_device = "8BitDo N64 Modkit"
input_device_display_name = "8BitDo N64 Modkit"

# Hex vid:pid and Decimal vid:pid is shown in the "log_verbosity" window, enable "log_verbosity" in retrorch.cfg and run RetroArch.
# Hex vid:pid = 2DC8:2869 -> Decimal vid:pid = 11720:10345

input_vendor_id = "11720"
input_product_id = "10345"

# The controller's physical layout matches the NSO N64 controller, and so the
# button mappings and labels mirror N64_Nintendo_Switch_Online.cfg. However, the
# D-Input button numbers differ (unless the controller is put in Switch mode).
#
# These mappings share some features and quirks with the NSO controller:
#
# 1. The mappings work out of the box with default Mupen64Plus-Next core config.
# 2. The button labeled "B" is mapped to Y on the RetroPad (for Mupen)... and
# also to A on the retropad. This duplicate mapping is ignored in Mupen by
# default, but enables RetroArch menu navigation.
# 3. The button labeled "ZR" is mapped to Select on the RetroPad, not R2. This
# seems a bit strange, but may have been intended to allow viewing help text
# in RetroArch menus.
#
# Unfortunately, this controller reports C buttons using the right stick axes in
# D-Input mode, so it cannot report simultaneous C Up/C Down or C Left/C Right
# presses. That's a limitation of the controller itself, not this config file.

input_b_btn = "0"
input_a_btn = "1"
input_y_btn = "1"
input_start_btn = "11"
input_select_btn = "9"
input_up_btn = "h0up"
input_down_btn = "h0down"
input_left_btn = "h0left"
input_right_btn = "h0right"
input_l_btn = "6"
input_r_btn = "7"
input_l2_btn = "8"
input_r_x_plus_axis = "+2"
input_r_x_minus_axis = "-2"
input_r_y_plus_axis = "+5"
input_r_y_minus_axis = "-5"
input_l_x_plus_axis = "+0"
input_l_x_minus_axis = "-0"
input_l_y_plus_axis = "+1"
input_l_y_minus_axis = "-1"
input_menu_toggle_btn = "12"

input_b_btn_label = "A"
input_y_btn_label = "B"
input_start_btn_label = "Start"
input_select_btn_label = "ZR"
input_up_btn_label = "D-Pad Up"
input_down_btn_label = "D-Pad Down"
input_left_btn_label = "D-Pad Left"
input_right_btn_label = "D-Pad Right"
input_l_btn_label = "L"
input_r_btn_label = "R"
input_l2_btn_label = "Z"
input_r_x_plus_axis_label = "C Right"
input_r_x_minus_axis_label = "C Left"
input_r_y_minus_axis_label = "C Up"
input_r_y_plus_axis_label = "C Down"
input_l_x_plus_axis_label = "Joystick Right"
input_l_x_minus_axis_label = "Joystick Left"
input_l_y_plus_axis_label = "Joystick Down"
input_l_y_minus_axis_label = "Joystick Up"
input_menu_toggle_btn_label = "Home"

0 comments on commit 8f8865f

Please sign in to comment.