Set up a Sonic 1 split disassembly
From Sonic Retro
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 another 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 modifying Sonic 1!
Files and Useful Tools
- Sonic 1 Git Disassembly Standard ASM68K version
- For rebuilding the ROM from its split form.
- For creating and editing the levels (a guide for SonLVL, another level editor, is available here).
Setting up the Project
- 1. Open the SonED2 rar file and extract it into a folder. I'll use C:\SonED2-1\ (For this you need WinRAR)
- 2. Now open the zip file containing the Git Sonic 1 disassembly and extract it to a subdirectory inside your chosen folder. In my case, this will be C:\SonED2-1\s1h\, and with that you're ready to go! The SonED2 project files can be found under C:\SonED2-1\s1h\SonED2 Projects.
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 during the assembling process, so you can, for example, replace art with a larger file, assemble the ROM and everything will be adjusted accordingly.
- As everything is in separate 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.
The possibilities are only 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 separate 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.