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 146.1k 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 Yes I was planing on resurrecting micro emulator. The problem would be to have a per game config file as you might not have same number of keys as are present on the mobile phone (18).

      The list of j2me games, which now I would classify as retro, is so vast. There are amazing racing games like Asphalt 8, Prince of persia etc which would all be quite awesome

      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
      • mediamogulM
        mediamogul Global Moderator
        last edited by

        When you list all the potential games this would open up, it does sound pretty nice. I always like to discover new retro titles, so I'd definitely use it.

        RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

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

          @mediamogul For a comprehensive list check this out :
          https://www.google.com/search?q=j2me+games

          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

          mediamogulM 1 Reply Last reply Reply Quote 0
          • mediamogulM
            mediamogul Global Moderator @Hex
            last edited by

            @Hex

            The ID software turn-based shooter RPGs look especially interesting.

            RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

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

              @Hex That might not be too bad. While I envision playing with a mini wireless keyboard and a controller, I think a good default controller layout would work fine for a lot of games, saving players a bit of effort.

              I'm thinking something like the d-pad for the nav buttons, L and R for the soft keys, the ABXY buttons for *, #, 5, and the center nav "okay" button, select for 0, and the left analog stick for 2, 4, 6, 8. The remaining 1, 3, 7, and 9 could be mapped to the right analog stick, though that's not as clean as the other mappings.

              Not having a number pad on the controller is problem for systems like the ColecoVision as well, which is why I have a mini wireless keyboard, but it works well enough.

              Where you'll really need per-game configuration is in display size. Some games won't work, or won't work properly, if the display is too large or too small.

              You could do that inside the emulator, perhaps with a button combination to bring up a config menu. You could allow buttons to be remapped there as well.

              mediamogulM HexH 2 Replies Last reply Reply Quote 0
              • mediamogulM
                mediamogul Global Moderator @recompile
                last edited by

                @recompile

                Ha! I just noticed you're avatar. You must have to beat the ladies off with a stick.

                RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

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

                  @recompile Not everyone has all these buttons joysticks etc.

                  I am thinking of keeping it to 10 buttons. Dpad+ABXY+StSL no more than that. Optionally L&R. I am thinking of a way to make things work with as few buttons as possible. You could have a config file specified that you can put your mapping to.

                  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 1
                  • cyperghostC
                    cyperghost @mediamogul
                    last edited by

                    @mediamogul Yes I thought you are cloned like Dolly

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

                      @Hex a few weeks ago a friend of mine was working on J2ME libretro core. I'm not sure how far he went, though. I'll discover and let you know.

                      • Useful topics
                      • joystick-selection tool
                      • rpie-art tool
                      • achievements I made
                      HexH 1 Reply Last reply Reply Quote 1
                      • recompileR
                        recompile @Hex
                        last edited by

                        @Hex That's a tall order. You'd need to pick a modifier key, with the rest doing double-duty to hit all 18 buttons.

                        If I remember correctly, a lot of games that use the nav buttons also use 2,4, 6 and 8 as directional keys and 5 for 'okay'. If you used X for the modifier key, you could try something like start and select for the softkeys, the d-pad for 2, 4, 6, and 8, Y for 5, and A and B for * and #. If you use the d-pad and modifier together for nav, you have just enough buttons between start, select, A, B, and Y for 1, 3, 7, 9 and 0, though it'll be awkward to hit A, and Y when holding the modifier. That's the best I could probably do as far as a sensible default for 10 buttons is concerned.

                        I have to wonder though, how many controllers have 4 buttons, start, and select but don't also have L & R? You might be making it more difficult than it needs to be. It would be an easy decision to use L or R for the modifier if you don't mind upping the minimum button requirement.

                        Now that I'm thinking about it, you could drop the requirement to 8 buttons, if you used 3 modifier keys, allowing one to use one of those USB NES controllers. It would be pretty awkward to use though. Math says the absolute minimum is 5 buttons for 18 functions, but that would be absolutely awful (or impossible, in the case of a 2600 joystick) to actually use.

                        Oh, I forgot about something else odd about J2ME games. Some games used APIs from vendors (Nokia, Siemens, etc.) so you might need to include that in the per-game configuration.

                        @Hex Yeah, I noticed that when I wrote the fix, but I didn't want to modify the sprites. I thought it was funny that documentary crew at the dig covered his shame in their artwork.

                        HexH mediamogulM 2 Replies Last reply Reply Quote 0
                        • HexH
                          Hex @recompile
                          last edited by

                          @recompile said in Would you like to play J2ME games on Retropie?:

                          @Hex Yeah, I noticed that when I wrote the fix, but I didn't want to modify the sprites. I thought it was funny that documentary crew at the dig covered his shame in their artwork.

                          What??

                          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
                          • HexH
                            Hex @meleu
                            last edited by

                            @meleu Yea it would be better that way. Let me know what you find out.

                            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

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

                              @Hex Sorry, that was supposed to be @mediamogul. I tried to edit that when I noticed, but aksimet decided that change made my post spam. Frustrating.

                              1 Reply Last reply Reply Quote 0
                              • mediamogulM
                                mediamogul Global Moderator @recompile
                                last edited by

                                @recompile

                                I thought it was funny that documentary crew at the dig covered his shame in their artwork.

                                Ha! I missed it. That is funny.

                                RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

                                1 Reply Last reply Reply Quote 0
                                • pjftP
                                  pjft
                                  last edited by

                                  I don't know a lot about these games, but if lack of keys are a problem, the ZX Spectrum emulator solves that by showing a virtual keyboard when Select is pressed. I imagine that some keys will only be used rarely, so that can be an option!

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

                                    @Hex said in Would you like to play J2ME games on Retropie?:

                                    @meleu Yea it would be better that way. Let me know what you find out.

                                    He said:

                                    "I wrote the code to read ZIPs/JARs, read info from manifests and load .class files to memory.

                                    Theoretically I could start to interpret Java bytecodes, but other priorities had come, and I thought that maybe it's better to use the SableVM than maintain my own JVM. Anyway, it didn't evolved."

                                    • Useful topics
                                    • joystick-selection tool
                                    • rpie-art tool
                                    • achievements I made
                                    1 Reply Last reply Reply Quote 0
                                    • HexH
                                      Hex
                                      last edited by

                                      @meleu Sable reached its End of Development in 2007. I might have a look there too. I tried playing some game and lot of them need only these keys

                                      Yes & No
                                      Dpad keys + Enter (AKA yes key)
                                      1,3,7,9

                                      So this seems doable. Yes no can be start and select, Dpad = Dpad and 1379 XYAB. So all in all its very much plausible. Now i need to find a good java dev to help me with setting up the build env. Know anyone who can help?

                                      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 It looks like ME was using maven 2, which is end-of-life. Eclipse can create and Ant build file for you, if you or contributors want to use something other than Eclipse for builds.

                                        I'd start by downloading the Java SE SDK and setting up the project in Eclipse. Once you can successfully build, install Ant and create a build file.

                                        The read-me-developer.txt on the version on GitHub should fill-in any gaps.

                                        I can try to get something working later in the week if you're having trouble, but it doesn't look like it'll be too difficult.

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

                                          @recompile if you can get it running then I would get on it ASAP. Let me know how it goes. I am currently focusing on PS and hence unable to divert much time in things i dont know about. Can you set it up and let me know how it goes. 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
                                          • recompileR
                                            recompile
                                            last edited by

                                            That wasn't too bad. I installed the JavaSE JDK (I haven't used Java in ~10 years) and Apache Ant.

                                            You'll need to add a couple environment variables: JAVA_HOME and ANT_HOME

                                            After that, I ripped out as much as I could from the source, and wrote a build.xml file for Ant to use to build the project. (For simplicity, it creates just one jar file.)

                                            I had to hunt down a missing 3rd party library (picking the newest version that would work) and added it in. A few minor tweeks, and it builds... with a few warnings.

                                            The resulting jar works. It loads and plays games. Inexplicably, it plays a few games that the last official release was unable to play. (Though Doom RPG, Orcs and Elves, and Doom 2 RPG run at hyperspeed. Wolfenstein RPG seems to run normally.)

                                            Anyhow, you can download what I've done here:

                                            [http://drichardson-shared.s3.amazonaws.com/microemu_src_ant_2017-7-10.zip](link url)

                                            From the command line, navigate to the directory and type 'ant' It will pick up the build.xml file and build the project. The resulting Jar will be in the "build" directory.

                                            Happily, you can start a game from the command line as well:
                                            java -jar microemu.jar game.jar

                                            Right now, it uses Swing and AWT which won't work without X11. Rumor has it that JavaFX on ARM doesn't share that requirement, and would be suitable for porting MicroEmulator to RetroPie.

                                            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.