Sonic 1 Dissassembly. HELP

Discussion in 'Discussion and Q&A Archive' started by warr1or2, Jan 18, 2011.

Thread Status:
Not open for further replies.
  1. warr1or2

    warr1or2 I AM CLG Member

    Joined:
    Apr 7, 2008
    Messages:
    417
    Location:
    Town Creek, AL
    I have the Sonic 1 dissassembly (split and text - Hivebrain). when i tried to dissassemble i think it was Partially successfull. when i Split it, it didn't give details on actions, but i believe it was a success not sure. when i made a change and assembled ( i know to kick up s1built) i loaded it up in GENS but it's as if nothing was loaded up. During Dissassembly the two things it said was "split.exe s1.bin s1.txt" (which that's normal) and "derecmp.exe nd artnem artnem_u" then done nothing else. what's the deal? is it missing something?
     
  2. DanielHall

    DanielHall Well-Known Member Member

    Joined:
    Jan 18, 2010
    Messages:
    860
    Location:
    North Wales
    Have you made a file named s1comb.asm?
     
  3. vladikcomper

    vladikcomper Well-Known Member Member

    Joined:
    Dec 2, 2009
    Messages:
    415
    ROM Splitter is basically reads the data from defined offsets and writes it into files. Let take a random line from s1.txt:



    Code:
    #split	0x001B66,0x001B86,pallet\c_title.bin
    It says: get the data from offset $1B66 until offset $1B86 and put it into pallet\c_title.bin file.


    Obviously, it doesn't check if the data is correct.


    All the offsets are given for the Revision 0 of Sonic 1. If you split Rev 1 ROM or recompiled Sonic 1 hack, you'll eventually spoil all the binary files in your disassembly. Because in both of them the data is shifted.


    Probably, you're trying to split a wrong ROM, and that spoiled your data. Though, only spoiling the files hardly could cause game to crash, you may have some errors in your ASM code. To check it, open build.bat file and add "pause" to the end of it. Then, compilator window won't close and you'll see the compilation errors.
     
    Last edited by a moderator: Jan 19, 2011
  4. EMK-20218

    EMK-20218 The Fuss Maker Exiled

    Joined:
    Aug 8, 2008
    Messages:
    1,067
    Location:
    Jardim Capelinha, São Paulo
    Or he can be trying to split a ROM that has been already compiled from this disassembler. Of course it wouldn't work. About the S1Comb.asm, I had this problem on the past and I solved by simply making a copy of Sonic1.asm then renaming it into S1comb.asm. The disassembler is certainly notifying him about the missing S1Comb.asm
     
  5. MarkeyJester

    MarkeyJester ♡ ! Member

    Joined:
    Jun 27, 2009
    Messages:
    2,867
    It seems as mentioned above that you either have a text document called "s1comb.asm" (Of course your operating system would need to have "extensions" for the files turned off, so it shows .txt .bin .mp3, etc (You might be naming it s1comb.asm.txt without knowing it)). Or the rom you have split isn't REV 0 and is an SMD format rather than BIN, and you're simply splitting the wrong rom. Although it could be something else we're unaware of, it's hard to tell without much information.


    Might I recommend another version/disassembly? Another type of assembler?


    How about ASM68K (Of course, you'll need to replace the "asm68k.exe" with this one here).


    Another one you could go for is the Two-Eight engine.


    There are other hacks out there of course such as Sonic 2 (Beta, full, MegaDrive, and MasterSystem versions), there's also Knuckles in Sonic 2, S3K (although incomplete), and even Sonic Crackers found on this page.
     
    Last edited by a moderator: Jan 19, 2011
  6. warr1or2

    warr1or2 I AM CLG Member

    Joined:
    Apr 7, 2008
    Messages:
    417
    Location:
    Town Creek, AL
    it wasn't ver 0, so i got another and it worked but the wrong build again. the music was messed up and zones like Sparkling & clock work were on there, stage cards missing. so i got another one, and it worked. but what i'm trying to do (since learning asm) is adding the spindash to sonic 1. (i know this has been done) i'm using http://info.sonicretro.org/SCHG_How-to:Add..._Sonic_1/Part_1 this guide but nothing's changed. What now?


    And one thing i want to do with it is add an extra jump which uses the animation from when sonic hits a spring into a roll and use the spring sound. (i'm a newbie at this) how do i go about doing this?
     
    Last edited by a moderator: Jan 19, 2011
  7. FireRat

    FireRat Do Not Interact With This User, Anywhere!!! Exiled

    Joined:
    Oct 31, 2009
    Messages:
    535
    Before read this, please, sorry my bad grammar


    Your splitted rom is already modified, right? well, probably the compressed files are not in the intendeed offset, and for this, the split proccess freezes; Probably the modified code moves some code into the ROM, and the splitter extracted data from incorrect offsets, and the compressed files can't be uncompressed because are extracted incorrectly and have wrong data.


    Try this:


    Get the S1 ROM, without any changes


    Try to split the ROM


    Create a file called s1comb.asm (not s1comb.asm.txt or s1comb.txt)


    Try to build again


    If don't work, please add the command "pause" at the end of build.bat, and post the compiler's messages


    EDIT:


    Oh, and if you're beginner, I can recommend the versions what MJ said, and the S1 Hacking Studio. With this you can port the Spin Dash in 1 second <_<
     
    Last edited by a moderator: Jan 20, 2011
  8. vladikcomper

    vladikcomper Well-Known Member Member

    Joined:
    Dec 2, 2009
    Messages:
    415
    If nothing has changed then you're probably editing the wrong file. As I can remember, in old disassembly with SNASM68k compiler you should edit s1comb.asm, not sonic1.asm. Anyways, I'd highly recommend you to change disassembly version at least to the version with ASM68K compiler (like MarkeyJester has suggested).

    Wow, I thought everybody had already forgotten it =P


    Though, version 1.1 is quite old and it has some bugs as well as broken Jump Dash and additional sprites. I really have to release version 2.0 then.


    Well, as it was mentioned, my program can help you add Spin Dash in one click. But on the other hand, it won't help you in improving your ASM skills, since everything is already done for you.


    Also, you anyone wants version 2.0 beta, just PM me.
     
    Last edited by a moderator: Jan 20, 2011
  9. DanielHall

    DanielHall Well-Known Member Member

    Joined:
    Jan 18, 2010
    Messages:
    860
    Location:
    North Wales
    What HCKTROX said, except make s1comb before splitting the Rom. and the rom HAS to be named "s1.bin".


    And if all else fails, there are the overlooked videos on SSRG. I learned through those videos. :p
     
  10. DanielHall

    DanielHall Well-Known Member Member

    Joined:
    Jan 18, 2010
    Messages:
    860
    Location:
    North Wales
    No, anything in s1comb.asm gets overwritten when a rom is built. Edit sonic1.asm
     
  11. MarkeyJester

    MarkeyJester ♡ ! Member

    Joined:
    Jun 27, 2009
    Messages:
    2,867
    Are you sure? I thought "sonic1.asm" was the main source to edit.


    "s1comb.asm" standing for "Sonic 1 Combined" that is, meaning it's an included combination of "sonic1.asm" and all of it's "include" sources put together in one complete source. I recall that SNASM68k couldn't include source codes to the main source, so a dedicate program was designed for including these sources to "s1comb.asm" upon building, then assembles it after. If you alter the code in "s1comb.asm" it'll get overwritten by the contents of "sonic1.asm" and it's "includes" =$


    EDIT: Whaow, ninja'd by Dandaman955!
     
    Last edited by a moderator: Jan 20, 2011
  12. vladikcomper

    vladikcomper Well-Known Member Member

    Joined:
    Dec 2, 2009
    Messages:
    415
    Ops, I've mistaken.


    I was confused by some weird version of old disassembly I had on my computer (I had been making my very first hack on it long time ago). It was changed somehow, so s1comb.asm was used for changing code and no sonic1.asm was present.


    So, yes, sonic1.asm file is parsed by a special program by Hivebrain (includer.exe) that includes other ASM-files into it and saves it into s1comb.asm, overwriting it.
     
    Last edited by a moderator: Jan 20, 2011
  13. warr1or2

    warr1or2 I AM CLG Member

    Joined:
    Apr 7, 2008
    Messages:
    417
    Location:
    Town Creek, AL
    Not bad. downloaded it, used it, Plenty of Useful features. spindash added. maybe i can use the code of the jump dash, make it use (A) button, and copy the code, modify it as a Spring jump and make it use ( B ) button. I already added the dashes, but where's the code for "sonic hitting spring up", jumpdash (to modify or should i use a different code), and "Push button ( B )


    or do i need to copy paste SONIC_JUMP's code, and change it to use the "sonic hit spring up"


    [​IMG]


    this is the art i want to use for this Spring Jump i guess i could call it, into a spinning animation.
     
    Last edited by a moderator: Jan 20, 2011
  14. warr1or2

    warr1or2 I AM CLG Member

    Joined:
    Apr 7, 2008
    Messages:
    417
    Location:
    Town Creek, AL
  15. DanielHall

    DanielHall Well-Known Member Member

    Joined:
    Jan 18, 2010
    Messages:
    860
    Location:
    North Wales
    It'd be a smart idea for you to do something simpler, just so you get the exact feel of ASM before jumping into the deep end. I suspect that porting Tails would be a little too hard for you at the moment. It isn't a matter of C/P.
     
  16. FireRat

    FireRat Do Not Interact With This User, Anywhere!!! Exiled

    Joined:
    Oct 31, 2009
    Messages:
    535
    Oh come on, study ASM first. Here's a nice guide:


    http://info.sonicretro.org/SCHG_How-to:Wor..._68000_assembly


    With this guide I learned ASM, and now I'm mid skilled... I can create complete cutscenes, for example. If you want, I can give you a example of it


    You must learn about some commands and the ASM syntax, is your wrong point (?)
     
    Last edited by a moderator: Jan 22, 2011
  17. EMK-20218

    EMK-20218 The Fuss Maker Exiled

    Joined:
    Aug 8, 2008
    Messages:
    1,067
    Location:
    Jardim Capelinha, São Paulo
    Dudes, if you're trying to import known characters from other Genesis Sonic Games, ignore this guide. I recommend you to import the whole character codes directly from other games, like Sonic 3 & Knuckles and Sonic 2 & Knuckles using source codes that were released by puto, drx and other people. Go with me, because I added Tails and Knuckles to the same object of Sonic, so I confused the engine from my hack by generating MILLIONS of bugs in both characters by make this. Three of these bugs I posted here. So I NEVER recommend to follow this guide if you want to put Knuckles or Tails into your game. Porting them on separated objects by import the whole code from S3K or S2K is definitely MUCH BETTER and at least 85% free from this kind problem.


    EDIT: Fixing grammar
     
    Last edited by a moderator: Jan 22, 2011
  18. Selbi

    Selbi The Euphonic Mess Member

    Joined:
    Jul 20, 2008
    Messages:
    2,429
    Location:
    Northern Germany
    As Eduardo said, that guide is totally not meant to be designed for character ports like Tails into Sonic 1. The only point of it, is to show you, how you can use alternate tiles for a character (which is technically seen useless as well, since you also need maps and PLC's to be different).
     
  19. warr1or2

    warr1or2 I AM CLG Member

    Joined:
    Apr 7, 2008
    Messages:
    417
    Location:
    Town Creek, AL
    So i shouldn't follow the guide, i get that now since it wouldn't give tails ALL his abilities. (good thing i only saved a duplicate sonic1.asm and didn't overwrite)


    ok. trying another guide. http://info.sonicretro.org/SCHG_How-to:Wor..._68000_assembly


    and is it possible to chance the now added jump dash to use (A) button so the Sring Jump can work with ( B ) button... Looking to ASM...


    On another note i used the sonic 1 hacking studio, does it change the sonic1.asm file (or maybe i don't search for Sonic_JumpDash)


    and i'm using Tile Molestor. everything already split, how do i copy from the "sonic hit spring up" (the image posted) to make "SpringJump.bin" ( and maybe "SpringJump.asm) to use?


    and i also added extra music but the music's messy. and http://info.sonicretro.org/SCHG_How-to:por...iver_to_Sonic_1 using this guide to port sonic 3's sound driver to sonic 1 and got to Replacing 68k driver with new Z80 driver and couldn't find none of the 1st section. was it changed when i used the sonic 1 hacking studio to port music?
     
    Last edited by a moderator: Jan 22, 2011
  20. DanielHall

    DanielHall Well-Known Member Member

    Joined:
    Jan 18, 2010
    Messages:
    860
    Location:
    North Wales
    Take a look over here

    Don't. You're better off learning how to use Sonmaped.

    Of course it's gonna mess up. They use different drivers!
     
Thread Status:
Not open for further replies.