12 Mar 2020, 13:02

@maaax said in YENO super cassette vision:

A quoi sert le FRAME TIME CALLBACK ? Pour le moment je ne l'utilise pas. Est-ce que ça peut m'être utile pour quelque chose ?

çà m'étonnerait que çà te serve à quelque chose, en tout cas çà ne me sert dans aucun core, il me semble que c'est utilisé par certains core pour calculer si l'émulation est "en retard" et éventuellement déclencher des actions de frameskip en fonction du résultat.

@maaax said in YENO super cassette vision:

Pour le cas où on change de résolution ou de nombre de frames par secondes (différents selon les consoles), comment demander au frontend de relancer le core à zéro? ou est-ce qu'il y a une méthode qui permet de changer la résolution ou le nombre de frames par seconde à la volée?

Vaste sujet, alors :

  • si possible, il est toujours conseillé de donner les bonnes valeurs dès le lancement (retro_get_system_av_info est appelé après retro_load_game, donc théoriquement tu peux déjà savoir des choses sur le jeu que tu lances)
  • si ce n'est pas possible (exemple: la résolution - variable - de sfiii2 arcade est déterminé directement par la borne d'arcade après lecture de son eeprom, donc bien après que retro_get_system_av_info ait été appelé), voilà un exemple de code pour changer la résolution à la volée : https://github.com/libretro/FBNeo/blob/6edecd4c13fe9c86f9ffc80ebada5f0034991624/src/burner/libretro/libretro.cpp#L420-L428
  • si vraiment tu dois changer aussi la fréquence de rafraîchissement à la volée (attention, c'est très déconseillé car c'est une opération coûteuse niveau réinitialisation), remplace RETRO_ENVIRONMENT_SET_GEOMETRY par RETRO_ENVIRONMENT_SET_SYSTEM_AV_INFO dans mon exemple de code.