RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Development

    Scheduled Pinned Locked Moved Ideas and Development
    21 Posts 7 Posters 5.5k Views
    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.
    • A
      Arcuza
      last edited by

      I'm an experienced Windows programmer, and I've never been outside Visual Studio (except for when I did assembler on Z80 and MC68k).

      Where can I start looking to get into development of ES and modules? I've tried some C and C++ in Geany on Raspbian, but I don't know if that will help...

      Thank you for your support!

      meleuM 1 Reply Last reply Reply Quote 0
      • meleuM
        meleu @Arcuza
        last edited by meleu

        @Arcuza
        I would suggest you to change the topic title to "emulationstation development question". ;-)

        I'm not an emulationstation hacker but I think they use Eclipse as an IDE (not sure). And the use of the raspberry pi for development are not mandatory. You can do it in a Linux PC.

        • Useful topics
        • joystick-selection tool
        • rpie-art tool
        • achievements I made
        A 1 Reply Last reply Reply Quote 0
        • A
          Arcuza @meleu
          last edited by

          @meleu Hi, since I do not know what's developable, I don't want to narrow down to just ES. My first feeling is that RetroArch and the emulation Cores are less easy to contribute to.

          Pity I don't have a Linux PC...

          Is there a "Hello world" sample existing for adding to ES as an example?

          meleuM mattrixkM 2 Replies Last reply Reply Quote 0
          • meleuM
            meleu @Arcuza
            last edited by meleu

            @Arcuza said in Development:

            Pity I don't have a Linux PC...

            You should solve this issue first!
            Just kidding... but it would help to get more confident with this environment.
            [Edit: I suggest you to try Linux Mint.]

            Is there a "Hello world" sample existing for adding to ES as an example?

            I don't think so.

            What languages are you comfortable with?

            • Useful topics
            • joystick-selection tool
            • rpie-art tool
            • achievements I made
            A 1 Reply Last reply Reply Quote 0
            • A
              Arcuza @meleu
              last edited by Arcuza

              @meleu said in Development:

              What languages are you comfortable with?

              C, C++, C#, Java, Javascript, F#, R, T-SQL, RegEx, XPath, Assembler. Markup languages as HTML, XML, XSLT.

              meleuM 1 Reply Last reply Reply Quote 0
              • meleuM
                meleu @Arcuza
                last edited by

                @Arcuza said in Development:

                @meleu said in Development:

                What languages are you comfortable with?

                C, C++, C#, Java, Javascript, F#, R, T-SQL, RegEx, XPath, Assembler. Markup languages as HTML, XML, XSLT.

                If I were the manager I would put you in the emulationstation team, for sure! :D

                I'm not sure if those guys develop ES stuff on Windows. Maybe @Zigurana can give some light here...

                • Useful topics
                • joystick-selection tool
                • rpie-art tool
                • achievements I made
                1 Reply Last reply Reply Quote 0
                • dankcushionsD
                  dankcushions Global Moderator
                  last edited by

                  source code for emulationstation: https://github.com/Aloshi/EmulationStation
                  (retropie actually uses a fork, and there are various other forks currently under development right now, but yeah)

                  the readme has build instructions. don't see why you couldn't use visual studio as your IDE.

                  have fun! :)

                  1 Reply Last reply Reply Quote 0
                  • mattrixkM
                    mattrixk @Arcuza
                    last edited by

                    @Arcuza said in Development:

                    Pity I don't have a Linux PC...

                    You could run Linux in a Virtual Machine if you have a Windows computer. I would imagine Macs can do similar.

                    My ES themes: MetaPixel | Spare | Io | Indent

                    herb_fargusH 1 Reply Last reply Reply Quote 0
                    • herb_fargusH
                      herb_fargus administrators @mattrixk
                      last edited by

                      @mattrixk it's also pretty simple to set up a dual boot

                      If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

                      Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

                      1 Reply Last reply Reply Quote 0
                      • Z
                        Zigurana
                        last edited by

                        It would be great if you want to help with developing the RetroPie platform! I think you have the following options:
                        The RetroPie scripts these are mostly written in bash, and form the core of the RetroPie system they are the glue that makes other programs such as EmulationStation and RetroArch work together nicely.
                        RetroArch or one of the other emulator systems is not directly developed here, but might be cool to work on if you are insterested in learning how to simulate the workings of old hardware on new. I would suggest you talk to @dankcushions to see what developments are currently of interest for the RetroPie project.
                        EmulationStation is the frontend that we currently use to show the available games and console-systems. It actually does nothing more than creating a pretty menu to select your game of choice. It is currently a bit of an orphan, as the original dev has quit. Others are trying to reboot the efforts (i.e. Herdinger, and our own @ben_thatmustbeme (repo). See also the wiki for more info on ES.

                        There is not a lot of documentation, I would suggest crawling through the github issues, to see what people are wanting / trying to do.

                        If tetris has thought me anything, it's that errors pile up and that accomplishments dissappear.

                        meleuM A 2 Replies Last reply Reply Quote 1
                        • meleuM
                          meleu @Zigurana
                          last edited by

                          @Zigurana when you play with the ES vode, what is your environment? (IDE and OS)

                          • Useful topics
                          • joystick-selection tool
                          • rpie-art tool
                          • achievements I made
                          Z 1 Reply Last reply Reply Quote 0
                          • Z
                            Zigurana @meleu
                            last edited by

                            @meleu said in Development:

                            @Zigurana when you play with the ES vode, what is your environment? (IDE and OS)

                            Ah yes, well, thats a bit embarassing actually.
                            I've been trying to get a proper toolchain up and running so I could code on my PC and compile/debug on the Pi, but I only got 75% there.
                            I use netbeans to have a nice IDE with code formatting and tracing (it can read the makefiles to interpret the dependencies).
                            Then I copy the altered files to the pi and compile by calling make. Now in principle it should be possible to compile (and debug!) natively on the pi from within netbeans, but I can't get the pi to access the sources over my network.
                            The whole process is painfully slow, and debugging is reduced to adding logging statements all over the place.

                            I would much rather code in visual Studio and compile on PC to debug and test, but there dependency hell (and a redefinition of the round() function if you can believe it) is preventing from getting any work done.
                            This is one of the issues that the herdinger fork was trying to fix. I hope that @ben_thatmustbeme plans to keep compilation on PC intact, as it would simplify development/testing of ES quite a bit (even if the final goal is only to run it on the RPi).

                            Add to that my very spotty understanding of github, and me trying to tie the original Aloshi, the Retropie, Herdingers and my own EmulationStation repositories together, and you get a nice big mess of code.

                            So yeah, there you have it, there must be better ways to do it, but I rather focus on adding functionality, than on getting the infrastructure in better shape. (I'm open for suggestions though!)

                            If tetris has thought me anything, it's that errors pile up and that accomplishments dissappear.

                            B 1 Reply Last reply Reply Quote 1
                            • B
                              ben_thatmustbeme @Zigurana
                              last edited by

                              @Zigurana said in Development:

                              This is one of the issues that the herdinger fork was trying to fix. I hope that @ben_thatmustbeme plans to keep compilation on PC intact, as it would simplify development/testing of ES quite a bit (even if the final goal is only to run it on the RPi).

                              As I don't have a PC, I am entirely on Linux, its not a top priority for me, mainly as I cannot test it. Many of the changes introduced from herdinger's fork were PC specific things, so I kept anything that looked like it would help. If anyone wants to test compiling on PC, go ahead, I would certainly accept any PRs that improve windows compiling without causing issues for linux/pi compiling.

                              meleuM 1 Reply Last reply Reply Quote 0
                              • meleuM
                                meleu @ben_thatmustbeme
                                last edited by

                                Wait a minute guys. When you say PC you mean Windows?

                                Because RetroPie runs on Linux PC as well. Wen I say Linux PC I mean Linux running on a computer with x86 (32 or 64 bits) processor. Is there some problem to develop/compile/test emulationstation on a Linux PC?

                                • Useful topics
                                • joystick-selection tool
                                • rpie-art tool
                                • achievements I made
                                B 1 Reply Last reply Reply Quote 0
                                • B
                                  ben_thatmustbeme @meleu
                                  last edited by

                                  @meleu yes, PC has just become something of a shorthand term for Windows PC. PC as' personal computer' is pretty much everything that is a computer that isn't shared today.

                                  1 Reply Last reply Reply Quote 0
                                  • A
                                    Arcuza @Zigurana
                                    last edited by

                                    @Zigurana Wow, I've scanned through the source and my first notice is that libraries on Linux and Windows differs quite a bit. However, I've tried to locate where ES dumps metadata to see why it takes 5 minutes to save 1 MB file (which of course comes from a coding mistake).

                                    To proceed I would like to work with an IDE that supports intellisense, and where I can debug code with step-trough and watches.

                                    Which IDE should I start looking at? Is there a PI emulator I can debug on, if I convert a Windows PC to a Linux PC? Which Linux distro should I choose?

                                    Thank you for your support!

                                    Z meleuM 2 Replies Last reply Reply Quote 2
                                    • Z
                                      Zigurana @Arcuza
                                      last edited by

                                      @Arcuza
                                      Motivated by the discussion here I gave VS2015 (on a windows PC) another try yesterday. I cloned @ben_thatmustbeme's repo and manage to get at least the release version to build.

                                      If you want to I could try to do a write-up on that, while its still fresh (sorta).

                                      Of course this only helps during development cycles, and you will need to rebuild on the pi itself for the more extensive testing.

                                      If tetris has thought me anything, it's that errors pile up and that accomplishments dissappear.

                                      A 1 Reply Last reply Reply Quote 0
                                      • meleuM
                                        meleu @Arcuza
                                        last edited by

                                        @Arcuza said in Development:

                                        if I convert a Windows PC to a Linux PC? Which Linux distro should I choose?

                                        This is a matter of oppinion, but mine is: Linux Mint Cinnamon edition (this one is the most recent). I suggest it to all my friends that have a Windows background and they are very satisfied.

                                        Go google for "linux mint 18 review" and see what they are saying about it.

                                        • Useful topics
                                        • joystick-selection tool
                                        • rpie-art tool
                                        • achievements I made
                                        1 Reply Last reply Reply Quote 0
                                        • A
                                          Arcuza @Zigurana
                                          last edited by

                                          @Zigurana Will it be possible to have debugging and watches in any way?

                                          herb_fargusH 1 Reply Last reply Reply Quote 0
                                          • herb_fargusH
                                            herb_fargus administrators @Arcuza
                                            last edited by herb_fargus

                                            @Arcuza you can call emulationstation with emulationstation --debug which will give some info and I presume you can code in more debugging along with development if you needed explicit details on changes

                                            If you read the documentation it will answer 99% of your questions: https://retropie.org.uk/docs/

                                            Also if you want a solution to your problems read this first: https://retropie.org.uk/forum/topic/3/read-this-first

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

                                            Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

                                            Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.