don't click here

Basic Questions & Answers thread

Discussion in 'Engineering & Reverse Engineering' started by Tweaker, May 29, 2008.

  1. nineko

    nineko

    I am the Holy Cat Tech Member
    6,351
    509
    93
    italy
    To change layouts and palettes in Sonic 2, if you want to keep it easy and simple, you only need SonED1. It can directly edit Sonic 2 ROMs without any other hacking knowlegde (except that the levels are made by tiles, I guess).
    Though, this will make it harder (but not impossible) for you to switch to a split disassembly later in case you decide to try something more.
    If you want to aim high, get a split disassembly and edit the individual files with more advanced tools like SonED2 and SonMapEd.
     
  2. Chrome

    Chrome

    Matty Member
    6
    0
    0
    England
    Learning how to hack.
    Thank you kindly, Nineko.
     
  3. Hivebrain

    Hivebrain

    Administrator
    3,065
    201
    43
    53.4N, 1.5W
    Github
    Editing a split disassembly is considerably easier and simpler than editing a ROM. Most modern hacking tools are designed to work with split files. The only vaguely tricky part is setting up SonED2 project files, but this doesn't require any specialist knowledge.
     
  4. Dr. Kylstein

    Dr. Kylstein

    Member
    86
    0
    6
    I have a few errors like these:

    Code (Text):
    1. s2.asm(36042): error: range overflow
    2.    tst.b   (Interim_flying_frames_left).w
    3. s2.asm(36042): error: addressing mode not allowed here
    4.    tst.b   (Interim_flying_frames_left).w
    5. s2.asm(36045): error: range overflow
    6.    subq.b  #1,(Interim_flying_frames_left).w
    7. s2.asm(36045): error: addressing mode not allowed here
    8.    subq.b  #1,(Interim_flying_frames_left).w
    I defined that constant as:
    Code (Text):
    1. Interim_flying_frames_left =    ramaddr( $FFFFEB3 )
    My only guess is that these commands, as the error suggests, do not support absolute addresses, but addq.b with a similar constant I defined does not raise an error.
     
  5. FraGag

    FraGag

    Tech Member
    There's an F missing in your RAM address: it should be $FFFFFEB3. The error comes from the fact that the ($xxxxxxxx).w construct only works when xxxxxxxx is greater than or equal to $FFFF8000, because if this number is written as a negative number (-$8000), it can be stored in a word. When the processor will try to read from this address, it will first sign extend it, so the original address will be retrived. On the Genesis, the higher byte of an address is unused and ignored, so $FFFF8000 is equivalent to $FF8000.
     
  6. Dr. Kylstein

    Dr. Kylstein

    Member
    86
    0
    6
    Wow, that's a thorough explanation, FraGag. I had suspected a typo, but I couldn't spot it among all those F's. :lol: Thanks.
     
  7. Might be a bit too late for this now but (judging from Knux's S2K sprite), the Sonic 2 equivalent of Sonic 3k's byte $25 of the OST is $1F, and the Sonic 2 equivalent of Sonic 3k's byte $2F of the OST is $21.
     
  8. Dr. Kylstein

    Dr. Kylstein

    Member
    86
    0
    6
    Those do appear to be unused by Sonic & Tails in the original game. I considered using $21 for that very purpose earlier. I already had flight working (with some fixable bugs) with the unused RAM locations, but I have just changed back to OST with these offsets, since they free that RAM up again and could be useful for other S3&K double-jump abilities. Thanks.
     
  9. JoseTB

    JoseTB

    Tech Member
    717
    59
    28
    IIRC they are - you should be able to use anything that is free, it's just that S2K used those addresses.
     
  10. SMTP

    SMTP

    Tech Member
    Wait... OST? do we not call it SST anymore..?
     
  11. Hivebrain

    Hivebrain

    Administrator
    3,065
    201
    43
    53.4N, 1.5W
    Github
    No, because they're not sprites.
     
  12. Tweaker

    Tweaker

    Banned
    12,387
    2
    0
    OST is too easily confused with "Original Sound Track," so I'll continue to use SST to refer to it.
     
  13. Hivebrain

    Hivebrain

    Administrator
    3,065
    201
    43
    53.4N, 1.5W
    Github
    I've been calling it "object RAM" or "object space".
     
  14. Dan Genesis

    Dan Genesis

    As it was predicted. Plus, this is like some cute Member
    1,337
    0
    0
    Top Secret. Bitch.
    KuroKomix LPs and Blog.
    I've decided to try a hand at hacking. This is not something I've done before, So I'm really a stranger in a strange land, if you will. Does anyone have any good tips for a first-timer at hacking? Please and thank you!
     
  15. LordOfSquad

    LordOfSquad

    bobs over baghdad Member
    5,252
    290
    63
    Winnipeg, MB
    making cool music no one gives a shit about
    The main thing you'll want to do is start simple. Don't try to do anything too complicated, or do too much at once. Take it slow, and do a good job, because no one likes a rushed hack!
     
  16. Couldn't have said it better. Also, do research on the wiki, using those guides before asking questions.
     
  17. Jayextee

    Jayextee

    Unpopular Opinions™ Member
    3,253
    64
    28
    Atro City
    I DONE MAKED GAMES.
    I wrote a guide for just this purpose, in very simple language I wish I would have had it explained to me in ;)
     
  18. Sonic the Human

    Sonic the Human

    The david man. All hail. Member
    All right... I was already a Trial Member for once, and I wasn't successful. Now, this time, I want to get full membership. Since I recovered my posts, I need to do something to earn it. Some months ago, I started a joke hack, but then, I started really working on it. (I'm going to leave the stupid texts like that) Now, I started it in March, but short after I started it, school restarted. Now, I'm going to have Summer holidays (at last) and I'm going to restart working on it. The problem is, I don't understand a fucking shit about layout. Neither about music, hex or ASM. I'm doing this by the following steps:

    1-Title Cards and other texts (done)
    2- Palettes (done)
    3- Layout
    4-Music
    5-Hex and ASM.

    Now, I need some help with the layout. For example, in GHz "sub-backgrounds", (the chess-pattern ones), how to continue and end them, help on doing alternative paths... Then, I need help with the loops, because, part of them doesn't work... If you want the palette only build, or the deleted GH layout build, contact me by PM.

    EDIT: I know, but my mom was watching :d (being 12 years old sometimes sucks)
     
  19. Overlord

    Overlord

    Now playable in Smash Bros Ultimate Moderator
    19,398
    1,044
    93
    Long-term happiness
    Tip - no need to censor your swearing.
     
  20. Joaki

    Joaki

    AKA BombJack93 Member
    Hello, I have a small problem with my assembler: The case is that I try to place in my hack several extras (Spike Bug Fixed, Spindash ...) but on having compiled the ROM diverse mistakes called go out for me "Error 15019" FREF Symbol in:
    'SonAni_Run'
    'SonAni_Walk'
    'SonAni_Roll2'
    'SonAni_Roll'
    and 'SonAni_Push'.
    I use the E.S.E. ASM Editor, since I do not know handle the rest of Assemblers. (And one would like to be able to handle them) how can I solve this mistake? Thank you in advance.
    Edit: I do not be if I have done well posting my doubts here...