Actions

SCHG How-to

Set up a Sonic 1 split disassembly

From Sonic Retro

Revision as of 10:57, 2 January 2008 by Qjimbo (talk | contribs) (taken from glowing bridge wiki: download links not yet fixed)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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 Hivebrain's Sonic 1 Disassembly rar file and extract it to a folder inside e.g. C:\SonED2-1\s1h\ (For this you need WinRAR)

Make sure the path to the files contains foldernames no longer than 8 characters, and with no spaces. I strongly advice you to follow the C:\SonED2-1\s1h\ scheme!

3. Extract Quickman's Hivebrain DisAsm Project files to this folder also 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 can't see it, create an empty file in the same folder as the disassembly called "s1comb.asm" (this is included in the dissassembly 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.