Raspberry Pi 4

For information, Recalbox IS NOT compatible with Raspberry Pi 4 yet.
Pour information, Recalbox N'EST PAS encore compatible avec le Raspberry Pi 4.

The Recalbox Team.

[Tuto] Les Surcharges, mais avec vous


  • Tester

    Bonjour, pour la sortie de la 6.1, une nouvelle fonctionnalité a vu le jour : les surcharges.

    Une surcharge, c'est un fichier de configuration, similaire au recalbox.conf, ou bien au retroarch.cfg, ou encore au retroarch-core-options.cfg, mais qui se rajoute à la fin du fichier de configuration concerné au lancement de l'émulateur, c'est à dire que il rajoute ou modifie des informations, mais que pour le dossier, ou le jeu, concerné. Pour plus d'informations, voir cette page: Surcharge de configuration

    Cependant, les clefs ne sont pas forcément intuitives, du coup, je pensais faire un petit topic avec des exemples de clefs pouvant être surchargées, et où on pourrait se partager des configs que on a fait, donc si vous avez une configuration à partager, n’hésitez pas ^^ (précisez quand même le contexte du réglage, que on essaie pas d'activer des options d'un core alors que on en utilise un autre).

    Je commence

    fichier .recalbox.conf

    Pour le .recalbox.conf, on pourra noter la plupart des clefs de systèmes, telles:

    • snes.videomode= le mode vidéo, pratique pour lancer certains jeux arcade dans une définition choisie
    • snes.emulator= L'émulateur, pour si un jeu particulier à un soucis avec l’émulateur par defaut
    • snes.core= le core, même usage
    • snes.shaders= le chemin du shader en .glslp
    • snes.ratio= le ratio, comme 16/9, 4/3, ou coreprovided par exemple
    • snes.smooth= 0 pour faux, 1 pour vrai
    • snes.rewind= 0 pour faux, 1 pour vrai
    • snes.autosave= 0 pour faux, 1 pour vrai
    • snes.integerscale= 0 pour faux, 1 pour vrai

    Fichier .retroarch.cfg

    Pour le fichier .retroarch.cfg, les possibilités sont très variées, cependant certaines options restent accessibles.

    • input_overlay_enable = "false" (pour désactiver l'affichage d'un overlay si besoin)

    • audio_volume = "0.000000" (pour régler le volume d'un jeu ou d'un système, pour ma part, j'ai augmenté la master system par exemple)

    • custom_viewport_width = "735"
      custom_viewport_height = "675"
      custom_viewport_x = "272"
      custom_viewport_y = "25"
      (pour régler l'affichage dans le cas d'un aspect ratio custom, pratique pour tester des overlays personnalisés)

    • video_message_pos_x = "0.21640625"
      video_message_pos_y = "0.0847222222222222"
      (pour régler l'endroit ou afficher les messages retroarch, utilisé la aussi pour la conception d'overlays)

    • savefile_directory = "/recalbox/share/saves/gb"
      savestate_directory = "/recalbox/share/saves/gb"
      (pour changer l'endroit ou charger et sauvegarder les jeux, ainsi que les savestates, la seule utilité que je voie actuellement serait pour rejoindre deux systèmes au niveau des sauvegardes dans le but de simplifier un échange pokémon pour la game boy et game boy color,, mais c'est pour montrer un exemple de surcharge possible)

    Le fichier .core.cfg

    Celui-là n'est pas évident, cependant on peut aller chercher des informations du côté de la doc libretro, ainsi en regardant sur la page de TGBDual pour game boy, aux core options on peut voir des exemples de clefs.

    Ainsi, dans le cas de TGBDual, on peut imaginer faire un sous-dossier Gamelink pour le dossier gb, qui contiendra les réglages pour un mode 2 joueurs de base, dans lequel on aura forcé l'usage de tgbdual avec un .recalbox.conf contenant

    • gbc.core=tgbdual

    mais pour avoir tous les réglages, il nous faudra rajouter un .core.cfg qui va rajouter les options de core necessaire :

    • tgbdual_audio_output = "Game Boy #1"
    • tgbdual_gblink_enable = "enabled"
    • tgbdual_screen_placement = "left-right"
    • tgbdual_single_screen_mp = "both players"
    • tgbdual_switch_screens = "normal"

    De la même manière, on peut vouloir, sur master system, désactiver le son FM pour un jeu en particulier (R-Type (World).zip par exemple) utilisant le core genesisplusgx, pour cela, il suffira de mettre dans un fichier R-Type (World).zip.core.cfg :

    • genesis_plus_gx_ym2413 = "disabled"


  • Ok, je commence avec un cas concret :

    Je veux utiliser le shader qui redonne l'effet verdâtre de l'écran de la game boy, mais je ne veux pas de shader sur d'autres systèmes et je veux que ce réglage reste en cas de fresh install.

    Je crée un fichier vide que je nomme .recalbox.conf

    Je l'ouvre avec un éditeur de texte et je met la ligne suivante :

    gb.shaders=/recalbox/share_init/shaders/dot-green.glslp
    

    J'enregistre, puis je copie ce fichier dans le dossier des roms game boy.

    Et c'est tout!

    En cas de réinstallation complète, si bien sur vos roms sont sur support USB, cette configuration sera gardée !

    Merci à @Chriskt78 pour cette astuce.

    À vous !


  • Staff
    Moderator
    Team

    @Fishou si tu veux completer la doc et/ou les exemples sur gitbook, surtout n'hesite pas ;)


  • Tester

    @noktambule said in Surcharges, mais avec vous:

    Ok, je commence avec un cas concret :

    Merci à @Chriskt78 pour cette astuce.

    À vous !

    Je retransmets, merci à @Fishou pour cette astuce ;)


  • Tester

    Un autre qui peut être pratique, dans un .retroarch.cfg, pour pivoter les écrans:

    video_rotation = "0"; si 0 (orientation normale) si 1( pivoté à 90°), si 2 (pivoté à 180°), si 3 (pivoté à 270°)
    video_aspect_ratio = "1.000000" ; aspect ratio du jeu une fois pivoté, laisser sur coreprovided ne changera pas le ratio en pivotant
    aspect_ratio_index = "20"; si 20, défini l'aspect ratio sur "Config", et donc appliquera le video_aspect_ratio donné

    Si il y a moyen de définir l'aspect ratio automatiquement, ça serait super pour l'arcade.



  • @Bkg2k Merci pour cette option fantastique qui risque de ne pas être utiliser par le grand public mais tellement utile pour les pointilleux qui veulent modifier ou améliorer leurs expérience sans mettre le bazar dans le system (c'était surement l'idée).


  • Staff
    Moderator
    Team

    @secamfr C'etait exactement l'idée ;)



  • Exemple de surcharge pour utiliser deux romsets mame différents :

    0_1569779986231_Sans_surcharges.jpg

    0_1569780043751_Avec_surcharges.jpg

    Merci à @Archangel54 pour son super boulot !


  • Tester

    Les surcharges concernant le fichier recalbox.conf si elles sont "générales" n'ont que peu d’intérêt, comme par exemple changer l’émulateur d'un système, dans le recalbox.conf la modif suffit (le shader uniquement pour la gb par exemple),
    par contre les config jeu par jeu ou bien comme montré pour le gb link c'est parfait


  • Staff
    Moderator
    Team

    @cissou Ca depend. En cas de partage des jeux sur NAS ou sur disque dur baladeur, ça permet de ne pas avoir à configurer les Recalbox individuellement.



  • Génial ça, ça laisse effectivement pas mal de possibilités.
    Pour l'exemple de MAME plus haut en image, il n'y a pas besoin de spécifier du coup dans la conf le chemin ou sont les roms du romset MAME 2003 et 2010, la surcharge de conf s'applique d'elle même dans le sous répertoire correspondant c'est bien ça?


  • Tester

    @bkg2k ah oui j'avais pas pensé à ça


  • Staff
    Moderator
    Team

    @kintao Oui c'est ça :)



  • @kintao oui, à noter qu'il est aussi possible de faire une surcharge de conf. qui ne s'applique qu'à une Rom donnée, en incluant son nom de fichier dans le nom du fichier de conf (voir documentation)



  • Ok merci a vous deux ;)



  • En regardant la documentation, je tombe la dessus :

    vice, qui émule maintenant le C64, le PET, le Vic20, le CBM2, ...

    Personne en à parlé ??? Maintenant je cherche comment paramétré ça car il n'y a aucun exemple pour Vice juste pour Theodore...
    Configuré un folder pour un Atari STE me parait intéressant aussi si quelqu'un à les bonnes commandes à mettre dans le fichier conf ?


  • Staff
    Moderator
    Team

    @secamfr Alors il faut avouer que pour les cores ça peut ne pas être evident à trouver...

    Chaque core utilise ses propres réglages pour émuler les sous-systèmes. Et ça ne correspond pas toujours à ce que Retroarch affiche dans les options du core.

    Les seules méthodes est:

    • soit d'aller voir dans les source de l’émulateur quelle est l'option et quelles sont les valeurs possibles.
    • soit de lancer le core sous RA, changer la machine, sauver la conf core et aller la dumper pour voir quelle option à bougé à quelle valeur.
      Ce n'est pas forcement une operation facile et si des personnes le font, j'espère qu'elles partageront leurs fichiers ici ;)

    Par contre, dans le cas précis de VICE, c'est un peu different. Vice se décline en X cores differents, chacun spécialisé dans une machine. Et depuis la 6.1, tous les cores de vice sont compilés et inclus:

    # ls -la /usr/lib/libretro/vice*
    -rwxr-xr-x    1 root     root       3563032 Sep 22 10:54 /usr/lib/libretro/vice_x128_libretro.so
    -rwxr-xr-x    1 root     root       2981496 Sep 22 10:54 /usr/lib/libretro/vice_x64_libretro.so
    -rwxr-xr-x    1 root     root       2913424 Sep 22 10:54 /usr/lib/libretro/vice_x64sc_libretro.so
    -rwxr-xr-x    1 root     root       1940192 Sep 22 10:54 /usr/lib/libretro/vice_xcbm2_libretro.so
    -rwxr-xr-x    1 root     root       2073324 Sep 22 10:54 /usr/lib/libretro/vice_xpet_libretro.so
    -rwxr-xr-x    1 root     root       2066832 Sep 22 10:54 /usr/lib/libretro/vice_xplus4_libretro.so
    -rwxr-xr-x    1 root     root       2168464 Sep 22 10:54 /usr/lib/libretro/vice_xvic_libretro.so
    

    Donc dans le cas précis de Vice, il suffit d'utiliser une surcharge recalbox.conf par sous-repertoire dédié a une machine, comme par exemple pour le VIC20:
    c64.emulator=libretro
    c64.core=vice_xvic

    Attention cependant au scrape pour ces sous-machines. Dans le cas des TO/MO, vu qu'il n'y a qu'un système dans ScreenScraper et que les machines diffèrent très peu, ça ne pose pas de soucis.
    Dans le cas du C64 par contre, avec skraper, il faudra ajouter les systèmes à la main et lui donner les sous repertoires manuellement, car les systèmes 8bit de commodore sont tous séparés dans la base ScreenScraper.



  • @Bkg2k Merci pour toutes ces informations, je vais me débrouiller avec les core Vice, par contre j'ai essayer avec Hatari (atari ST), il écrit des informations dans le fichier retroarch-core-options.cfg et dans hatari.cfg, j'ai beau reprendre certaine ligne pour le passer en STE (changer le tos notamment) mais rien n'y fait...

    A tu eu le temps de regarder pour l'Atari 800/5200 ?


  • Tester

    Il y a une nouvelle page sur le gitbook pour les surcharges des .retroarch.cfg, avec les clefs pouvant être affectées juste ici.

    Pour les options des .core.cfg par contre, faudra que je regarde de plus près, car elles sont propre aux cores utilisés, mais par exemple, si vous voulez désactiver le flickering sur la master system, le core genesisplusgx le permet avec l'option genesis_plus_gx_no_sprite_limit = "enabled" dans un .core.cfg, ce qui offre un rendu sans la limitation de 8 (je crois?) sprites par ligne horizontale, visuellement ça donne ça:

    de base: https://www.youtube.com/watch?v=QDCqgwWaWAg

    avec l'option: https://www.youtube.com/watch?v=uqq9HEHDPQ0

    Cependant attention, des modifs dans un .core.cfg sont enregistrées à la fermeture du jeu, donc si vous appliquez cette valeur sur le dossier de la master system, il sera présent la prochaine fois que vous lancerez genesisplusgx sur megadrive, à moins de surcharger là-bas aussi avec une autre valeur.



  • @fishou ah oui, j'avais pas pensé aux emulateur qui font plusieurs systèmes.

    Ça le fait aussi si la surcharge ne s'applique qu'à un jeu donné ?


Log in to reply
 

Want to support us ?

246
Online

61918
Users

18645
Topics

140072
Posts

Looks like your connection to Recalbox Forum was lost, please wait while we try to reconnect.