; =============================================================================================================== ; --------------------------------------------------------------------------------------------------------------- ; "Tails Crusher" Disassembly - Information File ; --------------------------------------------------------------------------------------------------------------- ; Disassembly created by: Selbi (August 2010) ; Original ROM by: Cyan Helkaraxe (December 2002) ; Disassembled with: IDA Pro Advanced 64-bit (v5.5) ; Original link to the ROM: http://www.emulationzone.org/projects/cyan/coding/index.htm#tailscrusher ; --------------------------------------------------------------------------------------------------------------- ; =============================================================================================================== ; --------------------------------------------------------------------------------------------------------------- ; I actually just did this disassembly for fun. Really, there was no point other than getting used to IDA. ; Maybe I will do something more serious in the future. ; --------------------------------------------------------------------------------------------------------------- ; Something you might wanna know: Since this was done at a time ASM hacking just started, this isn't always well ; programmed. For example, this isn't done by plane mappings, but tile-by-tile (not the art itself, but the art ; to be later displayed in the ROM, you can see that by looking in the VRAM). ; However, Cyan wasn't dumb though. In fact, he made up a system that should make it impossible for hackers to ; change the art and he pretty much succeeded. You can no longer just edit the art. He shifted pixels here and ; there. The tiles are easy to see when opening in Tile Viewers (like SonMapED), but editing them will be a pain ; in the neck. If you can live with that, you should have no problem editing the art though. (And if it motivates ; you, the art is being displayed just fine in the VRAM, so there is probably some kind of algorithm, that loads ; the tiles into the correct spot for each sequence of tiles.) ; --------------------------------------------------------------------------------------------------------------- ; Anyway, here are some brief informations about the files (even though most them are totally obvious): ; ; - COMPRESS.BIN: The original ROM by Cyan. Don't ask me why he named it like this. ; - TailsCrusher.asm: The ASM file you can put you're stuff in. It's pretty unlabeled, but ; since it's that small, you shouldn't have much trouble finding things yourself. ; (Also, please note that this code is slightly optimized. Cyan didn't always ; program things well. ~Special Thanks to MarkeyJester for this!) ; - TC-Unoptimized.asm: The same file as TailsCrusher.asm, just unoptimized, meaning, I haven't done ; anything but labeling and commenting to the code. ; - TailsCrusher_Built.bin: The builded ROM after opening build.bat. ; - build.bat: Assembles the ROM. Opens the ROM automatically after pressing start (provided ; you are opening .bin files with an Emulator by default). ; - split.bat: Splits the visual data and sounds from the ROM into separate files. (This thing ; was even more unnecessary than the disassembly itself. :V) ; - SplitData.txt: Contains the information to create the folders and to split offset-based data ; from the ROM. ; - IDA.i64: The IDA file. Since I'm using a 64-bit OS, you need to have one as well or else ; you can't open it. I'm afraid I don't know how to make a 32-bit one. =( ; --------------------------------------------------------------------------------------------------------------- ; - art\Art1_Normal.bin: The standard art (basically Sonic, Tails, Eggman/Knuckles on the giant 3 ; and the "not so pretty" stuff). ; - art\Art2_Cyan.bin: The art for the screen that says "created in 68000 assembler by Cyan Helkaraxe". ; --------------------------------------------------------------------------------------------------------------- ; - palette\Pal1_Default.bin: The default palette (being shown before "it" happens, in other words, where ; Sonic and Tails are doing their victory poses). ; - palette\Pal2_Crushing.bin: Where "it" finally happens. ; - palette\Pal3_FadeOut.bin: A palette that has to do with the fade out, however, only for the part Knuckles ; and Eggman are getting faded out. ; - palette\Pal4_Cyan1.bin: If you look close at Cyan's screen, you will notice it's flashing a little bit. ; This is palette 1. ; - palette\Pal5_Cyan2.bin: And this is palette 2. The palette is jumping between these two. ; --------------------------------------------------------------------------------------------------------------- ; - sound\Sound1_Ting.bin: The sound that's playing when Sonic looks up. ; - sound\Sound2_Crushing.bin: You could also say "Sound2_TailsBeingCrushedByABig3.bin". =P ; --------------------------------------------------------------------------------------------------------------- ; =============================================================================================================== ; ---------------------------------------------------------------------------------------------------------------- ; So that's it so far. There's no other data that could be split, unless I will go the SVN way (splitting ; subroutines into separate files, but that would be stupid, since this ROM is really small). ; --------------------------------------------------------------------------------------------------------------- ; ; ~ Selbi