Recalbox Forum

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

    Création d’un package pour recalbox : ZELDA ROTH

    Recalbox Général
    d’un package zelda roth
    4
    36
    10151
    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.
    • hellrider
      hellrider last edited by

      Salut, Sur l'IRC, Cissou (je crois que c'est toi, corrige moi si je me trompe ^^)  m'a fait découvrir Zelda Roth (il s'agit d'une trilogie + un dernier..) http://www.zeldaroth.fr/dlroth.php   Du coup en attendant de résoudre le dernier micro soucis d'écran noir sur le titre de Zelda Solarus, j'ai décidé de commencer à compiler Zelda Roth. Visiblement ça m'a l'air moins complexe que Zelda Solarus mais le makefile.txt de celui-ci semble devoir être patché (ce que j'ai fait, mon premier patch d'ailleurs).. donc j'ai créé le package, le patch dans le package, et là ça compile (on verra si ça va bien au bout)  😉  En attendant j'ai déjà poussé le projet sur mon dépôt au cas où voudriez y jeter un oeil.. 😉 ps: je suis parti des source de la version pour Pandora car c'est le seul en tar.gz .. mon patch s'applique donc à ce fichier..

      1 Reply Last reply Reply Quote 0
      • digitaLumberjack
        digitaLumberjack Staff last edited by

        Cool bonne nouvelle. Ne laisse pas l'autre dépérir 🙂

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

          ho non , comme tu peux le voir sur l'autre topic 😉

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

            bon ça plante.. lol j'ai ce message : CMake Error: The source directory "/home/ana/recalbox-buildroot/output/build/zeldaroth-linux" does not appear to contain CMakeLists.txt. et il ne me télécharge pas du tout le code source..   j'ai tenté un   $(eval $(generic-package))  en bas du fichier .mk à la place de $(eval $(cmake-package)) , ça ne plante plus... par contre  je ne trouve pas l’exécutable dans TARGET/output/usr/games .. Bon je continuerai mes investigations demain 😉

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

              D'après vous, est ce qu'il vaut mieux que je le compile en partant des source pour pandora en patchant le Makefile pour que ça compile pour recalbox, ou alors il vaut mieux que je fork la version pour Linux de base sur mon Github, que je vire le makefile et crée à la place un cmakelist.txt? voir proposer à l'auteur de Zelda Roth une version avec cmakelist.txt plutôt qu'avec makefile? car actuellement du coup il a une archive de source pour chaque système: http://www.zeldaroth.fr/dlroth.php Par contre on peut voir que le makefile a été généré par cmake.. c'est donc que ce dernier existe mais n'est juste pas fournit.   ce qui du coup est quand même moins pratique que de passer par cmake .   (oui je me tape des cours sur la création de makefiles d'un coté et l'utilisation de cmake de l'autre et entre nous je trouve l'utilisation de cmake (qui du coup se charge de créer les makefile) plus adapté et forcément plus polyvalente.. ^^)

              1 Reply Last reply Reply Quote 0
              • digitaLumberjack
                digitaLumberjack Staff last edited by

                Salut @HellRider ! Base toi sur un libretro que j'ai patché, genre https://github.com/digitalLumberjack/recalbox-buildroot/blob/recalbox/package/mupen64plus-core/mupen64plus-core.mk Si tu regarde, tu peux injecter des valeurs dans ce que tu veux modifier, même sans patcher le Makefile. Ce que tu mets avant le $(MAKE) est utilisé comme variable d'environnement, donc ici ne fonctionnera pas car tout est en dur. Ce que tu mets apres le $(MAKE) remplace les valeurs du makefile. Donc ce qui nous interesse ici c'est :

                PREFIX  = /mnt/utmp/ZeldaROTH
                CFLAGS  = -O2 -Wall -I/usr/local/pandora/arm-2009q3/usr/include
                LDFLAGS = -L/usr/local/pandora/arm-2009q3/usr/lib -Wl,-rpath,/usr/local/pandora/arm-2009q3/usr/lib -lSDL_gfx -lSDL_image -lSDL_mixer -lSDL
                CC = arm-none-linux-gnueabi-g++
                RM = rm -f
                INSTALL_PROG = install -m 755 -s
                
                EXE = ZeldaROTH
                

                Tout ça a injecter 😉

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

                  Super merci pour les infos ^^ Bon j'ai quand même appris à créer des patch 😉 c'est pas perdu ^^ Par contre comme je l'ai mis dans mon Edit ce matin, le Makefile a été généré par un cmake... c'est donc que le cmakelist a été fait je suppose.

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

                    je viens de remarquer que le lien "ici" ne fonctionne pas..?

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

                      re^^  bon j'ai effacé le patch, j'ai modifié mon mk en m'inspirant de ton fichier pour libreto et j'ai aussi ajouté des dépendances dans Config.in   La compilation s'est lancé, s'est arrêté sans message d'erreur, mais rien n'est copié là où ça devrait se trouver.. le problème c'est que sans aucun message d'erreur, pas évident de comprendre ce qui ne va pas...  (en tout cas j'ai poussé le tout sur mon dépôt)   Edit: j'ai fait un locate zeldaroth et il en sort ça: http://pastebin.com/ACyC2j1x j'en déduis que le build se passe pas trop mal et que c'est l'installer qui cloche..? Edit 2: je viens de réalisé que c'est juste les sources téléchargés dans le répertoire build... arff.. suis  dépité.. donc en gros il ne build pas ,même pas une tentative, les sources.... Edit 3: j'ai testé avec ce mk aussi mais ça change rien (les tabulations ont disparu mais sont bien présentes dans mon ficier):

                      ################################################################################ # # Zelda Roth # ################################################################################ ZELDAROTH_VERSION = linux ZELDAROTH_SOURCE = ZeldaROTH-src-$(ZELDAROTH_VERSION).tar.gz ZELDAROTH_SITE = http://www.zeldaroth.fr/fichier/ROTH/pandora ZELDAROTH_LICENCE = GPL ZELDAROTH_DEPENDENCIES = sdl #TARGET_CFLAGS = -O2 -Wall #TARGET_LD = -lSDL_gfx -lSDL_image -lSDL_mixer -lSDL ZELDAROTH_TARGET = ZeldaROTH define ZELDAROTH_BUILD_CMDS $(MAKE) CC="$(TARGET_CC)" CXX="$(TARGET_CXX)" \ CFLAGS="$(TARGET_CFLAGS)" LD="$(TARGET_LD)" \ TARGET="$(ZELDAROTH_TARGET)" -C $(@D) all endef define ZELDAROTH_INSTALL_TARGET_CMDS $(INSTALL) -D $(@D)/$(ZELDAROTH_TARGET) \ $(TARGET_DIR)/usr/games/$(ZELDAROTH_TARGET) endef $(eval $(generic-package))

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

                        j'ai peut être une idée. le Makefile se trouve dans le répertoire src/  lui même inclus dans zeldaroth-linux/   du coup je pense que le Make reste au niveau de zeldaroth-linux/ et ne "rentre" pas dans src/ Comment lu indiquer de rentrer dans src/ si c'est bien ça?

                        1 Reply Last reply Reply Quote 0
                        • digitaLumberjack
                          digitaLumberjack Staff last edited by

                          Regarde la : https://github.com/digitalLumberjack/recalbox-buildroot/blob/recalbox/package/libretro-gambatte/libretro-gambatte.mk#L10 -C $(@D)/libgambatte/ te permet de changer le repertoire d'execution du make.

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

                            Je viens de réaliser que lors de mon dernier test j'avais déjà testé: -C $(@D)/src   et que ça ne marche pas non plus.. le pire c'est l'absence de message d'erreur ou de warning !

                            1 Reply Last reply Reply Quote 0
                            • digitaLumberjack
                              digitaLumberjack Staff last edited by

                              Pour ceux qui suivraient, j'ai fais une pull request avec des modifications qui font compiler zelda roth : https://github.com/BlessedHellRider/recalbox-buildroot/pull/2/files

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

                                j'ai répondu sur GH à ton derniers commentaire ^^ (désolé j'aurai du pousser ma dernière version du mk sur GH et pas seulement la coller ici.. )

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

                                  Je viens de tester ça en ssh (après avoir copié les *.so nécessaires dans /usr/lib): SDL_VIDEO_GL_DRIVER=/usr/lib/libGLESv2.so SDL_NOMOUSE=1 ./ZeldaROTH   pas de message d'erreur dans le terminal,  mais l'écran reste noir (j'ai fait un killall emulationstation avant )   et ctrl-C ne quitte pas le programme et si je ssh dans un autre terminal , pas moyen de killer le process...   peut être que je me trompe dans la ligne de commande pour le lancer?  ou il faut jouer sur tvservice??

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

                                    j'ai tenté de changer les modes de tvservices: # tvservice –explicit= "CEA 1 HDMI" # tvservice –explicit= "CEA 2 HDMI"   Mais ça ne change rien.. en plus ce coup-ci à deux reprise j'ai eu un "plantage" dans le terminal avec le message "Segmentation Fault"

                                    1 Reply Last reply Reply Quote 0
                                    • digitaLumberjack
                                      digitaLumberjack Staff last edited by

                                      Le binaire est compilé avec SDL1. Pas besoin de spécifier le driver.

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

                                        oui ma première tentative était sans spécifier le driver avec juste ./ZeldaROTH mais comme ça n'a pas marché, j'ai tenté autre chose... je retenterai avec CEA 1 HMDI  sans spécifier le driver néanmoins..

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

                                          bon j'ai testé , ça ne fonctionne pas non plus, j'ai soit un segmentation fault et dans ce cas je récupére la main, soit pas de message d'erreur et là il faut que j'ouvre une autre session ssh pour faire un halt car le process ne se kille pas..

                                          1 Reply Last reply Reply Quote 0
                                          • digitaLumberjack
                                            digitaLumberjack Staff last edited by

                                            Pas bonne nouvelle du tout 🙂 le mieux je pense c'est de prendre les sources linux, et de tester une compilation sur un raspbian, et voir si ca passe déjà.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Want to support us ?

                                            73
                                            Online

                                            98.7k
                                            Users

                                            28.1k
                                            Topics

                                            187.0k
                                            Posts

                                            Copyright © 2021 recalbox.com