Zlika / theodore

Libretro core for Thomson MO/TO emulation / Core Libretro pour l'émulation des ordinateurs Thomson MO/TO.
GNU General Public License v3.0
16 stars 24 forks source link

[Question] Charger un .rom et un .k7 #38

Open windsor75 opened 2 years ago

windsor75 commented 2 years ago

Bonjour,

J'essaie de lancer le jeu Enigmatika sur TO7. Ce jeu nécessite une cartouche Memo 7 (.rom) à la place de Basic 1 en plus du fichier .k7 (testé sur un autre émulateur)

Sur theodore, si je lance la k7 je ne peux pas lancer le jeu. Si je lance le .rom (en forçant le TO7 sinon theodore lance un TO8), je peux lancer le jeu mais celui-ci demande ensuite la k7. Je ne peux pas permuter sans relancer le core. J'ai à tout hasard tenté de créer un .m3u mais RetroArch ne démarre pas (je suis en ligne de commandes)

J'ai regardé dans les options du core si on pouvait override Basic 1 avec Memo7 mais sans résultat.

Du coup je voulais savoir si je ratais quelque chose ou si cela n'était pas possible,

Merci

Zlika commented 2 years ago

Bonjour. Ce n'est malheureusement pas possible actuellement. Je n'étais pas tombé pour l'instant sur un cas comme celui-ci. Je vais y réfléchir, mais même au niveau de retroarch je ne sais pas comment gérer un jeu qui nécessite 2 fichiers en même temps. A creuser, je suis preneur de suggestions, voir pourquoi pas de pull requests :-)

windsor75 commented 2 years ago

Alors en terme de dev je suis plus que très limité :D

Là comme ça je verrais ça dans les options du core, une entrée ou par défaut ce serait le Basic 1 / 128 / etc. comme actuellement et qu'on pourrait surcharger via un fichier .rom à choisir. Je m'étais même dit que les fichiers .rom pourraient être dans un sous-rep "moto" dans "systems" avec les bios. A l'utilisateur de sauvegarder ça dans une config propre au jeu

Après je sais pas si tout ça est simple et respecte la logique de RetroArch

Zlika commented 2 years ago

Je ne pense pas qu'une option d'un core puisse être utilisée pour afficher un explorateur de fichiers et sélectionner un fichier. Comme indiqué en commentaires dans libretro.h "The number of possible options should be very limited, i.e. it should be feasible to cycle through options without a keyboard". L'option M3U est intéressante mais sémantiquement le M3U est fait pour gérer un jeu multi-supports où on peut passer d'un support à l'autre au cours du jeu. Là c'est un peu différent, c'est 2 supports qui sont utilisés en même temps. Une autre option évoquée dans libretro.h est de récupérer le nom du fichier chargé pour détecter si un autre fichier "compagnon" est disponible ("Contains the canonical name/ID of the content file (UTF-8 encoded). Intended for use when identifying 'complementary' content named after the loaded file - i.e. companion data of a different format (a CD image required by a ROM), texture packs, internally handled save files, etc."). ça serait sans doute le plus simple à gérer côté émulateur, mais cela nécessite une convention de nommage ce qui n'est pas pratique ni intuitif pour l'utilisateur. Bref je n'ai pas d'idée géniale pour l'instant... :-)

windsor75 commented 2 years ago

Oui je comprends :)

Merci en tout cas pour tes investigations, si j'ai une idée lumineuse j'en ferai part ici :)