Sonic 1 J2ME General Hacking Thread

Discussion in 'Discussion & Q&A' started by Iso Kilo, Apr 29, 2020.

  1. Iso Kilo

    Iso Kilo Sonic 1 Beta Researcher and J2ME Hacker Member

    Joined:
    Oct 9, 2017
    Messages:
    224
    Location:
    Small Town in BC, Canada
    In case you are unaware, Sonic 1 J2ME is a port of the original Sonic the Hedgehog for mobile phones from 2005. It's actually what the 2006 'Sonic Genesis' GBA port is based on. Over the past month, some users such as @HyperPolygon64 @AURORA☆FIELDS and @CuckyDev along with I and others have been researching how it all works. As of April 29th, everything is still fairly new, and our decompilation is heavily obfuscated and unbuildable. However, now as interest is starting to wane, I figured it'd be appropriate to make this thread to renew interest. This version of Sonic 1 is very easy to modify because the graphics are literally just PNGs and the music, MIDI. We're working towards making a cleaned up decompilation, so code and level modifications can be achieved too.

    Here are a couple of resources to help you start with S1 J2ME hacking.
    Decompilation Github Page
    Discord Community
    KEmulator 1.0.3 (Provided by LilShootDawg)
    FernFlower Java Decompiler
    An original JAR of the game (Essentially a ROM) has been provided as well, I made sure to talk to Lazlo about this and it should be fine, legally.

    Feel free to also use this thread for discussion and showcasing what you've been able to do with S1 J2ME as well!~
     

    Attached Files:

    Last edited: Apr 30, 2020
    rika_chou and MGHACKS like this.
  2. MGHACKS

    MGHACKS A member who likes to spam messages. Member

    Joined:
    Aug 7, 2019
    Messages:
    168
    Location:
    Somewhere far from Sonic fanboys
    Is there no possibilities of changing the level design?
     
  3. Iso Kilo

    Iso Kilo Sonic 1 Beta Researcher and J2ME Hacker Member

    Joined:
    Oct 9, 2017
    Messages:
    224
    Location:
    Small Town in BC, Canada
    Not yet. We don't understand the layout's file format, but once we do, there'll supposedly be a fork of SonLVL made.
     
  4. Tanman Tanner

    Tanman Tanner Well-Known Member Member

    Joined:
    Dec 23, 2016
    Messages:
    95
    Location:
    Buffalo, New York
    I'm assuming by that the fact the music is in midi format is that you can simply swap out music tracks with other midi files, but I have a feeling there's a catch: does the midi file have to fit within a specific size constraint and be formatted a certain way?
     
    ProjectFM likes this.
  5. Iso Kilo

    Iso Kilo Sonic 1 Beta Researcher and J2ME Hacker Member

    Joined:
    Oct 9, 2017
    Messages:
    224
    Location:
    Small Town in BC, Canada
    As far as we can tell, there are no limits at all. As long as it's a MIDI, it works. Anything we've thrown at it plays out properly.

    However, there is a catch with the PNGs. You can only use 256 color (or less) images, or else you lose transparency. As well, you can extend the sizes of images that only use 1 frame (Like the Sega logo) but multiframe sprites (Like Sonic) are not the case. We're still working to figure out how to edit the sizes of frames and whatnot, so stick around for that. Hopefully we can make an animation tool or something afterwards.
     
    Last edited: Apr 30, 2020
    Tanman Tanner likes this.