don't click here

Sonic 1 Disassembly

Discussion in 'Engineering & Reverse Engineering' started by Mask of Destiny, Sep 22, 2005.

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

    Andy

    Pending Member
    sorry for double posting, but the edit button isn't showing up at the moment, anyone know why?

    anyway, the only tiles recognisable were the font tiles, all the others were crazy, possibly because the palette was wrong. is there any way of loading a palette in bin format? when I edit the tiles, how do I un-'split' them? if you get me.
     
  2. Puto

    Puto

    Shin'ichi Kudō, detective. Tech Member
    2,013
    0
    16
    Portugal, Oeiras
    Part of Team Megamix, but haven't done any actual work in ages.
    To "un-split" them, as you put it, you run the build.bat file.
     
  3. nineko

    nineko

    I am the Holy Cat Tech Member
    6,308
    486
    63
    italy
    Trial members have 30 minutes to edit their posts. After this time, you can only double post. This prevents you from reusing your 30 test messages.
     
  4. Andy

    Andy

    Pending Member
    when I did, the s1build.bin file didnt do anything in gens it just stayed black

    o right ok
     
  5. pianoman0391

    pianoman0391

    Member
    8
    0
    0
    I have no idea how to do ASM (well, I know about 1/2000th of the knowledge you'd need) BUT this seems like a great way to learn. Thanks.
     
  6. Agent ME

    Agent ME

    Void where prohibited Member
    26
    0
    0
    I'm having trouble building it - I've created a blank file named "s1comb.asm" so include.exe doesn't fail, and I click build.bat, and I get a >1kb .bin ROM file made that's corrupt.

    The generated s1comb.asm file is 1,216 kb, and when I added a pause in the bat file after snasm68k was run, it says there were 423 errors. It shows the last few errors, saying it can't find anything referenced by the incbin commands.

    Any help?
     
  7. Tweaker

    Tweaker

    Banned
    12,387
    2
    0
    ...did you split a ROM named "s1.bin" yet? That kinda sorta would have all the data you're missing, there.
     
  8. Agent ME

    Agent ME

    Void where prohibited Member
    26
    0
    0
    Whoops - forgot to read the readme file - thanks!

    EDIT: Out of curiosity - in the bat file - what's the point of recompressing? The ROM generated is 512kb like the original retail - does recompressing make the size smaller? Or leave more extra space with no purpose?
     
  9. Hivebrain

    Hivebrain

    Administrator
    3,049
    161
    43
    53.4N, 1.5W
    Github
    There isn't any point recompressing, unless you've changed a lot of the data in the "_u" folders. Recompression is disabled by default anyway. I imagine most people would prefer to compress their edited data manually as they go, using the Sega Data Compressor or something. I'm not sure if I'll even include the compressor in the next disassembly.
     
  10. Puto

    Puto

    Shin'ichi Kudō, detective. Tech Member
    2,013
    0
    16
    Portugal, Oeiras
    Part of Team Megamix, but haven't done any actual work in ages.
    Hivebrain, would you mind if I released a version of this disassembly for Mac and Linux? (with the appropriate changes for it)
     
  11. Quickman

    Quickman

    be attitude for gains Tech Member
    5,595
    18
    18
    :x
    omg porjcet
    I prepared a while back project files fixed for the files named in Hivebrain's disassembly; I can't wholly guarantee that they work, but they'll do.

    WARNING: merge GHZ graphics before trying anything with these - they expect a file in artnem called 8x8ghz.bin.
     
  12. Rockman Zero

    Rockman Zero

    Hello there, my little friend. Member
    1,036
    3
    18
    Videos for Hellfire Commentaries.
    After adding a stopping frame and changing the sign post and life icon art, I rebuilt the rom, creating s1built. The sega sound plays fine up until the end, when static is played. How do I fix this?
     
  13. Hivebrain

    Hivebrain

    Administrator
    3,049
    161
    43
    53.4N, 1.5W
    Github
    The Sega sound data has to be kept within a certain range of bytes in the ROM. You probably put too much stuff in before it. Try moving some other data to the end of the ROM, so the Sega sound will shift back closer to its original position.

    I'll attempt to fix this issue in the next disasm.
     
  14. Mecha Sonic

    Mecha Sonic

    Killing machine! Member
    71
    0
    0
    Death Egg
    WB5 disassembly
    I'm having a problem with it too. When I run build.bat I don't get the s1comb.asm, all it outputs is the binary, which is 128 bytes. And I have got all correct stuff in there, like folders ect, and the split the rom files.
     
  15. Hivebrain

    Hivebrain

    Administrator
    3,049
    161
    43
    53.4N, 1.5W
    Github
    That's a bug in the Include program. Just make a blank file called s1comb.asm.
     
  16. Mecha Sonic

    Mecha Sonic

    Killing machine! Member
    71
    0
    0
    Death Egg
    WB5 disassembly
    Oh cool thanks.
     
  17. Aquaslash

    Aquaslash

    <The Has-been Legend> Moderator
    Just a tip to anyone having problems building.

    Make sure your directory is a short one, perhaps a folder on the root of your Drive. My project was originally in a folder that was about 6 or 7 folders down from the root drive and for whatever reason it wouldn't build.
     
  18. Lightning

    Lightning

    indeed Tech Member
    Any news on this? I'm sure it beats the hacked-together method I'm using =P (snasm68k in DOSBox, everything else in Wine)
     
  19. Puto

    Puto

    Shin'ichi Kudō, detective. Tech Member
    2,013
    0
    16
    Portugal, Oeiras
    Part of Team Megamix, but haven't done any actual work in ages.
    Right, I might as well do it.

    First you'll need to compile and install this assembler (A simple "make"/"make install" should do it).

    Then, download the patched disassembly here and run the build.sh shell script to compile.

    The mentioned disassembly archive includes Hivebrain's disassembly, with all the include paths changed to use / instead of \ on the paths, and with the "; include=" includes changed to standard "include" directives. I also patched out the checksum check, since there is no linux version of "fixheadr.exe". It also has the stuff from a sonic 1 rom pre-split, as there's also no linux version of "split.exe". Have fun.
     
  20. Lightning

    Lightning

    indeed Tech Member
    Cool, thanks!
    Also, the hacked-together (and sloppily written) method I mentioned myself using can be found here, for those who want something more true to the Windows version I guess =P
     
Thread Status:
Not open for further replies.