In honor of the Saturn’s 30th anniversary, Yutaka Ito posted on X this message about Fighters Megamix:
So this is the first time I'm making it public.
The final hidden element in Fighters Megamix, commonly known as the "Oshima Stage", appears when certain conditions are met.
However, if you destroy a wall, it freezes. I don't know what will happen to the backup or the main unit.
sorry.
I will reflect on this for the rest of my life 🙇🏻♂️
He showed a video of a battle between Deku and Deku in a modified version of the Kids Sarah stage. Instead of MEGAMIX in the background, it has Oshima in Japanese characters:
I actually found this back when I wrote about Megamix a while ago. But I assumed that this was just the Japanese version of the Kids Sarah stage! Here that one is for comparison:
This stage is easy to get at via hacking:
Set a write breakpoint for address
060e1005
Start a fight
Change the value written to the address to
20
It sure does crash when you break the wall:
Yutaka’s message makes it seem like you can get to it in game. So how do you get at it naturally? I pored over the game code and couldn’t figure it out! I noticed that the function at 0602f5b8
knows it’s special. There’s a bit that looks like this:
if stage_target == 0x20:
stage_target = 0x0a
So it explicitly switches over to the logic for Kids Sarah’s stage after loading part of the stage (presumably the walls).
I decided to check the game’s files for clues, and I found READ__ME.DOC. It’s got messages from developers, include Yutaka Ito. Here’s his:
It says, among other things, that there’s a hidden feature: when doing a Team Battle against the CPU, you can use the X button on the second controller to prevent the CPU from using a particular character. This lets you, among other things, have a team of all Virtua Fighter characters playing against a team of all Fighting Vipers characters.
Are these two secrets related? Answer: yes!
Combine the hint from the video (Deku versus Deku) and the hint from the text file (disallow everyone else), and… it might happen!
Unlock Deku (see the other article for that)
Start a Team Battle fight against the CPU
Use the second controller to disallow everyone but Deku
Choose Deku yourself for your whole roster
The Team Battle stage list is stored starting at 06095b50
. If you do the trick above, you can randomly get stage 20
in your mix. Here’s a memory snapshot showing it in the second position:
The function at 0603ea98
sets up this array of stages. It randomly assigns a character’s stage here, but if you’ve done everything above, it will replace 0A
with 20
.
Here’s a video!
If I can fix the crash, I’ll make another post!
Yay! I still have FMM on my list that i want to reverse engineer to see how the 3d data is built up.
Good job on documenting your research results.