In this edition:
- I’ve made a patch to enable a hidden debug menu in Golden Axe: The Duel.
- It lets you play as the final boss, display hit boxes, adjust game parameters, and more.
Get the patch from SegaXtreme. Here’s a video!
Intro
Golden Axe: The Duel is a strange entry in the Golden Axe series. It’s not a beat-em-up; it’s a 2D fighting game. You play as “descendants” of the classic characters from the original games rather than the classic characters themselves (to be fair, Golden Axe III did this, too). There are special moves you can learn for each character, but it’s not deep like other Sega fighters.
I started looking into it because I wondered if the final boss, G. Axe, could be made playable. He’s got sprite models, he’s got moves… is there anything really stopping you from controlling him?
The answer is: you definitely can control him. Krizalid99v2 already figured it out, and you can see a video of playable G. Axe here.
So what’s my contribution? While looking around, I found that the game has a cool debug mode that’s remained secret for the last 29 years.
Technical details: debug mode
It’s almost always useful to glance through Ghidra’s Defined Strings list. I’ve found lots of things with it: game passwords, hidden menu items, references to unused features… Lots of games put interesting things in plaintext.
Golden Axe: The Duel has a string that stands out: DEBUG MODE (at 0604af88
). Following references to it, I found the function at 060950e8
.
That checks a bunch of conditions. By fiddling around with them, I found that you can make a menu pop up on the character select screen by setting the following addresses to the value 01: 06066024
, 06066029
, 0606602b
.
Cool! The screenshot is a little hard to read, but the options are:
- 1P Name
- 2P Name
- Stage Number
- Potion Count
- Adjust Patn Bias
- Display Status
- Display Collision
- Timer Stop
- No Death
- Magic Point
- Disable Blood
- Vitality Up
Once it’s active, you can dismiss it with button L.
Playing as G. Axe
The first menu item satisfies my original curiosity: you can pick G. Axe from the list and play as him. Curiously, he is marked as “Not available.” But if you wait for the timer to count down, he will be selected.
He seems to have a limited set of moves when you’re controlling him. If he has special ones, they’re behind button combinations that I haven’t tried to figure out.
Interestingly, when you choose G. Axe as the first character, the second character always gets set to G. Axe too. You can override that with memory editing (06078182
and 06078183
store the character indexes).
Other debug features
The other debug menu items are pretty cool: I particularly like Display Status, which shows the move you’re currently executing:
The Display Collision feature is also compelling:
I didn’t remember there being much blood in this game, but there is some. Disable Blood does indeed control it:
Some of the menu items I don’t understand. Adjust Patn Bias? Magic Point? If you can explain them, let me know!
Future work
There’s sort of a lesser version of the debug menu available. It only lets you pick characters, including G. Axe. I’m not sure why!
I think there might be a way to activate the main debug menu without hacking, but I’m not sure. Part of it involves a button code, but there’s more to it that I’ve not been able to trace. The sequence is something like:
- After a reset, press Start at the title screen
- Highlight Versus mode
- Enter the code: Up, Up, Down, Down, Left, Right, Left, Right, Down, Up, Down, Up, B, A
- ???
- Just before a match starts, press Start and then L
- The debug menu works
If I can figure out the ??? parts, I’ll make a post about it! The function at 06090ea
checks for the code.
Here’s my patch list for making the Debug Mode menu work on the character select screen. It gets rid of the unknown conditions and allows for the menu to work on the Character Select screen (these are for the Japanese version):
0608015e e001
0609516a e001
0609517a e001
0609518a e006
060951f0 e001
06095182 e001
0609518a e006
060951aa e004
Outro
If you like hidden debug modes, see also:
Which other games should I be examining? Send me your suggestions!
This post is syndicated from Rings of Saturn, Bo’s reverse engineering blog.
Leave a comment