HOWTO: Disable Debug Mode in S1

Discussion in 'Engineering & Reverse Engineering' started by Shadow Fire, Mar 8, 2009.

Thread Status:
Not open for further replies.
  1. Shadow Fire

    Shadow Fire

    Ultimate victory! Member
    1,557
    0
    16
    The Land of Darkness
    Sonic: The Lost Land (Series), The GCN (site)
    Okay... we all know that Debug mode sux0rz, or in my case, prefer people not to use debug mode, so this little guide teaches you how to disable debug.

    First of all, in your main assembly file, search for the following:

    Code (Text):
    1. Title_CountC:
    Underneath this should be the following lines of code:

    Code (Text):
    1.         move.b  ($FFFFF605).w,d0
    2.         andi.b  #$20,d0; is C button pressed?
    3.         beq.s   loc_3230; if not, branch
    4.         addq.w  #1,($FFFFFFE6).w; increment C button counter
    Now, what we wanna do is to comment out those lines of code. In other words, add a semicolon ( ; ) at the beginning of each of those lines. This should be the result:

    Code (Text):
    1. ;       move.b  ($FFFFF605).w,d0
    2. ;       andi.b  #$20,d0; is C button pressed?
    3. ;       beq.s   loc_3230; if not, branch
    4. ;       addq.w  #1,($FFFFFFE6).w; increment C button counter
    What we've done is told the game to ignore all C button presses at the title screen. C is needed to activate debug mode, so with them not being counted, it is nigh impossible to activate it. You may still be able to activate it with a save state. =P Anyway, congratulations. You've disabled debug mode.
     
  2. Max Firestorm

    Max Firestorm

    Pyrodramatic Member
    I assume then that in order to disable the Level Select that you can do the same by commenting out the same for the A button?
     
  3. Cinossu

    Cinossu

    Administrator
    2,830
    16
    18
    London, UK
    Sonic the Hedgehog Extended Edition
    There are a few more things than that to remove. All this does is remove the code to activate it, not remove it altogether.

    Want it all gone? Remove any tests on $FFFFFE08 to do something different, and any jumps to DebugMode. Believe me, there are quite a number.
     
  4. Shadow Fire

    Shadow Fire

    Ultimate victory! Member
    1,557
    0
    16
    The Land of Darkness
    Sonic: The Lost Land (Series), The GCN (site)
    Yeah, I kinda knew that, but what my guide was to teach was how to disable it from being activated, which is just as effective as outright removing it.
     
  5. SMTP

    SMTP

    Tech Member
    Except you can still put in the patch code this way. :P
     
  6. nineko

    nineko

    I am the Holy Cat Tech Member
    6,105
    341
    63
    italy
    The best thing you can do is to disable it, and use $FFFFFE08 to store Sonic's max speed. So if someone tries to enable debug mode by writing 1 in there, he would end up with an ultra slow Sonic in return.
     
  7. Overlord

    Overlord

    Now playable in Smash Bros Ultimate Moderator
    18,613
    594
    93
    Berkshire, England
    Learning Cymraeg
    You're evil. I love this idea. XD
     
Thread Status:
Not open for further replies.