User Tag List

Results 1 to 7 of 7

Thread: Please, people. J2ME SDK anywhere??? :(

  1. #1
    Clicker Fusion 2.5 DeveloperInstall Creator Pro
    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)Universal Windows Platform Export Module (Steam)

    Join Date
    Sep 2016
    Posts
    41
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Exclamation Please, people. J2ME SDK anywhere??? :(

    I know I am seriously late, but I am a slightly retro nostalgic guy now.

    I'm into Sony Ericsson, Opera Mini, MiniCommander, VibeJive, PaintCAD, eBuddy, VideoDJ, MusicDJ times right now.
    And it's sad to see that only the 90's retro stuff is "in" while the 2001-2007 stuff is out of the picture.

    I have been looking all over for an SDK for making my own extensions for J2ME even though it's outdated horribly.
    If nobody knows what J2ME is, it's the Java platform for the not-flip not-stupid not-dump phones, but FEATURE phones! Those epic Sony Ericssons that had games of almost everything!

    The extensions I'd love to make have to do with the following functionalities:
    - File I/O for the phone's memory
    - File I/O for the RMS
    - File I/O for the *.jar file's innards (embedded mods in case someone wants to mod my game)
    - Everything needed for filesystem exploration
    - Ability to prompt the phone to open up a GUI form such as text input, softkey popup menu, messagebox, etc. in parallel compatibility with Windows
    - Phone input for text via the keypad and the ability to configure own character set for that as well as using the joystick to finish typing (so I don't need to wait on pressing 6 if I want to type something like "mono"; Opera Mini does it excellently)
    - Binary Object
    - RAM buffer object for making own MIDI files and paint-like drawings so that one could draw their own sprites inside of the game
    - Picture processor for dynamic recoloring of sprites rather than the broken recolor function (Freedom Planet was supposed to have this, but it was dropped due to crashes)
    - Dynamically loading (through File I/O or a RAM buffer) of sprites (Active -> Load Frame), sounds (with pitch modulation; WAV format), music (MIDI format)
    - Dynamically loading and saving through File I/O of Binary Object data, Arrays, INI files,
    - Multiplayer, chat and file transfer through Bluetooth, mobile internet, WiFi internet and WiFi LAN network

    Why?

    Because I'd love to fulfill my childhood dreams I drew on paper when I had a weak Windows XP computer and an amazing Sony Ericsson phone while wishing my apps/games could do what anyone could code in JDK if enough interested.
    Specifically, a faraway goal is to make an open-world platformer-like phone game with customizable avatars and with compatibility with Windows XP and Windows 7 (and possibly Windows 98SE+KernelEx and WINE).
    Think Battletoads pseudo 3D, Gangsta Crime City car stealing and physics (that's a game like GTA for phones and it's amazing), Super Mario Bros 3 blocksmashing, Minecraft blockbuilding, Deltarune menu/dialogue/chat and Sonic Forces avatar maker.
    I have so many drawings from 2010 through 2013 when I was a teenager and wanted that, but my computer was too weak and many programs were way too expensive while I was surviving on the barely legal The Games Factory 2 limited edition by a computer magazine called Kompyutersky Swyat (I don't know Polish, but Croatian, so I'm trying to mimick it somehow since Polish and Croatian are similar).

    I have been studying the limitations of the CTF2.5 engine such as having to have an Active object that acts like a "Spritesheet Container" for all possible avatars, having to have one Frame with all possible logic while using Arrays for loading and unloading the level objects (just like Super Mario Bros 3 does), having to use ForEach and loops as well as nested loops for almost everything, having to do The Art of the Bodge (like Tom Scott would) in order to do a simple if/else/switch/case/break logic I could do in C++, etc., and even though I dislike this engine's disabilities, I still see potential in this engine.

    I bet that any group of retro enthusiasts who love this stuff and who have the tools and the time to communicate with each other properly (timezones, filesharing, project versioning, Discord/Parsec/TeamViewer meetings and etc. shenanigans) would be able to bring J2ME back to its feet.
    I want to be the among first ones to make it happen.

    Do you have any resources where I could look up to?

    If the latest version of CTF2.5 Developer and the SDK you'll give to me are compatible with Windows XP, I am going to order a CTF2.5 license conversion from Steam to standalone in order to use with my Windows XP virtual machine (since Steam no longer supports XP and since XP is vulnerable to viruses due to no more Microsoft support).
    Otherwise, I will have to buy the exact version of Multimedia Fusion Developer 2 (I think it's 249 or 251 or something along those lines, but I don't know exactly) which can let me do this on an off-grid Windows XP computer for a nice retro experience. Plus, on top of that, I will need that exact SDK version.
    Please tell me what are the circumstances of compatibility and if I need to get any JDK thingies and where I can get those with a preferable J2ME version of 2010-2012.

  2. #2
    Clicker Fusion 2.5 MacFusion 2.5 DeveloperAndroid Export ModuleHTML5 Export ModuleiOS Export ModuleSWF Export ModuleXNA Export ModuleUnicode Add-on
    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Fusion 2.5+ DLC (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)
    Phi's Avatar
    Join Date
    Jan 2010
    Location
    England
    Posts
    1,846
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)
    Firstly, this is a very painful process you're putting yourself through. It would be difficult enough doing it with a text-based IDE which has a lot of potential customisation.

    Only things I give hints on:
    • CF2.5/CF2.5+ can still export to Java Mobile. Check the "show deprecated build types" in app properties.
    • CF2.5/CF2.5+ can supposedly run in Windows 98, according to the Clickteam Webshop pages. CT recommends running the Free edition to see if it'll work on your OS. (iirc, Target OSes are XP+ for CF2.5+, while under XP is supported for regular CF2.5.)
    • The JDK you would need, assuming Multimedia Fusion targets those phones, would be decided by the phone manufacturer. It's not a one-size-fits all, nor Fusion's fault. As you target earlier and earlier versions, the Java files will allow less Java language features, so you might hit a point where core runtime java files no longer can be compiled.
    • The Java files can be accessed in the Data\Runtime\Mobile folder, with zip files named as jar files, but you would need to work out how to convert class back to java files. Chances are you'll need to learn Java, and get familiar with how Fusion runs the Java program to compile, i.e. a lot of commandlines. (JAR files also features a META-INF folder which basically hashes the contents, so they cannot be corrupted/edited, so those will need regenerating, should you edit any extensions to fix bugs.)
    • And of course, you'd need Java anyway, to make your own extensions. If you manage to get a class file back to a .java file, you could have a stab at reverse-engineering it. I'm not sure there was ever an official SDK released, but the Android runtime does also rely on Java, so it's docs might be a good guide.
    • Learn to write log outputs, and how to read the logs; in my old Blackberry, you had to hold ALT + SHIFT and press LGLG to open the system log file on-screen.

    I think you're working with limits far too low, so you'll be hitting roadblocks far more frequently than someone with a more recent device, but have fun.

  3. #3
    Clicker Fusion 2.5 DeveloperInstall Creator Pro
    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)Universal Windows Platform Export Module (Steam)

    Join Date
    Sep 2016
    Posts
    41
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thank you for your response. It seems that it really is very painful. Just tried loading manually-inserted PNG and BMP files dynamically with the Load Frame action and failed. The program would hang. If I include the file on my own without the expression mode, it gets converted into an encrypted PNG format. Very very limiting, I must say.

    I know C/C++ and the last time I touched Java was when I had to make a simple Minecraft mod in 2013. I don't think it would be too much of a stretch to learn Java as long as I can learn how J2ME handles that dreadful abomination called garbage collection as I love to do malloc/free/new/delete/smart_ptr manually.

    Since this is so complicated, I wonder if it could be any use to write my own runtime for J2ME (unrelated to Fusion) which basically follows the exact game logic as my Windows-targetted app. I could translate my events by hand and compare if my J2ME app works consistently with my Windows app since my goal is to load all assets and game-specific logic from the INI/BMP/PNG/WAV/etc. files.

    What would I need to learn to get there?

    Btw, I have obtained the JavaExtensions.zip file from somewhere in these forums. Is that enough for me to work with? If I'm targetting Sony Ericsson A2 platform phones (C510, W705, etc.) and some cool K610i and Walkman ones, does it mean I could just download the Sony Ericsson SDK?

    Btw, SE went bankrupt due to the scandal of a security breach in their latest masterpiece phone that could run PlayStation 1 games like Crash Team Racing if bought by a credit card which the security breach could lead to mass theft. I suppose someone hated the harmony of J2ME and bribed a worker to do that. Who knows? It's just a theory. That means I have no way to obtain that old SDK stuff. And I don't know does Oracle supply any more of J2ME SDK and JDK from 2010 for those phones and for Windows XP offline. What are your impressions and what have your experiences been?

    Thank you so much for your persistence to respond to my "requiem" by writing this.
    I am looking forward for yet another reply. I thank you in advance for that one as well.

  4. #4
    Clicker Fusion 2.5 MacFusion 2.5 DeveloperAndroid Export ModuleHTML5 Export ModuleiOS Export ModuleSWF Export ModuleXNA Export ModuleUnicode Add-on
    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Fusion 2.5+ DLC (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)
    Phi's Avatar
    Join Date
    Jan 2010
    Location
    England
    Posts
    1,846
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Zvoc47 View Post
    ... too much of a stretch to learn Java as long as I can learn how J2ME handles that dreadful abomination called garbage collection as I love to do malloc/free/new/delete/smart_ptr manually.
    For the most part, it just uses shared_ptr-like logic. There's a refcount of owners, and every so often the garbage collector thread hunts around for things that have no owners anymore, then removes them. There's a Finalize and a destructor in Java.
    Manually calling the garbage collector is possible, but since it checks all objects, it's slow. There's no way to release memory for one thing directly.

    Quote Originally Posted by Zvoc47 View Post
    Since this is so complicated, I wonder if it could be any use to write my own runtime for J2ME (unrelated to Fusion) which basically follows the exact game logic as my Windows-targetted app. I could translate my events by hand and compare if my J2ME app works consistently with my Windows app since my goal is to load all assets and game-specific logic from the INI/BMP/PNG/WAV/etc. files.

    What would I need to learn to get there?
    If you can, you'd need to get permission from Clickteam. And rewriting the Fusion runtime, including all its quirks and hacks from upgraded features, is going to be a big job. Not to mention all the extensions.

    You can still use C/C++ in Java OSes, by use of JNI. Except, on older phones, apparently J2ME included, JNI isn't supported. So you'd have to hand-make all the extensions and features you want entirely in Java.

    And you'll have to be careful not to overuse the slow hard disk, but you can't compress files to speed up disk write, due to slow processor, and you can't keep it uncompressed in memory due to low memory... that's the kinda thing you're dealing with when you have old tech.
    And Java isn't fully optimisable, it's not like C which compiles to assembly/ASM code.
    In low-spec systems, some C folk used to swap out "2 pow x" calls for an array with [2, 4, 8, 16, ...] etc, just so they could save processor time. Hopefully that gives you some idea of the level of optimisation you'll likely need... throughout the entire runtime.
    Is it worth having a working app if it burns 80% processor all the time and you get overheating/battery empty in barely any time at all?

    Quote Originally Posted by Zvoc47 View Post
    Btw, I have obtained the JavaExtensions.zip file from somewhere in these forums. Is that enough for me to work with? If I'm targetting Sony Ericsson A2 platform phones (C510, W705, etc.) and some cool K610i and Walkman ones, does it mean I could just download the Sony Ericsson SDK?
    I have no idea, Zvoc47. I suspect they're pretty similar interface for a J2ME extension to interact with Fusion, as for a Java extension to interact with Fusion.
    J2ME was slowly edging out the door when I came on the ext dev scene, I didn't even target normal Java runtime. Java SDK might be the same for regular Java runtime and J2ME, just for Fusion runtime/ext SDK interaction being consistent. You could figure it out by reversing the .class files back to .java, and seeing the function names and comparing them with the SDK.
    My experience with Java has been from messing with Android JNI; I basically just created a wrapper so an extension can be written in C++ and compiled for both Android and Windows from the same codebase.

    Quote Originally Posted by Zvoc47 View Post
    And I don't know does Oracle supply any more of J2ME SDK and JDK from 2010 for those phones and for Windows XP offline. What are your impressions and what have your experiences been?
    Using XP offline I don't think it is possible. Even the older J2ME SDKs on Oracle's site are for Windows 7+.
    It's possible a newer J2ME works with an older phone, like newer Android APIs work with older Android OSes, but that's all up in the air.

    So you're going to be rewriting an entire runtime from docs that probably don't exist anymore, in a language you're not fully familiar with, with tools that are only hosted from third-party websites.
    This will take you months, if not years. Are you sure you wanna go ahead with that?

    Quote Originally Posted by Zvoc47 View Post
    Thank you so much for your persistence to respond to my "requiem" by writing this.
    I am looking forward for yet another reply. I thank you in advance for that one as well.
    Y'all applying a little salesman flattery ay?
    I'm sure you'll be honoured to sponsor my Patreon. There's much I plan to do and woe is me, for my finances do not permit it. I'm looking forward to you easing my woes with your sponsoring. Thank you in advance for your generosity.

  5. #5
    Clicker Fusion 2.5 DeveloperInstall Creator Pro
    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)Universal Windows Platform Export Module (Steam)

    Join Date
    Sep 2016
    Posts
    41
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Wow. That is a lot. Quite a lot to swallow. I have no idea how the heck people could develop J2ME programs with offline Windows XP programs and for such little phones.

    It seems I will have to use as less things as possible. Perhaps just following the JavaExtensions.zip docs and some YouTube tutorials on NetBeans for J2ME. After all, having at least the support for phone filesystem is quite a lot. I guess the Bluetooth and other things won't ever be made.

    But eitherway, I think there used to be some J2ME-targetting game engine, but I forgot which. JavaFX something? I forgot. It also targetted PCs.

    As for this "salesman" thing, please don't treat me such. Yes, I know, I speak English weirdly, but I learned English by watching Cartoon Network, making Let's Plays, voice chatting with content creators, reading datasheets, and I'm not kidding. In college, I'm taking the Electronic Business route which has its own English. Mix that with my nerdspeak and there you go. I always speak like this because it is polite. Not speaking like that is deemed impolite and "you won't get what you want if you don't speak nice to (other) adults". Shame that I sound like Spyro 2 Moneybags when I don't even intend to. I don't see a reason to. If I did, it would be a serious cringefest and I don't wanna go that route.

    Woah. Wait... WAHT!? The Darkwire Software website with all of the extension downloads is yours!? Well why didn't you say so! I'll consider doing something about this Patreon thing! But do you think you could code one of those thingies for me for one of those orange biscuit buttons? From the looks of your so-far progress and dedication, I can guess your hardware is far more superior than mine to the point that this additional money will be just extra inspiration for you to make at least one extension for me. Windows XP and J2ME support. I'd break my computer at least 10 times just to get there, lol. But first, my college needs me. Thank you again.

    P.S. Are you begging the Spyro 2 Moneybags roleplaying? How bad am I at it?

  6. #6
    Clicker Fusion 2.5 MacFusion 2.5 DeveloperAndroid Export ModuleHTML5 Export ModuleiOS Export ModuleSWF Export ModuleXNA Export ModuleUnicode Add-on
    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Fusion 2.5+ DLC (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)iOS Export Module (Steam)Universal Windows Platform Export Module (Steam)
    Phi's Avatar
    Join Date
    Jan 2010
    Location
    England
    Posts
    1,846
    Mentioned
    15 Post(s)
    Tagged
    0 Thread(s)
    Quote Originally Posted by Zvoc47 View Post
    As for this "salesman" thing, please don't treat me such. Yes, I know, I speak English weirdly, but I learned English by watching Cartoon Network, making Let's Plays, voice chatting with content creators, reading datasheets, and I'm not kidding.
    I'm just referring to "I am looking forward for yet another reply. I thank you in advance for that one as well."
    That's sort of a salesman thing of volunteering someone to do something for you, that's all. The other stuff was indistinct.

    Quote Originally Posted by Zvoc47 View Post
    Woah. Wait... WAHT!? The Darkwire Software website with all of the extension downloads is yours!? Well why didn't you say so! I'll consider doing something about this Patreon thing!
    Goood, gooooood. let the hate flow throough you.

    Quote Originally Posted by Zvoc47 View Post
    But do you think you could code one of those thingies for me for one of those orange biscuit buttons? From the looks of your so-far progress and dedication, I can guess your hardware is far more superior than mine to the point that this additional money will be just extra inspiration for you to make at least one extension for me. Windows XP and J2ME support. I'd break my computer at least 10 times just to get there, lol. But first, my college needs me. Thank you again.
    Hardware isn't the only factor, dude. It's finding the resources and getting them to hold hands. I don't know how J2ME works, and I have no device to test it on, so... yeah.
    It would take a while, to put it mildly, and unless you become my first $50/month sponsor for a good couple years, it probably won't be worth it for me.
    I could write an XP extension, though. In fact, my usual Fusion ext SDK targets XP+, with Android support next in the line. Fusion 2.0 and above supported. With the J2ME port, though, it's outside my expertise, so it's gonna be a time sinkhole. If you wanna discuss hourly rates, then sure...

    I could also give you some support on official Clickteam Discord, tips are free. Again, not in my expertise though.

  7. #7
    Clicker Fusion 2.5 DeveloperInstall Creator Pro
    Fusion 2.5 (Steam)Fusion 2.5 Developer (Steam)Android Export Module (Steam)HTML5 Export Module (Steam)Universal Windows Platform Export Module (Steam)

    Join Date
    Sep 2016
    Posts
    41
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hate? Pff. More like hype. Is your Android kezboard autocompletion busted? :P

    Yeah. We'll see.

Similar Threads

  1. How do I make an extension for J2ME?
    By Zvoc47 in forum Fusion 2.5
    Replies: 1
    Last Post: 16th October 2016, 07:37 PM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •