sadly there is no source code >_< but there are few ways to decompile java scripts easily,what i am going to might be half assed cus i just looked up on yt for java decompile tutorials that just take the java script 1:1 by a plugin
there are few roadblocks like sprite works and image assets stuff
but hey we will never know how much we capable when we tried it ^_^
Well porting is a goal so it actually has many methods to do so.
People think "source code" makes things easier for porting but in reality this is not the complete truth because naturally programs' code written for what kind of device they target. It also means targetting that CPU, GPU, RAM type and even how these hardwares together works to how the operating system (OS) and whatever firmware/driver even works.
Therefore porting basically has 3 methods:
1) Taking source code but heavily adjust it to the target platform you wanna release the game on. It does mean re-writing source code to befit that aspect of code regarding what codes are sent to the CPU and how visual aspect of codes can even happen. Sometimes it requires adjusting the whole code in context of how the target platform's RAM even works.
Source code makes it easier for you to avoid rewriting game's code itself regarding gameplay itself. For example take a GTA game for an example. While porting it when you have the source code you avoid writing codes for how CJ behaves, AI codes, all missions' and whatever content there is's code. However sometimes huge aspect of codes can have to be rewritten when game is too "tied to" how CPU and/or RAM works then you may significantly have to write most of the source code. This is why sometimes we have to use 2nd method.
2) Analyzing how code make hardware react. You check what kind of instruction goes to CPU and whatever and analyze how they behave. This involves re-engineering and deep knowledge on assembly. This method often used when source code is not enough or you lack source code. This is however a very tasking task that not realistic to do when most of the source code should be re-written or you lack the source code. This method mostly used for game hacks, especially to translate games. In that regard due to how "too much work" aspect of this method video game companies tend to use the 3rd method:
3) Re-developing the game especially for the target platform. When you have source code for gameplay and content it eases re-development aspect of the game instead of taking whole codes and try to befit it to the target platform. Naturally this is the only method I cared to use lol. Just for training I did redevelop my favorite Sega Genesis games for Windows PC back then and honestly it's best way even if the game is a complex mess because as the game is a complex mess you would also have more easier and less time to redevelop the game.
In that context what makes porting hard?: As the diffference between the original intended platform the game was develop for gets too different than your target platform for porting the more it gets hard to port. For example Metal Gear Solid 3 heavily uses how PS2 as hardware works which only closest console to PS2 is XBOX 360 regarding what the game needs therefore it makes porting the game hard and it also make it that you gotta sacrifice visual effects, how much objects can be on screen simulatenously and gotta reduce particle effects. In that regard this is why sometimes a game need redeveloping and if visuals and content really matters then porting the game faithfully gets impossible due to laws of physics. Software aspect of games are not magic so there are things you cannot mimic, replicate and emulate when game works because of the way how hardware works due to laws of physics.
However porting J2me games to PC from even with the source code from surface seem like "easier to do" when in reality it kinda seem like taking a C game and writing it for a device that can only run C++ games because you will have to write the aspect of code that how Java works on PC by changing specific codes to befit it. It means if you can understand how games' source code is you can translate it to whatever programming language you wanna use it by re-developing the game so it relatively making the task easier than trying to befit the Java codes to PC.
Then this would be overkill when the game is simple: You know the game is about character jump and shoots so for it analyzing assembly code and re-engineering how these codes to befit it to target platform is an unnecessary task to do when you can write that aspect of the code in whatever programming language you want. This will be kinda same as taking J2me games's source code and translate it for the Java PC using. Relatively developing an emulator for it is the easier task especially if you have a goal for porting lots of games.
In the end what you really need is finding a way take the asset and adjust it into a way it can be useful for the PC port. This is actually relatively kinda hardest aspect of the porting process when you don't how to take and repurpose raw asset files. Then you will have to find a way to extract these files.
Java games tend to have assets you can directly extract like a zip file but they may be compressed in a way you can't just extract them without figuring out how they are compressed. Sometimes developers wanna be protective of their assets so they compress the files in a way it's just hard to decompress them but never impossible. This is for example a huge hardship on trying to mod and translate patch games. But sometimes they care about protecting their assets but their goal is reducing the file size. Because codes are encoded in this case then first you gotta decompress them before if you wanna re-enginner how game codes work. If the game is compressed in a way it's not just easy to unpack the files then this is the real work you gotta put on to find/create unpackers, converters, adjusters, et cetera that can determine file types and correctly extract them and finding a way to make it mounted into your program. The tip for it is programs works in a way they "machine gun" codes into CPU to make the hardware react in a "guided way". It means a picture file as an asset can be taken as it is and directly used in the target platform just fine but sometimes target platform need to understand "what kind of file a picture is" to understand how these codes should be used, so then whatever aspect of your code will trigger picture usage need to have a "how to display these pictures" instruction loaded into RAM before these pictures are used.
Well it may seem like confusing but I tried to only write about fundamental tips you will need to port stuff. I use extracting assets to manipulate them only for modding video games, but when I ported some Sega Genesis games for PC just for fun naturally I chose the method of re-drawing sprites and all myself because higher resolution I did target made original sprits useless so they had to be remastered which is another aspect of porting.