FCare / Kronos

Kronos is a Sega Saturn emulator.
http://fcare.github.io
235 stars 23 forks source link

[ST-V] Problème des bios spécifiques #345

Closed barbudreadmon closed 4 years ago

barbudreadmon commented 6 years ago

Port libretro

Exemple : diehard

Le jeu a besoin du bios "epr-17952a.ic8" (bios us), si celui-ci est dans l'archive "diehard.zip", le jeu fonctionne, si celui-ci n'est présent que dans l'archive "stvbios.zip" le jeu ne fonctionne pas (le fichier est bien présent en tant que BIOS_BLOB dans stv.c). Idéalement il faudrait que le fichier "epr-17952a.ic8" présent dans stvbios.zip soit utilisé.

BenjaminSiskoo commented 6 years ago

@barbudreadmon

Port windows :

C'est pareil sur le port Windows. Comme tu l'as signalé, il est bien présent dans le stv.c mais n'est pas activé. Quand François a bossé sur le STV. Il n'a pas eu le temps de tout faire. Il a crée une "fonction" par exemple pour que le joueur 1 soit pris en compte. Pour le bios, je pense qu'il est possible de faire un système dans le même style (mais là c'est un peu en dehors de mon champ de compétence). François est plus à même de t'en dire plus.

Par contre je testerais aussi de mettre le bios dans le zip du jeu.

barbudreadmon commented 6 years ago

Dès que j'ai un peu de temps cette semaine, j'essaie de voir si je ne peux pas trouver une solution au problème.

BenjaminSiskoo commented 6 years ago

@barbudreadmon

Ca serait super :)

Normalement quand tu as toutes les roms STV, je pense que tu devrais aussi avoir ce problème sur le port libretro : https://github.com/FCare/Kronos/issues/333

barbudreadmon commented 6 years ago

@BenjaminSiskoo Pas de gamelist.sav dans le port libretro, j'interroge simplement la fonction STVGetSingle avec le zip fourni pour récupérer un "id" de jeu https://github.com/FCare/Kronos/blob/9b3ffce6774950eae1ca55ab37e787fd3b52378f/libretro/libretro.c#L1147-L1148

Si l'id reste à -1, je considère que c'est un jeu saturn, sinon je considère que c'est un jeu ST-V et je lance YabauseInit avec les valeurs suivantes https://github.com/FCare/Kronos/blob/9b3ffce6774950eae1ca55ab37e787fd3b52378f/libretro/libretro.c#L1189-L1195

BenjaminSiskoo commented 6 years ago

@barbudreadmon

Le fonctionnement semble simple :) En tout cas les explications sont claires :)

BenjaminSiskoo commented 6 years ago

@barbudreadmon

J'aimerais bien tester kronos sur RA. Seulement j'ai le message Failed to load content. J'ai=pu lancer qu'une fois un jeu et depuis j'ai ce message d'erreur. Aurais tu une idée ?

barbudreadmon commented 6 years ago

@BenjaminSiskoo Tu as mis les bios ? Dans ton dossier retroarch, tu as normalement un dossier system, crée un sous-dossier kronos dedans et place tes 2 bios dedans (saturn_bios.bin et stvbios.zip). J'empêche les jeux de se lancer si le bios du système concerné est absent (au début je passais en mode HLE automatiquement si saturn_bios.bin était absent, mais j'ai arrêté çà car çà pose plus de problème que çà n'en résout)

BenjaminSiskoo commented 6 years ago

@barbudreadmon

Je l'avais pas fait. Je viens de le faire et pas mieux. Je suis sous Windows 10 - 64 Bits.

biosra

PS : je viens de tester les jeux STV, même problème.

barbudreadmon commented 6 years ago

Ok, ce qui m'aiderait ce serait que tu exécutes çà en ligne de commandes avec -v (mode verbose), l'erreur est surement détaillée. La commande complète serait donc : path/vers/retroarch.exe -v -L path/vers/kronos_libretro.dll path/vers/iso

BenjaminSiskoo commented 6 years ago

@barbudreadmon Tu as un mail que je puisse t'envoyer le log, mais via la ligne de commande le jeu s'est lancé. Sinon je suis sur le discord libretro ce serait encore mieux pseudo Benjamin Siskoo

barbudreadmon commented 6 years ago

Ok, donc ce serait plutôt un problème d'utilisation de l'UI. Hmmm je t'avoue que ce n'est pas un truc que je maîtrise, je passe presque exclusivement par la ligne de commande. Donc de mémoire :

A partir de là, quand tu vas faire "Load content" dans le menu de départ, je pense qu'il va te proposer Kronos quand tu lui demandes d'ouvrir un jeu.

Après je sais qu'on peut créer des listes ou même utiliser une interface qt, avec des jolis vignettes et ce genre de chose, mais c'est quelque chose que je ne connais pas du tout, il faudra plutôt suivre des tutos (j'imagine qu'il y en a ?) pour çà.

BenjaminSiskoo commented 6 years ago

Merci :)

Je sais pas le passage via la ligne a du le débloquer (à moins que le fait de l'avoir mis à la racine de C:\ le fait fonctionner, il a peut être un problème avec certains chemins), ca à l'air de fonctionner maintenant, par contre j'ai le même bug que sous windows sur le bios : https://github.com/FCare/Kronos/issues/335 Je n'ai touché aucune option, d'ailleurs faut que je regarde comment on configure les contrôles.

barbudreadmon commented 6 years ago

j'ai le même bug que sous windows sur le bios

Le core est bien à jour ? Il t'indique quel version (surtout le commit) en bas à gauche du menu retroarch quand un jeu est lancé ? Je n'ai pas eu ces problèmes récemment.

BenjaminSiskoo commented 6 years ago

1.7.5 - Kronos v1.5.0 87dada3

C'est peut être un problème spécifique windows. Je connais personne qui utilise retroarch sous windows.

rabios

barbudreadmon commented 6 years ago

C'est avec des filtres activés dans les core options ? Parce qu'effectivement j'ai vu hier avec @FCare que ceux-ci provoquent des bugs sur les polices (toute version visiblement), peut-être que çà a été corrigé avec ses derniers commits, je viens d'envoyer ceux-ci vers le buildbot donc essaie de mettre à jour le core un peu plus tard.

BenjaminSiskoo commented 6 years ago

C'est tout par défaut. J'ai pour l'instant pas vu ou pouvait changer les filtres sur RA. Le soucis sur windows qui provoque l'image ci dessus est avec l'original (dans OpenGL size). en X2 par ex c'est bon

barbudreadmon commented 6 years ago

Bizarre, je n'ai pas çà quelle que soit la résolution. Il va falloir que je teste sous windows je pense.

BenjaminSiskoo commented 6 years ago

Si jamais ca peut être utile j'ai une carte Ati Radeon R9 200 avec les derniers pilotes à jour.

barbudreadmon commented 6 years ago

Bon, visiblement ce que j'ai commit hier permet le chargement du bios depuis stvbios.zip sous libretro, mais pas sur la version standalone, j'imagine donc que çà utilise une autre fonction. Par contre le problème que je ne sais absolument pas comment charger un jeu ST-V dans la version standalone donc compliquer de debug, le "eject/load iso" pour les jeux ST-V ne semble pas fonctionner, je ne sais pas où mettre le bios, et je n'ai trouvé aucune mention à la ST-V dans les menus

FCare commented 6 years ago

Il faut aller dans settings et mettre la cartouche STV. Il te demande un path pour la cartouche et tu rentres le path vers le repertoire ou tu as tout tes jeux stv.

Ca scanne des que tu rentres le path

Le ven. 9 nov. 2018 à 08:07, barbudreadmon notifications@github.com a écrit :

Bon, visiblement ce que j'ai commit hier permet le chargement du bios depuis stvbios.zip sous libretro, mais pas sur la version standalone, j'imagine donc que çà utilise une autre fonction. Par contre le problème que je ne sais absolument pas comment charger un jeu ST-V dans la version standalone donc compliquer de debug, le "eject/load iso" pour les jeux ST-V ne semble pas fonctionner, je ne sais pas où mettre le bios, et je n'ai trouvé aucune mention à la ST-V dans les menus

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/FCare/Kronos/issues/345#issuecomment-437270086, or mute the thread https://github.com/notifications/unsubscribe-auth/ANl7CJ6uihHwr_N1rdU68WKGcWTKxXgQks5utSmhgaJpZM4YRZa4 .

barbudreadmon commented 6 years ago

Hmmmm ce fonctionnement n'est-il pas un peu compliqué ? Ne serait-il pas plus simple de faire quelque chose de similaire au port libretro ? C'est à dire pouvoir charger une rom mame directement depuis "eject/load iso", détecter que c'est un jeu ST-V, et faire les réglages qu'il faut pour que çà se lance sans aucune configuration (hormis un pointage de bios dans les préférences) ni scan de dossier ? C'est à cause des noms de fichier "peu explicites" des roms mame que vous avez décidé de faire çà ?

BenjaminSiskoo commented 6 years ago

A la base, j'avais vu qu'on pouvait avoir des "débug" avec le STV (des fonctions n'étaient pas activés). Il n'était pas forcement question d'ajouter le STV. Et au fur et mesure François a intégré le STV. Je suis d'accord avec toi que ca pourrait être plus simple. Mais vu qu'il y a tellement de soucis sur Kronos, je pense que François a préféré se concentrer sur le fond plutôt que sur le forme (c'est ma façon de voir il confirmera ou informera peut être).

J'ai testé l'ajout du bios dans l'archive et ca fonctionne nickel.

barbudreadmon commented 6 years ago

J'ai testé l'ajout du bios dans l'archive et ca fonctionne nickel.

Oui, mais çà fonctionnait déjà avant, et çà signifie que l'utilisateur doit effectuer des modifications dans les zips qu'il récupère (les fichiers de bios ne sont jamais inclus dans les zips de rom arcade), pas idéal comme solution. Je regarde si je réussis à corriger la version standalone ce week-end.

BenjaminSiskoo commented 6 years ago

Croise les doigts dans ce cas :)

barbudreadmon commented 6 years ago

Chez moi çà fonctionne très bien avec la version standalone sous linux. Visiblement la version standalone passe bien par la fonction que j'ai modifié dans https://github.com/FCare/Kronos/commit/6f085fb24be13e351a676b4e9814c1ab29e1a012 . C'est très bizarre que çà ne fonctionne pas que sur la version standalone windows (çà fonctionne aussi sur la version libretro windows), tu es sûr de ne pas avoir foiré tes tests ?

BenjaminSiskoo commented 6 years ago

@barbudreadmon

Je vais essayer de voir avec un ou 2 testeurs et leur demander de vérifier. Je recompile en attendant.

BenjaminSiskoo commented 6 years ago

Je viens de recompiler :

diehard

Tu peux télécharger Kronos 1.5.0 pour windows ici http://www.tradu-france.com/emulateur-146.php Et mettre le fichier exe avec ton fix :

kronos.zip

PS : éventuellement tu pourrais me donner ton bios et ta rom die hard arcade ?

barbudreadmon commented 6 years ago

Tu demanderas à @FCare mon email, ce sera plus simple pour communiquer. Par contre je ne suis pas dispo aujourd'hui, donc on verra çà plutôt demain.

BenjaminSiskoo commented 6 years ago

Pas de soucis, j'aurais peut être des retours de testeurs d'ici là. Via gmail hangouts je suppose :) et oui ca sera plus simple :)

BenjaminSiskoo commented 6 years ago

Je crois que j'ai compris le soucis :

1) Premier test, j'ai pris la rom die hard arcade que j'ai mis avec le stvbios dans un dossier séparé. Le jeu se lance. 2) Deuxième test : j'ai supprime toutes les roms se trouvant avant celle de die hard arcade (et j'ai gardé les roms qui suivent. Le jeu se lance. 3) Troisième test : j'ai rajouté 3 roms (qui commence par A) et là die hard arcade, ne se lance pas.

barbudreadmon commented 4 years ago

Avec les changements récents, ce genre de problème ne devrait plus se produire