How to get started on ROM hacking?

Discussion in 'Engineering & Reverse Engineering' started by HTV04, Oct 11, 2017.

  1. I'd like to get started on ROM hacking, and I would like one of my first hacks to be porting a mechanic from Sonic 2 Beta into Sonic 2 (final). The mechanic I would like to use is the one where Sonic rebounds off a wall. I would like to use this mechanic to not only make a challenge for others, but for me as well. May I get some tips on what I assembly code I should port over from the beta to the final? Thanks!

    P.S. Could I also get some tips on how I could add my own sprites without using any weird third-party tools? Thanks again!
     
  2. Spanner

    Spanner

    The Tool Member
    3,312
    115
    43
    United Kingdom
    Sonic Hacking Contest
    First of all, you need the Nick Arcade disassembly, not Sonic 2 Beta. For the rebound code, just look at the Sonic object which is Obj01 and you will find what you are looking for.

    That's all I'll give you for advice. The rest is straight forward.
     
  3. Oops, I meant to say the Nick Arcade disassembly. I already have it. Any other tips though? I'm kind of new to ROM hacking. Any tips on adding sprites as well?
     
  4. lil-g-gamegenuis

    lil-g-gamegenuis

    GO! GO! GO! GO! GO! GO! Member
    27
    0
    1
    olathe, ks
    Practicing to make better SMPS
    The best advice i can give is to just try messing around with it. Make sure you read the Programmers manual for the M68K. Always attempt something before asking for help. Do you're research, if you don't know how to do something, try looking for it before asking anything.
     
  5. Okay. And by the way, the only emulator I have is the Mega Drive Classics Hub one. How can I test ROMs using it without uploading the ROM to Steam Workshop every time I make an edit? I don't want to install any other emulators (I'm kind of strict on what programs I want to install).
     
  6. Ralakimus

    Ralakimus

    pretty much a dead account Tech Member
    557
    170
    43
    Why can't you test on something like Regen, Bizhawk/Genesis Plus GX, or even Kega Fusion (which is on multiple OS's)?

    EDIT: I misread quite a bit. Though, the emulators I listed are safe and quite lightweight (well, maybe not Bizhawk).
     
  7. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,551
    145
    43
    SonLVL
    You aren't going to get very far in hacking without using extra programs. The Steam emulator is garbage, and good luck editing sprites without downloading a sprite mappings editor, or even a tile editor.
     
  8. I think I might install Kega Fusion. As for sprites, any trustworthy editors?

    The reason I'm very strict with the programs I install is because I don't want to get viruses. I do have an antivirus, but I still don't want to install any programs that do, just in case.
     
  9. MainMemory

    MainMemory

    Kate the Wolf Tech Member
    4,551
    145
    43
    SonLVL
    You will not get viruses from installing any of the Sonic hacking programs you find on Sonic Retro or SSRG (despite what several AV programs will claim about SonLVL). If somebody did put a virus in their program, they would be banned and the post deleted.

    The most commonly used sprite mappings editor is SonMapEd. There is also a browser-based editor, Flex, if you really don't want to install anything. There are also a set of tools I created as part of SonLVL's toolset, SpriteSheetGen and SpritePlotter.NET, which convert sprite mappings to a sprite sheet, and sprite sheets to sprite mappings, respectively.
     
  10. Alriightyman

    Alriightyman

    I am back... from the dead! Tech Member
    354
    3
    18
    Largo, FL
    0101001101101111011011100110100101100011 00000010: 0101001100000011 01000101011001000110100101110100011010010110111101101110
    Read the code comments to understand what a piece of code is doing. And don't be afraid to make small edits to see what kind of results you get. Read the guides and them read them again. It helps if you have prior programming experience but not necessary. 68k was my first programming language. If you don't know what a command does, look it up on one of our guides; if it doesn't make sense, google it; if you are still having trouble, search the boards; odds are you will find an answer before the need to ask on here. And last, have fun! Good luck!
     
  11. Sorry for the late response, but thanks! All this advice seems really helpful. I'll try to make a ROM hack and release it sooner or later, and I'll post here if I have any trouble.