Bueno, por ahora dejo por imposible el tema N64. Por suerte no es un sistema que me mate demasiado aunque los Zelda sí me gustaría tenerlos.
Por otro lado, estoy liado con el tema de configurar los multidisco para psx y es que al cambiar de mandos, la configuración que daba en retroarch a la apertura de bandeja y cambio de discos se va al garete.
¿Por qué? Porque mientras que en un sixaxis el botón arriba es el 4, en uno chinorro es el 7 y desde el menú de retroarch o le das el 4 para que abra la bandeja o le das el 7.
Tras ver que no hay apenas guías en la red sobre mandos en retroarch y menos para el tema del multidisco me he puesto a investigar un poco por mi cuenta ya que hay botones que se autoadjudican nada más configuras el mando y esos siempre van bien...
Y ahí está la clave: editar los archivos cfg de cada controller y dejar psx/retroarch.cfg como estaba (casi vacío).
Dejo el cfg de mi sixaxis como ejemplo:
input_device = "PLAYSTATION(R)3 Controller"
input_driver = "udev"
input_r_y_plus_axis = "+3"
input_l3_btn = "1"
input_r_x_minus_axis = "-2"
input_l_btn = "10"
input_load_state_btn = "10"
input_start_btn = "3"
input_exit_emulator_btn = "3"
input_l_y_minus_axis = "-1"
input_up_btn = "4"
input_r_y_minus_axis = "-3"
input_a_btn = "13"
input_b_btn = "14"
input_reset_btn = "14"
input_down_btn = "6"
input_l_x_plus_axis = "+0"
input_l_y_plus_axis = "+1"
input_r_btn = "11"
input_save_state_btn = "11"
input_r2_btn = "9"
input_r3_btn = "2"
input_right_btn = "5"
input_state_slot_increase_btn = "5"
input_x_btn = "12"
input_menu_toggle_btn = "12"
input_select_btn = "0"
input_enable_hotkey_btn = "0"
input_l_x_minus_axis = "-0"
input_y_btn = "15"
input_left_btn = "7"
input_state_slot_decrease_btn = "7"
input_r_x_plus_axis = "+2"
input_l2_btn = "8"
El truco está en añadir estas lineas:
input_disk_eject_toggle_btn = "up"
input_disk_next_btn = "right"
input_disk_prev_btn = "left"
Mirando primero los botones que queremos adjudicar.
Así pues, según el cfg original:
input_up_btn = "4"
...
input_right_btn = "5"
...
input_left_btn = "7"
Arriba es 4, derecha es 5 e izquierda es 7.
Sólo resta cambiar los valores en las tres lineas añadidas:
input_disk_eject_toggle_btn = "4"
input_disk_next_btn = "5"
input_disk_prev_btn = "7"
Resultado:
input_device = "PLAYSTATION(R)3 Controller"
input_driver = "udev"
input_r_y_plus_axis = "+3"
input_l3_btn = "1"
input_r_x_minus_axis = "-2"
input_l_btn = "10"
input_load_state_btn = "10"
input_start_btn = "3"
input_exit_emulator_btn = "3"
input_l_y_minus_axis = "-1"
input_up_btn = "4"
input_r_y_minus_axis = "-3"
input_a_btn = "13"
input_b_btn = "14"
input_reset_btn = "14"
input_down_btn = "6"
input_l_x_plus_axis = "+0"
input_l_y_plus_axis = "+1"
input_r_btn = "11"
input_save_state_btn = "11"
input_r2_btn = "9"
input_r3_btn = "2"
input_right_btn = "5"
input_state_slot_increase_btn = "9"
input_x_btn = "12"
input_menu_toggle_btn = "12"
input_select_btn = "0"
input_enable_hotkey_btn = "0"
input_l_x_minus_axis = "-0"
input_y_btn = "15"
input_left_btn = "7"
input_state_slot_decrease_btn = "8"
input_r_x_plus_axis = "+2"
input_l2_btn = "8"
input_disk_eject_toggle_btn = "4"
input_disk_next_btn = "5"
input_disk_prev_btn = "7"
Ojo, los valores de incrementar/reducir el slot de savestate (input_state_slot_decrease_btn y input_state_slot_increase_btn) los he cambiado a L2 y R2 (originalmente eran derecha e izquierda).
¿Qué pasa si en lugar de btn (botón) tenemos axis (ejes)?
Mando chino imitación snes:
input_device = "USB Gamepad "
input_driver = "udev"
input_l_btn = "4"
input_load_state_btn = "4"
input_start_btn = "9"
input_exit_emulator_btn = "9"
input_up_axis = "-1"
input_a_btn = "1"
input_b_btn = "2"
input_reset_btn = "2"
input_down_axis = "+1"
input_r_btn = "5"
input_save_state_btn = "5"
input_right_axis = "+0"
input_state_slot_increase_axis = "+0"
input_x_btn = "0"
input_menu_toggle_btn = "0"
input_select_btn = "8"
input_enable_hotkey_btn = "8"
input_y_btn = "3"
input_left_axis = "-0"
input_state_slot_decrease_axis = "-0"
Pues nada, buscamos:
input_up_axis = "-1"
...
input_right_axis = "+0"
...
input_left_axis = "-0"
Y lo dejamos tal que así:
input_disk_eject_toggle_axis = "-1"
input_disk_next_axis = "+0"
input_disk_prev_axis = "-0"
Resultado:
input_device = "USB Gamepad "
input_driver = "udev"
input_l_btn = "4"
input_load_state_btn = "4"
input_start_btn = "9"
input_exit_emulator_btn = "9"
input_up_axis = "-1"
input_a_btn = "1"
input_b_btn = "2"
input_reset_btn = "2"
input_down_axis = "+1"
input_r_btn = "5"
input_save_state_btn = "5"
input_right_axis = "+0"
input_x_btn = "0"
input_menu_toggle_btn = "0"
input_select_btn = "8"
input_enable_hotkey_btn = "8"
input_y_btn = "3"
input_left_axis = "-0"
input_disk_eject_toggle_axis = "-1"
input_disk_next_axis = "+0"
input_disk_prev_axis = "-0"
Fijáos que donde ponía
btn ahora pone
axis.
Aquí los valores de incrementar/reducir el slot de savestate (input_state_slot_decrease_axis y input_state_slot_increase_axis) los he borrado para que no creen conflicto.