RetroPie ab V2.0: Controller über Setupscript & retroarch.cfg einrichten
Dieser Text wurde archiviert! Eine Liste aller archivierten Texte findet ihr unter ‚RetroPie: Einrichtung für ältere Images‚.
Eine Übersicht der aktuellen Beiträge gibt es unter ‚RetroPie: Raspberry Pi als Emulator‚.
Laßt uns endlich dafür sorgen, dass unser Controller (z. B. das XBox360-Gamepad) auch in den einzelnen Emulatoren benutzt werden kann. Bisher können wir den Controller fast ausschließlich in der EmulationStation verwenden, um durchs Menü zu blättern und Spiele auszuwählen.
Basis ist wieder RetroPie 2.3
Werfen wir erstmal einen Blick auf das Setupscript. Zur Konfiguration benötigt ihr wieder eine Tastatur!
Setupscript
Verlasst die EmulationStation (geht am schnellsten über
F4) und wechselt mit
cd RetroPie-Setup das Verzeichnis.
Achtung: Denkt daran, dass unter Linux die Groß- / Kleinschreibung sehr wichtig ist!
Startet dann über sudo ./retropie_setup.sh das erwähnte Setupscript. Über die ersten beiden Punkte könntet ihr RetroPie auch ohne Image installieren.
Dort seht ihr auch die Warnung, dass eine Sourcecode basierte Installation seeehhhhr lange dauern kann! Da wir aber das Image verwenden, sind diese zwei Punkte für uns nicht so interessant.
Bevor wir weitermachen, aktualisieren wir erstmal das Setupscript. Wählt für das erste Update den Punkt 4 UPDATE RetroPie Setup script an.
Sobald das Update durchgelaufen ist, dauert nur wenige Sekunden, verlassen wir das Script über
<Cancel>. Wir landen wieder auf der Eingabeaufforderung, wo wir das Script mit
sudo ./retropie_setup.sh direkt wieder starten. Dies ist notwendig, damit eventuelle Änderungen übernommen werden.
Ihr könnt übrigens mit Pfeil auf / ab die letzten Befehle durchblättern und mit der
<TAB>-Taste eure Eingaben automatisch vervollständigen. Drückt nach
sudo ./r einfach mal auf
<TAB>, es erscheint
sudo ./retropie_, da es mehrere Dateien gibt, deren Name so beginnt. Gebt ein zusätzliches
s ein und drückt erneut
<TAB> schon steht der volltständige Name
sudo ./retropie_setup.sh auf dem Bildschirm.
Beim Image 2.3 vom 21.07.14, ändert sich nur das Aussehen etwas. Es ist ein neuer Punkt hinzugekommen.
Wählt nun aus dem Menü 6 UPDATE RetroPie Binaries.
Damit aktualisieren wir alle Programme, die uns über RetroPie zur Verfügung gestellt werden. Dies braucht jetzt wieder etwas Zeit (ca. 10 Minuten). Hiermit könnt ihr in Zukunft also eure Emulatoren aktuell halten.
Als nächstes wollen wir natürlich noch den Controller konfigurieren.
Joystick / Gamepad einrichten
Ich zeige hier mal zwei Wege, wie man einen Controller einrichten kann. Wichtig ist, dass jetzt zunächst nur ein einzelner Controller am Pi hängt.
Der erste Weg führt über das Setupscript. Wählt dort Punkt 3 SETUP (only if you...
gefolgt von 315 Register RetroArch controller an.
Exkurs: Was zum Teufel ist denn jetzt ‚RetroArch‚ schon wieder?
Meistens ‚rede‘ ich hier nur von RetroPie und EmulationStation, aber die eigentliche Arbeit verrichtet zum größten Teil RetroArch oder um noch genauer zu sein Libretro. Unser Emulatorsystem ist hirachisch (von unten nach oben) wie folgt aufgebaut:
- Libretro: Dies stellt die unterste Ebene dar. Es ist eine in C/C++ geschriebene API, die die Schnittstelle zur vorliegenden Hardware herstellt. Dabei gibt es nicht nur die hier von uns verwendete Raspberry Pi Version, sondern auch Fassung für Android, IOS, Windows, XBox360, Wii, …
- Emulatoren / Apps: Angepasste Programme greifen auf Libretro zu und versorgen uns so mit Emulatoren und anderen Tools (z. B. Mediaplayern).
- RetroArch: Setzt auf Libretro auf und ist dessen gängige grafische Bedienoberfläche. Hierüber können bequem Einstellungen für Libretro und die Apps vorgenommen werden. Ihr könnt diese Oberfläche auch aus den zu RetroArch gehörenden Emulatoren aufrufen.
- EmulationStation: Die EmulationStation stellt eine einheitliche Oberfläche für die verschiedenen Systeme zur Verfügung. Sie fasst RetroArch / Libretro und andere, dort nicht enthaltene, Emulatoren zusammen (z. B. VICE oder ScummVM). Aus der Sicht der EmulationStation ist RetroArch also ‚nur‚ ein weiterer Emulator.
- RetroPie: Alle oben erwähnten Einzelteile bringt RetroPie nun unter einen Hut und bietet so ein rundum sorglos Paket. Hervorzuheben ist hier natürlich das SD-Karten-Image, womit jeder sehr einfach seinen Raspberry Pi zur Emulatorzentrale machen kann.
Folgt nun einfach den Anweisungen auf dem Bildschirm. Es darf jetzt nur der Controller am Pi hängen, für den wir die Einstellungen vornehmen möchten.
Dann noch kurz dafür sorgen, dass alles in Nullstellung ist…
…und schon startet nach <ENTER> die Abfrage der Tasten.
Falls euer Controller nicht über alle abgefragten Tasten verfügt, wartet einfach einige Sekunden, dann wird automatisch zur Abfrage der nächsten Taste gesprungen. Es gibt keinen Zwang, was die Belegung der Tasten angeht, ich würde aber empfehlen, dass ihr euch, so weit es möglich ist, am XBox 360-Pad oder dem der Playstation orientiert.
Das wars auch schon,
ab jetzt könnt ihr den Joystick / das Pad in den RetroArch-Emulatoren verwenden. Wollt ihr aber zu zweit spielen oder möglichst alles mit dem Controller bedienen, dann müssen wir noch etwas mit den Configdateien ‚herumspielen‚.
Hinweis: Verwendet ihr nur einen nicht RetroArch-Emulator (z. B. VICE), dann könnt ihr auf die eben gezeigte Konfiguration komplett verzichten. Die ‚Einzel‘-Emulatoren bringen jeweils ihre eigenen Treiber mit und werden ggf. über das jeweilige Menü konfiguriert.
Bei VICE reicht es z. B. das Menü zu öffnen und den entsprechenden Port auf Joystick zu stellen, schon funktioniert er.
Joysticks / Pads für 2 bis 8 Spieler
Wollt ihr nur alleine spielen, dann sollten die eben gemachten Einstellungen schon reichen. Möchtet ihr aber mit mehreren Spielern gleichzeitig daddeln oder über den Controller den Emulator beenden, dann müssen wir noch eine Configdatei bearbeiten. Von RetroArch werden übrigens bis zu 8 Spieler unterstützt. Ob tatsächlich alle möglich sind, hängt dann natürlich vom jeweiligen Emulator und dem Spiel ab! Ich zeige hier mal, wie man zwei verschieden Eingabegeräte (XBox360-Pad & Competition PRO) für Spieler 1 & 2 einrichten kann.
Verlasst ggf. die EmulationStation und wechselt mit cd /opt/retropie/emulators/RetroArch/installdir/bin das Verzeichnis (denkt an die <TAB>-Taste, die erleichtert diese langen Eingaben erheblich!). Hier findet ihr das Programm retroarch-joyconfig, es ist das selbe Programm, dass auch eben vom Script ausgeführt wurde!
Mit diesem Hilfsmittel können wir nun ganz einfach unsere benötigten Dateien erstellen. Schließt alle Controller an, die ihr einrichten möchtet und gebt dann die folgende Anweisung ein: sudo ./retroarch-joyconfig -o player1.cfg -p 1 -j 0 -t 5. Die Parameter haben folgende Bedeutung:
1 2 3 4 |
-o <Output | Ausgabedatei hier player1.cfg> -p <Player | Nr. des Spielers beginnend mit 1; mögliche Werte 1-8> -j <Joystick | Nr. des Controllers beginnend mit 0> -t <Timeout | nach wieviel Sekunden soll die Taste als unbelegt gelten> |
Sobald ihr die Anweisung bestätigt habt kommt wieder die von oben bekannte Abfrage der Tasten. Achtet auf den angezeigten Namen des Controllers, dadurch seht ihr welcher gerade abgefragt wird.
Nun könnt ihr für alle benötigten Spieler eine Datei anlegen. Für den zweiten sieht die Anweisung dann z. B. so aus sudo ./retroarch-joyconfig -o player2.cfg -p 2 -j 1 -t 5. Achtet darauf, dass ihr für -p und -j die korrekten Werte für den nächsten Spieler und Joystick / Controller verwendet.
Sobald ihr alle Dateien erstellt habt, wechseln wir das Verzeichnis cd /opt/retropie/configs/all.
Wir befinden uns hier in einem sehr wichtigen Verzeichnis! Unter /opt/retropie/configs/all werden in der Datei retroarch.cfg die standard Einstellungen gespeichert!
Auf die Werte in dieser Datei fällt RetroArch immer zurück, wenn für den einzelnen Emulator keine eigenen Einstellungen vorliegen. Evtl. fehlt euch die Berechtigung, um die Datei retroarch.cfg zu bearbeiten. Hebt daher zur Sicherheit die Zugriffsbeschänkungen mit sudo chmod 777 retroarch.cfg auf. Für den Fall der Fälle, sollten wir uns jetzt noch mit sudo cp retroarch.cfg ./retroarch.bak ein Backup der Datei erstellen.
Mini-Exkus:
nano
Ich benutze
nano als Texteditor, um mal schnell etwas in den Configdateien zu ändern. Öffnet eine Datei einfach über
[sudo] nano <Dateiname>, wenn ihr Root-Rechte braucht, stellt ein
sudo voran. Dann könnt ihr den Text bearbeiten. Zum Beenden drückt
<STRG>+<X>. Falls ihr etwas geändert habt, kommt die Abfrage, ob ihr speichern möchtet. Sollte das zutreffen, drückt
<Y>es und bestätigt den vorgeschlagenen Dateinamen mit
<ENTER>. Weitere Funktionen findet ihr am unteren Bildschirmrand oder mit
<STRG> +
<G> in der Hilfe.
Werft mal mit nano retroarch.cfg einen Blick in die Datei und blättert ganz nach unten.
(Nicht vergessen mit <STRG>+<X> könnt ihr den Editor wieder verlassen!)
Nur zur Info (ist nicht wirklich wichtig):
In der Datei findet ihr auch die Zeile
joypad_autoconfig_dir = /opt/retropie/emulators/RetroArch/configs/. Diese hat bisher dafür gesorgt, dass unser Controller nach der ‚schnellen‘ Einrichtung über
315 Register RetroArch controller funktioniert hat. Wenn in der
retroarch.cfg keine Controller-Einstellungen zu finden sind, wird im Verzeichnis, das hinter
joypad_autoconfig_dir angegebenen ist, geschaut, ob es eine passende Configdatei gibt. Der Name der Datei entspricht dabei dem USB-Namen, den das System für den Controller vergeben hat. Er stand auch am Schluß der Einrichtung in der Hinweisbox. Dies geschieht aber nur, wenn
input_autodetect_enable auf
true gesetzt ist.
Im oben erwähnten Verzeichnis liegt nun genau diese Datei.
Jetzt fügen wir unsere ermittelten Werte einfach zur retroarch.cfg hinzu. Dies geht mit dem Befehl
1 2 |
sudo cat /opt/retropie/emulators/RetroArch/installdir/bin/player*.cfg >> retroarch.cfg |
(Alles in einer Zeile und die <TAB>-Taste ist wieder sehr nützlich!)
Vergleicht jetzt mal den Inhalt der retroarch.cfg mit dem von eben.
Am Ende der Datei findet ihr jetzt die oben ermittelten Einstellungen.
Wer eher an der Maus hängt (Nein! Nicht die Kleine auf dem Sofa neben euch 😉 ), der kann mit startx den graphischen Desktop öffnen und dann ‚Windows-Like‘ die Dateien editieren.
Nachdem ihr nano bzw. den Desktop wieder verlassen habt, startet die EmulationStation (z. B. durch die Eingabe von emulationstation) wieder. Spielt ihr nun eine Partie Mario Bros. auf dem NES, dann könnt ihr ab jetzt auch den 2-Spieler-Modus mit zwei Controllern zocken.
Sonderfunktionen festlegen
Wollt ihr möglichst auf die Tastatur verzichten, dann wäre es doch hilfreich, wenn ihr den Emulator auch über den Controller beenden könntet. Dies geht tatsächlich! Verlasst dazu mal wieder die EmulationStation und wechselt ggf. das Verzeichnis
cd /opt/retropie/configs/all. Öffnet die Configdatei mit
nano retroarch.cfg und fügt am Schluß die folgenden Zeilen ein.
Achtet dabei ganz genau auf die Schreibweise! Schon ein Verzicht auf die Leerzeichen vor und hinter dem =, kann (wie ich leidvoll feststellen mußte) zu Problemen führen.
Da man bestimmt nicht direkt aus dem Emulator fliegen möchte, nur weil man im Eifer des Gefechts ausversehen auf den falschen Knopf gekommen ist, sollten wir auch noch einen sog. Hotkey festlegen. Dadurch lassen sich diese Sonderfunktionen nur noch auslösen, wenn man den Hotkey plus der entsprechenden Taste drückt. Ich verwende hier die Tastennummern des XBox360-Controllers, ihr könnt die von euch gewünschten / benötigten Nummern der Tasten aus der oben erstellen player<JOYSTICK-NR>.cfg oder direkt aus der retroarch.cfg heraussuchen.
Mein Hotkey ist die GUIDE-Taste:
1 |
input_enable_hotkey_btn = "8" |
Drücke ich dazu zusätzlich BACK, dann soll der Emulator verlassen werden.
1 |
input_exit_emulator_btn = "6" |
Bei GUIDE + A möchte ich den Emulator pausieren.
1 |
input_pause_toggle_btn = "0" |
Mit GUIDE + START möchte ich das RetroArch-Menü öffnen.
1 |
input_menu_toggle_btn = "7" |
Verlasst nano mit <STRG>+<X>, antwortet auf die Frage, ob ihr speichern möchtet mit <Y>es und bestätigt abschließend den vorgeschlagenen Dateinamen mit <ENTER>.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 |
system_directory = /home/pi/RetroPie/roms/../BIOS config_save_on_exit = false video_aspect_ratio = 1.33 video_smooth = false video_threaded = true input_enable_hotkey = escape input_exit_emulator = escape rewind_enable = false rewind_buffer_size = 10 rewind_granularity = 2 input_rewind = r video_gpu_screenshot = true input_shader_next = m input_shader_prev = n video_shader_dir = /opt/retropie/emulators/RetroArch/shader/ input_player1_a = x input_player1_b = z input_player1_y = a input_player1_x = s input_player1_start = enter input_player1_select = rshift input_player1_l = q input_player1_r = w input_player1_left = left input_player1_right = right input_player1_up = up input_player1_down = down input_autodetect_enable = true joypad_autoconfig_dir = /opt/retropie/emulators/RetroArch/configs/ input_player2_joypad_index = "0" input_player2_b_btn = "1" input_player2_select_btn = "2" input_player2_start_btn = "3" input_player2_up_axis = "-1" input_player2_down_axis = "+1" input_player2_left_axis = "-0" input_player2_right_axis = "+0" input_player2_a_btn = "0" input_player1_joypad_index = "1" input_player1_b_btn = "1" input_player1_y_btn = "3" input_player1_select_btn = "6" input_player1_start_btn = "7" input_player1_up_btn = "13" input_player1_down_btn = "14" input_player1_left_btn = "11" input_player1_right_btn = "12" input_player1_a_btn = "0" input_player1_x_btn = "2" input_player1_l_btn = "4" input_player1_r_btn = "5" input_player1_l2_axis = "+2" input_player1_r2_axis = "+5" input_player1_l3_btn = "9" input_player1_r3_btn = "10" input_player1_l_x_plus_axis = "+0" input_player1_l_x_minus_axis = "-0" input_player1_l_y_plus_axis = "+1" input_player1_l_y_minus_axis = "-1" input_player1_r_x_plus_axis = "+3" input_player1_r_x_minus_axis = "-3" input_player1_r_y_plus_axis = "+4" input_player1_r_y_minus_axis = "-4" #Sondertasten input_enable_hotkey_btn = "8" input_exit_emulator_btn = "6" input_pause_toggle_btn = "0" input_menu_toggle_btn = "7" |
Mit der Raute # könnt ihr Kommentare ins Script schreiben oder einen Schalter deaktivieren, indem ihr an die erste Stelle der Zeile eine Raute schreibt. Startet nun wieder ein Spielchen (es muss natürlich ein RetroArch-Emulator sein) und ihr könnt die eben zugewiesenen Tasten verwenden. Mit GUIDE + START erscheint z. B. das RetroArch-Menü.
Das waren jetzt nur vier zusätzliche Tasten, es gibt aber noch einen ganzen Haufen mehr! Auch zusätzliche Einstellungen gibt es massenhaft. Ihr könnt z. B. übers Pad das Laden & Speichern oder die Aufnahme von Screenshots steuern. Wenn ihr z: B. lieber mit einem der analogen Sticks, statt dem D-Pad, spielt, könnt ihr dies durch die Zeile
1 |
input_player1_analog_dpad_mode = "1" |
erreichen. Hier für den ersten Spieler 0 = keiner | 1 = linker | 2 = rechter Stick. Das D-Pad geht dann parallel immer noch.
Im folgenden Block findet ihr einen ganzen Haufen 😉 (oder so gar alle?) Schalter.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 |
input_axis_threshold = "0.500000" load_dummy_on_core_shutdown = "true" fps_show = "false" libretro_path = "/opt/retropie/emulatorcores/pocketsnes-libretro/libretro.so" libretro_directory = "" libretro_info_path = "" cheat_database_path = "" rewind_enable = "false" audio_latency = "64" audio_sync = "true" audio_block_frames = "0" rewind_granularity = "2" video_shader = "/opt/retropie/emulators/RetroArch/shader/snes_phosphor.glslp" video_shader_enable = "false" video_aspect_ratio = "1.330000" video_windowed_fullscreen = "true" video_xscale = "3.000000" autosave_interval = "0" video_yscale = "3.000000" video_crop_overscan = "true" video_scale_integer = "false" video_smooth = "false" video_threaded = "true" video_shared_context = "false" video_fullscreen = "false" video_refresh_rate = "59.950001" video_monitor_index = "0" video_fullscreen_x = "0" video_fullscreen_y = "0" video_driver = "gl" menu_driver = "rgui" video_vsync = "true" video_hard_sync = "false" video_hard_sync_frames = "0" video_black_frame_insertion = "false" video_disable_composition = "false" pause_nonactive = "false" video_swap_interval = "1" video_gpu_screenshot = "true" video_rotation = "0" screenshot_directory = "default" aspect_ratio_index = "4" audio_device = "" audio_dsp_plugin = "" audio_rate_control = "true" audio_rate_control_delta = "0.005000" audio_driver = "alsathread" audio_out_rate = "48000" video_font_size = "32.000000" video_font_enable = "true" system_directory = "~/RetroPie/roms/../BIOS" extraction_directory = "" audio_resampler = "sinc" savefile_directory = "default" savestate_directory = "default" video_shader_dir = "/opt/retropie/emulators/RetroArch/shader/" video_filter = "" video_filter_dir = "default" audio_filter_dir = "default" content_directory = "default" assets_directory = "default" rgui_browser_directory = "default" rgui_config_directory = "default" rgui_show_start_screen = "false" game_history_path = "" game_history_size = "100" joypad_autoconfig_dir = "/opt/retropie/emulators/RetroArch/configs/" input_autodetect_enable = "true" overlay_directory = "default" input_overlay = "" input_overlay_enable = "false" input_overlay_opacity = "0.700000" input_overlay_scale = "1.000000" gamma_correction = "false" triple_buffering_enable = "false" soft_filter_enable = "false" flicker_filter_enable = "false" flicker_filter_index = "0" soft_filter_index = "0" current_resolution_id = "0" custom_viewport_width = "958" custom_viewport_height = "720" custom_viewport_x = "161" custom_viewport_y = "0" block_sram_overwrite = "false" savestate_auto_index = "false" savestate_auto_save = "false" savestate_auto_load = "true" fastforward_ratio = "-1.000000" slowmotion_ratio = "3.000000" config_save_on_exit = "false" sound_mode = "0" state_slot = "0" netplay_spectator_mode_enable = "false" netplay_mode = "false" netplay_nickname = "" netplay_ip_address = "" netplay_ip_port = "0" netplay_delay_frames = "0" custom_bgm_enable = "false" input_driver = "udev" input_joypad_driver = "" input_keyboard_layout = "" input_device_p1 = "0" input_player1_joypad_index = "0" input_libretro_device_p1 = "1" input_player1_analog_dpad_mode = "1" input_device_p2 = "0" input_player2_joypad_index = "1" input_libretro_device_p2 = "1" input_player2_analog_dpad_mode = "0" input_device_p3 = "0" input_player3_joypad_index = "2" input_libretro_device_p3 = "1" input_player3_analog_dpad_mode = "0" input_device_p4 = "0" input_player4_joypad_index = "3" input_libretro_device_p4 = "1" input_player4_analog_dpad_mode = "0" input_device_p5 = "0" input_player5_joypad_index = "4" input_libretro_device_p5 = "1" input_player5_analog_dpad_mode = "0" input_device_p6 = "0" input_player6_joypad_index = "5" input_libretro_device_p6 = "1" input_player6_analog_dpad_mode = "0" input_device_p7 = "0" input_player7_joypad_index = "6" input_libretro_device_p7 = "1" input_player7_analog_dpad_mode = "0" input_device_p8 = "0" input_player8_joypad_index = "7" input_libretro_device_p8 = "1" input_player8_analog_dpad_mode = "0" input_player1_b = "z" input_player1_b_btn = "1" input_player1_b_axis = "nul" input_player1_y = "a" input_player1_y_btn = "3" input_player1_y_axis = "nul" input_player1_select = "rshift" input_player1_select_btn = "6" input_player1_select_axis = "nul" input_player1_start = "enter" input_player1_start_btn = "7" input_player1_start_axis = "nul" input_player1_up = "up" input_player1_up_btn = "13" input_player1_up_axis = "nul" input_player1_down = "down" input_player1_down_btn = "14" input_player1_down_axis = "nul" input_player1_left = "left" input_player1_left_btn = "11" input_player1_left_axis = "nul" input_player1_right = "right" input_player1_right_btn = "12" input_player1_right_axis = "nul" input_player1_a = "x" input_player1_a_btn = "0" input_player1_a_axis = "nul" input_player1_x = "s" input_player1_x_btn = "2" input_player1_x_axis = "nul" input_player1_l = "q" input_player1_l_btn = "4" input_player1_l_axis = "nul" input_player1_r = "w" input_player1_r_btn = "5" input_player1_r_axis = "nul" input_player1_l2 = "nul" input_player1_l2_btn = "nul" input_player1_l2_axis = "+2" input_player1_r2 = "nul" input_player1_r2_btn = "nul" input_player1_r2_axis = "+5" input_player1_l3 = "nul" input_player1_l3_btn = "9" input_player1_l3_axis = "nul" input_player1_r3 = "nul" input_player1_r3_btn = "10" input_player1_r3_axis = "nul" input_player1_l_x_plus = "nul" input_player1_l_x_plus_btn = "nul" input_player1_l_x_plus_axis = "+0" input_player1_l_x_minus = "nul" input_player1_l_x_minus_btn = "nul" input_player1_l_x_minus_axis = "-0" input_player1_l_y_plus = "nul" input_player1_l_y_plus_btn = "nul" input_player1_l_y_plus_axis = "+1" input_player1_l_y_minus = "nul" input_player1_l_y_minus_btn = "nul" input_player1_l_y_minus_axis = "-1" input_player1_r_x_plus = "nul" input_player1_r_x_plus_btn = "nul" input_player1_r_x_plus_axis = "+3" input_player1_r_x_minus = "nul" input_player1_r_x_minus_btn = "nul" input_player1_r_x_minus_axis = "-3" input_player1_r_y_plus = "nul" input_player1_r_y_plus_btn = "nul" input_player1_r_y_plus_axis = "+4" input_player1_r_y_minus = "nul" input_player1_r_y_minus_btn = "nul" input_player1_r_y_minus_axis = "-4" input_player1_turbo = "nul" input_player1_turbo_btn = "nul" input_player1_turbo_axis = "nul" input_toggle_fast_forward = "space" input_toggle_fast_forward_btn = "nul" input_toggle_fast_forward_axis = "nul" input_hold_fast_forward = "l" input_hold_fast_forward_btn = "nul" input_hold_fast_forward_axis = "nul" input_load_state = "f4" input_load_state_btn = "nul" input_load_state_axis = "nul" input_save_state = "f2" input_save_state_btn = "nul" input_save_state_axis = "nul" input_toggle_fullscreen = "f" input_toggle_fullscreen_btn = "nul" input_toggle_fullscreen_axis = "nul" input_exit_emulator = "escape" input_exit_emulator_btn = "7" input_exit_emulator_axis = "nul" input_state_slot_increase = "f7" input_state_slot_increase_btn = "nul" input_state_slot_increase_axis = "nul" input_state_slot_decrease = "f6" input_state_slot_decrease_btn = "nul" input_state_slot_decrease_axis = "nul" input_rewind = "r" input_rewind_btn = "nul" input_rewind_axis = "nul" input_movie_record_toggle = "o" input_movie_record_toggle_btn = "nul" input_movie_record_toggle_axis = "nul" input_pause_toggle = "p" input_pause_toggle_btn = "nul" input_pause_toggle_axis = "nul" input_frame_advance = "k" input_frame_advance_btn = "nul" input_frame_advance_axis = "nul" input_reset = "h" input_reset_btn = "nul" input_reset_axis = "nul" input_shader_next = "m" input_shader_next_btn = "nul" input_shader_next_axis = "nul" input_shader_prev = "n" input_shader_prev_btn = "nul" input_shader_prev_axis = "nul" input_cheat_index_plus = "y" input_cheat_index_plus_btn = "nul" input_cheat_index_plus_axis = "nul" input_cheat_index_minus = "t" input_cheat_index_minus_btn = "nul" input_cheat_index_minus_axis = "nul" input_cheat_toggle = "u" input_cheat_toggle_btn = "nul" input_cheat_toggle_axis = "nul" input_screenshot = "f8" input_screenshot_btn = "nul" input_screenshot_axis = "nul" input_audio_mute = "f9" input_audio_mute_btn = "nul" input_audio_mute_axis = "nul" input_netplay_flip_players = "i" input_netplay_flip_players_btn = "nul" input_netplay_flip_players_axis = "nul" input_slowmotion = "e" input_slowmotion_btn = "nul" input_slowmotion_axis = "nul" input_enable_hotkey = "nul" input_enable_hotkey_btn = "8" input_enable_hotkey_axis = "nul" input_volume_up = "add" input_volume_up_btn = "nul" input_volume_up_axis = "nul" input_volume_down = "subtract" input_volume_down_btn = "nul" input_volume_down_axis = "nul" input_overlay_next = "nul" input_overlay_next_btn = "nul" input_overlay_next_axis = "nul" input_disk_eject_toggle = "nul" input_disk_eject_toggle_btn = "nul" input_disk_eject_toggle_axis = "nul" input_disk_next = "nul" input_disk_next_btn = "nul" input_disk_next_axis = "nul" input_grab_mouse_toggle = "f11" input_grab_mouse_toggle_btn = "nul" input_grab_mouse_toggle_axis = "nul" input_menu_toggle = "f1" input_menu_toggle_btn = "nul" input_menu_toggle_axis = "nul" input_player2_b = "nul" input_player2_b_btn = "nul" input_player2_b_axis = "nul" input_player2_y = "nul" input_player2_y_btn = "nul" input_player2_y_axis = "nul" input_player2_select = "nul" input_player2_select_btn = "nul" input_player2_select_axis = "nul" input_player2_start = "nul" input_player2_start_btn = "nul" input_player2_start_axis = "nul" input_player2_up = "nul" input_player2_up_btn = "nul" input_player2_up_axis = "nul" input_player2_down = "nul" input_player2_down_btn = "nul" input_player2_down_axis = "nul" input_player2_left = "nul" input_player2_left_btn = "nul" input_player2_left_axis = "nul" input_player2_right = "nul" input_player2_right_btn = "nul" input_player2_right_axis = "nul" input_player2_a = "nul" input_player2_a_btn = "nul" input_player2_a_axis = "nul" input_player2_x = "nul" input_player2_x_btn = "nul" input_player2_x_axis = "nul" input_player2_l = "nul" input_player2_l_btn = "nul" input_player2_l_axis = "nul" input_player2_r = "nul" input_player2_r_btn = "nul" input_player2_r_axis = "nul" input_player2_l2 = "nul" input_player2_l2_btn = "nul" input_player2_l2_axis = "nul" input_player2_r2 = "nul" input_player2_r2_btn = "nul" input_player2_r2_axis = "nul" input_player2_l3 = "nul" input_player2_l3_btn = "nul" input_player2_l3_axis = "nul" input_player2_r3 = "nul" input_player2_r3_btn = "nul" input_player2_r3_axis = "nul" input_player2_l_x_plus = "nul" input_player2_l_x_plus_btn = "nul" input_player2_l_x_plus_axis = "nul" input_player2_l_x_minus = "nul" input_player2_l_x_minus_btn = "nul" input_player2_l_x_minus_axis = "nul" input_player2_l_y_plus = "nul" input_player2_l_y_plus_btn = "nul" input_player2_l_y_plus_axis = "nul" input_player2_l_y_minus = "nul" input_player2_l_y_minus_btn = "nul" input_player2_l_y_minus_axis = "nul" input_player2_r_x_plus = "nul" input_player2_r_x_plus_btn = "nul" input_player2_r_x_plus_axis = "nul" input_player2_r_x_minus = "nul" input_player2_r_x_minus_btn = "nul" input_player2_r_x_minus_axis = "nul" input_player2_r_y_plus = "nul" input_player2_r_y_plus_btn = "nul" input_player2_r_y_plus_axis = "nul" input_player2_r_y_minus = "nul" input_player2_r_y_minus_btn = "nul" input_player2_r_y_minus_axis = "nul" input_player2_turbo = "nul" input_player2_turbo_btn = "nul" input_player2_turbo_axis = "nul" input_player3_b = "nul" input_player3_b_btn = "nul" input_player3_b_axis = "nul" input_player3_y = "nul" input_player3_y_btn = "nul" input_player3_y_axis = "nul" input_player3_select = "nul" input_player3_select_btn = "nul" input_player3_select_axis = "nul" input_player3_start = "nul" input_player3_start_btn = "nul" input_player3_start_axis = "nul" input_player3_up = "nul" input_player3_up_btn = "nul" input_player3_up_axis = "nul" input_player3_down = "nul" input_player3_down_btn = "nul" input_player3_down_axis = "nul" input_player3_left = "nul" input_player3_left_btn = "nul" input_player3_left_axis = "nul" input_player3_right = "nul" input_player3_right_btn = "nul" input_player3_right_axis = "nul" input_player3_a = "nul" input_player3_a_btn = "nul" input_player3_a_axis = "nul" input_player3_x = "nul" input_player3_x_btn = "nul" input_player3_x_axis = "nul" input_player3_l = "nul" input_player3_l_btn = "nul" input_player3_l_axis = "nul" input_player3_r = "nul" input_player3_r_btn = "nul" input_player3_r_axis = "nul" input_player3_l2 = "nul" input_player3_l2_btn = "nul" input_player3_l2_axis = "nul" input_player3_r2 = "nul" input_player3_r2_btn = "nul" input_player3_r2_axis = "nul" input_player3_l3 = "nul" input_player3_l3_btn = "nul" input_player3_l3_axis = "nul" input_player3_r3 = "nul" input_player3_r3_btn = "nul" input_player3_r3_axis = "nul" input_player3_l_x_plus = "nul" input_player3_l_x_plus_btn = "nul" input_player3_l_x_plus_axis = "nul" input_player3_l_x_minus = "nul" input_player3_l_x_minus_btn = "nul" input_player3_l_x_minus_axis = "nul" input_player3_l_y_plus = "nul" input_player3_l_y_plus_btn = "nul" input_player3_l_y_plus_axis = "nul" input_player3_l_y_minus = "nul" input_player3_l_y_minus_btn = "nul" input_player3_l_y_minus_axis = "nul" input_player3_r_x_plus = "nul" input_player3_r_x_plus_btn = "nul" input_player3_r_x_plus_axis = "nul" input_player3_r_x_minus = "nul" input_player3_r_x_minus_btn = "nul" input_player3_r_x_minus_axis = "nul" input_player3_r_y_plus = "nul" input_player3_r_y_plus_btn = "nul" input_player3_r_y_plus_axis = "nul" input_player3_r_y_minus = "nul" input_player3_r_y_minus_btn = "nul" input_player3_r_y_minus_axis = "nul" input_player3_turbo = "nul" input_player3_turbo_btn = "nul" input_player3_turbo_axis = "nul" input_player4_b = "nul" input_player4_b_btn = "nul" input_player4_b_axis = "nul" input_player4_y = "nul" input_player4_y_btn = "nul" input_player4_y_axis = "nul" input_player4_select = "nul" input_player4_select_btn = "nul" input_player4_select_axis = "nul" input_player4_start = "nul" input_player4_start_btn = "nul" input_player4_start_axis = "nul" input_player4_up = "nul" input_player4_up_btn = "nul" input_player4_up_axis = "nul" input_player4_down = "nul" input_player4_down_btn = "nul" input_player4_down_axis = "nul" input_player4_left = "nul" input_player4_left_btn = "nul" input_player4_left_axis = "nul" input_player4_right = "nul" input_player4_right_btn = "nul" input_player4_right_axis = "nul" input_player4_a = "nul" input_player4_a_btn = "nul" input_player4_a_axis = "nul" input_player4_x = "nul" input_player4_x_btn = "nul" input_player4_x_axis = "nul" input_player4_l = "nul" input_player4_l_btn = "nul" input_player4_l_axis = "nul" input_player4_r = "nul" input_player4_r_btn = "nul" input_player4_r_axis = "nul" input_player4_l2 = "nul" input_player4_l2_btn = "nul" input_player4_l2_axis = "nul" input_player4_r2 = "nul" input_player4_r2_btn = "nul" input_player4_r2_axis = "nul" input_player4_l3 = "nul" input_player4_l3_btn = "nul" input_player4_l3_axis = "nul" input_player4_r3 = "nul" input_player4_r3_btn = "nul" input_player4_r3_axis = "nul" input_player4_l_x_plus = "nul" input_player4_l_x_plus_btn = "nul" input_player4_l_x_plus_axis = "nul" input_player4_l_x_minus = "nul" input_player4_l_x_minus_btn = "nul" input_player4_l_x_minus_axis = "nul" input_player4_l_y_plus = "nul" input_player4_l_y_plus_btn = "nul" input_player4_l_y_plus_axis = "nul" input_player4_l_y_minus = "nul" input_player4_l_y_minus_btn = "nul" input_player4_l_y_minus_axis = "nul" input_player4_r_x_plus = "nul" input_player4_r_x_plus_btn = "nul" input_player4_r_x_plus_axis = "nul" input_player4_r_x_minus = "nul" input_player4_r_x_minus_btn = "nul" input_player4_r_x_minus_axis = "nul" input_player4_r_y_plus = "nul" input_player4_r_y_plus_btn = "nul" input_player4_r_y_plus_axis = "nul" input_player4_r_y_minus = "nul" input_player4_r_y_minus_btn = "nul" input_player4_r_y_minus_axis = "nul" input_player4_turbo = "nul" input_player4_turbo_btn = "nul" input_player4_turbo_axis = "nul" input_player5_b = "nul" input_player5_b_btn = "nul" input_player5_b_axis = "nul" input_player5_y = "nul" input_player5_y_btn = "nul" input_player5_y_axis = "nul" input_player5_select = "nul" input_player5_select_btn = "nul" input_player5_select_axis = "nul" input_player5_start = "nul" input_player5_start_btn = "nul" input_player5_start_axis = "nul" input_player5_up = "nul" input_player5_up_btn = "nul" input_player5_up_axis = "nul" input_player5_down = "nul" input_player5_down_btn = "nul" input_player5_down_axis = "nul" input_player5_left = "nul" input_player5_left_btn = "nul" input_player5_left_axis = "nul" input_player5_right = "nul" input_player5_right_btn = "nul" input_player5_right_axis = "nul" input_player5_a = "nul" input_player5_a_btn = "nul" input_player5_a_axis = "nul" input_player5_x = "nul" input_player5_x_btn = "nul" input_player5_x_axis = "nul" input_player5_l = "nul" input_player5_l_btn = "nul" input_player5_l_axis = "nul" input_player5_r = "nul" input_player5_r_btn = "nul" input_player5_r_axis = "nul" input_player5_l2 = "nul" input_player5_l2_btn = "nul" input_player5_l2_axis = "nul" input_player5_r2 = "nul" input_player5_r2_btn = "nul" input_player5_r2_axis = "nul" input_player5_l3 = "nul" input_player5_l3_btn = "nul" input_player5_l3_axis = "nul" input_player5_r3 = "nul" input_player5_r3_btn = "nul" input_player5_r3_axis = "nul" input_player5_l_x_plus = "nul" input_player5_l_x_plus_btn = "nul" input_player5_l_x_plus_axis = "nul" input_player5_l_x_minus = "nul" input_player5_l_x_minus_btn = "nul" input_player5_l_x_minus_axis = "nul" input_player5_l_y_plus = "nul" input_player5_l_y_plus_btn = "nul" input_player5_l_y_plus_axis = "nul" input_player5_l_y_minus = "nul" input_player5_l_y_minus_btn = "nul" input_player5_l_y_minus_axis = "nul" input_player5_r_x_plus = "nul" input_player5_r_x_plus_btn = "nul" input_player5_r_x_plus_axis = "nul" input_player5_r_x_minus = "nul" input_player5_r_x_minus_btn = "nul" input_player5_r_x_minus_axis = "nul" input_player5_r_y_plus = "nul" input_player5_r_y_plus_btn = "nul" input_player5_r_y_plus_axis = "nul" input_player5_r_y_minus = "nul" input_player5_r_y_minus_btn = "nul" input_player5_r_y_minus_axis = "nul" input_player5_turbo = "nul" input_player5_turbo_btn = "nul" input_player5_turbo_axis = "nul" input_player6_b = "nul" input_player6_b_btn = "nul" input_player6_b_axis = "nul" input_player6_y = "nul" input_player6_y_btn = "nul" input_player6_y_axis = "nul" input_player6_select = "nul" input_player6_select_btn = "nul" input_player6_select_axis = "nul" input_player6_start = "nul" input_player6_start_btn = "nul" input_player6_start_axis = "nul" input_player6_up = "nul" input_player6_up_btn = "nul" input_player6_up_axis = "nul" input_player6_down = "nul" input_player6_down_btn = "nul" input_player6_down_axis = "nul" input_player6_left = "nul" input_player6_left_btn = "nul" input_player6_left_axis = "nul" input_player6_right = "nul" input_player6_right_btn = "nul" input_player6_right_axis = "nul" input_player6_a = "nul" input_player6_a_btn = "nul" input_player6_a_axis = "nul" input_player6_x = "nul" input_player6_x_btn = "nul" input_player6_x_axis = "nul" input_player6_l = "nul" input_player6_l_btn = "nul" input_player6_l_axis = "nul" input_player6_r = "nul" input_player6_r_btn = "nul" input_player6_r_axis = "nul" input_player6_l2 = "nul" input_player6_l2_btn = "nul" input_player6_l2_axis = "nul" input_player6_r2 = "nul" input_player6_r2_btn = "nul" input_player6_r2_axis = "nul" input_player6_l3 = "nul" input_player6_l3_btn = "nul" input_player6_l3_axis = "nul" input_player6_r3 = "nul" input_player6_r3_btn = "nul" input_player6_r3_axis = "nul" input_player6_l_x_plus = "nul" input_player6_l_x_plus_btn = "nul" input_player6_l_x_plus_axis = "nul" input_player6_l_x_minus = "nul" input_player6_l_x_minus_btn = "nul" input_player6_l_x_minus_axis = "nul" input_player6_l_y_plus = "nul" input_player6_l_y_plus_btn = "nul" input_player6_l_y_plus_axis = "nul" input_player6_l_y_minus = "nul" input_player6_l_y_minus_btn = "nul" input_player6_l_y_minus_axis = "nul" input_player6_r_x_plus = "nul" input_player6_r_x_plus_btn = "nul" input_player6_r_x_plus_axis = "nul" input_player6_r_x_minus = "nul" input_player6_r_x_minus_btn = "nul" input_player6_r_x_minus_axis = "nul" input_player6_r_y_plus = "nul" input_player6_r_y_plus_btn = "nul" input_player6_r_y_plus_axis = "nul" input_player6_r_y_minus = "nul" input_player6_r_y_minus_btn = "nul" input_player6_r_y_minus_axis = "nul" input_player6_turbo = "nul" input_player6_turbo_btn = "nul" input_player6_turbo_axis = "nul" input_player7_b = "nul" input_player7_b_btn = "nul" input_player7_b_axis = "nul" input_player7_y = "nul" input_player7_y_btn = "nul" input_player7_y_axis = "nul" input_player7_select = "nul" input_player7_select_btn = "nul" input_player7_select_axis = "nul" input_player7_start = "nul" input_player7_start_btn = "nul" input_player7_start_axis = "nul" input_player7_up = "nul" input_player7_up_btn = "nul" input_player7_up_axis = "nul" input_player7_down = "nul" input_player7_down_btn = "nul" input_player7_down_axis = "nul" input_player7_left = "nul" input_player7_left_btn = "nul" input_player7_left_axis = "nul" input_player7_right = "nul" input_player7_right_btn = "nul" input_player7_right_axis = "nul" input_player7_a = "nul" input_player7_a_btn = "nul" input_player7_a_axis = "nul" input_player7_x = "nul" input_player7_x_btn = "nul" input_player7_x_axis = "nul" input_player7_l = "nul" input_player7_l_btn = "nul" input_player7_l_axis = "nul" input_player7_r = "nul" input_player7_r_btn = "nul" input_player7_r_axis = "nul" input_player7_l2 = "nul" input_player7_l2_btn = "nul" input_player7_l2_axis = "nul" input_player7_r2 = "nul" input_player7_r2_btn = "nul" input_player7_r2_axis = "nul" input_player7_l3 = "nul" input_player7_l3_btn = "nul" input_player7_l3_axis = "nul" input_player7_r3 = "nul" input_player7_r3_btn = "nul" input_player7_r3_axis = "nul" input_player7_l_x_plus = "nul" input_player7_l_x_plus_btn = "nul" input_player7_l_x_plus_axis = "nul" input_player7_l_x_minus = "nul" input_player7_l_x_minus_btn = "nul" input_player7_l_x_minus_axis = "nul" input_player7_l_y_plus = "nul" input_player7_l_y_plus_btn = "nul" input_player7_l_y_plus_axis = "nul" input_player7_l_y_minus = "nul" input_player7_l_y_minus_btn = "nul" input_player7_l_y_minus_axis = "nul" input_player7_r_x_plus = "nul" input_player7_r_x_plus_btn = "nul" input_player7_r_x_plus_axis = "nul" input_player7_r_x_minus = "nul" input_player7_r_x_minus_btn = "nul" input_player7_r_x_minus_axis = "nul" input_player7_r_y_plus = "nul" input_player7_r_y_plus_btn = "nul" input_player7_r_y_plus_axis = "nul" input_player7_r_y_minus = "nul" input_player7_r_y_minus_btn = "nul" input_player7_r_y_minus_axis = "nul" input_player7_turbo = "nul" input_player7_turbo_btn = "nul" input_player7_turbo_axis = "nul" input_player8_b = "nul" input_player8_b_btn = "nul" input_player8_b_axis = "nul" input_player8_y = "nul" input_player8_y_btn = "nul" input_player8_y_axis = "nul" input_player8_select = "nul" input_player8_select_btn = "nul" input_player8_select_axis = "nul" input_player8_start = "nul" input_player8_start_btn = "nul" input_player8_start_axis = "nul" input_player8_up = "nul" input_player8_up_btn = "nul" input_player8_up_axis = "nul" input_player8_down = "nul" input_player8_down_btn = "nul" input_player8_down_axis = "nul" input_player8_left = "nul" input_player8_left_btn = "nul" input_player8_left_axis = "nul" input_player8_right = "nul" input_player8_right_btn = "nul" input_player8_right_axis = "nul" input_player8_a = "nul" input_player8_a_btn = "nul" input_player8_a_axis = "nul" input_player8_x = "nul" input_player8_x_btn = "nul" input_player8_x_axis = "nul" input_player8_l = "nul" input_player8_l_btn = "nul" input_player8_l_axis = "nul" input_player8_r = "nul" input_player8_r_btn = "nul" input_player8_r_axis = "nul" input_player8_l2 = "nul" input_player8_l2_btn = "nul" input_player8_l2_axis = "nul" input_player8_r2 = "nul" input_player8_r2_btn = "nul" input_player8_r2_axis = "nul" input_player8_l3 = "nul" input_player8_l3_btn = "nul" input_player8_l3_axis = "nul" input_player8_r3 = "nul" input_player8_r3_btn = "nul" input_player8_r3_axis = "nul" input_player8_l_x_plus = "nul" input_player8_l_x_plus_btn = "nul" input_player8_l_x_plus_axis = "nul" input_player8_l_x_minus = "nul" input_player8_l_x_minus_btn = "nul" input_player8_l_x_minus_axis = "nul" input_player8_l_y_plus = "nul" input_player8_l_y_plus_btn = "nul" input_player8_l_y_plus_axis = "nul" input_player8_l_y_minus = "nul" input_player8_l_y_minus_btn = "nul" input_player8_l_y_minus_axis = "nul" input_player8_r_x_plus = "nul" input_player8_r_x_plus_btn = "nul" input_player8_r_x_plus_axis = "nul" input_player8_r_x_minus = "nul" input_player8_r_x_minus_btn = "nul" input_player8_r_x_minus_axis = "nul" input_player8_r_y_plus = "nul" input_player8_r_y_plus_btn = "nul" input_player8_r_y_plus_axis = "nul" input_player8_r_y_minus = "nul" input_player8_r_y_minus_btn = "nul" input_player8_r_y_minus_axis = "nul" input_player8_turbo = "nul" input_player8_turbo_btn = "nul" input_player8_turbo_axis = "nul" core_specific_config = "false" libretro_log_level = "0" log_verbosity = "false" perfcnt_enable = "false" |
Wie ihr seht, gibt es nicht nur Controller-Einstellung in der retroarch.cfg. Alle Möglichkeiten zu erklären würde den Rahmen sprengen, ich überlasse es daher eurem Forscherdrang, den Schaltern auf den Grund zugehen.
Ihr könnt übrigens auch einige der Sondertasten direkt mit retroarch-joyconfig zuweisen! Dazu müsst ihr nur den Parameter -M für viele oder -m für wenige Sondertasten mit angeben, also z. B. sudo ./retroarch-joyconfig -o player1.cfg -p 1 -j 0 -t 5 -M.
Ich habe vorhin erwähnt, dass die Werte aus der retroarch.cfg im Verzeichnis /opt/retropie/configs/all immer dann genommen werden, wenn für den jeweiligen Emulator keine eigenen Werte vorliegen. Ihr braucht nur mit cd .. aus dem all-Verzeichnis eine Ebene zurückgehen. Dort findet ihr dann unter /opt/retropie/configs eigene Unterordner für die unterschiedlichen Systeme. Möchtet ihr z. B. den NES-Emulator lieber mit GUIDE + Y verlassen, dann reicht es im nes-Verzeichnis in die dort befindliche retroarch.cfg die Zeile
1 |
input_exit_emulator_btn = "3" |
aufzunehmen. Alle anderen Einstellungen kommen aus der retroarch.cfg im all-Verzeichnis, nur die Taste zum Verlassen wurde überschrieben.
Ich hoffe ihr konntet nun eure Controller einrichten und habt ein paar neue Anregungen, was sich alles einstellen läßt, bekommen. Im folgenden Beitrag kümmern wir uns mal darum, wie man die einzelnen Emulatoren zum Laufen bekommt.
Hallo, ich habe ein RIESEN Problem.
Ich hab lange Zeit begeistert den Retro-Pie verwendet, um klassiker zu spielen. Vor kurzem kaufte ich mir dann den 3er und hab alles komplett neu aufgesetzt, konfiguriert usw.
Dann hab ich ein Zweites Gamepad angeschlossen und…
Das Pie speichert KEINE Konfiguration für die Steuerung mehr.
Im Menü kann ich scrollen, wenn ich Start drücke und manuell den Joypad eingebe ist alles OK… starte ich ein Spiel reagiert nichts mehr und ich muss den Pie Stromlos machen.
Verwendet habe ich bisher einen Xbox360 Kabelgebundenen USB-Kontroller. Dazu gekommen ist ein weißes Noname-Gamepad, das als Dragon angegeben wird und aussieht wie ein XBox360 Kontroller.
Was kann ich machen?
Zunächst eine Info am Rande:
Damit auch andere deinen Post lesen, wäre es evtl. besser, wenn du diesen unter RetroPie (V3.6): Controller einrichten verfasst hättest, dort geht es schließlich um den Pi 3 und das aktuelle RetroPie-Image. Da dieser Beitrag für ein sehr altes Image ist (der letzte Post hier ist fast ein Jahr als), wurde er archiviert und wird nur noch sehr selten aufgerufen (s. die ersten beiden Absätze).
Nun zu deinem Problem
Du solltest zunächst testen, ob das neue Pad alleine Funktioniert. Falls nicht, hat der Pi evtl. ein Problem mit dem Pad.
Hast du die beiden Pads nochmal über die RGUI eingerichtet? Vielleicht klappt die automatik aus der EmulationStation bei dieser Kombination nicht so gut.
Hast du noch deinen alten Pi? Laufen / liefen dort beide Pads problemlos?
Vielleicht bringt es etwas, den optionalen XBox-Treiber zu installieren oder falls du diesen verwendest, es ohne ihn zu versuchen.
Hallo, ich versuche seit Tagen heraus zu finden wie die Tastenbelegung von dem vorraus gestzten XBOX 360 Controller (siehe oben) die Tasten auf den mupen64plus mappt. Ich habe einen USB N64 Controller gekauft und würde gern die Belegung 1:1 auf die Originaltastenbelegung des N64 bringen. Aber die Namen der abgefragten Tasten über das Konfigurations-Menü der Emulationstation ergeben nur zum Teil Sinn für den N64 Emulator. Teilweise ist das Mapping auch ganz falsch. Gibt es eine Liste in der das Mapping steht? z.B. “Start Button auf XBOX360” = “Select Button in Mupen64Plus” um zu wissen welche Taste bei welcher Abfrage gedrückt werden muss. Gruß Mitch
Hallo,
ich finde deine Tuts klasse.
Ist es eigentlich möglich, für jeden Emulator ne andere Tastenbelegung auf dem Controller zuwählen? Wie kann man es einstellen, dass man beim neustart vom Pi die Controllereinstellungen festlegen muss?
Gruß
Marc
bei den standalone Emulatoren ist es eh getrennt, bei RetroArch kannst du, wie unter ‘RetroPie: Tipps & Tricks‘ erwähnt, für jeden Emulator eigene Einstellungen hinterlegen.
Falls du die Controllereinstellung für EmulationStation meinst, die Abfragen kommen immer dann automatisch, wenn es noch keine
es_input.cfg
gibt (sofern ich mich richtig erinnere, findest du die im Verzeichnis~/.emulationstation
).einfach wahnsinn! vielen lieben dank für die mühe!
endlich geht hier alles mit meinen zwei xbox controlllern!
vielen vielen dank!
Hallo,
erst einmal ein großes Lob für die Seite. Die Anleitungen sind echt klasse und ich ziehe meinen Hut, wie du allen hier Support leistest!
Damit komme ich auch direkt zu meiner Fragestellung.
Ich habe einen RPi2 an dem 2 XBox360-Wireless Controller per USB-Receiver angeschlossen sind. Dazu habe ich mich an deiner Anleitung für die V2.3 langgehangelt. Wie du selbst ja schon geschrieben hast, sind einige Pfade unter v2.6 leicht verändert worden.
Ich habe den ersten Controller im Setup-Up-Menü von RetroPie (“Register RetroArch COntroller”) eingestellt.
Was mich hier schon wundert: Zum Abschluss (beim Speichern der Einstellungen) zeigt die Meldung nicht, dass die Datei “Xbox360WirelessReceiver.cfg” angelegt/editiert wurde, sondern die Datei “XboxGamepad(userspacedriver).cfg” (oder so ähnlich). Das ist natürlich nicht weiter schlimm, aber es wundert mich, da in deiner Beschreibung die erstgenannte Datei verwendet wird, welche ich auch bei mir erwarten würde.
Darüber hinaus habe ich beide Controller mit “./retroarch-joyconfig -o /opt/retropie/configs/all/p1.cfg -p 1 -j 0” bzw. “./retroarch-joyconfig -o /opt/retropie/configs/all/p2.cfg -p 2 -j 1” konfiguriert.
Mein eigentliches Problem ist nun, dass mir nicht klar ist, wo und wie ich die “Guide”-Taste des Controllers zum Laufen bekomme. Ich würde gerne, wie du, die Taste parallel mit anderen Tasten nutzen um z.B. den Emulator zu beenden.
Wenn ich die Angaben (wie von dir beschrieben) in der retroarchj.cfg mache, hat dies leider keinen Effekt.
Eine weitere Frage für mein Verständnis: Sind alle wireless XBox-Controller in ihrer Tastenbelegung gleich? Das heißt, ist z.B. bei meinen beiden Controllern die “Guide”-Taste jeweils auch die „8“ wie bei dir? Gibt es eine Übersicht, welcher Button auf dem Xbox-Controller welche Nummer hat?
verwendest du den original Adapter von Microsoft?
Die Tasten sind nur einheitlich, wenn auch der Gerätename gleich ist. Da bei dir ein anderer Name verwendet wird, kann es sein, dass die Tasten abweichen. Bei
retroarch-joyconfig
werden dir doch die Button-Nr. angezeigt. Drück dort einfach mal die Guide-Taste, um festzustellen, welche Nr. diese bei dir hat.Ich werde evtl. am Sonntag eine überarbeitet Fassung der Controller-Einrichtung veröffentlichen, allerdings habe ich bisher noch nicht mal damit begonnen.
Hallo,
danke für die schnelle Rückmeldung. Ja, ich verwende den orginalen Adpater von MS.
Ok, das mit dem nicht standardmässigen Gerätennamen ist seltsam – aber dann ist das ja die Begründung, warum meine Buttons ggf. andere Nummern haben als deine.
Das mit dem Drücken der Taste und dadurch die Nummer herausfinden ist ein gute Idee! Soweit habe ich noch gar nicht gedacht! 🙂
Klasse, falls du Zeit hast die Anleitung am WE fertig zu machen, werden sich sicherlich einige Leute darüber freuen! Mich eingeschlossen!
Register RetroArch Controller
‘ eigentlich nie, daher weiß ich aktuell auch nicht, ob beim Image 2.6 dort ein anderer Name angezeigt wird. Außerdem lief der Controller, dank der neuen Konfigdateien, direkt ohne weiteres Eingreifen.Hi RetroGameGemeinde!
habe soeben eine Entdeckung gemacht, die für den einen oder anderen wichtig sein könnte.
In der neusten Version 2.6 bekomme ich den Player 2 nicht zum laufen.
ZB.: bei Donkey Kong werden zwar beide PS3 Controller mit #0 und #1 erkannt, aber im Spiel keine Reaktion. Heute habe ich das 2.2 Image installiert und sofort funktioniert es wieder. Egal ob Mortal Kombat oder DK!
Ich benutze das Raspberry Pi 1 B und hatte auch das 2.6 für die 1 installiert.
Grüße Ö
Hi,
wow, eine sehr informative Seite für RETRODADDLER .
Da ich nun auch mal mit nem RP ein Retrosystem aufbauen wollte, habe ich diese Anleitung genutzt und bin begeistert von dem kleinen Teil.
Die Anleitung verhalf mir schnell Erfolge zu erzielen.
Nun würde ich aber gerne eine Tastatur ( I-pac Encoder http://www.ultimarc.com/ipac1.html ) verwenden.
Ich habe daher die ” /opt/retropie/configs/all ” manuell nach meinen Wünschen angepasst.
Leider habe ich keine Änderung im Verhalten meiner Tastatur feststellen können. Bei Gamepads habe ich keine Probleme mit dem Einstellen.
Frage: Wie kann ich mein Keyboard nach meinen Tastenlayout konfigurieren?
in der
retroarch.cfg
gibt es z. B. für jede Controller-Funktion auch ein Tastatur-Gegenstück. Da fehlt dann einfach nur die Endung_btn
.Für den Controller…
input_player1_select_btn = "nul"
… und für die Tastatur…
input_player1_select = "nul"
Es sollte also reichen, dort den Tastaturcode zu hinterlegen, den das I-PAC zurückliefert.
Hi Jörn,
ich habe die Datei so wie du beschrieben hast abgeändert. Leider ohne Wirkung. Ich habe auch die” input_exit_emulator “Funktion auf die “C”- Taste gelegt, aber der Emu wird nur durch “ESC” beendet. Meine Änderungen haben keine Wirkung. Muss ich die Änderungen nur in der ” “opt/retropie/configs/all”, oder auch in einer anderen Datei durchführen?
es reicht in der von dir erwähnten Datei. Hast du das I-PAC zusätzlich zur richtigen Tastatur angeschlossen? Ist evtl. noch ein Hotkey (
input_enable_hotkey =
) für die Sonderfunktionen festgelegt?Allerdings kenne ich das I-PAC nicht, vielleicht muss man da noch mehr beachten.
Ok, auch ich gehöre zu denen die ihren Xbox360 controller nicht zum laufen kriegen. Ich habe deine Anleitung wort für Wort, Buchstabe für Buchstabe g enau so verfolgt.
Ich kann den Controller konfigurieren, die verschiedenen tasten zuweisen, aber ausserhalb der emulationstation funktioniert er schlicht nicht.
Im entsprechenden Ordner habe auch ich 2!!! order mit Namen RetroArch und retroarch. Ich weiss noch nichtmal welcher davon der richtige ist. in BEIDEN ordnern enthält die .cfg NICHT die entsprechenden einträge. Ich weiss nicht mehr weiter.
falls du die Funktion
317 Register RetroArch controller
(vorher 315) verwendest hast:Bei einem der letzten RetroPie-Updates wurde das Ziel-Verzeichnis anscheinend von
RetroArch
aufretroarch
geändert. Daher musst du in derretroarch.cfg
, den Pfad beijoypad_autoconfig_dir = /opt/retropie/emulators/RetroArch/configs/
anpassen, es muss jetzt alsoretroarch
lauten. Aber ansonsten funktioniert noch alles, wie beschrieben. Nach Anwahl des Punktes und dem Ausführen der Schritte, liegt eine Standard-Konfigdatei für den Controller im angegebenen Verzeichnis.Ich verwende grundsätzlich die manuelle Einrichtung (und die funktioniert noch wie beschrieben), daher fiel mir diese Änderung bisher nicht auf.
Hallo zusammen,
erst mal ein großes Danke, für Anleitungen wie diese welche selbst mir als Anfänger Mut machen loszulegen. =)
Ich stehe vor einem ähnlichen Problem, habe die aktuellste RetroPie Version , über ein Image installiert und wollte direkt beide Gamepads konfigurieren.
Wenn ich jetzt beim ersten Punkt einsteigen möchte , bekomme ich nach cd /opt/retropie/emulators/retroarch/installdir/bin immer die Meldung das diese Datei nicht existiert. Muss ich diese vorher irgenwie noch anlegen?
Gruß Daniel
Hi, danke für die Anleitung, funktioniert wunderbar – hab schon 2 Retropies am Laufen.
Eine Frage hab ich noch, kennst du eine Möglichkeit, die Hotkeys auf beiden Controllern zu nutzen?
Hallo Jörn,
ein gutes und super auführliches Tutorial das du hier zusammengezaubert hast. Dafür erstmal ein Lob.
Nun zu meinem Problem, egal welchen Controller ich installiere es funktionieren einfach keine Richtungstasten (weder digital noch analog).
Das ist bei dem PS3 und beim Xbox 360 wired Controller so.
Gehe ich vor so wie du es hier beschreibst werden nur die Pfeiltasten der Tastatur erkannt. Dazu kommt dass ich das Script zur Eingabe der Tasten prinzipiell selbst anstoßen muss denn nach dem Ausführen des Punktes “315 Register a RetroArch-Controller” wird beim ersten Mal erst ewig irgendeine SDL kompiliert. Wähle ich den Punkt noch ein mal wird mir nach einmaligen Druck auf Enter nur gezeigt dass ein cfg erzeugt wurde. Nix Tastenabfrage -_-
Hast du eine Ahnung wo hier der Fehler liegt?
RPi B+ 512MB
EmulationStation Image 2.3
lautet der Punkt 315 wirklich noch ‘Register a RetroArch-Controller’?
Mir wurde kürzlich mitgeteilt, dass sich dieser verschoben hat. Da die Beta fürs nächste Image bereits draußen ist, wollte ich mit der Anpassung warten, bis die neue Version offiziell erhältlich ist.
Ich empfehle dir, es mal mit der weiter unten beschriebenen manuellen Einrichtung zu probieren.
Gruß,
Jörn
Wirklich Top Anleitung – ohne Dich hätte ich das Gamepad schon lange in die Ecke gepfeffert!! Eine Frage bzgl. der Hotkeys: Kann mir evtl. Jemand den Code für “save state” und “load state” für die die retroarch.cfg geben-> Dankeschön!!
folgende Schalter könnten von Interesse sein:
input_load_state_btn = "2"
input_save_state_btn = "3"
input_state_slot_increase_axis = "+0"
input_state_slot_decrease_axis = "-0"
Damit wird beim XBox-360 Wireless mit Y gespeichert, X geladen, linker Stick links / rechts um die Slots durchzuschalten.
Es gibt noch mehr Schalter, such einfach mal oben in der Liste ‘
Alle? Schalter...
‘ (zum Öffnen anklicken) nach ‘state
‘.Perfekt:
“input_load_state_btn = “…”
Dankeschön
Hallo hab da ein Problem, wenn ich im NES emulator das Menü aufrufe und die Input Einstellung für meinen PS3 Controller ändere werden die irgentwie nicht gespeichert. Gibt es da noch einen Speicher Button den ich vieleicht übersehen habe? Im SNES oder GBA Emulator kann ich es speichern.
Vielen Dank =)
ich nehme an, du verwendest die Libretro-Emulatoren. Diese verwenden eigentlich eine einheitliche Logik. Die Einstellungen sollten in der
retroarch.cfg
des jeweiligen Emulators gespeichert werden. Zur Not kannst du diese dort auch manuell eintragen.HUHU! NUN habe ich auch einen Kleinen PI b+ 512
habe soweit auch wirklich alles wie hier beschrieben unternommen um ihn zum laufen zu bringen. Nur mein Logitech Controller F510 will nur im Menu arbeiten…….. Trotz config wie oben beschrieben und Manueller…… kann es sein das dieser Controller einfach nicht dafür geeignet ist? kann nur mit der Tastatur Ingame etwas machen.
Folgende Emus getestet::
SNES
NES
PORT
ich kenne den Controller zwar nicht, da er aber in der EmulationStation funktioniert, sollte er auch unter RetroArch laufen. Bisher waren bei allen Anfragen dieser Art ‘Bedienfehler’ der Grund, weshalb etwas nicht funktionierte. Es wurden Schritte falsch ausgeführt oder gleich komplett übersprungen.
Auch hier wäre ein Blick in die
retroarch.cfg
hilfreich. Falls du es also nicht hinbekommst, kannst du die Datei durchaus mal an die Mail-Adresse aus dem Impressum schicken.Erstmal vielen vielen Dank für deine schnelle Antwort!
Du musst wissen das ich ein absoluter Neuling in Sachen Raspberry und Linux bin. Ich greife via Putty auf Pi zu und weis leider nicht wie ich die retroarch.cfg rauskopieren kann….. dann könnte ich sie dir schicken.
Aber soweit ich das sehe stehen fast überall #-Zeichen vor den Befehlen, welche diese ja ausser Gefecht setzten……Danke nochmal im Voraus
Register RetroArch controller
aus derretropie_setup.sh
eingerichtet hast, dann sollte dieser sofort funktionieren. Die Zeilejoypad_autoconfig_dir = ...
in derretroarch.cfg
darf dann nicht auskommentiert sein und im angegebenen Verzeichnis muss sich eine Datei mit dem USB-Namen des Controllers befinden.Falls du das Joypad selbst über
retroarch-joyconfig
konfiguriert hast, dann müssten am Ende erretroarch.cfg
mehrere Zeilen stehen, die mitinput_player1_...
beginnen.Wirf mal einen Blick auf ‘RetroPie: Tipps & Tricks‘, dort wird auch beschrieben wie du WinSCP einrichten kannst, um Dateien direkt zum PC zu übertragen.
HUHU! also nach viel Hin und Her habe ich mich auch richtig in die Materie eingelesen und konnte das Problem lösen. Nach configurieren der Datei hatte er sie in den Falschen Ordner verschoben. Es existieren 2 Ordner mit den namen retroarch!
“retroarch” und “Retroarch”. habe nun die Logitech cfg in beide Ordner und siehe da ES KLAPPT!!!!
Trotzdem vielen vielen dank für die Hilfe. !!!!
daher mein häufiger Hinweis, dass bei Linux zwischen Groß- und Kleinschreibung unterschieden wird, der hatte schon seinen Sinn 😉 .
Aber am wichtigsten ist, dass es jetzt funktioniert.
Hallo! Auch von mir ein großes Danke für die tolle Anleitung! Dafür wollte ich jetzt auch etwas beitragen: Die Controller Einstellung für N64, falls sie nicht automatisch erkannt werden.
1. Schreibe dir deine Button Belegung raus
Falls du die Controller Anleitung oben gefolgt bist, findest du die Button Belegung unter (Tab Taste nicht vergessen):
cd /opt/retropie/configs/all
nano retroarch.cfg
2. Herausfinden unter welchem Namen die Gamepads erkannt werden.
Es gibt vielleicht einfachere Wege, aber ich bin in den Ordner:
cd /opt/retropie/emulators/mupen64plus-rpi/test
gegangen und habe die Test-Rom mit
./mupen64plus m64p_test_rom.v64
gestartet und mit Escape wieder verlassen. Anschließend sucht man die Zeile:
Input Error: No auto-config found for joystick named “Controllername” in InputAutoConfig.ini
Und schon hast du deinen Namen!
2. Öffne die Input Datei mit:
sudo nano InputAutoCfg.ini
Darin sind jetzt viele Controller vorhanden. Du suchst dir einen heraus, der von der Buttonanzahl her deinem ähnelt und kopierst den Text. Nur mit wenigen Änderungen: Der Name in den eckigen Klammern [Controllername] zu Beginn muss dem Namen aus Pkt. 2 entsprechen und du musst kontrollieren, ob die Button Belegung stimmt (siehe Pkt.1).
Anschließend noch mit
Strg. + x speichern
fertig!
3. Mehrere Controller:
Wenn es sich um idente Controller handelt, melden sich beide mit dem selben Namen beim Raspberry an und es sind keine weitere Einstellungen mehr nötig, Mupen erkennt beide automatisch.
Hi,
Ich bedanke mich auch für die gute Anleitung!
Ich möchte nur ein Gamepad verwenden und habe deine Anleitung auch bis zu den entsprechenden Einstellungen durchgeführt. Leider kann ich das Pad noch immer nicht in den Spielen verwenden (nur im Menü).
Hast du eine Idee, was ich noch einstellen könnte?
Mir ist auch aufgefallen, dass es anscheinend auch ein neues Update für das Skript gibt. Die Option Register RetroArch Controller ist jetzt auf der 317.
mit welchen Emulatoren hast du es denn probiert?
Wenn es RetroArch-Emulatoren sind, dann sollte der Controller nach ‘Register RetroArch Controller’ sofort funktionieren.
Bei Problemen kannst du nochmal versuchen, ob es eine Besserung gibt, wenn du die Einstellungen direkt in die
retroarch.cfg
aufnimmst.Danke für den Hinweis. Das kommt leider häufiger vor, ich werde es bei Gelegenheit anpassen.
Danke für den Tipp. Das direkte eintragen der Werte in die RetroArch.cfg hat geholfen.
PS. Ich hatte es mit SNES probiert.
Gern geschehen.
PS: Den doppel Post von 21:15 Uhr habe ich gelöscht.
Hi,
saugute Anleitung hast du da erstellt, Danke.
Ich hab noch eine Frage zu den “Hotkeys”.
Ich nutze 2 kabelgebundene XBox360 Controller und habe sie mit dem joyconfig-script gut zum laufen gebracht.
In der retroarch.cfg hab ich dann die Settings für Player 1 und 2 eingefügt und soweit klappt alles. Wie kann ich aber Hotkeys auf beiden Joypads nutzen – ich habe mir “Select+A” bspw. als “save state” gemacht und “Select+B” ist “load state”.
Ich habe in meinem Halbwissen einfach in der retroarch.cfg die Hotkey-zeilen einfach nochmal unter die Sachen von Player 2 getippt, was aber nicht zum Erfolg geführt hat.
Hast du da eine Idee, dass ich von beiden Pads aus Hotkeys nutzen kann?
das wird wohl nicht klappen. Die Hotkeys sind an keinen Spieler gebunden! Sie gelten für die Tastatur bzw. den ersten Controller.
Hallo
Super Anleitung erstmal
habe nur ein Problem:
Ich habe ein XBox Wireless Adapter mit zwei XBox Controllern und zusätzlich zwei kabelgebundene Controller.
Der XBox Adapter wird als 4 Controller erkannt(0-3).
Die anderen Controller werden automatisch als 4 und 5 erkannt.
Nun das Problem einige Emulatoren (z.B. SNES) können nur 4 Controller erkennen. Ich möchte die spiele aber mit 4 Controller spielen können.
Danke für die Antwort
Timo
der Joystick-/Controller-Index ist doch unabhängig von der Spieler-Nr., daher sollte das eigentlich kein Problem sein. Ich habe selbst aber nie mehr als zwei Controller angeschlossen.
Deine
retroarch.cfg
müsste also ungefähr so aussehen:input_player1_joystick_index = "0"
...
input_player2_joystick_index = "1"
...
input_player3_joystick_index = "4"
...
input_player4_joystick_index = "5"
...
Danke
Das hatte ich so auch gemacht.
Ich habe das Problem glaub ich gefunden. Der SNES Emulator kann entweder nur zwei Kontroller ansprechen oder ich habe nicht gefunden, wo ich einstellen kann das dem SNES vorgegaukelt werden soll, dass ein Kontrolleradapter angeschlossen ist.
MfG Timo
Eigentlich gibt es unter
libretro
einen Commandlineparameter-4
bzw.--multitap
dafür.
Hallo Jörn
ich bins wieder
hab mir Deine Anleitung durchgelesen und Step by Step umgesetzt aber beim Amiga blick ich nicht durch den du schreibst von einer installtion eines anderen Emulators wegen der Laufwerke aber wie mach ich das hast Du da eventuell einen Link oder ähnliches für mich. Und beim C64 seh ich auch nur das C64 Bild mit den Commandos und dann steht er! ich weiß nicht weiter
einen Download-Link habe ich jetzt leider nicht zur Hand, wie im Text erwähnt habe ich mir uae4all-rpi von einem alten RetroPie-Image kopiert. Musst einfach mal danach googeln.Hier findest du jetzt den uae4all-rpi Download. Habe es zwar noch nicht probiert, aber es müsste sich dann, wie im Text beschrieben, einfach auf den Pi kopieren (installieren) lassen.Was heisst, der C64 steht? Geht die Tastatur?
ich seh mehr oder weniger den Startscreen vom Game und keine Tasten funktioneren ist sicher nur ne Kleinigkeit aber ich hab echt keinen Plan denn bei allen anderen funkt alles einwandfrei
Na den Startscreen bei deinem Testspiel laut Anleitung seh ich aber er nimmt keine Tasten von der Tastertur bei den anderen Emulatoren funkts einwandfrei
Du hast aber schon gelesen, dass bei nicht RetroArch-Emulatoren, die Einstellungen im jeweiligen Emulator vorgenommen werden müssen? Dies gilt z. B. für fast alle emulierten Computer (u. a. den C64 und Amiga).
Hier hilft nur ein Blick in die Anleitung zum jeweiligen Emulator. Bei VICE kommst du übrigens mit
F12
in die Einstellungen.Hallo,
ich fine nirgends Infos wie man eine Ir remote (Empfänger an GPIO18) einrichtet. anscheinend haben 2 das laut verschiedenen Foren geschafft aber Infos wie haben se nicht gepostet.
Ist lidc überhaupt in retropie nutzbar? oder Emulation?
ich würd gern auch über Ir remote bedienen können, weil XBMC auch drauf kommt und ich nicht immer erst nen Controller nutzen möchte um in XBMC zu kommen.
Hat da jemand vielleicht ein Tutorial oder Infos oder ne webweite mit Infos?
Vielen Dank,
wolly
Hallöchen und erst einmal ein dickes Lob … wirklich super beschrieben. Leider habe ich immer noch ein Problem.
Ich komme einfach ums verrecken nicht ins rgui – Menu.
Normal sollte es ja schon über die taste f1 auf der Tastatur funktionieren, aber sogar dort funzt es nicht. Geschweige denn mit den Hotkeys. Ich probiere nun wirklich schon ewig rum aber ich bekomme es einfach nicht hin.
kann mir jemand helfen? Bzw. kennt noch jemand diese Problem?
wie sieht denn deine
retroarch.cfg
aus?Als standard ist für die Tastatur ESC als Hotkey und Exit zugewiesen, so klappt das dann mit der Menütaste natürlich nicht.
Kontrolliere dazu mal die Schalter
input_enable_hotkey
undinput_exit_emulator
.Hast du auch einen Controller eingerichtet?
Falls dafür der Schalter
input_enable_hotkey_btn
vorhanden ist, gilt der auch für die Tastatur! Sobald ein Hotkey vorhanden ist, gilt der immer. Bei zwei Hotkeys kann man sich übrigens aussuchen, welchen man verwendet.Zu guter Letzt kannst du mal
input_menu_toggle = "f1"
in dieretroarch.cfg
aufnehmen.Hi Jörn.
Erstmal eine Top Anleitung!
Hab aber ein Problem damit, den zweiten Controller einzubinden.
Kann zwar beide einstellen, aber nur mit einem Spielen.
Der Zweite wird im Spiel nicht erkannt.
Wenn ich diesen Punkt ausführe
“sudo cat /opt/retropie/emulators/RetroArch/installdir/bin/player*.cfg
>> retroarch.cfg”
Für beide Player, ändert sich in der retroarch.cfg nichts, sieht aus wie vorher.
Woran könnte das liegen?
Ist mein einziges Problem.
Danke für die Hilfe.
Gruß Viktor
kontrolliere / versuche doch mal folgendes:
retroarch.cfg
, wie oben beschriebenplayer*.cfg
Dateien wirklich vorhanden und gefüllt?retroarch.cfg
-Verzeichnis (/opt/retropie/configs/all
), wenn du dascat
ausführstHi, also die Zugriffsrechte hab ich schon öfters entfernt, weil ich auch dachte, dass es daran lag.
Aber in der retroarch.cfg sind die player*.cfg nicht befüllt.
Nur bei der Tastatur steht was, bei den anderen nichts.
Aber mit dem einem Controller kann ich ja spielen, da taucht aber keiner auf.
Und im richtigem Verzeichnis war ichauch.
Vergessen zu erwähnen, dass ich 2 unterschiedliche Controller verwende. Der eine ist von Logitech und der andere von Speedlink. Weiß nicht, ob es relevant ist
Zur Not kannst du mir auch mal deine
player*.cfg
und dieretroarch.cfg
schicken (eine E-Mail-Adresse findest du im Impressum)was mir noch nicht ganz klar ist:
Wie sieht der Inhalt der
player*.cfg
-Dateien aus? Stehen dort wirklich die benötigten Anweisungen drin?Falls ja, liegt das Problem beim
cat
, wenn nicht, dann läuft schon beiretroarch-joyconfig
etwas falsch.Also, hab alles nochmal von vorne gemacht und komischerweise hat es direkt funktioniert.
Auch in der player.cfg wurde dann was angezeigt.
Kanns mir beim besten Willen nicht erklären wie und warum.
Trotzdem danke dir 🙂
Dann noch viel Spass beim Daddeln.
Hallo,
für mich ist das alles etwas neu, bin zwar kein Anfänger, habe aber ein Problem. Ich habe das 2.3 Image auf einen B Modell drauf. Alles so weit ok, roms sind drauf und starten. Nutze einen XBox 360 Funk Controller, dieser funktioniert auch im Menü, wenn ich aber im Spiel bin z.B. Mario All Stars für SNES geht nur noch die Start Taste. Wo bekomme ich eine gute Anleitung her, wie ich das Ding einstelle. Oder hat jemand eine fertige config Datei, die ich per startx einfach auf dem Desktop erstelle. Danke
Wie wäre es mit der Anleitung von oben? 😉
Hi,
bei der Kommandozeile
“sudo ./retroarch-joyconfig -o player1.cfg -p 1 -j 0 -t 5”
wird bei mir “command not found” angezeigt.
Kann mir da geholfen werden?
Viele Grüße
Tibor
Hallo Tibor,
sofern du das aktuelle Image 2.3 verwendest, kann da eigentlich nur ein Tippfehler vorliegen oder du bist im falschen Verzeichnis.
Kontrolliere das zur Sicherheit am besten nochmal.
Sonst kannst du mir auch einen Screenshot, auf dem die Fehlermeldung zu erkennen ist, an die Mail-Adresse aus dem Impressum schicken, vielleicht kann ich da etwas erkennen.
Gruß,
Jörn
Ok…
Wer lesen kann ist klar im Vorteil 😀
Tut mir Leid
Hat jetzt geklappt gehabt 🙂
VG
Kein Problem, hauptsache es läuft… 😉
Ok
Ich danke dir für die schnelle Hilfe.
Mach weiter so !!!
Eine Frage hätte ich jedoch noch.
Ich habe jetzt als 1.Controller einen SNES-USB angeschlossen und der funktioniert soweit auch.
Einen 2. schließe ich nachher noch an und das sollte auch kein Problem sein soweit.
Jetzt habe ich allerdings noch einen USB-Adapter für 2xN64-Controller und würde diese gerne einrichten.
Kannst du mir da behilflich sein?
Viele Grüße
Tibor
…und wie kann ich genau behilflich sein?
Wo ist das Problem bzw. was hast du mit den vier Controllern vor?
Sobald ich den einen N64 Controller als 2.player konfigurieren möchte, gibt er mir ja die Tastenvorgabe für einen SNES Controller an.
Also Anfangs zumindest.
Gibt es eine Möglichkeit den N64 Controller genauer zu konigurieren?
Es werden immer die selben Tasten (unabhängig vom verwendeten Controller) abgefragt!
Die Abfrage geht immer alle Tasten durch, die RetroArch ‘kennt’.
Also ich möchte die SNES für den SNES Emulator benutzen und den Adapter mit 2 N64 Controller für den N64 Emulator.
Jetzt habe ich noch Probleme den N64 Emulator in Gang zu bekommen und den Controller den ich dabei habe einzurichten.
Ich gehe mal davon aus, dass du Mupen64 als N64-Emulator verwendest.
Der gehört nicht zu RetroArch!
Daher kannst du die Controller nicht über
retroarch-joyconfig
einrichten!Die Einstellungen müssen über den N64-Emulator erfolgen. Da mein XBox-Controller automatisch erkannt wird, kann ich aktuell nicht sagen, wo und wie man die N64-Pads einrichten kann.
Am besten schaust du mal in die Hilfe (gibt bestimmt eine readme-Datei) vom Emulator.
Hi.
Erstmal großes Lob an dich. Bin durch Zufall auf deine Seite gestoßen.
Ich habe mir eine acarde cabine gebaut, welche total chic aussieht. Bisher lief die alte Version der emulatorstation super. Dies hat mich auch viele Stunden gekostet 🙂 die Buttons sind mit einem ipac2 verbunden. Prinzipiell ist das wie eine tastatur.
Nun habe ich mal spaßhalber die neue Version installiert und alles erneut eingerichtet. Bisher läuft fast alles, außer dass ich für player2 die Taste k benutze. Wenn diese gedrückt wird ist man in einer Art pause und kann durch erneutes drücken ein Frame weiter schalten. Dies ist bei alles retroarch emulatoren so.
In der retroarch.cfg im Order /all ist aber die Zeile input_frame_advance = k durch eine # auskommentiert.
Hast du eine Ahnung ob man dies noch wo anders deaktivieren kann/muss?
Vielen Dank und beste Grüße 🙂
Hallo,
danke fürs Lob.
Eigentlich fällt mir nur die
retroarch.cfg
imall
und im jeweiligen Emulatorverzeichnis ein.Falls du magst, kannst du den Inhalt deiner
retroarch.cfg
ja mal posten und ich teste die bei mir.Danach kürze / bereinige ich den Kommentar aber wieder.
Gruß,
Jörn
Hi, vielen Dank für dein Angebot.
Leider ist dann der Post zu lang und ich bekomme eine Fehlermeldung 🙁
Ich erlaube mir mal dir eine Email zu schicken, anbei erhälst du auch ein Bild des Automaten, der mir schon ein paar schöne Abenden mit Freunden und einen Kasten Bier bereitet hat. 🙂
Hallo,
ich denke, nach 90 Min. weiß ich jetzt woran es liegt und habe gleich wieder etwas dazugelernt.
Auch wenn z. B. input_frame_advance auskommentiert ist, benutzt RetroArch die angegebene Taste. Wenn eine Taste nicht angegeben ist wird der Standard verwendet. Schau am besten mal ins RetroArch-Menü bei einem Emulator (dazu brauchst du noch input_toggle_menu).
Du hast nun zwei Möglichkeiten:
1. Alle ‘gefährlichen’ Tasten auf nul setzen z. B. input_frame_advance = nul
2. Einen Hotkey definieren z. B. input_enable_hotkey = escape. Damit kann der Emulator immer noch per ESCAPE verlassen werden, aber die ‘Sondertasten’ gehen nicht mehr.
Außerdem sind deine Tasten anscheinend nicht ganz korrekt:
RetroArch [WARN] :: Key name lalt not found.
RetroArch [WARN] :: Key name lshift not found.
RetroArch [WARN] :: Key name 5 not found.
RetroArch [WARN] :: Key name 1 not found.
RetroArch [WARN] :: Key name 6 not found.
RetroArch [WARN] :: Key name 2 not found.
Gruß,
Jörn
Mein Xbox-controller blinkt die ganze Zeit.
Hast du einen Tipp, wie man das abstellen kann?
Du kannst über das Setup-Script ‘
retropie-setup.sh
‘ den XBox-Treiber installieren und dann mitsudo nano /etc/rc.local
in die Zeilexboxdrv...
den Schalter--controller-slot 0
aufnehmen. Nach dem nächsten Neustart sollte nur noch eine LED leuchten.ACHTUNG:
Danach musst du das Gamepad nochmal komplett neu einrichten!
Ich habe das mal bei ‘RetroPie: Image Updates‘ erwähnt.
Ich bin schon einige Stunden am rumprobieren und bekomme es nicht zum laufen.
Ich habe den Treiber über die setup.sh installiert und dann die rc.local editiert.
http://www.directupload.net/file/d/3730/gpcjxfpr_jpg.htm
Ist das alles soweit richtig?
ohne das “rmmod xpad” passiert eigentlich nichts. Mit der Textzeile wird mein Controller gar nicht erkannt. Weder bei ES oder unter retroarch.
Was mache ich falsch? Bzw gilt die Einstellung dann für mehrere Xbox-Controller gleichzeitig?
PS: Ansonsten wird der Controller erkannt und ich kann mit ihm spielen. Jedoch funktioniert er unter SNES, aber unter SNE dann nicht mehr.
Als Erstes gibt es einen Tippfehler. Es sollte
--id
bzw.--wid
lauten, auf dem Bild sehe ich aber keine Minuszeichen vor derid
!Außerdem sollte die Zeile, wie im Kommentar erwähnt, nur ergänzt werden. Da scheinen noch einige Schalter zu fehlen, die bei der Installation eigentlich gesetzt werden.
So sieht es bei mir aus:
xboxdrv --controller-slot 0 --daemon --wid 0 --led 2 --deadzone 4000 --silent --trigger-as-button --dbus disabled --detach-kernel-driver &
Ich habe es heute früh mit dem Image 2.3 getestet, dort konnte ich auch noch auf das
rmmod
verzichten.Ich habs soweit nun hinbekommen.
Leider ist ein neues Problem aufgetreten.
Mein erster Xbox-Controller (Kabel) ist auf player1.cfg abgespeichert und der Guide-Button blinkt auch nicht.
Meinen zweiten Xbox-Controller(wirless) wollte ich auf player2.cfg speichern. Jedoch mir ein Wirless-Adapter und die cfg datei ist nun ohne Einträge.
Mein Porblem ist nun, dass die Spiele irgend wie über den die player2.cfg geladen werden und nicht über meinen ersten Controller.
Frage:
Wie kann ich einstellen, dass die Spiele über Controller1 geladen werden oder noch besser… wie kann ich alle Controller-Einstellungen zurücksetzen?
Eigentlich sollte die Einrichtung von zwei Controllern, wie oben beschrieben, klappen. Ob es Probleme mit zwei XBox-Pads gibt, kann ich aktuell nicht sagen, habs nie probiert.
Lösch bzw. überschreib die kopierten Zeilen wieder in der
retroarch.cfg
.ich verzweifel hier so langsam…
Ich habe nun das Image neu aufgespielt und unter setup.sh den Xbox-Treiber installiert. Nach dem Reboot leuchtet das Player1-Symbol am Gamepad.
Das Porblem:
Unter setup.sh empfängt er keine Tastendrücke bei der Controllereinstellung.
Installiere ich es unter
“sudo ./retroarch-joyconfig -o player1.cfg -p 1 -j 0 -t5” kommen die Tastenbefehle an.
Anscheinend wird nun mein Xbox-Controller als 2 Controller gleichzeitig erkannt. Die Spiele werden dann über XboxGamepad(userspacedriver)#2.cfg geladen, wo keine Eingabe möglich war.
Also kann ich derzeit in ES navigieren, aber nicht spielen.
So langsam weiß ich echt nicht mehr weiter…
Ich habe das eben einmal mit dem Image 2.3 durchgespielt…
1. Zum Test die beiden Controller, wie im Beitrag beschrieben, eingerichtet.
2. Mit Mario Bros. (NES) 2-Player-Spiel gestartet -> läuft
3. XBox-Treiber über
retropie_setup.sh
installiert.4.
rc.local
editiert, so sieht meine Zeile aus:xboxdrv --daemon --id 0 --led 2 --deadzone 4000 --silent --trigger-as-button --next-controller --wid 1 --led 3 --deadzone 4000 --silent --trigger-as-button --dbus disabled --detach-kernel-driver &
Hier habe ich gleich wieder etwas gelernt, auf
--controller-port
kann man verzichten! Die Zählung der--led
-Schalter beginnt mit 2 und damit leuchten die Segmente dann bereits.5. Die alten Einstellungen aus
retroarch.cfg
gelöscht!6. Für beide Pads, wie beschrieben, über
retroarch-joyconfig
eineplayer?.cfg
angelegt und zurretroarch.cfg
hinzugefügt.7. Beide Pads für die EmulationStation eingerichtet
8. Wieder ein 2-Player-Spiel mit Mario Bros. gestartet ==> LÄUFT
So ist der kabelgebundene Controller für Player-1 und der andere für Player-2.
Hat es eigentlich schon irgendjemand geschafft, die Controller der Xbox One per Kabel am Raspi zum Laufen zu bringen?
Mein Kommentar ist nur leider verschwunden, deswegen ein neuer Anlauf zu einem Problem bei mir mit zwei Controllern (SNES-Klon “USB Gamepad “).
Sorry, Doppelpost, bitte löschen!
Ein kleiner Hinweis, Kommentare müssen von mir manuell freigegeben werden!
Daher kann es einige Zeit dauern, bis diese für alle sichtbar werden.
Ich werde wohl mal schauen müssen, ob ich nicht einen Hinweis ins Kontaktformular einbauen kann. Du bist nicht der Erste, der sich wundert, wo sein Kommentar geblieben ist.
Edit:
Jetzt sollte beim Kommentar-Formular ein dezenter Hinweis sichtbar sein.
Absolut top!! Tausend Dank für die tolle Anleitung!
Ich habe ein Problem, bei dem du mir vielleicht helfen kannst:
Zwei Controller gleicher Bauart (SNES-Clone “USB Gamepad “) funktionieren leider nicht. Ich habe die retroarch-joyconfig für den ersten Controller problemlos durchführen können. Sobald aber das zweite Gamepad konfiguriert werden soll, wird kein Tastendruck erkannt. Ziehe ich Gamepad 1 ab, funktioniert es. Ich habe die Configs dann entsprechend in die retroarch.cfg kopiert.
Nach Spielstart funktioniert allerdings nur Controller #1.
Interessanterweise kann ich aber in der Emustation beide Controller parallel und einwandtfrei nutzen.
Irgendwelche Ideen?
Erstmal danke fürs Lob.
Direkt eine Idee zu den SNES-Pads habe ich leider nicht, versuche es aber trotzdem. Nimm es mir bitte nicht übel, wenn ich ganz banales ‘abfrage’.
retroarch-joyconfig
-p bei 1 und -j bei 0 beginnt?retroarch.cfg
aktuell aus?Hallo Jöre,
vielen Dank für den Hinweis. Es lag in der Tat exakt daran, dass bei der Verwendung von retroarch-joyconfig bei bei P2 der Parameter -j von mir nicht angepasst wurde. Das merkt man ziemlich schnell, denn der Controller 2 reagiert nicht.
Nun hat es geklappt! Vielen Dank für die schnelle Hilfe und mach weiter so! 🙂
Grüße,
ymdjackal
Hallo,
Ich komme bis zum Einstellen des Gamepads in RetroArch aber leider geht mir das zu Schnell ich weiss auch nicht genau welche Taste was ist. Ich habe ein Impact Gamepad ähnlich der PS2. Kann ich irgendwo nachlesen was nacheinerander abgefragt wird. Ausserdem ist bei mir Scheinbar der linke Bildschirmrand etwas abgeschnitten. MfG
Hi,
welche Taste du wofür verwendest, ist dir natürlich vollkommen freigestellt, ich würde mich die Einrichtung aber an der Belegung des XBox 360-Controllers orientieren (s. Bild).
Wenn du mehr Zeit bei der Abfrage der Knöpfe haben möchtest, dann richte den Controller (wie oben beschrieben) manuell ein. Dann kannst du mit dem Parameter
-t
die Zeit bis zum Timeout selbst festlegen oder durch Weglassen ganz deaktivieren.Was meinst du damit ‘scheinbar’ ist der linke Rand abgeschnitten? Fehlt da etwas oder nicht? Sind die Probleme bereits beim Booten sichtbar oder erst in der EmulationStation oder nur in bestimmten Emulatoren. Wahrscheinlich kommt dein Fernseher / Monitor nicht mit der gewählten Auflösung und Wiederholfrequenz klar.
Hallo,
Das mit dem Abgeschnittenen Rand hat sich nach einem neuen Boot erledigt, und ich konnten den Controller einrichten bei den X und Y Achsen hats mich aber noch ein bisschen geschleudert. Eine Frage hab ich da noch irgendwie bin ich mit Tastatur da mal in so ein Menü vom Emulator gekommen wo mann glaub ich die Auflössung Einstellen und den Emu beenden konnte komm da aber nicht mehr rein.
MfG
Hi,
da ich nicht genau weiß, welchen Emulator du meinst, gehe ich mal von einem aus, der zu RetroArch gehört.
Normalerweise kommst du mit
F1
in die Optionen, dies kann aber frei eingestellt werden. Kontrolliere dieretroarch.cfg
, obinput_menu_toggle
enthalten ist. Der Parameter darf nicht mit einer Raute#
auskommentiert sein! Dahinter steht die Menü-Taste (Standard= f1
). Außerdem solltest noch schauen, ob ein Hotkey zugewiesen wurde (egal ob für die Tastatur oder den Controller). Stehtinput_enable_hotkey
oderinput_enable_hotkey_btn
in der Datei, dann kannst du die Sonderfunktionen (wie das Menü) nur in Kombination mit der dort angegebenen Taste bzw. dem zugewiesenen Button auslösen.Hallo,
Kann mann auch die Hotkeys z.B. in der Player 1 zuweisen?
Weil bei gehen eigentlich die Beiden Gamepads nach erstellen der beiden Dateien nur habe ich ich nichts in der Retrarch.cfg geändert deswegen werden wohl die Hotkeys nicht gehen. Verstehe ich das Richtig das Retroarch sich die Gamepad belegung von der z.B. Player 1 holt? Jetzt meine Frage kann ich auch in der Player1 die Hotkeys einfügen das wäre doch wohl der elegantere Weg falls ,mann mal das Gamepad wechselt oder so müsste mann nichts in der Retroarch ändern. Falls die nicht möglich ist muss mann dann beide Player in die Retroarch einfügen oder nur einen (Falls mann nur bei einem Hotkeys benötigt?
Hallo,
Nun geht alles 🙂
ich hatte allerdings Probleme mit den Hotkey weil mir bei deiner Anleitung nicht bei allen Befehlen die Unterstriche Dargestellt wurden. Da flog ich bei Roms raus wo ich die Starttaste brauchte.
MfG Und danke für deine Anleitung
Dass alles läuft ist ja schon mal schön.
Mich irritiert aber, dass du die Unterstriche nicht sehen / erkennen kannst.
Hier mal ein Screenshot, wie es bei mir aussieht (Win 7 & aktueller Firefox).
Die Unterstriche sind zwar dicht am Rahmen, aber ich finde man kann sie noch gut erkennen.
Sollte es bei dir anders sein, dann wäre eine Info, womit du dir die Seite ansiehst (System & Browser) und evtl. ein Screenshot hilfreich. Den könntest du einfach an die E-Mail-Adresse aus dem Impressum schicken.
Hallo,
Ich habe Probleme beim beenden des C64 Emulators auf dem Retropie.
Jedesmal wenn ich ein Game über “Quit emulator” verlasse, wird der Bildschirm schwarz und nichts geht mehr, hmm?
Grüße Fakah
Hi,
ist zwar kein Trost, aber das geht mir ebenso.
Es scheint noch irgendwo zu haken, beim Game Gear passiert es übrigens auch.
Falls ich etwas herausfinde, poste ich es hier.
Gruß,
Jörn
Vielen Dank für die Anleitung!!!
Ich habe jedoch noch eine Frage, mein Setting ist:
– 2x SNES Gamepads
– Competition Pro
– USB Wireless Keyboard
Bei den Spielen wird nun leider meist ein SNES und das Keyboard als Controller erkannt. Wie kann ich festlegen was bei welchem Spiel genutzt werden soll?
Wie oben erwähnt, kannst du über die lokalen
retroarch.cfg
-Dateien, die Einstellungen für die einzelnen Emulatoren vornehmen. Damit kannst du z. B. beim VCS2600-Emulator für Spieler-1 den Competition Pro, statt dem SNES-Pad einstellen.Ok danke erstmal für die Hilfe, werde es wohl schweren Herzens testen es sei ich finde hier noch eine SD karte. Da das Scrappen mir soviel zeit gekostet hat das ich diese Version nicht gleich platt machen möchte. Melde mich nochmal wenn es geklappt hat. Gruß Jens
Hallo Jens,
ich teste es gerne, falls du keine zweite SD-Karte hast oder schaue nach wo die Datei liegt, in der Mame die Einstellungen speichert. Dann musst du nicht neu ‘scrapen’. Wird aber wie gesagt wohl erst morgen etwas, musst dich also nur ein wenig Gedulden….
Hallo Jörn es hat tatsächlich geklappt, hatte noch eine kleine 8gb micro sd mit Adapter. Er behält die Änderungen, glaubt einem bestimmt keiner wenn man sich über so ein kleinen Erfolg freut. Werde alles nochmal neu aufsetzen aber lohnt sich dafür. Und dann befolge ich den Rat Don`t touch a running System.
(Muss sagen unter StartX finde ich die emus im Filemanager nicht)
Danke dir für deine Hilfe.
Gr Jens
Hallo Jens,
dann hat sich das ja geklärt.
Denk daran, dass du mit dem Win32DiskImager auch ein Backup deiner SD-Karte anfertigen kannst. So kannst du Updates erstmal testen und bei Problemen wieder zurück zu ‘alten’ Version.
Hi, verzeih mir eventuell die naive frage. Mein Problem ist Mame und seine sonder Bottons Start und Coin. Mit Tastatur kann ich während des Spiels dies vergeben aber es speichert es natürlich nicht ab. Ich Spiele mit einem Snes Pad per Adapter. Vielleicht hast du ein Tip würde mich freuen.
Hallo, vielleicht verstehe ich dich ja falsch, aber bei mir werden die Gamepad-Tasten gespeichert.
Ich habe übers Menü von Mame unter
Input (general)
für Coin 1 / Start 1 und andere Funktionen, Tasten meines XBox-Controllers zugewiesen. Diese sind auch nach jedem Neustart wieder aktiv.Hallo Jörn, ja das ist komischerweise mein Problem bei der Vergabe bleibt es in dem Moment wo ich es spiele aber starte ich das System neu sind die vergaben wieder raus. Kann es sein das da Schreibschutz rechte drin sind.Bin schon richtig am verzweifeln.Dank erstmal für die Antwort.Aber über Input (general) geb ich die tasten schon ein.
Schreibrechte kann natürlich sein, da habe ich auch schon gedacht.
Wie sieht deine Installation denn aus? Verwendest du RetroPie oder nur einen Mame-Emulator? Falls RetroPie vorhanden ist, wie wurde es installiert Image oder ‘manuell’ und welchen Mame-Emulator nutzt du (ich glaube bei älteren Images gab es zwei (AdvanceMame und Mame4ALL)?
Ich habe es gestern mit einer frischen RetroPie-Image 2.3 Installation probiert.
Hi, ich hatte unter petRockblog noch das 2,2 auf einem Raspberry auf eine SD installiert. Also eigentlich ganz Anfängerhaft wie ich auch einer bin.Benutze RetroPi.Hatte das Image mit Win32DiskImager installiert.
Da das Image 2.3 ein Bug-Fix-Release ist, kann es natürlich sein, dass unter 2.2 irgendwelche Schreibrechte gesetzt waren (schließlich wurde dort auch Netzwerkverbindungen zu nicht existierenden Ordner angeboten).
Ich habe zwar noch eine Karte mit dem 2.2 Image rumliegen, komme aber frühestens Morgen dazu dies zu testen. Am einfachsten wäre evtl. eine Neuinstallation, mit dem aktuellen Image.
Absolut “idiotensichere” Anleitung! Einfach top! Selbst mir als erfahrener Retropie-Bastler waren ein paar Befehle und Schritte noch unbekannt!