Under the Microscope: Battle Monsters

There are a lot of 2D fighting games on the Saturn. Battle Monsters is… certainly one of them. Look, it’s no Street Fighter. It’s no Primal Rage. Surely somebody likes this game, though? Maybe it was the only game your cousins had, and you played it every time you went over to their house? And so you remember it a bit more fondly than other players might? Right?

It turns out that this game has a hidden debug menu. It’s easy to access. At the title screen, press Up, Down, Left, Right, Start.


The debug menu / playing unplayable characters

Once it’s unlocked, a new item appears in the mode select menu:

The debug options mostly do what you would expect. The 1P Character and 2P Character selectors use numbers rather than names, but the order is the same as one used by the character select screen.

What’s perhaps most interesting is that you can choose the four unplayable boss characters (Leviathan, Behemoth, Salamande, and Jinee). They are numbers 13 through 16:

Information and Hit Display are pretty cool. As you might expect, they show debug data and hit boxes:

1P Death and 2P Death, when turned off, let you keep playing once you lose all your HP. So if you were never able to finish the game at your cousins’ house, you can do so now.


Technical details

This one is straightforward! The mode select strings are stored in a memory block starting at 0604fe50 (NTSC-U version). There’s GAME START, VS, OPTION, and DEBUG MODE. There’s only one function that reads them. It’s at 06045000. That function checks to see whether the 4-byte value at 06037788 is 0001. If it is, it prints the extra mode.

Tracing references to that address leads to the function at 060479b8, which is checking for input. It sets the counter at 06050dac from 00 to 001 when you press Up, and increments it when you press Down, Left and Right. When you press start it sets the debug flag.

In addition, once you’ve entered Up, Down, Left, Right, you can press another button before Start to see the endings for each character:

This functionality doesn’t appear to be in the NTSC-J version, but debug mode can be enabled with this Action Replay code (thanks to privateye for assisting on this):

360369af 0001


Outro

For more like this, see my archive here at SHIRO!. What other games should I examine? Send me your suggestions! The pointer for this article came from reader Scott — many thanks.

This article is syndicated from Rings of Saturn, Bo’s reverse engineering blog.

About the author

Bo Bayles

Rings of Saturn: 32bits.substack.com

Leave a comment

Your email address will not be published.


*