Recalbox Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • recalbox.com
    • Gitlab repository
    • Documentation
    • Discord

    YENO super cassette vision

    Recalbox Général
    yeno cassette vision
    25
    161
    40012
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • MaaaX
      MaaaX last edited by MaaaX

      Je pensais que le dossier des résolutions était clos mais il y a un rebondissement.
      Je me suis aperçu dans eSCV que dans Nebula et KungFu Road il y avait un petit artefact graphique en bas à gauche que je ne me rapelait pas avoir vu sur la console YENO (FR).
      J'ai donc testé sur la console EPOCH (JP) et c'est bien un bug d'affichage qui existait d'origine... ça voulait donc dire que les consoles japonaises et la console française n'affichent pas la même chose... j'ai donc enquêté.

      Non seulement elles n'ont pas la même résolution mais elle n'ont pas non plus la même origine.
      Voici un petit résumé de mes dernières recherches:
      0_1583849149016_test000.png

      • En Rouge et violet c'est la zone de la mémoire vidéo qu'affichent les deux consoles japonaises EPOCH, avec en bas à gauche en jaune l'emplacement des artefacts graphiques vus sur Nebula et KungFu Road. La résolution native est de 198x224. Rapporté à un format 4/3 les pixels sont légèrement rectangulaires.
      • En bleu et en violet c'est ce qu'affiche la console française YENO, avec en haut en jaune une bande supplémentaire qui pour certains jeux contient des infos inutiles au joueur (par exemple sur Doraemon et Boulder Dash). La console affiche en plus une bande noire en bas et à droite (zone bleutée sur mon image). Rapporté en 4/3 les pixels sont très rectangulaires (l'image est donc plus tassée verticalement que les consoles JP).
      • eSCV se situe quelque par entre les deux avec une résolution native de 192x222 (incluant les artéfacts en bas à gauche), avec des pixels de 1,5x1 ça devient du 288x222. Ce qui ne fait pas tout à fait un ratio de 4/3.
      • En gris et en blanc c'est ce qui s'affiche nul part. Pas sûr qu'on soit encore en mémoire vidéo.

      L'affichage 4/3 sur console japonaise:
      0_1583849843957_testepoch.png

      L'affichage en 4/3 sur console française:
      0_1583849885400_testyeno.png

      Après m'être fait des nœuds au cerveau j'ai finalement opté pour cette solution (en vert sur mon dessin):

      • par défaut je choisi une résolution native de 198x216, avec des pixels de 1,5x1 ça devient 288x216, que j’agrandis enfin d'un facteur 3, cequi donne une résolution de 864x648. C'est une assez solution proche de eSCV mais j'exclue les zone en jaunes (pas jolies ou inutiles), j'ai un ratio pile poil de 4/3, les pixels font 4x3 et restent "pixel perfect" et j'ai une résolution suffisante pour mes jolis menus.
      • je laisserai la possibilité de choisir entre l'affichage conseillé (le miens ^^), celui des consoles japonaises, celui de la console française ou d'afficher toute la mémoire vidéo (ça pourra toujours être utile aux développeurs).

      L'affichage en 4/3 devrait donc donner ça:
      0_1583850740490_testemuscv.png

      Ouf!
      @++

      Core developer for Recalbox:

      • Libretro-EmuSCV (EPOCH/YENO Super Cassette Vision)
      • Libretro-EmuCV (EPOCH Cassette Vision)
      • Libretro-SimBB2 (EPOCH Barcode Battler 2)
      • Libretro-RB1G (lot of 1st gen consoles)
      barbudreadmon 1 Reply Last reply Reply Quote 0
      • barbudreadmon
        barbudreadmon @MaaaX last edited by

        @maaax si tu veux que le repo soit hébergé sur https://github.com/libretro, fais-moi signe.

        Libretro developper :

        • FBAlpha FBNeo (Arcade)
        • Kronos (Sega Saturn/ST-V)
        • YabaSanshiro (Sega Saturn)
        • Reicast Flycast (Dreamcast/Naomi/AtomisWave)
        MaaaX 1 Reply Last reply Reply Quote 0
        • MaaaX
          MaaaX @barbudreadmon last edited by

          Salut @barbudreadmon

          Pour faciliter la vie de Bkg2k et simplifier l'intégration à Recalbox (compilation BuildRoot) j'ai mis les sources sur Gitlab là :
          https://gitlab.com/MaaaX-EmuSCV/libretro-emuscv
          (c'est la v0.2 qui est dispo pour le moment, je bosse sur la v0.3)

          Je ne sais pas si mon projet est suffisamment avancé pour l'intégrer au repo Libretro mais oui je veux bien.

          Core developer for Recalbox:

          • Libretro-EmuSCV (EPOCH/YENO Super Cassette Vision)
          • Libretro-EmuCV (EPOCH Cassette Vision)
          • Libretro-SimBB2 (EPOCH Barcode Battler 2)
          • Libretro-RB1G (lot of 1st gen consoles)
          barbudreadmon 1 Reply Last reply Reply Quote 0
          • barbudreadmon
            barbudreadmon @MaaaX last edited by

            @maaax dès que j'ai le temps, je regarde et teste ton code source pour voir si je peux te donner des conseils

            Libretro developper :

            • FBAlpha FBNeo (Arcade)
            • Kronos (Sega Saturn/ST-V)
            • YabaSanshiro (Sega Saturn)
            • Reicast Flycast (Dreamcast/Naomi/AtomisWave)
            MaaaX 1 Reply Last reply Reply Quote 0
            • Bkg2k
              Bkg2k Staff last edited by

              Beau travail en tout cas 🙂 Hate de voir la version finale 😉

              1 Reply Last reply Reply Quote 0
              • MaaaX
                MaaaX @barbudreadmon last edited by MaaaX

                @Bkg2k
                Merci ^^
                Y a encore du boulot 😉

                @barbudreadmon
                Pour le moment mon code n'est pas très propre. Il y a pas mal de choses qui sont commentées pour pouvoir travailler dessus plus tard.

                J'essaye déjà de comprendre comment fonctionne Libretro. La documentation est tout petit un peu juste et je m'inspire donc de ce que je trouve dans d'autres cores.

                A force de tâtonner j'ai globalement compris le fonctionnement mais il reste encore quelques points à élucider:

                • 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 ?

                • 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?

                Core developer for Recalbox:

                • Libretro-EmuSCV (EPOCH/YENO Super Cassette Vision)
                • Libretro-EmuCV (EPOCH Cassette Vision)
                • Libretro-SimBB2 (EPOCH Barcode Battler 2)
                • Libretro-RB1G (lot of 1st gen consoles)
                barbudreadmon 1 Reply Last reply Reply Quote 0
                • barbudreadmon
                  barbudreadmon @MaaaX last edited by barbudreadmon

                  @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.

                  Libretro developper :

                  • FBAlpha FBNeo (Arcade)
                  • Kronos (Sega Saturn/ST-V)
                  • YabaSanshiro (Sega Saturn)
                  • Reicast Flycast (Dreamcast/Naomi/AtomisWave)
                  MaaaX 1 Reply Last reply Reply Quote 1
                  • MaaaX
                    MaaaX @barbudreadmon last edited by

                    @barbudreadmon Un très grand merci. Je vais essayer tout ça.

                    Core developer for Recalbox:

                    • Libretro-EmuSCV (EPOCH/YENO Super Cassette Vision)
                    • Libretro-EmuCV (EPOCH Cassette Vision)
                    • Libretro-SimBB2 (EPOCH Barcode Battler 2)
                    • Libretro-RB1G (lot of 1st gen consoles)
                    1 Reply Last reply Reply Quote 0
                    • yannick49
                      yannick49 last edited by

                      A effectivement y a du taff en tout cas encore merci pour ton temps......

                      MaaaX 1 Reply Last reply Reply Quote 0
                      • MaaaX
                        MaaaX @yannick49 last edited by

                        @yannick49 Merci.

                        Ca avance. L'intégration des bibliothèques est faites pour Windows et Linux. Le chargement de fichiers binaires fonctionne (BIOS et ROMs non compressés). Le chargement d'images PNG (cartouche, manuel, etc.) et de fichiers binaires (ROMs) depuis une archive ZIP fonctionne aussi.
                        Je bute encore sur l'intégration de certaines bibliothèques sur Mac. C'est un problème récurent quand on utilise des outils libres à la place des outils Apple... mais je vais finir par trouver 😜
                        Je pourrai ensuite pousser la version 0.3 sur Gitlab.

                        Après je testerai les changements de config à la volée (résolution et fréquence) comme m'a indiqué Babudreadmon (encore merci pour les infos). Ca servira à appliquer les changement d'options sans devoir redémarrer le jeu.
                        Ca devrait être assez rapide à faire et ça fera l'objet d'une v0.4.

                        Et après je pourrai enfin continuer à travailler
                        sur l'émulateur lui-même. Il y a pas mal de choses à reécrire pour que ça tourne sur autre chose que Windows.

                        Soyez patients. Ca va venir.

                        En attendant, quelqu'un aurait-il un scan du manuel de BASIC Nyumon? (oui je sais il fait presque une centaine de pages tout en Japonais)
                        Ca m'aiderait pour une future étape de mon projet.

                        @++
                        MaaaX^^

                        Core developer for Recalbox:

                        • Libretro-EmuSCV (EPOCH/YENO Super Cassette Vision)
                        • Libretro-EmuCV (EPOCH Cassette Vision)
                        • Libretro-SimBB2 (EPOCH Barcode Battler 2)
                        • Libretro-RB1G (lot of 1st gen consoles)
                        1 Reply Last reply Reply Quote 1
                        • yannick49
                          yannick49 last edited by

                          @maaax said in YENO super cassette vision:

                          manuel de BASIC Nyumon

                          atfff désolé j'ai pas ça du tout....

                          1 Reply Last reply Reply Quote 0
                          • MaaaX
                            MaaaX last edited by MaaaX

                            Et voilà! Bibliothèques intégrées aussi sur Mac.
                            0_1585088768463_EmuSCV_v0.03_windows.png
                            La cartouche rouge est une image PNG avec de la transparence lue depuis l'archive ZIP qui contient la ROM du jeu ASTRO WARS.

                            Plus qu'à pousser la v0.03 sur Gitlab.
                            Je vais pouvoir m'occuper du changement de résolution et de fréquence d'affichage.

                            A suivre...

                            Core developer for Recalbox:

                            • Libretro-EmuSCV (EPOCH/YENO Super Cassette Vision)
                            • Libretro-EmuCV (EPOCH Cassette Vision)
                            • Libretro-SimBB2 (EPOCH Barcode Battler 2)
                            • Libretro-RB1G (lot of 1st gen consoles)
                            1 Reply Last reply Reply Quote 0
                            • yannick49
                              yannick49 last edited by

                              Au top!!!

                              MaaaX 1 Reply Last reply Reply Quote 0
                              • MaaaX
                                MaaaX @yannick49 last edited by

                                @yannick49 Merci ^^

                                Core developer for Recalbox:

                                • Libretro-EmuSCV (EPOCH/YENO Super Cassette Vision)
                                • Libretro-EmuCV (EPOCH Cassette Vision)
                                • Libretro-SimBB2 (EPOCH Barcode Battler 2)
                                • Libretro-RB1G (lot of 1st gen consoles)
                                1 Reply Last reply Reply Quote 0
                                • MaaaX
                                  MaaaX last edited by

                                  v0.03 poussée sur Gitlab

                                  Pour la prochaine v0.04 j'ai commencé à tester l'application des options à la volée (changement de résolution et/ou de fréquence).
                                  Au passage j'ai ajouté le bouton POWER juste pour le fun.

                                  Core developer for Recalbox:

                                  • Libretro-EmuSCV (EPOCH/YENO Super Cassette Vision)
                                  • Libretro-EmuCV (EPOCH Cassette Vision)
                                  • Libretro-SimBB2 (EPOCH Barcode Battler 2)
                                  • Libretro-RB1G (lot of 1st gen consoles)
                                  Bkg2k 1 Reply Last reply Reply Quote 0
                                  • Bkg2k
                                    Bkg2k Staff @MaaaX last edited by

                                    @maaax Attention on va finir par vouloir t'embaucher chez Recalbox 😉

                                    Bon c'est payé pas loin de 0% du smic, mais notre grand guru nous a augmenté de 300% cette année alors on se plaint pas! Des fois, tu te fais un peu gueuler ou vomir dessus par des gars qui pensent que tout leur est du, mais un p'tit coup de nettoyage et ça passe ^^'
                                    Parfois aussi, on se fait poursuivre dans la rue par des fans en furie qui veulent te faire des bisous partout (hein @zouiguipopo!). Dommage que ça soit pas des jolies filles, mais on fait avec, même si le rouge à lèvre ça colle un peu sur les vêtements.

                                    Allez, je t'ai assez vendu de rêve! Tu signes quand? 😄

                                    MaaaX 1 Reply Last reply Reply Quote 1
                                    • MaaaX
                                      MaaaX @Bkg2k last edited by

                                      @bkg2k Ah ah ah! Je signe quand tu veux mais je te préviens qu'entre mon boulot, ma maison, mes voitures et tout ça, ça me laisse pas beaucoup de temps mais on en est tous là et pour 0% du smic on fait ce qu'on peut 😉

                                      Core developer for Recalbox:

                                      • Libretro-EmuSCV (EPOCH/YENO Super Cassette Vision)
                                      • Libretro-EmuCV (EPOCH Cassette Vision)
                                      • Libretro-SimBB2 (EPOCH Barcode Battler 2)
                                      • Libretro-RB1G (lot of 1st gen consoles)
                                      1 Reply Last reply Reply Quote 0
                                      • yannick49
                                        yannick49 last edited by

                                        oui il mérite son salaire!!! 😉

                                        1 Reply Last reply Reply Quote 0
                                        • MaaaX
                                          MaaaX last edited by

                                          Bonsoir,

                                          Le support du changement de résolution et du nombre de frames par seconde à chaud est ajouté, ainsi que le support du bouton power (off).
                                          Le code de la v0.04 est poussé sur Gitlab.
                                          @barbudreadmon encore merci pour ton aide sur Libretro. Grace à toi j'ai compris qu'il y a plus d'aide dans les commentaires du fichier header de Libretro que dans la documentation 😄
                                          0_1585257249680_EmuSCV_v0.04_linux.png

                                          Je peux enfin m'atteler au cœur du sujet et le plus intéressant: le portage de l'émulateur. Yes!

                                          A suivre...

                                          @++
                                          MaaaX ^^

                                          Core developer for Recalbox:

                                          • Libretro-EmuSCV (EPOCH/YENO Super Cassette Vision)
                                          • Libretro-EmuCV (EPOCH Cassette Vision)
                                          • Libretro-SimBB2 (EPOCH Barcode Battler 2)
                                          • Libretro-RB1G (lot of 1st gen consoles)
                                          barbudreadmon 1 Reply Last reply Reply Quote 0
                                          • barbudreadmon
                                            barbudreadmon @MaaaX last edited by

                                            @maaax pas de soucis, tiens moi au courant si t'as besoin d'autres infos

                                            Libretro developper :

                                            • FBAlpha FBNeo (Arcade)
                                            • Kronos (Sega Saturn/ST-V)
                                            • YabaSanshiro (Sega Saturn)
                                            • Reicast Flycast (Dreamcast/Naomi/AtomisWave)
                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Want to support us ?

                                            76
                                            Online

                                            99.6k
                                            Users

                                            28.1k
                                            Topics

                                            187.1k
                                            Posts

                                            Copyright © 2021 recalbox.com