• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
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 145.6k 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.
  • H
    Hex
    last edited by 26 Aug 2017, 20:39

    @recompile I think the latest Jar file has broken event handling. It does not recognize any keyboard keys other than F4 to exit. For now I am reverting to using the previous version.

    I am ok with the stderr hidden. The amount of errors spewed is just too much for some of the games. I shall find a different way to get logs considering it is not J's fault this is happening.

    I really liked the parameter passing and it works as expected.

    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
    • H
      Hex
      last edited by 29 Aug 2017, 04:47

      @recompile Can you test why this doesnt work on J while it works on microemu

      https://github.com/turbanoff/j2me-2048/

      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

      R 1 Reply Last reply 29 Aug 2017, 05:52 Reply Quote 0
      • R
        recompile @Hex
        last edited by 29 Aug 2017, 05:52

        @hex It uses Command and CommandListener, which I haven't completely implemented.

        Why? Because this would be the second game I've seen that uses it. The first also uses mascotcapsule's micro3d (which I can't implement, due to lack of documentation), so it didn't seem worth the effort to do anything but stub it out for the time being.

        1 Reply Last reply Reply Quote 0
        • H
          Hex
          last edited by Hex 29 Aug 2017, 05:58

          Thats fine. I just wanted to bring it to your notice.

          Can you provide me a binary with parameter passing without the stderr passing fix ? I tried the last JAR and I think that broke the keyboard input. No keys are recognised other than F4

          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

          R 1 Reply Last reply 29 Aug 2017, 06:16 Reply Quote 0
          • R
            recompile @Hex
            last edited by 29 Aug 2017, 06:16

            @hex It's not looking likely. I have per-game configs working and sound almost done, so I was trying to decide on licensing. I'm just about settled on GPL3, which wouldn't be compatible with Anbu's terms.

            1 Reply Last reply Reply Quote 0
            • H
              Hex
              last edited by Hex 29 Aug 2017, 06:55

              Are you adding Non-Commercial ?

              The licence was added till it was in development. Once done I will switch to GPL3

              EDIT : Since I have finished Rotation, Scaling, 60fps limiter, background color and image, I think Anbu is complete. So might as well do it now.

              I have updated Make file, Anbu source and License in the dropbox folder so you can try it out. I have added a make file too in which you can add the java compilation instructions and any modifications needed.

              With this I would like to shift to binary being called 'anbu' from J, as updated in Make file.

              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

              R 1 Reply Last reply 29 Aug 2017, 07:16 Reply Quote 0
              • R
                recompile @Hex
                last edited by recompile 29 Aug 2017, 07:16

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

                Are you adding Non-Commercial ?

                Of course. This is, after all, supposed to be for fun. The whole point is to let people have fun, playing games.

                When I saw your license, I wanted to vomit. I almost abandoned the entire project in disgust. That sort of thing isn't about working on a fun project, made to let other people have fun.

                That was actually my primary motivation for selecting a GLP license. I had initially intended to just release it in the public domain, or something more permissive like MIT. It's a defense against people turning my efforts in to something decidedly not purely about enabling others to have fun.

                The fact that I had to think about this at all is upsetting to me.

                1 Reply Last reply Reply Quote 0
                • H
                  Hex
                  last edited by Hex 29 Aug 2017, 07:18

                  Dude sorry, I didnt mean to offend you. I didnt even know what licence to use. I have moved it to GPL3. How do you add a non-commercial to this?

                  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
                  • H
                    Hex
                    last edited by Hex 13 Sept 2017, 04:15

                    @recompile Any updates?

                    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
                    • A
                      Allanbuzzy
                      last edited by 17 Sept 2017, 14:42

                      Is development still going on? It seems a bit quiet now.

                      "What do you play games on?"
                      "A LEGO brick."
                      "LEGO What?

                      R 1 Reply Last reply 19 Sept 2017, 07:49 Reply Quote 0
                      • H
                        Hex
                        last edited by 18 Sept 2017, 01:57

                        Since @recompile is taking a break I can't say much. On the ui interface side it is mostly complete. The backend is a continuous process

                        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
                        • R
                          recompile @Allanbuzzy
                          last edited by 19 Sept 2017, 07:49

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

                          Is development still going on? It seems a bit quiet now.

                          Yes, but rather slowly. I've been a bit busy, and haven't had much time to work on it lately. Things should slow down in a couple of months, so don't expect too much in the near-term.

                          Still, I guess an update wouldn't hurt. There's a lot of new stuff on the front-end and some neat additions to the back-end that open up games like X-Men Origins: Wolverine across all builds and like Doom II RPG to the Libretro build.

                          The latest Libretro build:
                          http://drichardson-shared.s3.amazonaws.com/freej2me_libretro_2017-09-19.zip

                          Among the more important additions are per-game configs, accessible by pressing ESC or L+R+Start on the controller. This lets you change resolutions, toggle Sound and Nokia keys, rotate the display, or quickly quit.

                          Mouse support is also enabled for games that require you to touch the display. For joypad users, the left analog stick will let you move the pointer. Clicking is activated by the "Y" button when the pointer is visible. ("Y" behaves normally when the pointer is not visible, or when made visible by using a mouse.) The pointer automatically hides after a "click" and will vanish on its own in about a second when it's not being moved.

                          Controls are mostly the same. Changes include the addition of the menu key (ESC) and it's joypad equivalent (L+R+Start), mouse support, the pretend joypad mouse described earlier, and the d-pad defaulting to Nokia nav keys. (That last change seems crazy, but Nokia keys seem to be near-universally supported. Don't worry, this can be quickly switched to the previous 2,4,6,8 per-game from the menu).

                          Installation is a bit different than before, but I don't think they'll need to change again going forward. Installation instructions should also be correct this time. I had a mistake in the previous build, so if you had trouble getting it working before, that's probably why. Instructions are included in the zip, but I'll post them here for convenience:

                          Step 1:
                          Install Oracle's JDK:

                          sudo apt-get update
                          sudo apt-get install oracle-java8-jdk

                          sudo update-alternatives --config javac
                          sudo update-alternatives --config java

                          Step 2:
                          Create the necessary directories:

                          sudo mkdir /home/pi/Retropie/roms/j2me
                          sudo mkdir /opt/retropie/configs/j2me
                          sudo mkdir /opt/retropie/BIOS/freej2me
                          sudo mkdir /opt/retropie/libretrocores/lr-freej2me

                          Step 3:
                          Copy the file:
                          freej2me_libretro.so
                          to:
                          /opt/retropie/libretrocores/lr-freej2me

                          Be sure to set permissions to 755:

                          sudo chmod 755 /opt/retropie/libretrocores/lr-freej2me/*

                          Step 4:
                          Copy the file:
                          freej2me-lr.jar
                          to:
                          /home/pi/Retropie/BIOS/freej2me

                          Step 5:
                          Add the files:

                          emulators.cfg
                          retroarch.cfg
                          to:
                          /opt/retropie/configs/j2me

                          Step 6:
                          Add the following to:
                          /etc/emulationstation/es_systems.cfg

                            <system>
                              <name>J2ME</name>
                              <fullname>Java 2 MicroEdition</fullname>
                              <path>/home/pi/RetroPie/roms/j2me</path>
                              <extension>.jar</extension>
                              <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ j2me %ROM%</command>
                              <platform>j2me</platform>
                              <theme>j2me</theme>
                            </system>
                          

                          There's still a lot to be done on the UI side of things, but it's serviceable for now. The additions here will, at least, let you play many more games on your pi3 than the previous version.

                          1 Reply Last reply Reply Quote 4
                          • guicrithG
                            guicrith
                            last edited by 19 Sept 2017, 16:01

                            Is the source code available anywhere?
                            I might be able to help with this.

                            R 1 Reply Last reply 19 Sept 2017, 23:41 Reply Quote 0
                            • H
                              Hex
                              last edited by 19 Sept 2017, 23:10

                              @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
                              • R
                                recompile @guicrith
                                last edited by 19 Sept 2017, 23:41

                                @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 20 Sept 2017, 22:25

                                  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?

                                  R 1 Reply Last reply 22 Sept 2017, 04:54 Reply Quote 4
                                  • R
                                    recompile @dankcushions
                                    last edited by 22 Sept 2017, 04:54

                                    @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 22 Sept 2017, 16:56

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

                                      R 1 Reply Last reply 23 Sept 2017, 00:43 Reply Quote 0
                                      • R
                                        recompile @guicrith
                                        last edited by 23 Sept 2017, 00:43

                                        @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 23 Sept 2017, 03:59

                                          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.

                                          R 1 Reply Last reply 23 Sept 2017, 10:58 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.

                                            This community forum collects and processes your personal information.
                                            consent.not_received