
I took a brief break from working on the World Championship Wrestling ROM hack to dive into the inner workings of Revenge, focusing on how the roster is structured. This entry leans more technical than visual.
The game contains 79 characters, each assigned two separate character IDs. ID1 ties directly to their moveset, parameters, default attires, and body categories, while ID2 governs their placement within stables and accompanying assignments. The IDs run from 01 (Sting) through 4F (“DRIVER”), providing a framework for both gameplay behavior and roster organization.

In Revenge, characters 40 (Bischoff) through 4C (Sister Sherri) are tucked away in Stables 10 and 11, making them usable for accompaniment but unselectable and uneditable without hacking. My goal has been to make these characters both editable and savable for the player. To achieve this, I increased allocation sizes across three key data blocks:
-
SECTION 1: RAM Records/Names
-
SECTION 2: RAM Names
-
SECTION 3: SRAM Records/Names
This resolves the overlap errors common in previous ROM hacks. For example, editing a character with ID2 4C normally overwrites SECTION 2 data, corrupting names and attires, because the game was originally only set up to read through 3F (Han Zo Mon).
There are 12 “unincluded” characters in the game’s ID1 data, presumably reserved for Ric Flair, nWo Sting, or Ernest Miller. Activating them could expand the default roster to 91 characters. The save system, however, only supports up to 63 (Han Zo Mon)—any extra beyond that is unsavable if names or attires are changed.
I’ve experimented with different methods and found a way to make the extra characters savable, though their names currently don’t appear on the Character Select screen. Hitting “Default” will load their data correctly, but the display is blank. Fixing the name display breaks save functionality.
The current goal is to achieve both editability and savability simultaneously. Right now, I have 10 variables allocated for extended roster slots, split between the 2xxxx and 6xxxx areas of the ROM. Additional exploration will be required to finalize the system.
Character ID1’s are split in specific groups. For example : 0000 / 0100 / 0200
0001 - Sting
0002 - Giant
0003 - Luger
0004 - Diamond Dallas Page
0005 - Rick Steiner
0007 - Roddy Piper
0008 - Bret Hart
0009 - Chris Benoit
000A - Goldberg
000B - Booker T.
000C - Disco Inferno
And then Fit Finlay starts the 0100 group at 0101 and Hollywood Hogan with the nWo group at 0200, etc.
There are 10 “groups”.
- WCW upper/mid (00xx)
- WCW mid/lower (01xx)
- nWo (02xx)
- Luchadores/Cruiserweights (03xx)
- Blood Runs Cold (04xx)
- Flock (05xx)
- EWF (06xx)
- DAW (07xx)
- Male Managers (08xx)
- Female Managers + Cutscene Characters (09xx)
These groups then have pointers to “START” addresses for each section associated with movesets, heads, default attires, and body size.
I’ve highlighted the movesets for GROUP 2 (01xx).

This 16-bit string goes :
- Finlay
- ID 0102
- ID 0103
- ID 104
- Meng
- Barbarian
- Larry Zbysko
- Stevie Ray
- ID 0109
- ID 010A
- British Bulldog
- ID 010C
- Yuji Nagata
- Jim Neidhart
- Alex Wright
- 0000 (Blank)
The 01F7s in the highlighted area represent Sting’s moveset. The developers repurposed data from removed or unfinished characters, overwriting it with Sting’s profile. For example, ID103 might originally have been intended for Hacksaw Jim Duggan, but the ID1 structure still exists in the game.
At the underlined 0000 value in red, I found that assigning it a new ID1 (e.g., 0110) and giving it a moveset works. This shows that these sections can be stretched to slot new ID1s within the ten existing groups. It will require careful data management, but it’s a proven method to add ID1s in Revenge.
By combining this approach with extending ID2s beyond 4F, I can effectively expand the roster as much as the profile data allows. My goal is to eventually have 12 stables of 8 wrestlers each (96 selectable characters) plus 2 full stables of managers/cutscene characters. It’s ambitious, but feasible. Graphical limitations on attires will be the next constraint.
The next hacking session will focus on stable organization, maximum limits, and resolving the SRAM saving issue. If I can make every character both editable and savable in the default game, that will be a solid foundation to build upon.
WCW ROM HACK
During these hacking sessions, I’ve noticed that emulators impose “Title” display limits. To address this, I’ve considered renaming the hack to WCW SuperBrawl, which fits within the display properly. As the project develops, it’s naturally drifting into the 1991–1993 era, which aligns with the SuperBrawl theme more than the earlier 1989–1990 WCW period.

I now have enough attires to create a more complete visual for the WIP, so next week I’ll focus on establishing the roster in the ROM. Below are some screenshots showing characters with their default Revenge heads alongside the new ROM hack attires.



