Would you like to play Nokia (J2ME) games on Retropie?
-
@hex It's not as good as on my desktop, but it's perfectly playable.
As for keys, just look at changes I made to sdl_interface.cpp (~ line 113). Each key event results in 5 bytes: 1 for the event type, 4 for the code (big endian). Converting an int to a string in C, then reading that string in J and converting it back to an int seemed ridiculous when we could just send the int.
@hex said in Would you like to play Nokia (J2ME) games on Retropie?:
We also need to come up with a name for the Emulator
I plan to release the AWT and JavaFx source and builds under its current name. Why change it for the RetroPie build?
-
@recompile I am expecting it to be taken up in Libretro later on once it gains traction. Hence the request. Since it is heavily modified for Raspberry pi having a different name might come in handy later on.
-
@hex I wouldn't call it heavily modified. Only a single file is changed between the AWT, JavaFx, and RetroPie builds.
Still, it's not important. If you want different name for the retropie build, have at it.
-
@recompile I have changed C source a bit and updated it on dropbox. It is same in functionality so it should work as expected. I have just streamlined a bit.
I didnt think that the change was so small. FreeJ2ME is fine too.
-
@hex I guess my next step is to start working on the per-game configuration.
On the C side, I'm guessing you're going to work on joystick support and whatever you need for RetroArch/libretro?
-
@recompile I think it would be best to read ES input config file and decide key bindings based on that. That is what all libretro emulators do. If we are able to get a fixed key bindings then we wouldnt need separate configurations things. The config files would just as well have screen resolution and Jar file location. This will save us considerable time.
Joystick support is not a priority at present. I shall implement it none the less at a later stage. It looks to be a bit complicated to maintain calibrations and other settings
Yes & No (Soft 1,2) -> L&R
Dpad keys -> Dpad
1,3,7,9 -> ABXY
Select and start for special usage as needed.We can also have possibly Select + ABXY for combos to control emulator and * and # if necessary.
Or any other combination of controls. We have 12 buttons which seems sufficient for majority of games.
-
@recompile said in Would you like to play Nokia (J2ME) games on Retropie?:
java -jar freej2me-rpi.jar file:/home/pi/RetroPie/roms/j2me/ShadoWalker.jar 240 320
I tried running with different Jar files and all of them error out "Couldn't load jar..."
-
Big performance boost:
http://drichardson-shared.s3.amazonaws.com/freej2me-rpi.jar@hex said in Would you like to play Nokia (J2ME) games on Retropie?:
Joystick support is not a priority at present.
? Seems pretty important to me. It was your biggest concern when this whole thing started. Did you decide that you were happy with keyboard only?
@hex said in Would you like to play Nokia (J2ME) games on Retropie?:
I tried running with different Jar files and all of them error out "Couldn't load jar..."
That's a pretty early failure. Check your paths and permissions. This should tell you more: http://drichardson-shared.s3.amazonaws.com/freej2me-rpi-dbg.jar
Has anyone else had trouble?
-
@recompile It is expecting a file:// or http:// url. , my bad :|
Starts up now. Can we additionally add numpad control (but inverted ie key 1 on NumPad 7 click)
If I exit application from emulator I get this "MIDlet sent Destroyed Notification" but the emulator doesnt exit. C is also left open.
If you want I can get joystick working as it works with ES. Do you have one to test it on. I dont have any. If you do then I shall get to it ASAP.
How do you like this way of separating functionality rather than diving into JNI?
@recompile said in Would you like to play Nokia (J2ME) games on Retropie?:
Big performance boost:
Can you elaborate. This is my version of gossip :)
@recompile said in Would you like to play Nokia (J2ME) games on Retropie?:
Has anyone else had trouble?
I dont think anyone else is testing progress.
-
@hex said in Would you like to play Nokia (J2ME) games on Retropie?:
Are you checking difference between Key Pressed and Released.
Of course. Games wouldn't work if I didn't.
@hex said in Would you like to play Nokia (J2ME) games on Retropie?:
Can you print events / Key presses detected in your debug version.
Sure:
http://drichardson-shared.s3.amazonaws.com/freej2me-rpi-dbg.jar@hex said in Would you like to play Nokia (J2ME) games on Retropie?:
Can you elaborate. This is my version of gossip :)
Nothing fancy. I now make an additional copy of the frame data (to make a byte array) so that I can send it in one call to sdl_interface. It made a huge difference. Going from "just make it work" to "do it the right way" often does that.
@hex said in Would you like to play Nokia (J2ME) games on Retropie?:
If you want I can get joystick working as it works with ES. Do you have one to test it on.
That'll be okay. I have one suitable for testing. I figure most people will want to play with a controller and not a keyboard. Don't you have one on your pi 0? The picture you sent shows a d-pad and a couple buttons.
It occurred to me that we might be talking about two different things. When I say 'joystick' I mean any gamepad/controller/whatever.
@hex said in Would you like to play Nokia (J2ME) games on Retropie?:
Can we additionally add numpad control (but inverted ie key 1 on NumPad 7 click)
Sure:
http://drichardson-shared.s3.amazonaws.com/freej2me-rpi.jar -
@hex said in Would you like to play Nokia (J2ME) games on Retropie?:
If I exit application from emulator I get this "MIDlet sent Destroyed Notification" but the emulator doesnt exit. C is also left open.
I fixed that as well.
-
@recompile I was sending key down for key up too causing the problem :| Fixed that.
If I exit application from emulator I get this "MIDlet sent Destroyed Notification" but the emulator doesnt exit. C is also left open.Saw updated commentI will update C to include those events. (Joystick events) and let you know once done.
-
@hex said in Would you like to play Nokia (J2ME) games on Retropie?:
If I exit application from emulator I get this "MIDlet sent Destroyed Notification" but the emulator doesnt exit. C is also left open.
The dbg version didn't have that fixed. Here's an update:
http://drichardson-shared.s3.amazonaws.com/freej2me-rpi-dbg.jar -
@recompile Joystick handling is a tad bit complicated. I will do it tomorrow. Its 1:30 am here in LA.
I played the game Shadow Walker and I must say we have come a long way :)
If you want you can update C from dropbox and test it out. I have migrated the byte array "out" to vector.
Let us refresh things on our todo list. Please append if I forgot anything.
Todo :
- Gamepad support
- Joystick support (optional; Long term)
- Audio support
- Hide Game's log output (optional)
- m3g support (long term)
-
@hex said in Would you like to play Nokia (J2ME) games on Retropie?:
Gamepad support
Joystick support (optional; Long term)These are the same thing to me. (I use the terms joystick and gamepad interchangeably) As you're differentiating between them, when I say "joystick" I'm thinking of a gamepad.
I'd like to also add m3g support. That'll be a while.
-
Yea for me Game pad is SNES controller (Dpad ABXY LR). Joystick are the two analog sticks on Xbox controller
what is m3g?
-
@hex m3g is the Mobile 3D Graphics API from JSR 184. Some later games used this, like The Sims 3 and X-Men Origins: Wolverine.
-
Would the N-Gage use the same architecture as J2ME? I saw a video that showed a N-Gage game playing on a Nokia N70 using emulation.
-
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.
-
I would like to play old cell phone games and also game for Nokia N-Gage they were great!
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.