So, you want to start hacking Sonic?

Discussion in 'Engineering & Reverse Engineering' started by Jayextee, May 28, 2008.

  1. Mikel

    Mikel

    Member Member
    495
    0
    16
    Oklahoma
    MUGEN Stuff
    <!--quoteo(post=317370:date=Jun 9 2009, 02:53 AM:name=Graxer)--><div class='quotetop'>QUOTE (Graxer @ Jun 9 2009, 02:53 AM) <a href="index.php?act=findpost&pid=317370"><img src="public/style_images/retro/snapback.png"></a></div><div class='quotemain'><!--quotec-->Thanks for the help! I will try the ASM alterations at some point later.

    I don't think I want the background to scroll, no. What would I do to fix that?

    Thanks again for your help! :)<!--QuoteEnd--></div><!--QuoteEEnd-->
    You're Welcome, and if you want a background that doesn't scroll, use Sky Chase Zone's background (Even though it doesn't move with you wherever you go).

    So, go to "JmpTbl_SwScrlMgr:" (Without the Apostrophes), and change the following line:

    <!--g1--><div class='geshitop'>Syntax Highlighted Code: ASM</div><div class='codemain'><!--eg1--><pre class="asm"> <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">w</span> SwScrl_EHZ-JmpTbl_SwScrlMgr <span style="color: #adadad; font-style: italic;">; $00</span></pre><!--gc2--><!--CWRjLncgU3dTY3JsX0VIWi1KbXBUYmxfU3dTY3JsTWdyCTsgJiMwMzY7MDA=--><!--egc2--><!--g2--></div><!--eg2-->
    To:

    <!--g1--><div class='geshitop'>Syntax Highlighted Code: ASM</div><div class='codemain'><!--eg1--><pre class="asm"> <span style="color: #00bfff;">dc</span>.<span style="color: #00bfff;">w</span> SwScrl_SCZ-JmpTbl_SwScrlMgr <span style="color: #adadad; font-style: italic;">; $00 ; EHZ</span></pre><!--gc2--><!--CWRjLncgU3dTY3JsX1NDWi1KbXBUYmxfU3dTY3JsTWdyCTsgJiMwMzY7MDAgOyBFSFo=--><!--egc2--><!--g2--></div><!--eg2-->
    I hope this can work.
     
  2. Graxer

    Graxer

    Member Member
    <!--quoteo(post=317169:date=Jun 9 2009, 02:28 AM:name=Mikel)--><div class='quotetop'>QUOTE (Mikel @ Jun 9 2009, 02:28 AM) <a href="index.php?act=findpost&pid=317169"><img src="public/style_images/retro/snapback.png"></a></div><div class='quotemain'><!--quotec-->And after you click Level Layout in the "Write Data->File" Menu, you will find a file named "S2lev.dat" (Without the Apostrophes), if the level you save that file as is EHZ1, you will need to rename it to "EHZ_1.bin" (Again, without the Apostrophes), and place it in the layout folder that is inside your level folder in your Sonic 2 Disassembly (It only works after you split S2.bin).<!--QuoteEnd--></div><!--QuoteEEnd-->

    I have done as you said and sucessfully imported my layout and start point into my disassembly. I also sucessfully imported the palette the same way. However, when I imported the object layout by replacing EHZ_1.BIN in the objects folder with the SonED's S2Obj.dat, (re-naming it too of course) it not only has my layout of objects, but also the original layout too. Can this be fixed? (I assume it's due to the difference between object positions in the assembly code and EHZ_1.BIN, but I may be wrong)

    Also my disassembly doesn't work with SonED 2 due to the lack of project files. Can I create project files so it works as it should?

    EDIT: Also, thanks for the help! The scrolling issue is fixed now.
     
  3. Mikel

    Mikel

    Member Member
    495
    0
    16
    Oklahoma
    MUGEN Stuff
    <!--quoteo(post=317398:date=Jun 9 2009, 06:11 AM:name=Graxer)--><div class='quotetop'>QUOTE (Graxer @ Jun 9 2009, 06:11 AM) <a href="index.php?act=findpost&pid=317398"><img src="public/style_images/retro/snapback.png"></a></div><div class='quotemain'><!--quotec--><!--quoteo(post=317169:date=Jun 9 2009, 02:28 AM:name=Mikel)--><div class='quotetop'>QUOTE (Mikel @ Jun 9 2009, 02:28 AM) <a href="index.php?act=findpost&pid=317169"><img src="public/style_images/retro/snapback.png"></a></div><div class='quotemain'><!--quotec-->And after you click Level Layout in the "Write Data->File" Menu, you will find a file named "S2lev.dat" (Without the Apostrophes), if the level you save that file as is EHZ1, you will need to rename it to "EHZ_1.bin" (Again, without the Apostrophes), and place it in the layout folder that is inside your level folder in your Sonic 2 Disassembly (It only works after you split S2.bin).<!--QuoteEnd--></div><!--QuoteEEnd-->

    I have done as you said and sucessfully imported my layout and start point into my disassembly. I also sucessfully imported the palette the same way. However, when I imported the object layout by replacing EHZ_1.BIN in the objects folder with the SonED's S2Obj.dat, (re-naming it too of course) it not only has my layout of objects, but also the original layout too. Can this be fixed?

    Also my disassembly doesn't work with SonED 2 due to the lack of project files. Can I create project files so it works as it should?
    <!--QuoteEnd--></div><!--QuoteEEnd-->
    Well, when I decided to split your rom with the Sonic 2 2007 Disassembly, it keeps the object layout and the palette it had, but it doesn't keep the level layout, and right now, are you splitting a clean Sonic 2 rom or your rom? Because that might be what's wrong.

    Also, the disassembly comes with it's own project files located in the file "soned2proj.rar", which is located in your disassemblies root folder. So you don't need to make your own project files.
     
  4. Graxer

    Graxer

    Member Member
    I split a clean rom, not mine. I take it that it was meant to be mine?

    EDIT: Never mind. I fixed it. I had to copy the rings EHZ_1.BIN from a disassembly of my rom to the disassembly I am working on.
     
  5. Mikel

    Mikel

    Member Member
    495
    0
    16
    Oklahoma
    MUGEN Stuff
    <!--quoteo(post=317403:date=Jun 9 2009, 06:30 AM:name=Graxer)--><div class='quotetop'>QUOTE (Graxer @ Jun 9 2009, 06:30 AM) <a href="index.php?act=findpost&pid=317403"><img src="public/style_images/retro/snapback.png"></a></div><div class='quotemain'><!--quotec-->I split a clean rom, not mine. I take it that it was meant to be mine?<!--QuoteEnd--></div><!--QuoteEEnd-->
    Well, your rom did have the filename of "S2.bin", and sorry for the inconvenience.

    And as for the Object file, it probably is due to the way you saved it, so when you save the objects to the file in SonED1, you will end up with two files, "S2Obj.dat" for objects, and "S2Rng.dat" for rings.

    What you may need to do is rename "S2Obj.dat" to "EHZ_1.bin" first, then place it in the objects folder that is inside the level folder, then after you did that, rename "S2Rng.dat" to "EHZ_1.bin", and place it in the rings folder that is inside the level folder.

    If you did this way, tell me the results you get, so I can see what's wrong.
     
  6. Graxer

    Graxer

    Member Member
    <!--quoteo(post=317406:date=Jun 9 2009, 03:52 PM:name=Mikel)--><div class='quotetop'>QUOTE (Mikel @ Jun 9 2009, 03:52 PM) <a href="index.php?act=findpost&pid=317406"><img src="public/style_images/retro/snapback.png"></a></div><div class='quotemain'><!--quotec--><!--quoteo(post=317403:date=Jun 9 2009, 06:30 AM:name=Graxer)--><div class='quotetop'>QUOTE (Graxer @ Jun 9 2009, 06:30 AM) <a href="index.php?act=findpost&pid=317403"><img src="public/style_images/retro/snapback.png"></a></div><div class='quotemain'><!--quotec-->I split a clean rom, not mine. I take it that it was meant to be mine?<!--QuoteEnd--></div><!--QuoteEEnd-->
    Well, your rom did have the filename of "S2.bin", and sorry for the inconvenience.

    And as for the Object file, it probably is due to the way you saved it, so when you save the objects to the file in SonED1, you will end up with two files, "S2Obj.dat" for objects, and "S2Rng.dat" for rings.

    What you may need to do is rename "S2Obj.dat" to "EHZ_1.bin" first, then place it in the objects folder that is inside the level folder, then after you did that, rename "S2Rng.dat" to "EHZ_1.bin", and place it in the rings folder that is inside the level folder.

    If you did this way, tell me the results you get, so I can see what's wrong.
    <!--QuoteEnd--></div><!--QuoteEEnd-->
    Don't worry about it. I actually managed to fix it (and updated my last post) just before you replied.

    All it turned out to be was that the EHZ_1.BIN rings file hadn't been altered from its original state. (It still had the ring layout from the clean rom, but for some reason my layout also loaded when the rom was played. Presumably from the objects file.) I managed to fix it by disassembling my rom and copying the EHZ_1.BIN rings file from that.
     
  7. PencilTips

    PencilTips

    New Member
    13
    0
    0
    Cali
    Hi, I'm new to hacking, and I need help.

    First off, I tried reading the guide to help me get some editing programs like SonEd2 (Is that good to start with?).

    And then, it starts talking about splitting files (Split disassembly hacking) , which I'm pretty confused about and it suggested using hivebrain's disassembly. Do I use quickman's hivebrain disassembly project files for SonED2? Also I'm looking for a Sonic 1 Rom, I found the site where all the roms are located, but there are multiple Roms of the first game. Which do I choose?
     
  8. kinzic

    kinzic

    New Member
    1
    0
    0
    This is good stuff. I'm totally new to "hacking" sonic games, but I want to get more into it. As I get more free time, I'll dive into this stuff. Thanks for pointing me in the right direction. Pretty soon, I'll be an expert code reader.
     
  9. LightXIII

    LightXIII

    SPARKING!!!
    This guide is indeed great for us Newbies, but even thou I followed the instructions (I think) I ended up with a lot of files that I can't do anything with. I didn't download that program to extract that RAW file stuff. I don't trust that stuff all it does is give bad virus's. Now I just got a whole lot of nothing. (I gotta go through my computer and delete this junk now and I'm not sure what I'm deleting. Oh well another dream down the drain. *Crosses off creating Sonic hack from list of goals and dreams* Man this list gets longer and longer every minute, how sad.... *Frowns* Oh well such is life. Your guide was good, I'm just way to stupid to fix this stuff out. I lived and Learned. *Smiles*
     
  10. flamewing

    flamewing

    Emerald Hunter Tech Member
    1,138
    0
    16
    France
    Sonic Classic Heroes; Sonic 2 Special Stage Editor; Sonic 3&K Heroes (on hold)
    If your anti-virus is saying that it has a virus, ditch your anti-virus -- or hammer its developers until it stops giving false positives.
     
  11. LightXIII

    LightXIII

    SPARKING!!!
    So anti-virus protection stuff does some times say that files are bad when in reality their not? Huh I didn't know if that was true or not. My anti-virus protection program is lying to me! That makes me feel less safe... CRAP! Well on that note, thanks for the heads up dude. But the truth is I'm still lost with all this hacking stuff. I would need someone to guide me step by DETAILED step. But I'm not going to put such a burden on folks by asking for so much. Nevertheless thanks for the help concerning anti-virus misinformation dude.
     
  12. Ravenfreak

    Ravenfreak

    Sucks at sprite art Tech Member
    2,772
    2
    18
    O'Fallon Mo
    Sonic 1 Game Gear Disassembly
    It depends on what exactly you want to do, and which game you want to hack. What I suggest to do is download both disassemblies of Sonic 1, since it's the easiest 16 bit game to hack and look at each of their source code files. There, you can determine which one you'll be more comfortable with. (The SVN has labels, but many guides were written with the 2005 disassembly in mind.) Start small, like change Sonic's top speed. MJ explained it well in the "Basic Questions and Answers" thread. Keep reading guides, and just go for it. ^_^
     
  13. LightXIII

    LightXIII

    SPARKING!!!
    Well I want to get my "foot in the door" as they say. I would like to start off with easy stuff, like you expressed, changing Sonic's speed, see if I can change a levels design. (Sightly, little tweeks) maybe add the spin dash and Super Sonic and the like. Simple stuff like that I can mess around with so I can get the hang of this hacking thing. My biggest problem is after I download all the files this is what I get for example:

    This is just a example of what I see when I download all this stuff.

    SonED2 file: I extract it and I get the following files:

    Kens: A folder containing;

    *Enigma,dll
    *Enigma.h and etc.

    Stealth Patch: A another folder similar to the above folder:

    COMPRESS:

    EXPAND:

    EXTERN:

    s1obj.lst:

    And many other something similar to these S1obj.lst things. When I try to open these s1obj.lst files my computer tells me "Windows can not open this file." Then it gives me options to look through the Interweb (yes the Interweb) for programs to open said file. However something like the COMPRESS for example I can open and I get something about a source file or code, something.

    All this stuff is like Japanese to me, what am I suppose to do with it and how am I suppose to get it to work? In other words I would need ether;
    A. Someone to guide me through this step by DETAILED step, and/or
    B. A DETAILED video explaining how to use this stuff.

    Reading the Hacking guides gets me more and more confused. So I hope this post explains my problem more better. (It's times like these that I miss Algebra, and I was horrible at Algebra) *Laughs*
     
  14. FraGag

    FraGag

    Tech Members Tech Member
    659
    0
    0
    Qu├ębec, Canada
    an assembler
    SonED2 is only the level editor. The latest disassemblies are on the svn, older disassemblies are on the wiki. If you want to edit the levels in SonED2, open SonED2, browse to the disassembly, find a folder called "project" or "SonED2 Projects" and load the project corresponding to the level you want to edit. When you're done, save and run build.bat. This will generate a new ROM with your changes (s1built.bin, s2built.bin or s3kbuilt.bin).
     
  15. Selbi

    Selbi

    Impaled with Extreme Prejudice Member
    1,482
    0
    0
    Northern Germany
    Sonic ERaZor
    SonED2 is NOT the only level editor, S2LVL is doing a damn good job at it as well. While it doesn't have full support to everything yet, it still does a very nice job with what it is able to open yet. And hey, it's still in the making.
     
  16. Mercury

    Mercury

    His Name Is Sonic Tech Member
    only the != the only
     
  17. The tutorial on the first post is definitely a great guide for a newbie to get started on hacking a Sonic-rom. I'm also interested in starting my first hack and I think I'm going to start off with Sonic 1 just to get the hang of things. If what everyone says is true, then it shouldn't be so hard to hack Sonic 1.

    Also, thanks for referencing S2LVL! I just took a look at the topic and it looks like a neat and very easy to use level editor for Sonic 2. It's unfortunate it can't edit Sonic 1, yet.
     
  18. MainMemory

    MainMemory

    Every day's the same old thing... Same place, diff Tech Member
    4,269
    0
    16
    SonLVL
    Uh, yes it can.
     
  19. Oh crap. I guess that's what happens when I don't read more than just the first page of a topic. :v:
     
  20. flamewing

    flamewing

    Emerald Hunter Tech Member
    1,138
    0
    16
    France
    Sonic Classic Heroes; Sonic 2 Special Stage Editor; Sonic 3&K Heroes (on hold)
    Or the subtitle of said topic.