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.0k 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.
    • Stuart2773S
      Stuart2773 @Allanbuzzy
      last edited by Stuart2773

      @allanbuzzy

      from what i can remember from owning an n70, n95 & ngage back in the day, im sure they were symbian based,

      cant wait to try this when its ready, so glad i kept a backup of all the java/ngage games i must have in the region of about 1000 for various mobile devices.

      1 Reply Last reply Reply Quote 0
      • N.A.R.E.K.96N
        N.A.R.E.K.96
        last edited by

        I would like to play old cell phone games and also game for Nokia N-Gage they were great!

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

          J2ME is not symbian emulator. So no you cannot play symbian games.

          @recompile I have different pixel interpolation methods while scaling. Would you be interested in testing those out? We can expose this in config if necessary.

          // Change this line. Valid values :  "nearest", "linear", "best"
          SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "nearest");
          // Linear is pixelated, no interpolation
          // Linear is Bilinear interpolation
          // Best is anisotropic interpolation
          

          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 @Allanbuzzy
            last edited by

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

            Would the N-Gage use the same architecture as J2ME?

            The N-Gage could run j2me games, but the few N-Gage specific games I have are all Symbian native. From what I remember, however, there weren't too many exclusive games released for the short-lived console. Asphalt Urban GT and Splinter Cell: Chaos Theory, for example, saw both j2me and Symbian releases, though the j2me releases often supported higher resolutions than the 176x208 you got on the N-Gage.

            For j2me games made for Nokia phones or the N-Gage, I've already added full support for the Nokia UI API.

            A 1 Reply Last reply Reply Quote 0
            • A
              Allanbuzzy @recompile
              last edited by

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

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

              Would the N-Gage use the same architecture as J2ME?

              The N-Gage could run j2me games, but the few N-Gage specific games I have are all Symbian native. From what I remember, however, there weren't too many exclusive games released for the short-lived console. Asphalt Urban GT and Splinter Cell: Chaos Theory, for example, saw both j2me and Symbian releases, though the j2me releases often supported higher resolutions than the 176x208 you got on the N-Gage.

              For j2me games made for Nokia phones or the N-Gage, I've already added full support for the Nokia UI API.

              So N-Gage is supported? Awesome, that's good.

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

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

                @Allanbuzzy I dont think he is saying that. Symbian deppends on Nokia UI, J2ME depends on Nokia UI. @recompile has added full support for Nokia UI.

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

                  @hex Sure. I can pass it to C as an additional parameter. From the command line, I'll accept: jar | jar width height | jar filter | jar width height filter but always pass C width height filter

                  Defaults are 240 320 nearest, but C doesn't need to know that.
                  http://drichardson-shared.s3.amazonaws.com/freej2me-rpi.jar

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

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

                    So N-Gage is supported? Awesome, that's good.

                    Let me try that again. The N-Gage could run j2me and Symbian games. This project will only support j2me games. Symbian games will not work. Nokia had their own special api for games, which is fully supported, so j2me games written for the N-Gage will work. Again, Symbian games written for the N-Gage will not work.

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

                      @recompile I have updated the C source to add support for interpolation/filter type .

                      J doenst need to pass default (nearest) if not user specified. I can handle that in C

                      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 said in Would you like to play Nokia (J2ME) games on Retropie?:

                        J doenst need to pass default (nearest) if not user specified. I can handle that in C

                        I know, but it's simpler for me to always pass something than to only pass it sometimes. I figured it would be simpler for you, as you can always expect 3 arguments. I like simple.

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

                          @recompile Will you be available for an hour or so for Gamepad testing?

                          Do I need to support multiple gamepads or a single gamepad would suffice.

                          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 One should be enough. I don't know of any two-player simultaneous games for old cellphones.

                            I'll be around for testing.

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

                              @recompile I have added gamepad support. Can you test it.

                              Analog Joystick data is ignored.

                              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
                              • A
                                Allanbuzzy
                                last edited by

                                I would've liked the idea of N-Gage emulation, but oh well I hope someone writes a Symbian emulator.

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

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

                                  @hex I'm not getting anything from either gamepad.

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

                                    @recompile I got a gamepad from a friend for testing. I think I am missing something in initialization. I will let you know once I start getting it working.

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

                                      @recompile I did a bit of digging and got all the keys to be recognized.

                                      The Buttons LR StSl ABXY all generate button events which I can detect and send like keyboard events. We will need to differentiate them from keyboard values.

                                      The Dpad on the other hand generates 2 data points. One tells if it is horizontal or vertical and another tells me if its Left/Top or Right/Bottom or Center (Released).

                                      How do you want me to send over this data?

                                      EDIT : I have updated C source so you can test which events are generated (O/p in string for testing).
                                      run the sdl_interface directly sdl_interface 1 1 nearest
                                      change focus to C while terminal set to keep on top to observe events. To exit Ctrl+C in terminal.

                                      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 We can use the event type flag to differentiate keyboard and gamepad events. we can, for example, use 2 and 3 instead of 0 and 1 for released/pressed.

                                        We can also abstract the dpad weirdness, if you want, by tracking which direction is pressed, and sending a corresponding released event when the state changes. Alternately, you can send a different event type, say 4, packed with the current dpad state and I can track it on the J side and generate the proper key events.

                                        On the C side, do you already know which events correspond to LR StSl ABXY or can you get them from retroarch or libretro?

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

                                          I have just one controller but this is my mapping, you can compare it with you event o/p

                                          //A
                                          1
                                          1
                                          //B
                                          2
                                          2
                                          //X
                                          0
                                          0
                                          //Y
                                          3
                                          3
                                          //L
                                          4
                                          4
                                          //R
                                          5
                                          5
                                          // Start
                                          9
                                          9
                                          //Select
                                          8
                                          8
                                          //Up
                                          X : -32768
                                          X : 0
                                          //Down
                                          X : 32767
                                          X : 0
                                          // Left
                                           : -32768
                                           : 0
                                          //Right
                                           : 32767
                                           : 0
                                          

                                          X replaces some wierd character that doesnt display here

                                          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 recompile

                                            @hex Mine is quite different A:1 B:0 X: 3 Y:2 L:4 R:5 St:6 Sl:7

                                            The dpad doesn't make any sense. Pressing Up, Down, Left, Right generates:

                                            : -1
                                            : -32768
                                            : -1
                                            : -32768
                                            : -32768
                                            : -32768
                                            : -32768
                                            : -32768
                                            : -32768
                                            : -32768
                                            : -32768
                                            : -32768

                                            While that output is handy, this version is very broken.

                                            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.