the cutting room mirror

The Final Round

The Final Round is a boxing game with a customizable stat system and training mini-games. Starring either not-Rocky Balboa or really-not-Rocky Balboa, depending on the version.

Debug Tools#

Note: Most of the codes in this and following sections modify the game ROMs, which will cause the game to throw an error and reset shortly after booting. To ignore this check, put this code in MAME's hpuncher.xml (JP) or fround.xml (INT) cheat file and enable it before booting:

hpuncher

fround

  <cheat desc="Ignore ROM Check">
    <script state="run">
      <action>maincpu.mb@001650=60</action>
    </script>
    <script state="off">
      <action>maincpu.mb@001650=67</action>
    </script>
  </cheat>
  <cheat desc="Ignore ROM Check">
    <script state="run">
      <action>maincpu.mb@00155C=60</action>
    </script>
    <script state="off">
      <action>maincpu.mb@00155C=67</action>
    </script>
  </cheat>

Boxer Checker#

To access a boxer checker after the game's VS. screens, put the appropriate codes in MAME's hpuncher.xml (JP) or fround.xml (INT) cheat file:

hpuncher

fround

  <cheat desc="Boxer Checker">
    <script state="run">
      <action>maincpu.md@003480=00022A98</action>
    </script>
    <script state="off">
      <action>maincpu.md@003480=00003516</action>
    </script>
  </cheat>

  <cheat desc="Boxer Checker Fixes">
    <script state="run">
      <action>maincpu.mw@022AF4=6000</action>
      <action>maincpu.mw@022B48=0034</action>
      <action>maincpu.mw@022B4E=0036</action>
      <action>maincpu.mw@022B54=0035</action>
      <action>maincpu.mw@022B5A=0037</action>
    </script>
    <script state="off">
      <action>maincpu.mw@022AF4=6700</action>
      <action>maincpu.mw@022B48=0044</action>
      <action>maincpu.mw@022B4E=0046</action>
      <action>maincpu.mw@022B54=0045</action>
      <action>maincpu.mw@022B5A=0047</action>
    </script>
  </cheat>
  <cheat desc="Boxer Checker">
    <script state="run">
      <action>maincpu.md@003298=000221EA</action>
    </script>
    <script state="off">
      <action>maincpu.md@003298=0000332C</action>
    </script>
  </cheat>

  <cheat desc="Boxer Checker Fixes">
    <script state="run">
      <action>maincpu.mw@022246=6000</action>
      <action>maincpu.mw@02229A=0034</action>
      <action>maincpu.mw@0222A0=0036</action>
      <action>maincpu.mw@0222A6=0035</action>
      <action>maincpu.mw@0222AC=0037</action>
    </script>
    <script state="off">
      <action>maincpu.mw@022246=6700</action>
      <action>maincpu.mw@02229A=0044</action>
      <action>maincpu.mw@0222A0=0046</action>
      <action>maincpu.mw@0222A6=0045</action>
      <action>maincpu.mw@0222AC=0047</action>
    </script>
  </cheat>

TheFinalRoundBoxerChecker.png
This allows the user to view animations for all of the game's boxers. Information on the five different sprites that make up each frame (Head, body, both hands, and feet) is printed on the bottom of the screen. The code for this tool tries to poll inputs from a third controller that's absent on retail units; the second cheat above will change this to use 2P's controls.

The player can modify the following variables:

  • Type: The currently selected boxer. Ranges from 0 to B, with Boxers A and B being copies of the player-controlled Boxerfs 0 and 1.
  • Vect: The facing angle of the boxer. Ranges from 0 to F.
  • Mode: The boxer's current action. Values are "Stand", "Attack", "Deff.", "Damage", and "Super."
  • Kind: The boxer's current sub-action. Values depend on the Mode variable.
  • Step: The current frame of the animation. Ranges from 0 to F.

Controls

  • 2P Left/Right: Adjusts currently selected parameter.
  • 2P Button 1: Cycles between the first four variables.
  • 2P Button 2: Increments the Step counter by 1 per frame.
  • 2P Button 3: Resets the Step counter to 0.

Palette Editor#

To access a palette editor after a match starts, put the appropriate code in either the hpuncher.xml or fround.xml cheat file:

hpuncher

fround

  <cheat desc="Palette Editor">
    <script state="run">
      <action>maincpu.md@002128=000227D0</action>
    </script>
    <script state="off">
      <action>maincpu.md@002128=000036C8</action>
    </script>
  </cheat>
  <cheat desc="Palette Editor">
    <script state="run">
      <action>maincpu.md@001F78=00021F22</action>
    </script>
    <script state="off">
      <action>maincpu.md@001F78=000034D8</action>
    </script>
  </cheat>

TheFinalRoundPaletteEditor.png
This allows the user to view the raw values of the game's palettes and to edit colors on the fly. Judging by where this is placed on the screen, this was likely meant to be toggled through the Boxer Checker, but the code that handles that no longer exists in the ROM.

Controls

  • 1P Button 1: Cycle through "FIX" (Fixed palettes), "OBJ" (Sprite palettes), "SCA" (Scroll A layer palettes), and "SCB" (Scroll B layer palettes).
  • 1P Button 2: Increments the highest digit of the color index.
  • 1P Button 3: Increments the lowest digit of the color index.
  • 2P Button 1: Switches between Red / Green / Blue values of the current color.
  • 2P Button 2: Increments currently selected RGB value.
  • 2P Button 3: Decrements currently selected RGB value.

(Source: Original TCRF research)

VS Screen Codes#

The JP set, Hard Puncher, has codes that unlock different game modes; both of these codes are given after beating the game on a certain mode. There are two additional, and seemingly unpublished, codes that display secret messages during a match.

To activate either of these codes, the buttons must be pressed on the VS. Screen and held until the wrestling ring loads. Note that these only work on Hard Puncher, not The Final Round, and either player can enter the code.

Show Move Names#

Hold Down + Button 1 + Button 2 + Button 3 on Match 3 or higher.

TheFinalRoundMoveNames.png
When either player performs one of their super moves, the name of the move will be printed in the lower-left corner of the screen, just above 1P's power meter.

A complete list of names follows:

 BERNING  
  UPPERCUT
 ROLLING  
  UPPERCUT
  TRIPLE  
  THUNDER 
 HOT      
    CRASH 
BLUE      
 HURRICANE
 ROLLING  
     HOOK 
MACH      
    PUNCH 

There's one more move that was never assigned to a boxer and has no associated animations:

 RAINBOW  
  SHOWER  

Programmer Info#

Hold Left + Button 1 + Button 2 on Match 5 or higher.

TheFinalRoundProgrammerEgg.png
This will trigger two different programmer messages that appear just above 1P's power meter. The first message is always the same...

PROGRAM BY
   GEN.S  

...while the second message changes each round:

Round 5

Round 6

Round 7

Round 8

   BORN   
1964.3.14
BLOOD    O
          
DEBUT     
     A JAX
HOBBY     
   READING

There's a fifth message that would have appeared on a theoretical ninth match:

KANSOU MAT
TEMASUYO. 

This translates to something like, "Awaiting your feedback."

(Source: Original TCRF research)

High Score Names#

'...But does it make sense?'
The translations on this page need to be proofread. If you are fluent enough in this language, please make any corrections necessary!

TheFinalRoundHighScoreText.png
There are supposed to be eight high score names that replace the "ONE MORE COIN FOR ANOTHER CHANCE" text with one of six special messages...but the subroutine that handles this is no longer referenced in the high score entry code. Put the following codes in the appropriate MAME cheat files to restore this feature:

hpuncher

fround

  <cheat desc="Restore High Score Names">
    <script state="run">
      <action>maincpu.md@00ADFE=4EB90003</action>
      <action>maincpu.md@00AE02=F0004E71</action>
      <action>maincpu.md@03F000=4EB90000</action>
      <action>maincpu.md@03F004=B0540639</action>
      <action>maincpu.md@03F008=00010004</action>
      <action>maincpu.md@03F00C=30404E75</action>
    </script>
    <script state="off">
      <action>maincpu.md@00ADFE=06390001</action>
      <action>maincpu.md@00AE02=00043040</action>
      <action>maincpu.md@03F000=FFFFFFFF</action>
      <action>maincpu.md@03F004=FFFFFFFF</action>
      <action>maincpu.md@03F008=FFFFFFFF</action>
      <action>maincpu.md@03F00C=FFFFFFFF</action>
    </script>
  </cheat>
  <cheat desc="Restore High Score Names">
    <script state="run">
      <action>maincpu.md@00AB82=4EB90003</action>
      <action>maincpu.md@00AB86=F0004E71</action>
      <action>maincpu.md@03F000=4EB90000</action>
      <action>maincpu.md@03F004=ADD80639</action>
      <action>maincpu.md@03F008=00010004</action>
      <action>maincpu.md@03F00C=30404E75</action>
    </script>
    <script state="off">
      <action>maincpu.md@00AB82=06390001</action>
      <action>maincpu.md@00AB86=00043040</action>
      <action>maincpu.md@03F000=FFFFFFFF</action>
      <action>maincpu.md@03F004=FFFFFFFF</action>
      <action>maincpu.md@03F008=FFFFFFFF</action>
      <action>maincpu.md@03F00C=FFFFFFFF</action>
    </script>
  </cheat>

Name

Message

Translation

Notes

GEN

  GEN SAN   WA   
     MAGICAL     
    PROGRAMER    

Gen-san's a
magical
programmer

"Gen-San" is Gen Suzuki, the game's main programmer.

TEN

                 
    RE  RE  RE   
                 

N/A

Seems to be a reference to the Tensai Bakabon character, Rerere.

INU

    WUUUUUU WU   
 WON   WON WON   
    WON WONWONWON
 WON  WON  WU    

(Barking)

Inu (犬) means dog, and the message is a lot of barkin' and howlin'.

LUM
RAN

   URUSEI  FAN   
    NO   KATA    
 LETTER  KUDASAI 

Urusei fans,
please send
me a letter.

Lum and Ran are both characters in Rumiko Takahashi's Urusei Yatsura.

SEX

  HA HA HA HA    
     KO   NO     
   SU  KE  BE    

Hahahaha
You pervert!

This one seems pretty obvious.
Entering this code in will play the mocking laughter used on the continue screen.

CON
JAX

    NAKA  NAKA   
     KONAMI      
   TSUU  DESUNE  

It's pretty much
Konami
Two, right?

Conjax is a combination of Konami and A-Jax, the first game that programmer Gen S. worked on.
This name is also mentioned in the credits when clearing the Secret World mode in the JP version.
"CON" will play an applause sound effect, while "JAX" plays nothing.

There's one message that isn't assigned to a name:

       THE       
  LONLY   GAMER  
  WHITE   WOLF   

The following MAME cheats will change the "GEN" message to the unused one:

hpuncher

fround

  <cheat desc="White Wolf Message">
    <script state="run">
      <action>maincpu.md@00B0A2=00028376</action>
    </script>
    <script state="off">
      <action>maincpu.md@00B0A2=0002825A</action>
    </script>
  </cheat>
  <cheat desc="White Wolf Message">
    <script state="run">
      <action>maincpu.md@00AE26=0002834E</action>
    </script>
    <script state="off">
      <action>maincpu.md@00AE26=00028232</action>
    </script>
  </cheat>

(Source: Original TCRF research)

Unused Text#

Super Contra Leftovers#

There's an older text handler in the game that's only used by the Konami logo, copyright graphic, and the export warning screen in the final game, but there are many more strings that are unused. Place this code in MAME's hpuncher.xml cheat file to change the export text in Hard Puncher to one of these strings:

  <cheat desc="Change Export Text">
    <parameter min="0" max="0x13" step="1"/>
    <script state="run">
      <action>maincpu.mb@001F37=param</action>
      <action>maincpu.mb@001F3B=param</action>
      <action>maincpu.mb@001F3D=param</action>
    </script>
    <script state="off">
      <action>maincpu.mb@001F37=0x0F</action>
      <action>maincpu.mb@001F3B=0x07</action>
      <action>maincpu.mb@001F3D=0x0A</action>
    </script>
  </cheat>

Super Contra

The Final Round

This old text subroutine was taken directly from Super Contra -- the identical RAM/ROM labels in unused text block 0x08 are a dead giveaway -- and the developers never bothered to remove the now-unused strings from that game. The rest of the text follows:

00

01

02

03

04

05

06

PLAYER ONE
PLAYER TWO
 THE  END 
PRESS START
ONE PLAYER ONLY
ONE OR TWO PLAYERS
PLEASE DEPOSIT COIN

0A

0B

0C

0D

0E

12

13

© KONAMI 1988
FIGHT
STAGE
CONTINUE?
NO  SHOOT BUTTON
ROUND
GAME OVER

Other#

Early

Final

There's an early version of the bout result screen left in the game ROMs. This old version is formatted differently and only displays the result of the last bout that the player fought. Put the following codes in either hpuncher.xml (JP) or fround.xml (INT) to switch to the older version.

hpuncher

fround

  <cheat desc="Single Bout Result Text">
    <script state="run">
      <action>maincpu.mw@004E1E=3270</action>
      <action>maincpu.mw@005450=3270</action>
    </script>
    <script state="off">
      <action>maincpu.mw@004E1E=32CE</action>
      <action>maincpu.mw@005450=32CE</action>
    </script>
  </cheat>
  <cheat desc="Single Bout Result Text">
    <script state="run">
      <action>maincpu.mw@004BE4=29C2</action>
      <action>maincpu.mw@00520A=29C2</action>
    </script>
    <script state="off">
      <action>maincpu.mw@004BE4=2A20</action>
      <action>maincpu.mw@00520A=2A20</action>
    </script>
  </cheat>

Used

Alternate

An alternate version of the code that draws the "TOTAL TIME" text can be found directly after that subroutine. This labels the collected bout times as "LAP TIME" and is colored gold instead of pink. Put the following cheat in either hpuncher.xml or fround.xml to swap to the Lap Time subroutine:

hpuncher

fround

  <cheat desc="Lap Time Text">
    <script state="run">
      <action>maincpu.mw@02331E=FC2C</action>
    </script>
    <script state="off">
      <action>maincpu.mw@02331E=FC0A</action>
    </script>
  </cheat>
  <cheat desc="Lap Time Text">
    <script state="run">
      <action>maincpu.mw@022A70=F37E</action>
    </script>
    <script state="off">
      <action>maincpu.mw@022A70=F35C</action>
    </script>
  </cheat>

There's one additional unused string at 0x2A842 (hpuncher) / 0x2A81A (fround):

FIGHT MONEY

This would be placed somewhere on the bout results screen, but there's no code left in the game that references this text.

(Source: Original TCRF research)

Regional Differences#

Boxer Names#

The Final Round renames six of the boxers. The most notable change is the Rocky Balboa-inspired 1P boxer, whose Japanese name seems a little on-the-nose.

JP

INT

Rocky Smith

Jabbin' Jim

Joe Vulcan

Gentleman Joe

Mr. Mohican

Knockout Nick

Mark Rentz

Steel Fist Fritz

Avege Hidev

Bronx Bruiser

Marvin Cobra

Harlem Hit Man

Referee Secrets#

In Hard Puncher, there are two easter eggs that can be triggered based on the amount of health the player had at the end of the previous bout:

TheFinalRoundRefEgg1A.png TheFinalRoundRefEgg1B.png

  • If the player had 100% health, the referee will be accompanied by a hen and four chicks. When the referee walks off-screen, the birds follow him out. TheFinalRoundRefEgg2A.png TheFinalRoundRefEgg2B.png
  • If the player had 99% health, the referee's head is replaced by a Moai head.

Hidden Modes#

TheFinalRoundBlueScreen.png
There are two hidden modes in Hard Puncher: Secret World and Powerful World. These codes need to be put in on the blue screen that appears after pressing 1P or 2P Start, and can be put entered by either player.

  • Secret World: Left Right Up Right Down Right Left Left.
  • Powerful World: Right Up Left Left Down Up Right Down.

JP

INT

The first of these codes is given after beating a normal game. The Final Round replaces this code with a more generic congratulations message and removes the ability to enter these codes in at all.

Secret World#

This mode alters which super moves the first six boxers can use; Harlem Hit Man and Black Stallion are unaltered.

Normal

Secret

Knockout Nick

None

Berning Uppercut
Mach Punch
Rolling Uppercut
Triple Thunder

Red Falco

Berning Uppercut
Rolling Uppercut

Blue Hurricane
Hot Crash
Triple Thunder
Rolling Hook

Mad Mongol

Berning Uppercut
Mach Punch
Rolling Uppercut
Rolling Hook

Blue Hurricane
Berning Uppercut
Hot Crash
Rolling Uppercut
Rolling Hook

Iron Drago

Blue Hurricane
Berning Uppercut
Hot Crash
Rolling Uppercut

Mach Punch
Triple Thunder
Rolling Hook

Steel Fist Fritz

Triple Thunder
Rolling Hook

Berning Uppercut
Mach Punch
Rolling Uppercut
Rolling Hook

Bronx Bruiser

Berning Uppercut
Mach Punch
Rolling Uppercut

Blue Hurricane
Berning Uppercut
Mach Punch
Hot Crash
Rolling Uppercut
Rolling Hook

Beating the game on this mode will change all of the staff titles (except for "Manager") to more accurately reflect what each staff member did...

Normal Mode

Secret Mode

MAKING OF THIS GAME

STAFF OF CONJAX PRO

TOTAL DIRECTOR

MAIN SOFTWARE DESIGN

GAME PROGRAMMER

GAME CREATER

ASSISTANT PROGRAMMER

GREAT RANKING MAKER

CHARACTER DESIGNER

BOXER CHARA DESIGN

GRAPHIC DESIGNER

TRAINING ART DESIGN

GRAPHIC DESIGNER

BOXER ART DESIGN

VISUAL DESIGNER

DOWN BOXER DESIGN

SOUND DESIGNER

SOUND EFFECT

MUSIC COMPOSER

BGM CREATER

ELECTRONIC ARCHITECT

HARDWARE LEADER

ELECTRONIC ARCHITECT

HARDWARE DESIGNER

PACKAGE DESIGNER

CM CAMERA GIRL

SPECIAL THANKS TO

PLANNING HELPER

TheFinalRoundEndingMessage2.png
...gives the code for the game's Powerful World, and grants the player a $20,000,000 bonus, double that of a normal game.

Powerful World#

TheFinalRoundPowerfulWorld.png
In this mode, all boxers go down in one punch. The CPU boxers don't have the additional special moves that they do in Secret World, not that it matters.

TheFinalRoundEndingMessage3.png
While beating the game in this mode doesn't alter the credits, and the message given at the end is identical to the one in The Final Round, the player does get the same $20,000,000 bonus as Secret World.

Revisional Differences#

The dumped Revision L of The Final Round has a few changes in presentation compared to Revision M.

Revision L

Revision M

Revision L does not display the exact health values of each boxer; instead, players have to look at the animated red and blue boxers to try to gauge how much energy they have. The mini-boxers start out flexing and gradually slump over as the boxers take damage. Revision M adds a percentage value but keeps the boxer health gauge as well, though moving the Power label to the left reveals where the mini-boxer sprites cut off.

Revision L

Revision M

In Revision L, on the continue screen, the enemy boxer will taunt or encourage the player to keep playing. Revision M replaces these quotes with the name of the boxer.

TheFinalRoundContinueOld.png
Continuing will prompt another response, presumably from the player's trainer. There are five sets of responses:

      COME AND GET ME.      
                            
      KEEP BATTLING ON      
                            
      THAT'S IT.            
          KEEP IT GOING.    
       STAY IN THERE.       
                            
      WHAT ARE YOU          
          WAITING FOR?      
      ALRIGHT!              
   THAT'S THE WAY TO GO.    
      NICE PLAY, KID.       
                            
I KNEW YOU WOULDN'T GIVE UP.
                            
           ALRIGHT.         
                            
      YEAH!                 
SHOW'EM WHAT YOU'RE MADE OF.

(Source: Original TCRF research)