hex007 / freej2me

A free J2ME emulator with libretro, awt and sdl2 frontends.
Other
469 stars 72 forks source link

Compatibility issues I found, and some questions #215

Open TwoSpacesSG opened 1 month ago

TwoSpacesSG commented 1 month ago

Hello, I decided to check this project again. While many games work very well (though the double audio loop issue still plagues a massive amount of games), here are some issues I've noticed.

Compatibility

Fantasy Zone (Nokia 176x208) works, but there's no audio. The main character's sprite is also messed up when facing left, but this is the behavior on some phones like from Sony Ericsson.

Shadow Shoot from the Sonic series (all versions: 240x320, 176x208, 128x160) also works but there is no audio.

Spyro: Ripto Quest - I tried the Nokia 176x208 version, as most of the others require softkey commands which i don't think are implemented yet. Upon reaching the menu, the game freezes with:

Canvas repaint(): nulljava.lang.NegativeArraySizeException
        at z.Screen.b(Unknown Source)
        at z.Screen.paint(Unknown Source)
        at javax.microedition.lcdui.Canvas.repaint(Canvas.java:165)
        at z.Main.run(Unknown Source)
        at java.lang.Thread.run(Unknown Source)

Spyro the Dragon - all four versions (128x128, 132x176, 176x208, 176x220) crash before reaching the title screen.

The SpongeBob SquarePants Movie Game (apparently this affects other Amplified/WayForward games as well) has the infamous issue with highly unresponsive inputs that also was an issue with the original KEmulator. I do believe J2ME Loader's implementation supports this game.

Harry Potter: Find Scabbers - this is also another game that's painful for emulators to support. The Nokia 176x208 version freezes on the first loading screen, and the small versions (Nokia 96x65 and 128x128) have an issue in the LCDUI menu where it resets the menu to the first screen over and over, preventing you from playing it. The Motorola 176x182 version works, but there is a screen flickering issue, and the game glitches up when you select "Quit to Menu" from in-game.

Rayman Raving Rabbids - on all currently maintained emulators including FreeJ2ME, there's an issue in which pressing jump "unpresses" left or right if you were holding it, on many versions of the game such as Nokia N95 or Sony Ericsson K850. This is not what happens on real phones. Of course it's the game that is broken, but this emulator issue makes the game harder to play.

BreakQuest Mobile (Break Quest Mobile) runs into a Java heap space issue upon boot when using 32-bit JRE. Doesn't seem all that intentional.

Sonic the Hedgehog: Part One / Part Two (most versions) require FPS to be limited in order to function correctly, otherwise you'll see effects like the big ring at the end of acts (if you collect 50 or more rings) spinning too fast (it's easy to do if you switch to easy mode). However, the FPS limiter also lowers the framerate past the normal one.

Questions

I noticed some weirdness in the resolution list and the keycode list. In the resolution list, two weird resolutions are 96x96 (I admit I never heard of this one) and 104x80 (is it not 101x80 ?). Some missing resolutions that were actually used by games are 130x130 (Siemens), 180x320 (some games for 360x640 devices were made in half-resolution as a cost-cutting measure, there was a Harry Potter game that did that), 208x320 (Sony Ericsson P-series), 220x176 (Samsung), 240x432 (Sony Ericsson Aino).

As for keycodes, there were various keycode layouts used by phones and by games for them, and like in J2ME Loader, they are underrepresented in FreeJ2ME. Here is a list I put together that I've more or less all seen in JARs:

Lastly, will we ever see the Libretro core for FreeJ2ME in RetroArch's core updater? I'm not into RetroArch, but I have some friends that are, and it would be cool to have this as an option.

Also, I'm sorry for creating a "multi-issue" of sorts, I know it's unprofessional, but I don't know where else to put so many different reports (aside from the retropie forum).

raidenii commented 3 weeks ago

Lastly, will we ever see the Libretro core for FreeJ2ME in RetroArch's core updater?

+1 on this. SquirrelJME does not run anything. While FreeJ2ME is far from perfect, it surely can run a very good amount of J2ME games.

I can report another imcompatibility I found:

Metal Slug STG - the games loads fine, but all sprites are missing, effectively rendering the game unplayable. Screenshots: FreeJ2me: Screenshot from 2024-06-01 10-34-35 KEmulator mod: 2024 06 01_10 33 03_1

WYX99069 commented 3 weeks ago

Yesterday I found there is a freej2me branch develop by AShiningRay which has solved many compatibility issues. Maybe you could give it a try. https://github.com/AShiningRay/freej2me/releases

raidenii commented 3 weeks ago

AShiningRay is an active contributer (thank you AShiningRay) to this project and yes I am aware of his fork. The issue I mentioned also exists on his fork, though.

WYX99069 commented 3 weeks ago

I just found his fork yesterday, before that I thought this project is unactiva given the lastest version on sourceforge shows 2018 and no releases here. And yes, there are still some issues, for example, when I playing zombie infection many sound effects echo twice. Hope it will be addressed in the future. Thank you to all the contributers of this project.

recompileorg commented 3 weeks ago

We're not inactive, we're just really busy. :) I do plan to updating the version on SourceForge, it's just a low priority.

TwoSpacesSG commented 3 weeks ago

Hello all. I did write that message with a recent FreeJ2ME version used (not the 2018 one from SF), and I know about AShiningRay's releases, I haven't tried the compiled libretro core from him but it seems very useful to have. Thank you all for the replies.