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

                    @recompile It is a really nice project we accomplished. Most of the work was done by you. I am really glad we reached so much from the time we almost abandoned it due to awt not working on Rasperry pi and JavaFX problems with externally manipulating frame data. Kudos mate.

                    EDIT: Let me know if you are on github and I shall provide you write access right away. If you want the repo under your account even that can be done.

                    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 I'm not on github, which is why I put it on sourceforge. I've found that github can be difficult for casual users to use. (unintentional alliteration)

                      I looked at your repo though. It looks like I left some junk on there. You can safely remove the config and package directory.

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

                        @recompile I was able to find out and fix the vertical misalignment. You had size medium in Font.java as zero.

                        0_1506243221363_Screenshot from 2017-09-24 01-53-20.png


                        Now I am stuck with the horizontal part. This method in particular:

                        public int stringWidth(String str)
                        	{
                        		return str.length() * getPointSize() / 2;
                        	}
                        
                        

                        I know that the /2 is a hack (removed for the above image). The problem is that the font is not monospaced so plain multiplication is not going to work. So I need a way to get rendered text size. Some searches suggested FontMetrics.stringWidth. I tried to get that from Graphics2D but I am getting NULLPointers.

                        Any ideas?

                        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 2 Replies Last reply Reply Quote 0
                        • recompileR
                          recompile @Hex
                          last edited by

                          @hex You're on the right track. You can see a working example of FontMetrics.stringWidth in PlatformGraphics.

                          My solution was going to be to add a PlatformFont class, similar to what I did with Image and Graphics. (The idea being that those can be swapped out, leaving everything in the javax hierarchy the same.) That that's not strictly necessary as you should be able to just just use a PlatformImage and its graphics context and reap the same benefits.

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

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

                            You had size medium in Font.java as zero.

                            That's correct, according to the spec:
                            http://docs.oracle.com/javame/config/cldc/ref-impl/midp2.0/jsr118/javax/microedition/lcdui/Font.html

                            Be care with that sort of thing. I've found that just because something appears to work in one game doesn't mean it's correct -- and it can sometimes break other games.

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

                              @recompile Thanks for pointing that out. I shall revert the change. I was able to hack up a working solution for the stringWidth problem. I am trying now to implement the PlatformFont as you suggested.

                              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
                              • BloodDragoonB
                                BloodDragoon
                                last edited by

                                Hi all, been having problems with loading games on the emulator, i have Java Runtime Environment 8 update 144,both 64-bit and 32-bit installed (Java 9 didn't work for me for some reason), every time i boot the emulator it prompts me to select a game, i select a game, and... Nothing happens, just nothing happens, i saw a "config" file after i load my game i check it and there's a folder named "null", i check the folder, and there's the "game.conf" file, i attempt to edit it with Notepad++ and see a "nokia" string, its on, put it on "off", i save, try again, still nothing happens, every game i've tried it just goes to a "boot phase", closes the window, but then nothing happens, my OS is Windows 8, build 9200, hope you can fix it. Thanks!

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

                                  Which game are you trying to play? The support is for Linux primarily.

                                  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

                                  BloodDragoonB recompileR 2 Replies Last reply Reply Quote 0
                                  • BloodDragoonB
                                    BloodDragoon @Hex
                                    last edited by

                                    @hex Medal of Honor Airborne: 2D, but as said above all games just don't boot.

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

                                      @BloodDragoon Resolution of your game?

                                      Edit : I tried the 240x320 Medal of Honor Airborne and it works. Although it does gets stuck after the Operation Husky page1 comes.

                                      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

                                      BloodDragoonB 2 Replies Last reply Reply Quote 0
                                      • BloodDragoonB
                                        BloodDragoon @Hex
                                        last edited by

                                        @hex 240x360.

                                        1 Reply Last reply Reply Quote 0
                                        • BloodDragoonB
                                          BloodDragoon @Hex
                                          last edited by

                                          @hex Ahh yes ,blghh, that one.

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

                                            @hex The AWT port was originally developed for Windows, after I had given up on the RetroPie port as a result of the earlier failures. It's also very likely that most users will run this on Windows.

                                            That particular game does work (I have the 240x320 version). I tried it on on his JRE version (1.8.0_144 64bit) on Windows 10 and it's working correctly. [Edit to add: I played through about half of the first level. So we've got a range of not working at all, hanging on the mission screen, to working fine.]

                                            Does anyone have a Windows 8 machine to test it out on? Running it from the command line should show some output that would provide a clue as to a solution.

                                            BloodDragoonB 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.