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

    Would you like to play Nokia (J2ME) games on Retropie?

    Scheduled Pinned Locked Moved Ideas and Development
    sdlemulatorawesome
    304 Posts 22 Posters 150.8k 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.
    • HexH
      Hex
      last edited by

      @recompile Are we completely switching to libretro?

      Sent from 20,000 leagues under the sea.

      Powersaver Emulation station : https://github.com/hex007/EmulationStation
      ES dev script : https://github.com/hex007/es-dev/blob/master/es-tests.sh

      1 Reply Last reply Reply Quote 0
      • recompileR
        recompile @guicrith
        last edited by

        @guicrith I'll have something soon. Following GNU's recommendations, I've got to add a tiny notice to every source file. It's rather tedious.

        1 Reply Last reply Reply Quote 0
        • dankcushionsD
          dankcushions Global Moderator
          last edited by

          your work has been noticed :) there is now a $50 bounty on a J2ME libretro core: https://github.com/libretro/libretro-meta/issues/100

          i know $50 in no way reflects the work you've done - it's just a gesture. are the conditions something you'd be interested in satisfying, eventually?

          recompileR 1 Reply Last reply Reply Quote 4
          • recompileR
            recompile @dankcushions
            last edited by

            @dankcushions said in Would you like to play Nokia (J2ME) games on Retropie?:

            are the conditions something you'd be interested in satisfying, eventually?

            The AWT build runs on Windows and Linux just fine. It should run on MacOS now, but I haven't had the opportunity to try it out.

            It could probably be ported to Android and iOS fairly quickly with Oracle's ADF Mobile (though I believe recordstores and configs would also need changed -- though that's just two additional files.) Though for iOS, I'd need to buy a Mac and some other Apple thing to test it out. That's a big investment for just one hobby project. I can pick up an Android phone for around $100. That's not much of burden, but seems so silly to invest twice the prize to claim it.

            If it needs to use libretro on those platforms as well, I don't know that I'd bother. The only reason I'm using it now is to make it work neatly on my pi3. The Java requirement makes it a poor fit for Libretro. While making it, I felt like I was doing something that shouldn't be allowed.

            Someone else (who, I'd assume, has already invested in the necessary Apple things) can claim that prize once I've put out the source. I'll try to find a few hours this weekend to get it out and available.

            It's really nice to see some interest in J2ME preservation beyond this thread. A good community should be able to take this and make something much better out of it.

            It would be nice to see other projects pop-up as well. As you'll see, it's not exactly difficult. For the most part, it's just a lot of tedious work. With people more comfortable with Java than I, and familiar with the subtleties of J2ME development, I expect we'll see some fantastic projects appear that leave this one in the dust.

            1 Reply Last reply Reply Quote 0
            • guicrithG
              guicrith
              last edited by guicrith

              Do you need oracle java or could you use Midpath?
              I have a mac and can test iOS and Android for you.

              recompileR 1 Reply Last reply Reply Quote 0
              • recompileR
                recompile @guicrith
                last edited by

                @guicrith MIDPath isn't an alternative to a JRE. It's written in Java, after all, and so requires a JRE to run. If you just don't like Oracle, you could use OpenJDK but it's significantly slower.

                I wish I'd had known about MIDPath before. It would have saved quite a bit of effort. If anyone is looking to make a J2ME "emulator" themselves, that would be a really good place to start.

                I'll try to get the source of mine out sometime tomorrow, though I don't know if I'll do much with it going forward. There seems to be enough interest to keep it going in the care of the community, so it's not like development will end here. There's still a lot of big things to do, so it should make a nice project for quite a few people.

                I'll see about making a write-up to go over the basic ideas and a few of the stranger things, but it should be easy enough to follow after an hour or so.

                1 Reply Last reply Reply Quote 0
                • guicrithG
                  guicrith
                  last edited by

                  I dont have any feelings toward oracle, are you using phoneME as the runtime(JRE)?
                  I am just wondering how it would run on android and ios if you are using the oracle JRE binarys since they dont exist for those platforms.

                  recompileR 1 Reply Last reply Reply Quote 0
                  • M
                    morrisav10
                    last edited by

                    This would be amazing when complete, I used to love Zombie Infection on my old Sony Ericsson!

                    In fact, the library for this would be massive.

                    1 Reply Last reply Reply Quote 0
                    • recompileR
                      recompile @guicrith
                      last edited by

                      @guicrith You can use whatever JRE you prefer. Like any Java application, it uses whatever is available on the system.

                      If you're looking to port it to iOS and Android, you could try wrapping it in an Oracle MAF app.

                      @morrisav10 said in Would you like to play Nokia (J2ME) games on Retropie?:

                      I used to love Zombie Infection on my old Sony Ericsson!

                      As luck would have it, Zombie Infection works just fine. The version I have runs in 320x240. You can change the display size per-game from the configuration menu (ESC from the keyboard, L+R+Start from the controller)

                      1 Reply Last reply Reply Quote 0
                      • HexH
                        Hex
                        last edited by

                        @recompile Will you be making an updated version for Linux too (non-libretro)?

                        Sent from 20,000 leagues under the sea.

                        Powersaver Emulation station : https://github.com/hex007/EmulationStation
                        ES dev script : https://github.com/hex007/es-dev/blob/master/es-tests.sh

                        recompileR 1 Reply Last reply Reply Quote 0
                        • recompileR
                          recompile @Hex
                          last edited by

                          Here it is:

                          https://sourceforge.net/projects/freej2me/
                          Alt:
                          http://drichardson-shared.s3.amazonaws.com/freej2me/freej2me_2017-09-23.zip

                          The AWT build will run on Windows and most desktop Linux distributions. It should run on MacOS, though I haven't tried it. With any luck, a Mac user will let us know.

                          To build, you'll want to install Apache Ant Just run ant from the directory that contains the build.xml file. Builds are provided in the builds directory, if you don't want to build it yourself.

                          For the libretro core, you'll need libretro.h and freej2me_libretro.c Run build.sh to produce freej2me_libretro.so A pre-compiled binary for the pi3 is supplied.

                          With that, I leave it in the capable hands of the community.

                          1 Reply Last reply Reply Quote 3
                          • HexH
                            Hex
                            last edited by

                            @recompile Which one of the compiled jar files is the one we have been testing with SDL?

                            Sent from 20,000 leagues under the sea.

                            Powersaver Emulation station : https://github.com/hex007/EmulationStation
                            ES dev script : https://github.com/hex007/es-dev/blob/master/es-tests.sh

                            recompileR 1 Reply Last reply Reply Quote 0
                            • recompileR
                              recompile @Hex
                              last edited by

                              @hex You'll need to compile that one yourself. Just add an entry to build.xml and run ant.

                              1 Reply Last reply Reply Quote 0
                              • HexH
                                Hex
                                last edited by

                                @recompile Thanks

                                Sent from 20,000 leagues under the sea.

                                Powersaver Emulation station : https://github.com/hex007/EmulationStation
                                ES dev script : https://github.com/hex007/es-dev/blob/master/es-tests.sh

                                1 Reply Last reply Reply Quote 0
                                • guicrithG
                                  guicrith
                                  last edited by

                                  This is very cool, the terminal I/O part will be very useful to run linux games on android if I ever try to set that up again.

                                  I will try to get this on android soon using openjre8 and linux, it wont help most users but should work on any rooted android phones.

                                  1 Reply Last reply Reply Quote 1
                                  • HexH
                                    Hex
                                    last edited by Hex

                                    @recompile I noticed you got the languages to work. Can you guide me how I can fix this? (From ShadowWalker)

                                    Linux OpenJDK8

                                    Using MicroEmu

                                    0_1506203425077_Screenshot from 2017-09-23 14-49-05.png

                                    Using FreeJ2ME

                                    0_1506203470024_Screenshot from 2017-09-23 14-49-38.png

                                    Sent from 20,000 leagues under the sea.

                                    Powersaver Emulation station : https://github.com/hex007/EmulationStation
                                    ES dev script : https://github.com/hex007/es-dev/blob/master/es-tests.sh

                                    1 Reply Last reply Reply Quote 0
                                    • recompileR
                                      recompile
                                      last edited by

                                      You'll need to properly implement javax.microedition.lcdui.Font.stringWidth, javax.microedition.lcdui.Font.subStringWidth and possibly fix anchors for text in org.recompile.mobile.PlatformGraphics.drawString, which implements javax.microedition.lcdui.Graphics.drawString

                                      1 Reply Last reply Reply Quote 0
                                      • guicrithG
                                        guicrith
                                        last edited by

                                        Do you care if I start a github page for the android project, bugreports and so others can contribute.

                                        You would retain full credit for the project and could transfer things to your own github page at any time.

                                        recompileR 1 Reply Last reply Reply Quote 0
                                        • HexH
                                          Hex
                                          last edited by Hex

                                          @guicrith I am making one with credits to @recompile

                                          https://github.com/hex007/freej2me

                                          Sent from 20,000 leagues under the sea.

                                          Powersaver Emulation station : https://github.com/hex007/EmulationStation
                                          ES dev script : https://github.com/hex007/es-dev/blob/master/es-tests.sh

                                          1 Reply Last reply Reply Quote 0
                                          • recompileR
                                            recompile @guicrith
                                            last edited by recompile

                                            @guicrith It's okay with me. Remember, you have rights and responsibilities under the GPL. While I appreciate the gesture, you don't need to ask me. It's free software, after all.

                                            Make sure you check license.txt before you distribute the ObjectWeb ASM component.

                                            Besides, the more variety the better, right? A lot of code should be portable between branches, so it's likely that your branch will be able to benefit others as others benefit from your own. The GPL keeps things free as in freedom for everyone.

                                            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.