don't click here

Level Select Menu for Kid Chameleon

Discussion in 'General Sega Discussion' started by saxman, Mar 22, 2009.

  1. saxman


    Oldbie Tech Member
    I got this message from qiuu:

    I believe even though this is a Sonic community, it will still generate some interest in this. I have applied the patch and tried it out. I must say I'm quite impressed! It really works, and saves from having to use those GG/PAR codes everytime you want to start on a different level. Try it out!
  2. Yuzu


    Woah, this is quite an amazing feat. It looks like we could finally start to get some more hacking going along with Kid Chameleon. Has anybody started a Split Disassembly yet?
  3. Jayextee


    Unpopular Opinions™ Member
    Atro City
    Split Disassembly? Providing graphics and music will be easy enough to edit, I'm in there. <3
  4. ICEknight


    Researcher Researcher
    Awesome find. I wonder if there's a code to activate it without patching a thing...
  5. saxman


    Oldbie Tech Member
    Well see he created the level select menu himself. What amazes me is how small the code is that he applied to the ROM. He basically modified the options screen code so if you're holding A when pressing start, the menu will load differently, showing level names instead.

    From what he has told me, he plans on adding to this.
  6. Mad Echidna

    Mad Echidna

    Gone Oldbie
  7. qiuu


    Tech Member
    Blue Ball & Blocks
    I now added an additional helmet select to it. Thanks again to saxman for the hacking notes.
    After selecting a level, you can now select a helmet as well.

    IPS Patch: kid_hack.ips
    Binary: kid_hack.bin

    There are a few unused ROM segments filled with $FF bytes of up to ~800 bytes, one of which I used to put the code in. I deliberately tried to keep the code short by using existing routines to fit it into one of these segments.

    I suspect creating a split disassembly to would be a lot of work trying to get the assembly compile into exactly the same ROM.
    But even without that, level and art editing should be possible by appending/shifting around data and adjusting pointers. Levels can be edited via saxman's K-E, re-inserting them into the ROM would have to be done manually as of now. To re-compress the data I also wrote a compressor which can be found at the site linked above, it's based on saxman's specifications.
  8. saxman


    Oldbie Tech Member
    That helmet selection is really cool and very useful!

    I'm amazed how small your code is for the compressor. It's very compact!


    With this compressor made available, I figured I'd put out the last update I did to KidTool which can be used to decompress the data.

    Use to decompress:

    Use to compress:

    Source for decompressor:

    Source for compressor:

    Included with my decompressor is all my KC hacking notes which can be used to locate addresses of art in the game. So you can decompress specific art, edit it, and then use the compressor qiuu created to make the data ready to be inserted into the ROM again.

    I'd be interested to see what people might want to do with all of this stuff.
  9. qiuu


    Tech Member
    Blue Ball & Blocks
    Sorry for bumping this old topic, but my post doesn't really warrant a new topic.

    I've got a disassembly (poorly labeled) lying about for ages already, with the main aim to make data insertion/replacement easier, but I never got around to split the data off into separate binary files, and as I won't get around to do this anytime soon either, I'll just release what I've got. Perhaps someone can still make use of it. It recompiles almost bit-perfect (the only differences are a few exg instruction that the assembler compiles with the registers switched).

    The archive also contains the source to my level select hack (still done in hex), as well as some other stuff, including a few automation tools I wrote for splitting data off, which produce a text file suitable for the split.bat common to the Sonic disassemblies (only checked with S2), however quite some data is still missing (e.g. level data is not included in the split), and the includes would still have to be added in the disasm (text for these is already produced).

    Thanks again to saxman for documenting quite a bit of stuff.
  10. saxman


    Oldbie Tech Member
    Great stuff! I have downloaded it and looked through it, and it looks like it could produce some promising results. I think you'd get more reaction out of people if more people around here had played this game and liked it the way people like you and I do. I hope this disassembly continues, if not by you then by anyone willing to add to it. This is a game worth modifying.