don't click here

This. Is. Wierd.

Discussion in 'Engineering & Reverse Engineering' started by Ambil, Aug 13, 2005.

Thread Status:
Not open for further replies.
  1. Ambil


    I want that heinous hedgehog hammered! Member
    Yesterday I started to do some strange affairs in Sonic 1 ROM, helped by LOst and the Nemesis guide. I just wanted to play without rings.

    I went to the ring sprite pointer, 0xD412, which points to a 32-bit hex address in the ROM, 0x9B26. The ring object programmings starts there with a $7000 (moveq.l #0, d0). I replaced it with $4E75, to make rings dissapear from the game.

    And of course I disabled the checksum writing $4E71 4E71 at 0x33A.

    But not only the rings dissapeared. Fear all the wierdnesses in Sonic 1 related to the ring object!

    Act 1.


    Where are the rest of the logs? And look at the spikes! Where are they? Ah, they appear after a while.

    Act 2.


    Does the bridge problem make sense? And the breakable ground appears after Sonic walks acrros it!


    Where is the chain of this swinging platform?



    Certainly I don't know if the Ring objet is anyway related to all these objects. I only think all this shit is illogical. And you?
  2. voice


    Make any joke you want, you know I look good. Misfit
    45mins west of Chicago
    RSN2.0, PHP:IRC (A attempt at CGI:IRC in PHP)
    Well I dunno about the rest but the swing with the missing chains could be because, and I'm not sure, the chains were made of rings with a diffrent pallet? I've never really dived deep into the games inner workings and what not, so I'm making a guess.
  3. Aurochs


    Единый, могучий Советский Союз! Tech Member
    Whatever catches my fancy
    If the Sonic 1 object engine works anything like the Sonic 2 engine, the ring may have several subtypes that are used for all kinds of different things. The chain is almost certainly a subtype of the ring.
  4. The Mighty Boosh

    The Mighty Boosh

    Stupid like a FOX! Member
    I just did the exact same thing to disable rings and I discover none of the problems you came across.


    EDIT: On closer inspection, disabling Rings makes it so when the crumbling platforms crumble, the small squares they break into disappear as it crumbles. But it's still functioning perfectly.

  5. drx


    mfw Researcher
    This is easy.

    Every sprite has a killing routine, which removes it from memory when eg. you are go away from it. By putting 4e75 at the beginning of the ring code, you turned this off. So, even if you go away from the rings, the code is still executed and the object is still in RAM and VDP Sprite Array. Max sprites number is 80. So no wonder other sprites disappear. There's no space in RAM.
Thread Status:
Not open for further replies.