Edit: New version released: Changes: Fully functional undo/redo: you can now undo your mistakes -- whether it is the deletion of a ring group, a segment or even an entire special stage. The undo/redo are also smart, grouping many related actions. WYSIWYG drag/drop of selections. Rings and bombs can now be drawn in lines, loops, triangles and more in a click-and-drag manner, adding several rings and bombs in a WYSIWYG manner. Added a counter showing total rings, bombs and ring/bomb shadows. This can be used to keep them within limits, which would prevent a segment from ever ending. Grid-lock (toggled through toolbar button, defaults to on) constrains the possible angles for ring and bomb placement. You can grab the Windows binary or the source code. The original content of the post has been wrapped in spoiler tags. Spoiler Edit: New version released. New screenshot: The changes are rendering the special stage track to give a better visual guide of what is where and adding constrained object creation (ctrl+left click when inserting rings or bombs). Windows version 0.1.1. Source tarball 0.1.1. The rest of the original post follows: I have been working on th past couple of weeks in an editor for the Sonic 2 Special Stages. The result is this: With it, you can edit the object placement (rings, bombs), how the special stage twists and turns (within S2 engine constraints), how long each special stage is and how many special stages are in the files. For other things (background, palette, ring requirements or actually making any new special stages work in-game, to name a few), you need to edit the disassembly. There is a pre-compiled version for Windows (click here for v0.1), which can be extracted anywhere you like. There is also a source tarball (click here for v0.1), which can be used to build it for Linux (or for Windows, if you are masochistic enough not to take the binary blob above). To compile, you need libgtkmm-2.4-dev version >= 2.12, and all associated dependencies (see e.g., this for a quick summary). In either case, the included readme is essential for using it, but I think the program is user-friendly enough to dispense with it. I welcome any suggestions/bug reports. Edit: You can also grab the source code on GitHub.