Legionnaire is Final Fight meets Streets of Rage meets TAD Corp.
Debug Functions#
Crash Handler#
This game has an informative crash handler. To see it, well, crash the game. Go nuts.
Income Report#
On the TAD Corp screen, press 1P Right, 1P Left, 1P Right, 1P Button 1, 1P Button 2 after the logo stops animating to access two income report screens. Press 1P Button 1 to switch to the other screen and 1P Button 2 to exit.
The first screen shows statistics like power-on time; high, low, and average scores; what bosses the players game over on; and general income information for all three characters.
The second screen shows the exact point on each stage where the players got a game over. The final three rows on the bottom are for beating the game.
Difficulty Display#
There's a subroutine starting at 0x238E that displays information on the game's dynamic difficulty system, but the final game put a return opcode at the start of the subroutine, exiting out of it immediately. Put the following code in MAME's legionna.xml cheat file to remove that opcode and enable the difficulty display:
<cheat desc="Difficulty Display">
<script state="run">
<action>maincpu.mw@00238E=4E71</action>
</script>
<script state="off">
<action>maincpu.mw@00238E=4E75</action>
</script>
</cheat>
The first row displays the actual game difficulty in the first digit, the time the player has to remain alive to increment the difficulty counter, and the number of punches the player has to take to decrement the counter. The second and third rows are counters for 1P and 2P respectively.
Enemy Debug#
Like the difficulty display, there are two debug for testing enemies that work perfectly fine if the return opcodes at the start of those subroutines were deleted. Place the following code in legionna.xml to do just that:
<cheat desc="Enemy Debug">
<script state="run">
<action>maincpu.mw@007E18=4E71</action>
<action>maincpu.mw@007EB4=4E71</action>
</script>
<script state="off">
<action>maincpu.mw@007E18=4E75</action>
<action>maincpu.mw@007EB4=4E75</action>
</script>
</cheat>
With these codes active, press 2P Start to spawn one of those purple-and-green sunglasses enemies on the far right of the screen. Up to eight enemies can be spawned at a time. The first enemy's current action will be displayed below 1P's healthbar. The complete list of actions is at 0x7EE0 in the ROM:
STANDING
WALK
YARARE
NOP
ATTACK CHOICE
PUNCH 1
PUNCH 2
DISTANCE
WALK CHOICE
ATTACK WALK 1
STEP IN WALK
MAWARIKOMI
STEP IN
STEP OUT
STEP IN ATTACK
MUTEKI ATTACK
APPEARANCE
Stable Difficulty#
If the debug flag at 0x02240 is set to a negative value, the game's dynamic difficulty system will be disabled. Put the following code in legionna.xml:
<cheat desc="Stable Difficulty Flag">
<script state="run">
<action>maincpu.mw@002240=FFFF</action>
</script>
<script state="off">
<action>maincpu.mw@002240=0000</action>
</script>
</cheat>
(Source: Original TCRF research)
Unused Graphics#
The font used for the game's credits and the stage clear messages have many symbols and numbers that aren't used.
An incomplete speech bubble; the other tiles have been overwritten. This is after the sprites of Mr. G kidnapping Judy in Stage 3, so it was probably a taunt. What a jerk!
In the Continue screen, Judy stays still until the countdown expires or the player continues. These sprites of Judy talking and additional dialogue would have given the player more incentive to continue.
Six different panicky critters, none of them used. It's like a farm animal jamboroo in here.
(Source: Original TCRF research)
Developer Text#
Code for what seems to be an early version of the game starts at around 0x28800. Unfortunately there are a lot of bad bits in the code so most of it is unsalvageable, but there is some legible text.
(Source: MAME Legionnaire driver)
The first chunk starts at 0x288BA and appears to be temporary text for the game's attract mode and story sequences:
TITLE
FBI
BEST 10
STORY
SMPLING
TAD MARK
PLEASE INSERT COIN
PUSH 1P START
PUSH 1P OR 2P START
PLAYER CHOICE
GAME START
STORY 2
STORY 3
STORY 4
STORY 5
STORY 6
The second starts at 0x29DB0 and looks like text from a stage editor:
|
|
|
And, at 0x2C790 is text for a pattern (animation) editor / viewer:
PPN
GPN
CNT
PTN.LOOP
PTN.END
CLR
EXIT
At 0x12D0 in the audio CPU is the standard Seibu Kaihatsu string:
START UP PROGRAM V1.02 (C)1986 SEIBU KAIHATSU INC.