Actions

SCHG How-to

Set up a Sonic 1 split disassembly

From Sonic Retro

Revision as of 11:12, 2 January 2008 by Tweaker (talk | contribs) (Setting up the Project: Cleanup)

Introduction and Overview

So, you want to modify Sonic 1? The first step for most people might be to download SonED1, or ESE II, and edit the ROM directly. However there is a new way of ROM editing, called using a *split disassembly*. Here we are going to cover the basics of using a disassembly, and allow you the user to understand how they work, so you can get modifiying Sonic 1!

Files and Useful Tools

http://www.glowingbridge.org/splitfiles/icon-winzip.gif

For rebuilding the ROM from it's split form.

http://www.glowingbridge.org/splitfiles/icon-soned.png

For creating and editing the levels.

http://www.glowingbridge.org/splitfiles/icon-textfile.png

Allows you to use Hivebrain's disassembly with SonED2.

http://www.glowingbridge.org/splitfiles/icon-winzip.gif

Needed to generate files not included with the disassembly.

Setting up the Project

1. Open the SonED2 zip file and extract it into a folder. I'll use C:\SonED2-1\
2. Now open the rar file containing Hivebrain's Sonic 1 Disassembly and extract it to a subdirectory inside your chosen folder. In my case, this will be C:\SonED2-1\s1h\

(For this you need WinRAR)

Make sure the path to the files contains folder names no longer than 8 characters, and with no spaces. I strongly suggest you follow the C:\SonED2-1\s1h\ scheme if you're at all confused.

3. Extract Quickman's Hivebrain Disassembly Project files to this folder as well. so C:\SonED2-1\s1h\project is created containing the .SEP files.
4. Copy your clean Sonic 1 ROM into the C:\SonED2-1\s1h\ folder and rename it to s1.bin (Make sure you have file extensions visible)
5. If you don't see it already, create an empty file in the same folder as the disassembly called s1comb.asm (this is already included in the disassembly here).
6. Now run split.bat, and you're ready to go!

Advantages over hex editing

  • One of the most common problems you run into with hex editing is when something doesn't fit, and has to be put at the end of the ROM, and all the pointers changed. This is incredibly wasteful. With a split disassembly everything is kept organized and pointers automatically change on compiling, so you can, for example, replace art with a larger file, recompile the ROM and everything will be adjusted accordingly.
  • As everything is in seperate files, there is no extracting -> decompressing -> editing -> recompressing -> inserting into the ROM. All you have to do are the middle three steps, sometimes only the editing if files are compressed during the build.
  • Editing the code. While this might seem awkward, it's amazing how far a little bit of patience can go in terms of teaching yourself the basics of assembly. Editing in hex makes code editing a lot harder.

Possibilities

The possibilities are as limited as the hardware and your imagination. You can edit the code of the game, the artwork, the level layouts, the music, anything! All these parts of the game are labelled and in seperate files. This is why I believe more people should be aware of the advantages of using a split disassembly, even if they plan not to even touch the assembly code.