Solved advance mame 4.1
-
@alfacentory
si tu ne vois pas /recalbox/share/system/.advance
c'est que tu n'as pas bien configuré winscp pour afficher les dossiers cachés car c'est un dossier caché.
Merci pour les tests sur les saves statesSave State
une demande a été fait ici : https://sourceforge.net/p/advancemame/discussion/313511/thread/c20cd176/
-
@acris désolé j'étais passé par le samba , je n'avais pas capté , je resteste demain
-
Voilà mon fichier .dat. C'est celui qui est inclus dans le Advancemame, une fois compilé. Ce n'est pas le même et il est au format unix.
https://mega.nz/#!WMAnmQRA!2rcVZ5Hv7US3wu97e-PiGclGO6Ux7BQykh0ZSTF4hmQ
-
@alfacentory , j'ai réussi à les faire fonctionner les hiscores avec les indications données.
-
@acris de quel manière ? avec le .advance ? désolé j'avais carrément oublié de retester
-
@acris @alfacentory pas sur que ~/.advance existe par defaut
-
@Substring il crée l'arborescence de ~/..advance au 1er lancement d'un jeu.
-
Est-ce-que chez vous, Bad Dudes vs Dragonninja rame si vous désactivez l'option SMP ?
(C'est aussi le cas sur pas mal de jeux...)Le SMP (Symmetric Multi-Processing) permet d'avoir "plus de pèche" pour émuler les jeux mais ajoute un assez gros lag input. Je crois qu'il est activé par défaut.
Je l'ai désactivé pour tous les jeux et quand je vois un jeux qui rame, je l'active.
Sans le SMP, le lag input est, sur pas mal de jeu, "presque" imperceptible.Sinon, Advmame doit apporter la possibilité de créer à la volée les résolutions des jeux pour les CRT 15Khz.
Mais comment fait-il avec les jeux de plus de 256 lignes ?
Bon c'est impossible, ou alors, soit il passe en 625 lignes et jusque 288p
Ou, il divise la résolution verticale par 2.Personnellement, j'ai supprimé tout (les roms) ce qui utilise une résolution supérieur à 256p.
-
Tu utilises quoi comme manettes, tu est branché direct via le gpio.
Dernièrement il y a eu soit disant pour le rpi une optimisation du driver manette (moins de charge CPU et réduction de l'éventuel input lag).
Tu as testé l'utilitaire "advcfg" pour les réglages vidéo.
Et tient en parlant rom est ce que truxton2 fonctionne chez toi. Moi j'ai un retours menu à chaque fois. -
@ironic Quelques pistes pour advmame :
- tu edites
~/configs/advancemame/advmame.rc.origin
et tu passesdevice_video
àauto
- tu lances
TERM=xterm advcfg -rc ~/configs/advancemame/advmame.rc.origin
pour configurer ton écran - tu peux éventuellement lancer TERM=xterm advv -rc ~/configs/advancemame/advmame.rc.origin pour fignoler chaque résolution
Pour le SMP, voir sur le site de l'amulateur, il l'a déjà évoqué je crois. C'est du multithread, ni plus ni moins. L'avantage avec advmame c'est que la config par rom se fait dans le fichier de config
- tu edites
-
Pour la manette, j'utilise une iBUFFALO en USB (snes).
L'input lag le plus grand vient de l’émulation (de l’émulateur), que ce soit en USB (avec une manette pas trop pourrie) ou par GPIO, la latence est quasiment nulle.
truxton2 se lance mais écran noir.
On peut ouvrir le menu de advmame donc il n'est pas planté.
Après avoir quitté advmame, il nous dis que le CRC du fichier tp024_1.bin (qui est le programme du jeu) n'est pas le bon.
Il attend le CRC eb26f0e5 alors que la roms que l'on trouve partout a le CRC f5cfe6ee.
Je ne trouve pas cette rom...Je n'utilises pas advcfg car j'utilise mon script de génération de résolution avec une base de donnée de tous les jeux de advmame (issue du listxml de advmame).
Le python c'est pas mal
Aparté sur le python, je vois que le module pygame est installé, on peut le charger mais est-il pleinement fonctionnel ?
Les quelques exemples que je trouve sur le net ne fonctionnent pas, ou alors on peut pas utiliser pygame sans X ?Ça fonctionne du feu de dieu et ça permet d'adapter les résolutions aux éventuellement probleme de cadrage en fonction des TV.
Je sais bien @Substring que t'es pas pour les bases de donnés de jeux, c'est pour ça que j'en parle pas trop.
Mais sur mes 4 TV, le résultat est différent en générant une résolution identique.
Bandes noires à gauches ou à droite, trop d'overscan horizontal, pas centré horizontalement ou verticalement.
(Bien-sur, ça ne s'adresse qu'a ceux qui utilisent des CRT...)device_video
est bien surauto
. Idem surfb
.
sdl
ne fonctionne pas. (peut être du à mon intégration sauvage de advmame...).Je me demandais simplement si en mono thread, baddudes ramait car il tourne très bien sous mame078 et fba.
-
@ironic
la rom qu'il te manque est disponible, tu n'as pas checké ton romset avec clrmameproIl attend le CRC eb26f0e5 alors que la roms que l'on trouve partout a le CRC f5cfe6ee
-
@ironic said in advance mame 4.1:
baddudes
C'est vraiment significatif le ralentissement avec baddudes, je viens de tester vite fait avec l'option SMP désactivé, (il est effectivement activé par défaut sur la version rpi), mais ça semble bien tourner.
Pour truxton2 je m'en doutais, mais merci pour la précision. Après remplacement du mauvais fichier .bin ça fonctionne convenablement. D'ailleurs la rom du set mame2010 est bonne.
-
Merci @acris
Effectivement, avec la bonne rom, Truxton 2 fonctionne parfaitement.
J'utilise pas tellement clrmamepro pour son interface assez lourde, mais faut dire qu'il fait du bon boulot.Il y a beaucoup de jeux pour lesquels on peut désactiver le SMP et ainsi diminuer l'input lag,
-
@ironic moi je te propose un truc au lieu de t'enteter avec ton script, ta bdd et tout le toutim.
Fais ce que je t'ai proposé. La calibration de CHAQUE mode video prend une eternité. Mais comme tu sais quelles resolutions valent le coup d'etre reglees, prends des resolutions bateaux communes, regle bien ton ecran pour ces quelques resolutions (oui, ca peut etre long) et laisse advmame. Sinon pourquoi j'ia mis advance mame a ton avis ? C'est justement poru profiter de ses capacités, pas pour réinventer la roue
Il n'y a pas X sur Recalbox voyons, tu devrais le savoir depuis le temps
J'ai (enfin) acquis une TV cathodique. Comme je sais que advancemame génère les bonnes résolutions avec les bonnes fréquences, ni une ni deux me suis fié à un de tes cas de tests pourris : R-Type. Donc là si je te sors une photo, tu verras de suite les défauts (mal centré, de l'overscan etc ...) mais une fois que j'aurai réglé la résolution, rtype sera en full screen et en 55 Hz sans poudre de perlimpimpin ou calculs alambiqués. je pense vraiment que ca vaut le coup d'essayer un chouia (meme si oui, tu peux le dire, c'est TRES laborieux de regler son ecran pour chaque resolution, surtout que l'écran d'aide n'est pas le moins explicite du monde)
-
Merci pour ta sollicitude mais je ne m’entête pas, je "m'amuse".
Et en plus j'apprends, me suis lancé dans le Python ya quelques jours...D'ailleurs, tout est fini pour Advmame, tout est opérationnel. Un seul paramètre à passer au script, le nom du jeu.
Advmame utilise également une (sa) base de donnée, j'utilise la même (listxml) mais avec plus de paramètres.
Je fais exactement ce que Advmame fait pour créer une résolution mais en un peu plus complexe et paramétrable.
Cela fonctionne également parfaitement pour Mame078 et Fba.Je comprends parfaitement que Recalbox ne puisse pas proposer la perfection automatique car il est destiné à tous les utilisateurs, même les moins expérimentés. Du plug'n play,
Je ne propose pas ma solution pour une intégration dans Recalbox.
Néanmoins, si une solution permet d'avoir une meilleur gestion des résolutions d'arcades, ça peut être intéressant.
J'en parle juste pour ceux qui voudrais essayer (utilisateurs expérimentés only) et donc ne pas faire de rétention d'informations.Oui je sais, ya pas de X sous Recalbox, je me demande simplement pourquoi je ne peux pas utiliser le module pygame bien qui soit installé sous Recalbox.
*ni une ni deux me suis fié à un de tes cas de tests pourris : R-Type
Lol, c'est dur ca -
@ironic je crois que le seul moment ou pygame est utilisé c'est pour la barre de progression d'un update je crois
Pour le cas de test r-type : c'est juste parce qu'il a une resolution et une frequence particulières, d'où le pk de mon test avec.
La question que je me pose, c'est : faut-il d'avord regler l'overscan dans le config.txt et ensuiteenvoyer la purée derrière ou ... 2h que je joue avec la tv, ca me vient à l'esprit.
Pour le côté power user, c'est qqc que j'ajoute au fur et a mesure dans recalbox, tout le monde n'a pas besoin que d'une solution plug'n'play.
Ca serait chouette de partager ton travail, pour plrs raisons :
- parce que ca n'interesse pas que recalbox (je pense que quand retropie va trouver ca ils vont se jeter dessus aussi)
- parce que je peux en faire une intégration dans recalbox
- parce que ca fait qq mois qu'on est bcp à bosser dessus, chacun à sa facon, ca serait un peu l'aboutissement de tout ca
-
Bon, j'ai été un peu long mais faut le temps pour se familiariser avec le Python.
@Substring
Si tu retrouves le script dont tu passes, fais moi signe, je voudrais faire une interface graphique en python pour créer/regler les HDMI_Timings. (Si j'ai le temps ou pas le choix, je ferais ca en C/SDL).
Le config.txt doit pas mentionner d'overscan, voici le mien (Attention c'est pour l'overlay de RGB-Pi):
hdmi_timings=460 1 22 51 80 282 1 6 6 19 0 0 0 51 0 9600000 1
gpu_mem_256=128
gpu_mem_512=256
gpu_mem_1024=512
avoid_safe_mode=1
kernel=zImage
dtoverlay=pi3-disable-bt-overlay
dtparam=audio=on
dtoverlay=pwm-2chan,pin=18,func=2,pin2=19,func2=2
dtoverlay=rgb-pi
enable_dpi_lcd=1
display_default_lcd=1
dpi_output_format=6
dpi_group=2
dpi_mode=87
Voila comment je procède pour Advmame (fonctionne également pour mame078 et fba).
J'ai créé une base de données à partir du fichier listxml de Advmame.
Dans cette base de données, il y a tous les jeux supportés par Advmame (enfin pas tous, que les 15Khz).
- Les résolutions verticales, les fréquences, les orientation.
- Il y a également la position et la taille de l’écran (de la résolution ouverte) horizontalement et la position verticale.
(Ça permet de "calibrer' au mieux chaque jeux et je vous prie de croire que c'est utile) - Le multi-thread est désactivé par défaut et peux être réactive individuellement (SMP_YES).
(Il y a plus de jeux qui n'en n'ont pas besoin et ça permet de diminuer l'input lag). - Puis il y a la fréquence horizontale et les porchs/syncro.
(Inutile d'y toucher saut éventuellement pour certains moniteur récalcitrants).
J'ai créé un script en Python qui cherche le jeu dans la basse de donnée et exploite les paramètres. Si le jeux n'y est pas, c'est retour sous ES
(On peut eventuellement lancer une rsolution stadard mais je ne l'ai pas prevu pour le moment).- Le script créé et lance un HDMI-Timings en fonction des données du jeux, lance le jeu et quand on quitte le je, restaure les HDMI_Timings d'ES.
- Le fichier
advmame.rc
et copier (avant le lancement du jeu) dans /tmp, modifié pour configurer l'orientation du jeu.
display_rol no - misc_smp no
Le script est ici.
Il faut l'utiliser comme ceci (Bon, il faut surement un peut adapter les chemins des fichiers dans le script)
emulator_launcher.py /recalbox/share/roms/advmame/aburner2.zip /recalbox/share/advmame_games.txt advmame
De cette facon, Tous les jeux 15Khz d'Advmame se lance avec la bonne résolution, la bonne fréquence et la bonne orientation.
Les réglages ont été fait sur une TV Trinitron 36cm et correspondent a6, -25, 5
dans la base de donnée.
Sur une autre TV Trinitron de 36cm, je dois metre0, -25, 5
Je suis pas sur que tout cela soit utile a beaucoup de monde mais dans la mesure ou cela fonctionne également pour mame, fba et les consoles, ça mérite d’être étudier.
- La partie la plus intéressante du script est forcement le générateur de HDMI_Timings.
Personnellement, je vais continuer dans cette voie car ça fonctionne du feu de dieu (Testé sur 7 TV CRT).
Et petit question pour la fin aux membres de Recalbox.
Est-ce que ça ne vous dérange pas qu'on ouvre un sujet exclusivement consacré a RGB-Pi ? (Qui je le rappelle est Recalbox a 99.99%). Ça permettra de dégrossir la future intégration du CRT dans Recalbox.Bon, comme je me suis lancé dans Python, vais surement réintégrer configgen dans mes bidouilles
-
@ironic Là ca appelel à 10000 questions, bon courage
- ton hdmi_timings du config.txt, il n'est que pour ES si je devine bien ?
- le triplet
6 -25 5
tu le règles à partir de quoi ? - pk réinventer ce que advmame fait déjà ?
- comment tu gères les jeux à plus de 224/240 lignes (genre rtype) ? Me souviens avoir lu que les tv entrelacent au-delà de 288 lignes (c'est de toi en plus)
- Pourquoi diable ne pas laisser advmame faire son taf tout seul ? Genre advcfg -> on configure le type de TV -> on ajuste l'écran -> en avant Guingamp !
- tu gères comment les moniteurs TRES capricieux genre PVM ?
- ca marche avec imame4all ? hahaha je rigole
- avec tout ca, il faut tjrs un retroarch.cfg par jeu pour caler le viewport ou non ?
Pas utile à bcp de monde tu dis ? Mec, tu aurais été à la HFS ce weekend ... Autant l'an dernier ils nous ont regardé avec une drôle de tête (LCD, pas pixel perfect, lag input etc ...), autant depuis qu'on dit qu'on bosse sur du 15k, ils commencent à être prêts à délaisser leurs PC pour un pi (véridique) (c'est même la conclusion de Metheore lors de l'intervention de Recalbox à la HFS 3, visible sur twitch, lien dans le fofo)
Pour RGB-Pi ... Là je suis bcp plus réticent:
- nous ne sommes pas le support de rgb-pi, bien que tu sembles très en contact avec aTg
- pas véritablement de raison de privilégier rgb-pi plus qu'une autre solution genre HDMI2VGA. Je pense notamment à ceux qui disposent d'un moniteur PVM et qui sont sur BNC, et qui n'ont donc aucune raison de s'attarder sur rgb-pi
- il profite très largement de notre travail sans y contribuer d'une quelconque façon
- Je n'ai pas vu une seule fois les sources de rgb-pi OS, alors que la license GPL de Recalbox le lui impose. Au passage, c'est assez scandaleux d'oser renommer Recalbox à cette fin.
- C'est qqu qui très clairement fait de l'argent sur le travail de Recalbox et de sa communauté. Sans Recalbox, il n'aurait pas d'avenir. Inversement, le CRT peut tout à fait fonctionner sans lui
Je ne te cache pas qu'on en a discuté ce weekend et qu'on est très mitigé sur la bonne réciprocité du travail de l'un envers l'autre. Je constate qu'on bosse pour lui, mais dans l'autre sens ...
Par contre, j'admire le travail que tu as fourni, très sincèrement ... En 6 mois tu as abattu un travail énorme et peux te targuer d'avoir a peu près tout défriché niveau arcade ... Franchement je suis impressionné ! Tout mon humble respect !
On a eu énormément de discussions ces 4 derniers jours sur le CRT entre nous ou avec d'autres, pour arriver à la triste conclusion que c'est juste impossible sans DB. Même pour te dire, j'ai commencé à plancher avec un dev retroarch sur le sujet pour voir comment se simplifier la tâche ... mais clairement, c'est l'enfer.
Maintenant, si je comprends bien, tu veux faire un mini "advcfg" histoire de caler les 3 chiffres magiques, c'est bien ca ?
Et dire que les consoles ca va etre le même enfer, voire pire avec celles qui changent de resolution en cours
-
Le hdmi_timings du config.txt sert au boot et donc forcement a ES.
Mais une fois que l'on a lancé un jeu, on a changé la résolution et donc après avoir quitté le jeu, le script va rechercher les paramètres de résolution (J’espère que tout le monde a compris que hdmi_timing et résolution c'est la même chose) dans le fichier config.txt.
Çà permet d'avoir un seul endroit ou stocker la restitution de ES.le triplet 6 -25 5 correspond aux réglages sur mon Trinitron.
(6), c'est le décalage sur la droite de 6*4 pixel (sur 1920).
(J'aurais pu faire pixel par pixel au lieu de 4 en 4 mais c'est très bien comme ça).
(-25), c'est le zoom. Donc a 0 j'ai un gros overscan et je resuit le zoom
(Ça joue sur le Front Porch et le Back Porch horizontal, je ne touche pas a la sync).
(5), c'est le décalage vers le bas (en nbr de lignes) de l'affichage, je soustrait 5 au Front Porch Vertical que j'ajoute au Back Porch Honrizontal. je ne touche pas non plus a la synchro Vertical.Pourquoi réinventer ce que advmame fait déjà ?
Par-ce-que advmame ne fait pas tout.Pour, par exemple R-Type, je peux soit l'afficher en 525 lignes, soit en 625 ligne.
Il faut pour cela que le nombre total de lignes soit supérieur ou égal 288.
Pour cela, on passe la fréquence horizontale de 15720 à 15840.
rtype, 256, 55.000000, H, 6, -25, 5, mame078_libretro.so, 15720, 48, 192, 240, 5
rtype, 256, 55.000000, H, 6, -25, 5, mame078_libretro.so, 15840, 48, 192, 240, 5
On peut aussi augmenter la Sync Vertical jusqu’à atteindre 288 pour les moniteur ne supportant pas un gros dépassement de fréquence horizontale.
(Je n'ai pas de PVM, je ne peux pas tester et comprendre ses limites mais je pense qu'elles se situe au niveau des synchro).J'ai jamais parlé de iMAME4All.
il faut toujours un retroarch.cfg par jeu pour caler le viewport ou non ?
- Non.
Le ficherretroarch.cfg
, celui qu'on passe en--appendconfig
est généré par le script. Il y a toujours un fichier de config de basse passé en--config
.
Config généré :
custom_viewport_width = "1920"
Est toujours = à 1920.
custom_viewport_height = "256"
Varie en fonction du nombre de lignes du jeu.
custom_viewport_x = "0"
Est toujours = à 0
custom_viewport_y = "0"
Est toujours = à 0
video_refresh_rate = "55.000000"
Varie en fonction de la frequence du jeu.
video_rotation
= "0"`` Change et passe a 1 si le jeu est vertical.
Le but est approcher la perfection (Les PC ont du soucis à se faire) et donc de pouvoir gérer chaque jeu indépendamment.
Pouvoir activer ou désactiver le SMP permet de réduire l'input lag, Comment Advmame fait ça ? Il devine tout seul ?RGB-Pi c'est essentiellement du Hardware.
Quand je parle de RGB-Pi, je parle du câble et de l'overlay.
Pas de sources pour RGB-Pi car c'est Recalbox et quelques petites modifs.
Faire de l'argent sur votre dos, c'est pas mon but mais je pense que vous l'avez compris.
RGP-Pi, c'est énormément de taf manuel pour fabriquer les câbles (moi je fais rien, je code), je pense qu'il soit normal qu'il les fassent payer. Maintenant, c'est vrai, sans Recalbox, pas de câble RGB-Pi.
Vais en discuter avec aTg.Merci pour tes éloges, j'en ai tout autant (et même plus) à ton égard et celles des Devs Recalbox.
Merci et ... merde, vous faites chier ça fait 2 ans que j'ai ma tronche collé au moniteur, avec des Rpi, des câbles, des SD, des moniteurs, des TV partout dans la baraque, ma femme gueule
(Désolé, je mets tout ça sur votre dos:)Je ne veux pas faire un mini "advcfg", a la base, c'est un "générateur de hdmi_timings".
J'ai juste couplé ça à des BDD.Pour le consoles, il n'y a pas de BDD qui rassemble les résolutions des jeux.
Pour la neogeo, ca va, elle n'a qu'une résolution.
Pour les autres, c'est plus complexe et c'est carrément impossible (pour le moment) pour les jeux qui changent de résolutions en court de partie. - Non.