11 March 2016 - Forum Rules

Main Menu

SOR2 Compression Utility

Started by LightRayn, November 11, 2022, 12:17:10 AM

Previous topic - Next topic


I started working on making a ROM hack called "Sesame Streets of Rage" over 6 months ago. Since then my focus shifted to being able to modify the SOR2 ROM as much as possible.

I've conversed with Eskayelle on how he made the modifications that created his ROM hacks. He lead me to a thread where someone by the alias of Sharpnull, wrote a python script with a compression algorithm that mimicked the one used to decrypt various tiles in the ROM. I converted the script into an EXE and built a GUI for it. I also added information on the locations of the compressed tiles. My goal with the tool is to make it easier to modify/replace tiles such as the title and story screens.

SOR2 Compression Utility:


This sounds really helpful for people (like me) tjay have troibles with very technical stuff, but it would help to see some screenshots or videos on this very thread to get more attention.


I have 2 videos on my YouTube channel if that helps. If you have any questions let me know.


Great job Ryan. Amazing how limited they were when putting that title screen together. I look forward to using your application.


I'm currently working on adding the ability to insert the newly created bin file directly into the ROM, as well as mapping files. (Thank you Eskayelle for the idea)


Here's a preview of a new tool I'm releasing soon. It's basically the compression utility, but it inserts the tiles, palette and mapping for you. All you have to do is edit a 16 color BMP, and click the button that corresponds to the screen you want to modify.


Just as an update to my progress, I've redirected the routines to load mapping for End screens 2 - 6 to point to the mapping for End Screen 1. The mapping for End Screen 1 is more straight forward and will make it so no tiles need be repeated. Here's a copy of my notes:

@22DF0 - MOVE.L routine moving end screen 2 mapping from 2F07C into RAM
change to 2EEC6, Mapping in End Screen 1 is more user friendly.
HEX : @22DF0 - 23 FC 00 02 EE C6

End Screen 2 Mapping To Change:
22DF3 - 02 EE C6

End Screen 3 Mapping To change:
22E1B - 02 EE C6

End Screen 4 Mapping To Change:
22E43 - 02 EE C6

End Screen 5 Mapping To Change:
22E6B - 02 EE C6

End Screen 6 Mapping To Change:
22E93 - 02 EE C6

For the first release of the new utility I'll include templates for all screens except Story Screen 2. That one's a bit more tricky, simply redirecting to another mapping routine may not be acceptable, the code there may have to be rewritten. Also if anyone wants me to add either version of Syndicate wars let me know and I'll add them to either the first or second release. No need to worry about having to change any HEX values with this tool, it'll do it for you.


Version 1 of the screen replacer is in the Queue. The how to video is here:


I once wrote a blog.  Maybe you'll find something in it useful?


The new utility was rejected for containing copyrighted images. I understand not wanting copyright hits, but why then is this hosted here with copyrighted images?


If anyone wants to use the screen replacer you can download it here:

I'm going to continue to post updates to the compression utility here, but I'm also going to Host it and the screen replacer on

I bare no hard feelings about the utility being rejected I was just confused as to why there's already a utility hosted here with copyrighted images but mine was rejected.


Okay, so I've removed the copyrighted images. The template bitmap's are still there to be modified and inserted into the loaded ROM, as they are of my own creation and not copyrighted. I've also updated it to add "guide" files much like the ones used in Pancake 2, they just store the offsets of the Tiles, palette and Mapping for the ROM. I chose to do this so other ROM types (Ex. Syndicate Wars) could be added without the need for a software update. I am however working on Implementing the face and hands for Mr. X in Story Screen 2 that will be added once I get the mapping figured out. The utility is currently in the submission queue so I'm crossing my fingers that nothing gets flagged. If anyone has any questions feel free to ask them here.


Just as an update, I'm currently writing a routine for reorganizing the tiles for the Face and Hands on Story Screen 2. I'm having it match the in game mapping. It's easier than rewriting the mapping in the ROM, though it is a bit tedious.

Looking towards the future, I plan to place both the Compression Utility and the Screen Replacer into an MDI container, along with an in game text editor I'm planning on making. Along with hopefully a utility that replaces the stage music.


The Face Mapping was a nightmare, I got it done though. I'm going to use the same method for the Hand sprite tiles that worked for the face. The version I have now has the ability to replace the Face in story screen 2, but not the hands yet. If anyone wants me to upload it before I finish the Hand mapping post a reply here. Either way, once the hand mapping is done I'll upload a new version. After which I will also make a video demonstrating how to use it. (It's pretty simple.)


I have the next version complete. I'm going to make a video on how to use it before I upload it to RHDN. I will however link to my GDrive so anyone that wants to can use it. I'll also link to a zip with palettes of rage with a guide to modify palettes for the screens the tool replaces. This is just in case you want to tweak the colors or change the shimmer palette on the title screen.

Palettes of rage:
SOR2 Screen Replacer 2.46:

I've combined the template for Mr. X face and hands on story screen 2. Reason being they use the same palette, so if you replace both individually the colors would be off. I've labeled each section (Face + Hand) in the template image. The black areas must stay as is, just draw in the parts specified in the image.


New version utility (V 2.46) is in the queue, here is a link to the video how to:
If you have any question feel free to post them here or on my YouTube Channel.


Version 2.46 has been approved! Time to go work on replacing music in the ROM.


Be careful with modifying the images, If you use more than 16 colors the palette generated will only use the colors most common in the image in order to get it down to 16 colors.

Though this one came out better than I intended.