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,312
    489
    63
    italy
    First of all, to change the music in Sonic 1 you must use a split disassembly; you can find it on the wiki: disassemblies. Since you classify yourself as a noob let me explain in a few words how a split disassembly work. Basically, the Sonic 1 rom has been divided into many little pieces, each of them with a specific purpose, there are files for art, layouts, and of course for music. You can find the music files in the \sound folder (after you split a valid Sonic 1 rom, of course). By default, those files are numbered from music81.bin to music93.bin; their number is the same you see in the sound test, so 81 is Green Hill, 82 is Labyrinth, etc. Those files are songs in a special format called SMPS: to replace them, you'll need other songs in SMPS format; namely, the Sonic 1 SMPS format, as it's different from the SMPS used in Sonic 2, and Sonic 3 & Knuckles. To convert SMPS songs between Sonic 2 and Sonic 1 you can use the Music Pointer Fixer; to import songs which weren't used by other Sonic games, you can convert XM files with my converter (shameless self plug), xm3smps.
    Once you replaced the music81 to music93 files, you're ready to rebuild your rom and listen to your new music.
     
  2. Tweaker

    Tweaker

    Banned
    12,387
    2
    0
    For reference, SCHG:Music Hacking also has general music hacking information, for working with SMPS at byte level. With this knowledge, you can manually change notes, instruments, the pitch of songs, tempo—pretty much everything! :)
     
  3. Dracula

    Dracula

    Oldbie
    605
    0
    16
    I'm watching you!
    Converting NES Mappers to MMC5
    I have a question! How can I get water working on other levels such as level 01, 02? When I try to load water on that level, the game resets. Is there a way to fix this?
     
  4. nineko

    nineko

    I am the Holy Cat Tech Member
    6,312
    489
    63
    italy
    Telling us the game you're hacking (I guess Sonic 1 or Sonic 2, since there is a water guide for Sonic 3) would be a nice start.
     
  5. Hitaxas

    Hitaxas

    Retro 80's themed Twitch streamer ( on hiatus) Member
    It is quite obvious he is talking about Sonic 2:
    1. Look at the pictures and text in his signature
    2. look at his thread history, most is S2 related
    3. Level 01 and 02? I've only heard those terms used with S2.
     
  6. nineko

    nineko

    I am the Holy Cat Tech Member
    6,312
    489
    63
    italy
    1. I disable all signatures by default so I didn't see that.
    2. I admit I didn't bother to look at his thread history. On the other hand, when you ask a question, you should make sure to be as precise as possible, to avoid unnecessary work to people who are going to answer your question.
    3. Right, I didn't know that because I never worked with Sonic 2, but that makes sense. Also because there *is* water in Sonic 1's Level 01.
     
  7. PordyPates

    PordyPates

    Member
    21
    0
    1
    Thanks a lot for your help Nineko! :) I'm in the process of disassembling Sonic 1. I followed the guide on this site, put the Sonic 1 ROM in the same folder as Hivebrain's Disassembly and renamed it to s1.bin. I click "split.bat" and the DOS window opens and exits itself, I can just see "Invalid ROM filename" at the top of it. Do I need to create the s1comb.asm file? I just opened a new Notepad file and saved it as "s1comb.asm". What am I doing wrong?
     
  8. Tweaker

    Tweaker

    Banned
    12,387
    2
    0
    Sounds like you don't have viewable file extensions enabled. Go to Tools->Folder Options and click on the "View" tab. From there, you should see a checkbox that says "Hide File Extensions for Known File Types"; you want to uncheck that.

    If all goes right, the name of your ROM should be "s1.bin.bin"; remove that, and you should be all set.
     
  9. nineko

    nineko

    I am the Holy Cat Tech Member
    6,312
    489
    63
    italy
    What Tweaker said, but it can also be a problem of too many subfolders, make sure that your disassembly and all the other files are near the root, like in C:\68000 or something like that. If you have it on the desktop I can already tell you it's not likely to work well.
     
  10. PordyPates

    PordyPates

    Member
    21
    0
    1
    It worked, thanks again. :) Right, I've got the .bin files here. Where can I download some XM files to convert? I was kinda looking for Sunset Hill Act 2 from SA3. And is it possible to have different music for each act?
     
  11. Dracula

    Dracula

    Oldbie
    605
    0
    16
    I'm watching you!
    Converting NES Mappers to MMC5
    Oh! I'm hacking Sonic 2. I'm trying to put the zones in the right order.
     
  12. nineko

    nineko

    I am the Holy Cat Tech Member
    6,312
    489
    63
    italy
    This time I won't reply, I'll just give you directions.
    You can find some XM files here.
    About your second question, try to look here.
     
  13. FraGag

    FraGag

    Tech Member
    What you're trying to do can be greatly simplified if you use the disassembly from Retro's SVN server. There are new constants for the level IDs (and a lot more!), which you can change to replace them everywhere in the code. However, note that you'll have to manually reorder the tables that use the zone (and possibly the act) ID(s) as index.

    If you're already doing that, I have nothing else to say. Have fun! :thumbsup:
     
  14. PordyPates

    PordyPates

    Member
    21
    0
    1
    I'm really sorry for all the questions, I think this'll be my last one. I found ModPlug Tracker, so I can convert Midi to XM. What do I do with it in xm3smps before converting?
     
  15. Dracula

    Dracula

    Oldbie
    605
    0
    16
    I'm watching you!
    Converting NES Mappers to MMC5
    Thanks a lot! I'll give you credit too. :(
     
  16. roxahris

    roxahris

    Everyone's a hypocrite. Take my word for it. Member
    1,224
    0
    0
    Doing anything at all
    It's actually the other way around... you need to fix it up to fit Mega Drive limitations and so on and then use XM3SMPS to convert it.
     

  17. You can get them at the official sonic music archive. I'd post a link, but I don't know if people would consider that as advertising >>.

    I can also cut down a few MIDIs down to genesis hardware limitations if you want. (Since I'm really bored :V)


    Edit: I'll post a link anyway, It's strictly a music archive now, so not another lame forum that retro will eat up. (And it's not advertising when you're linking to an important hacking resource :v:)

    *snip* (PM me for the link, people don't want the l33t archive to be known.)



    Use MTZ's. SCZ's is very odd and sometimes changes position when scrolling (Not to mention it's completely static) MTZ's is a standard 'scroll and run' deformation.
     
  18. Twilight

    Twilight

    Member
    51
    0
    6
    Michigan
    A Sonic the Hedgehog hack
    In Sonic the Hedgehog 2, is there an offset index for pattern load cues? Also, does Hidden Palace have its own pattern load cues or are they shared with Oil Ocean?
     
  19. Mikel

    Mikel

    Member
    If you are hacking Sonic 2 through split disassembly, look for ArtLoadCues, and yes, Hidden Palace shares the same pattern load cues as Oil Ocean.

    And if you are hacking Sonic 2 through hex, the pattern load cues starting location is $0426E6, and the ending location is $042D4F.
     
  20. Twilight

    Twilight

    Member
    51
    0
    6
    Michigan
    A Sonic the Hedgehog hack
    Can Hidden Palace be given its own separate pattern load cues and object debug list with hex editing?