don't click here

Basic Questions & Answers thread

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

  1. Yeah, Tweaker and Malevolence pointed that out in IRC as well. Stupid mistake on my part.
     
  2. Vegeta 20XX

    Vegeta 20XX

    Resident Fuckhead Member
    40
    0
    0
    I think someone asked this, but what I'm trying to ask is, how do I hack Sonic CD? My intent isn't anything fancy, just putting Tails and Knuckles in there (and changing the Spindash behavior to S2/3&K).
     
  3. Polygon Jim

    Polygon Jim

    Eternal Tech Member
    0
    3
    0
    across town from Hinchy
    All the bitches.
    Oh yeah, that isn't anything fancy at all...
     
  4. Aquaslash

    Aquaslash

    <The Has-been Legend> Moderator
    If this isn't fancy, than do tell, what is?

    Also, so this post doesn't get trashed, Sonic CD hasn't exactly been broken open yet. As it is, there's a LOT of stuff that you have to work with, especially since each level is it's own little "minigame" of sorts.

    Perhaps you should learn the way the Sega CD works, and then try to attempt something like this.
     
  5. Vegeta 20XX

    Vegeta 20XX

    Resident Fuckhead Member
    40
    0
    0
    Sonic 1 Megamix.
     
  6. Stealth

    Stealth

    Tech Member
    594
    30
    28
    Sonic Mania, HCGE, Sonic Megamix, SonED2, [...]
    Sonic 1 Megamix is built very differently than Sonic CD, and properly implementing those characters in plain Genesis Sonic 1 is complicated enough without having to worry about the runtime storage limitation of the SegaCD. If you don't want to get "Fancy", then you certainly won't be getting Tails and Knuckles into Sonic CD
     
  7. Hitaxas

    Hitaxas

    Retro 80's themed Twitch streamer ( on hiatus) Member
    I changed the player modes in SSD So that Sonic alone is 0 and Shadow is 1. In doing so, I had to switch the player icons so that the second character icon loaded for character 1 (Shadow in this case.). That code is in the Level: routine. Now I am wondering, how could I add an icon for a third character?
     
  8. Tweaker

    Tweaker

    Banned
    12,387
    2
    0
    You would... uh, increment the value and check for them. :)

    I'm sorry—how are you currently testing for characters? tst? You're going to want to use either data tables or direct compares for more than one extra character.
     
  9. Hitaxas

    Hitaxas

    Retro 80's themed Twitch streamer ( on hiatus) Member

    Here is the code I am talking about, I commented the part that handles the second character icon.

    I am sure there is more to it than just those few lines, I am just not too sure where quite yet.

    Code (Text):
    1. Level:
    2.     bset    #7,(Game_Mode).w; add $80 to screen mode (for pre level sequence)
    3.     tst.w   (Demo_mode_flag).w
    4.     bmi.s   +
    5.     move.b  #$79+$80,d0
    6.     bsr.w   PlaySound ; fade out music
    7. +
    8.     bsr.w   ClearPLC
    9.     bsr.w   Pal_FadeFrom
    10.     tst.w   (Demo_mode_flag).w
    11.     bmi.s   Level_ClrRam
    12.     move    #$2700,sr
    13.     bsr.w   ClearScreen
    14.     jsr (LoadTitleCard).l; load title card patterns
    15.     move    #$2300,sr
    16.     moveq   #0,d0
    17.     move.w  d0,(Timer_frames).w
    18.     move.b  (Current_Zone).w,d0
    19.  
    20.  ; multiply d0 by 12, the size of a level art load block
    21.     add.w   d0,d0
    22.     add.w   d0,d0
    23.     move.w  d0,d1
    24.     add.w   d0,d0
    25.     add.w   d1,d0
    26.  
    27.     lea (LevelArtPointers).l,a2
    28.     lea (a2,d0.w),a2
    29.     moveq   #0,d0
    30.     move.b  (a2),d0
    31.     beq.s   +
    32.     bsr.w   LoadPLC
    33. +
    34.     moveq   #1,d0
    35.     bsr.w   LoadPLC
    36.     bsr.w   sub_4450
    37.     moveq   #6,d0
    38.     tst.w   (Two_player_mode).w
    39.     bne.s   +
    40.     cmpi.w  #1,(Player_mode).w; is this shadow's player mode?
    41.     bne.s   Level_ClrRam     ; if not, continue to clear ram/ load level
    42.     addq.w  #1,d0           ; if yes, load Shad's life icon
    43.  
    44.  
    45. +
    46.     tst.b   (Graphics_Flags).w
    47.     bpl.s   +
    48.     addq.w  #2,d0
    49. +
    50.     bsr.w   LoadPLC
    Edit:

    Code (Text):
    1. cmpi.w  #1,(Player_mode).w
    WAS

    Code (Text):
    1. cmpi.w  #2,(Player_mode).w
     
  10. Does anyone know how to remove the "PRESS START BUTTON" when you replay a race you've made in Sonic R? I can't remove it through the sprites. I'm hoping that someone could help me out :)

    Thanks in advance.
     
  11. How do I add super peel out in Sonic 3 with ASM. Thanks
     
  12. Dr. Kylstein

    Dr. Kylstein

    Member
    86
    0
    6
    There isn't a good disassembly for Sonic 3 right now. I suggest you try Sonic 2 instead. I (as well as many others I am sure) can provide directions for adding the peel out to it.

    Edit: I think it might be too large for this thread though.

    Edit2: Here's a rough guide for adding the peel out to Sonic 2.
     
  13. I don't want to sound stupid or anything, but why is there no Sonic 3 disassembly yet? Will there be one soon? btw thanks for the info on peel out.
     
  14. Sik

    Sik

    Sik is pronounced as "seek", not as "sick". Tech Member
    6,718
    1
    0
    being an asshole =P
    Disassemblies aren't easy to make - sometimes they may even take years to make, specially when not much information is known about the game (major pain for me with Sonic 3D). In fact Sonic 1 and 2 are being disassembled again. So don't get surprised really.
     
  15. Would it be possible to create a moving Sonic 1 boss?

    Like Sonic Advance 2 where you had to run to keep up with the boss?
     
  16. jman2050

    jman2050

    Teh Sonik Haker Tech Member
    634
    4
    18
    There is an SK disassembly (not split yet). Due to the way lock-on works an S3 disassembly would be mostly redundant.
     
  17. Since Sonic and Knuckles has been disassembled, If I started hacking that, could I add a Sonic 3 Style save menu? Thats really the main thing I want in my hack.

    EDIT:
    By hacking the Sonic and Knuckles ROM you can change how it behaves when locked on to Sonic 3?
     
  18. Tweaker

    Tweaker

    Banned
    12,387
    2
    0
    Your questions shouldn't involve whether or not something can be done—chances are, it can. The difficulty of such a thing relies entirely on your skill. Instead, you should ask the general process of what would be required to achieve what you wish to do. The question here would be how you would go about implementing a Sonic 3-style save menu, since such a thing is definitely possible to implement.

    The methods you could go about making one involve (but are not limited to) modifying the existing code for the save menu (since it does exist in Sonic & Knuckles), or simply coding your own menu reminiscent of the Sonic 3 menu. I'd choose the former, personally—all of the code used in Sonic 3 & Knuckles is present in Sonic & Knuckles alone. Sonic 3 is used only for data not present in the Sonic & Knuckles cartridge itself. Theoretically, it should be as simple as changing a few branches, though in practice it may be a bit more involved.

    Expect to do a lot of your own research to learn the things required to achieve your goals, though. Sonic & Knuckles is mostly uncharted territory, so be aware that you're on your own for the most part.
     
  19. jman2050

    jman2050

    Teh Sonik Haker Tech Member
    634
    4
    18
    Almost every piece of code that runs in Sonic 3 also exists in Sonic and Knuckles, including the save menu. With a few exceptions the only things you'll ever need from a Sonic 3 rom are data, which obviously can be extracted without the need for a disassembly.
     
  20. Thanks a lot for the info, I really appreciate it. One more thing..... where is the save menu code located?