If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Prime Time Fighter

From The Cutting Room Floor
Jump to navigation Jump to search

Title Screen

Prime Time Fighter

Also known as: Top Ranking Stars (INT)
Developer: Taito
Publisher: Taito
Platform: Arcade (Taito F3 System)
Released internationally: July 1993[1]
Released in US: August 1993[2]


CopyrightIcon.png This game has hidden developer credits.
DevTextIcon.png This game has hidden development-related text.
GraphicsIcon.png This game has unused graphics.
SoundIcon.png This game has unused sounds.
TextIcon.png This game has unused text.
DebugIcon.png This game has debugging material.
LevelSelectIcon.png This game has a hidden level select.
Carts.png This game has revisional differences.


Prime Time Fighter is a boxing series that ran for 6 episodes before it was canceled in favor of Street Fighter II reruns.

Debug Functions

Round Select

PTFighterRoundSelect.png
This game uses the Taito Code:

  • On boot, hold Service 1 until the "SERVICE ERROR" message pops up on the screen.
  • Then, press 1P Start (x3), Service 1, 1P Start. The stage select menu should then appear.

Use 1P Joystick to select a round and 1P Button 1 to start the game. Selecting Round 8 and then selecting a fighter will play that fighter's ending sequence.


(Source: RyogaMasaki)

Debug Flags

There are byte-sized flags at ROM addresses 0x00300 to 0x00310 that enable debug functions and developer options if set to non-zero values. Note that 0x00302, 0x00305, and 0x00307, and 0x00309 aren't referenced anywhere in the code, the tool that the flag at 0x00303 enabled has been nulled out, and the flag at 0x0030B is normally set to 01 instead of 00.

Put the codes listed below in MAME's prmtmfgt.xml (US Set), trstar.xml (World set), or trstaroj.xml (JP Set) cheat files to enable the functions described in each subsection.

Sprite Editor

  <cheat desc="Sprite Editor">
    <script state="run">
      <action>maincpu.mb@00300=01</action>
    </script>
    <script state="off">
      <action>maincpu.mb@00300=00</action>
    </script>
  </cheat>

PTFighterSpriteEditor.png
Enabling this code before starting a new game will take the user to a fairly sophisticated sprite editor. From here, the user can check on and manipulate virtually every aspect of the game's sprites.

Controls (Global)

  • 1P Left/Right: Adjusts value by 01.
  • 1P Up/Down: Adjusts value by 10
  • 1P Button 1: Toggles selection.

Options

  • Style: Changes the sprite.
  • Shadow: Changes the "shadow" sprite. This is an extra sprite that always appear at the 0,0 base and can't be moved or manipulated.
  • Color: Changes the palette of the first sprite. If set to 0000, General, the game will apply the "correct" palette to the current sprite.
  • X_Pos / Y_Pos: Moves the current sprite horizontally or vertically.
  • H_Zoom / V_Zoom: Adjust the zoom level on the sprite.
  • X_Base / Y_Base: Changes the position of the "base", which is the intersection of the X and Y axes.
  • Flip Mask Pro: Swaps between three different mask (Font) priority settings: The first displays text over the sprite, the second displays text under the sprite, and the third removes the text from the screen.

PTFighterSpriteEditorColor15.png PTFighterSpriteEditorColor24.png
There are two color editors, Edit Color/15 and Edit Color/24. The first column of each editor displays the first 16 colors of a palette, and the second column displays the last 16 colors. The editor only works if the color palette number is set to a non-zero value, i.e. anything but the "General" palette.

  • Edit Color/15 displays the RGB values of the current palette. The fourth value affects color brightness.
  • Edit Color/24 displays the data of the current palette as it's stored in the ROM.

1P Joystick moves the cursor, 1P Button 1 selects an R/G/B value or byte depending on the editor. When selected, press 1P Up/Down to adjust the current value or byte. Press 1P Button 2 to cancel the selection, and press 1P Button 2 again to exit the menu.

PTFighterSpriteEditorStyle.png
The Edit Style option allows the user to edit a sprite's individual parts or "blocks" as the game calls them. The sprite of Michael Eldorado above is made of two parts: One for the top, one for the bottom.

  • Select: Selects which part to edit.
  • Block: Changes the ID of the currently selected part.
  • Color: Changes the palette of the selected part.
  • EX Color: This is that part's palette offset from the "base" palette. For instance, Kano Masaru's sprites use palette 001A for the top half and 001B for the bottom half; the EX Color of the bottom half would be 0001.
  • X / Y Offset: Modifies the X and Y offsets of the selected part.
  • Prio: Moves the current part to a different slot. The part with the highest priority will be in slot 00 and then the priorities descend from there.
  • Create: Creates a new part. There is no limit on how many parts a sprite can contain, but the game will have trouble rendering more than 17 parts at a time.
  • Remove: Deletes the selected part.
  • Save Style: Saves changes to RAM starting at 403000.

PTFighterSpriteEditorHit.png
Edit Hit allows the user to edit the hitbox, hurtbox(es), and collision box(es) of each sprite. Save Hit saves the user's modifications to RAM starting at 40C000.

  • Move: Moves the bounds of the currently selected box. 1P Joystick moves the left and upper bounds of the box, and 2P Joystick moves the right and lower bounds of the box.
  • Select: Selects a box for editing.
  • Create: Creates a new box. A is a hitbox (The area that can hit the opponent), D is a hurtbox (The area(s) that can be hit by an opponent), G is a guardbox (The area used for blocking), and T is a collision box (The area that prevents two fighters from overlapping). A maximum of 16 hitboxes can be created, but the game has trouble drawing sprites if there are more than 9 boxes in a single sprite.
  • Remove: Deletes the selected box.
  • Copy: Copies box data from a different sprite.
  • Undo: Undoes all changes done to the current sprite's boxes.

Process Meter

  <cheat desc="Process Meter">
    <script state="run">
      <action>maincpu.mb@00301=01</action>
    </script>
    <script state="off">
      <action>maincpu.mb@00301=00</action>
    </script>
  </cheat>

PTFighterProcessMeter.png
This adds a 2x232 pixel line to the right side of the screen. This acts as a CPU usage meter: It's normally black but will change color depending on how slow the game is running.

Game Pause

  <cheat desc="Game Pause">
    <script state="run">
      <action>maincpu.mb@00304=01</action>
    </script>
    <script state="off">
      <action>maincpu.mb@00304=00</action>
    </script>
  </cheat>

When activated, pressing 1P Start will toggle a game pause. Pressing 2P Start while paused will advance the game a frame. Leaving the game paused for more than 3 seconds will activate one of the game's error handlers and reset the game, so this feature is of questionable use.

Action Viewer

  <cheat desc="Action Viewer">
    <script state="run">
      <action>maincpu.mb@00306=01</action>
    </script>
    <script state="off">
      <action>maincpu.mb@00306=00</action>
    </script>
  </cheat>

PTFighterAnimViewer.png
Enabling this code before starting a new game will load this action / animation viewer. This tool allows the user to execute any action in the game against an immobile opponent.

Controls (Global)

  • 1P Left/Right: Adjusts value by 01.
  • 1P Up/Down: Adjusts value by 10
  • 1P Button 1: Toggles selection.

Options

  • Style: Displays the current sprite number and name for the fighter on the left. This cannot be edited.
  • File: Chooses an action for the fighter to execute.
  • Char: Swaps between characters.
  • Stance: Toggles between crouching and upright positions.

PTFighterAnimViewerFace.png

  • Face: Changes the expression of the first fighter. This reverts back to the "Normal" expression every time the animation ends, so changing the animation speed is recommended.
  • Anim_Rate: Changes the animation rate. The modified frame delay is equal to X*(Anim_Rate / 0100), rounded down, where X is the default frame delay for that sprite. For instance, the forward walking animation usually displays each sprite for 10 frames. Changing this to 0080 would change the frame delay to 5 frames per sprite, making it run at double speed.
  • W_X_Rate: Changes the movement rate. This is used for any action that pushes the fighter forward or backward.
  • Master_X/Y/Z: Changes the X, Y, and Z positions of both sprites. The Maser_Y and Master_Z options have been accidentally swapped here.
  • Play: Executes the current action.
  • Reset: Stops the current action.

PTFighterAnimViewerEdit.png
Selecting the Edit Animation option will display the internal data for the current action. The user can't actually edit animations from this screen, though. Misleading name.

Debug Display

  <cheat desc="Debug Display">
    <script state="run">
      <action>maincpu.mb@00308=01</action>
    </script>
    <script state="off">
      <action>maincpu.mb@00308=00</action>
    </script>
  </cheat>

PTFighterDebugDisplay.png

FG & BG Viewer / Stamina Display

  <cheat desc="FG / BG Viewer">
    <script state="run">
      <action>maincpu.mb@0030A=01</action>
    </script>
    <script state="off">
      <action>maincpu.mb@0030A=00</action>
    </script>
  </cheat>

PTFighterFGBGViewer.png
Enabling this code before starting a new game loads a foreground / background viewer. Use 1P Up/Down to scroll through blocks and hold 1P Button 1 to scroll through faster.

PTFighterVitalDisplay.png
Enabling this code after starting a new game will display the true vitality and stamina values for both fighters at the top of the screen. The text gets partially overwritten by the players' scores, high scores, and health bars.

CACR Modifier

Modifies the main CPU's Cache Control Register. This is normally set to 01, which enables the instruction cache. The other bits are the 02 (Freezes the cache), 04 (Clears an entry in the cache based on the Cache Address Register), and 08 (Clears the cache).

This doesn't seem to have any effect on how the game runs, though.

CPU Action Viewer

  <cheat desc="CPU Action Viewer">
    <script state="run">
      <action>maincpu.mb@0030C=01</action>
    </script>
    <script state="off">
      <action>maincpu.mb@0030C=00</action>
    </script>
  </cheat>

PTFighterCPUAction.png
This tool prints labels for the AI's actions near the top-center of the screen. This displays difficulty values for both fighters.

Camera Debugger

  <cheat desc="Camera Debugger">
    <script state="run">
      <action>maincpu.mb@0030D=01</action>
    </script>
    <script state="off">
      <action>maincpu.mb@0030D=00</action>
    </script>
  </cheat>

PTFighterCameraDebug.png
When this tool is enabled, the user will be able to manually control the game's camera. Without player interference, the camera will stay in place.

Controls

  • 2P Button 1 + 2P Left/Right: Moves camera left or right.
  • 2P Button 3 + 2P Up/Down: Tilts camera up and down.

Character Control

  <cheat desc="Character Control">
    <script state="run">
      <action>maincpu.mb@0030E=01</action>
    </script>
    <script state="off">
      <action>maincpu.mb@0030E=00</action>
    </script>
  </cheat>

PTFighterCharControl.png
When enabled, the user will be able to change the second fighter's sprite to a different character. Note that this only affects the player's sprite; the character's portrait, animation data, and palette will not change.

Press 2P Button 2 to swap to the next character by ID, and 2P Button 1 to swap to the previous character.

6 Button Mode

  <cheat desc="6 Button Mode">
    <script state="run">
      <action>maincpu.mb@0030F=01</action>
    </script>
    <script state="off">
      <action>maincpu.mb@0030F=00</action>
    </script>
  </cheat>

This should enable a six-button mode, and there is some base level of support in the game's code for more than the default three buttons, but those extra buttons are never mapped to anything. So, this code is effectively useless.

Osaka Lab Unit Mode

  <cheat desc="Osaka Lab Unit">
    <script state="run">
      <action>maincpu.mb@00310=01</action>
    </script>
    <script state="off">
      <action>maincpu.mb@00310=00</action>
    </script>
  </cheat>

PTFighterOsakaScreen.png
When active, this special export warning will appear when the game first boots. This takes the place of any other export warning screens and will appear even in World sets. Taito's Osaka unit was responsible for the development of this game.

PTFighterButtonSelect.png
Please select the control style.

3 button control.
6 button control.

The only other change is this screen that appears after selecting a fighter. This would allow the user to change between two control schemes, but as previously explained, the six-button option doesn't work so both options are identical.

Difficulty Override

There's one other debug flag in the game. If ROM address 0x03512 is set to a non-zero value, the game will always use the value at 0x03513 for CPU difficulty. This will override both the game's difficulty settings and the dynamic difficulty system. Put the following code in the appropriate MAME cheat file to activate this feature:

  <cheat desc="Difficulty Override">
    <parameter min="0" max="255" step="5"/>
    <script state="run">
      <action>maincpu.mb@03512=01</action>
      <action>maincpu.mb@03513=param</action>
    </script>
    <script state="off">
      <action>maincpu.mb@03512=00</action>
    </script>
  </cheat>

For older sets, change the ROM addresses in the code to 03510 and 03511.

(Other debug functions: Original TCRF research)

Placeholder Screens

PTFighterScreenPlaceholder.png
The game has a development feature for unfinished game modes that will print that mode's name to the top-left part of the screen before fading out. Put the following code in the appropriate MAME cheat file (New Version sets only) to replace the game's attract mode with one of the placeholder screens:

  <cheat desc="Placeholder Screen">
    <parameter>
      <item value="0x01">Push Start Demo</item>
      <item value="0x09">Shiai Clear Demo</item>
      <item value="0x0A">Bounus Stage</item>
      <item value="0x0B">Ending Demo</item>
      <item value="0x0C">Name Registration</item>
      <item value="0x0E">Best 5 Demo</item>
      <item value="0x0F">Boss 1 Demo 1</item>
      <item value="0x10">Boss 1 Demo 2</item>
      <item value="0x11">Boss 2 Demo</item>
      <item value="0x13">Continue Seiritsu Demo</item>
      <item value="0x14">Player Vs Player Select</item>
      <item value="0x15">Player Vs CPU Select</item>
      <item value="0x16">Notice</item>
      <item value="0x17">Signature</item>
    </parameter>
    <script state="run">
      <action>maincpu.mb@02613=param</action>
    </script>
    <script state="off">
      <action>maincpu.mb@02613=02</action>
    </script>
  </cheat>

Information on the unused game modes follows:

Game
Mode
String Notes
01 PUSH START DEMO This is handled by game mode 02 in the final game.
09 SHIAI CLEAR DEMO Shiai (試合) translates to "bout" or "match". The mode that handles this is 04 in the final game.
0A BOUNUS STAGE Never implemented, but there are some graphics related to this unused mode in the sprite graphics ROM.
0B ENDDING DEMO These are both handled by the main gameplay subroutine, 00 in the final game.
0C NAME REGISTRATION
0E BEST 5 DEMO Strangely, the game's attract mode doesn't have a high score screen, though it seems one was planned.
0F BOSS 1 DEMO 1 These were all consolidated into game mode 04.
10 BOSS 1 DEMO 2
11 BOSS 2 DEMO
13 CONTINUE SEIRITSU DEMO Would have handled a screen that'd appear after continuing. The game jumps to the player select screen in the final game.
14 PLAYER VS PLAYER SELECT Both modes handled by game mode 03 in the final game.
15 PLAYER VS CPU SELECT
16 NOTICE This would be the export warning screen, which is controlled by game mode 00.
17 SIGNATURE This would be the Taito Logo screen, handled by game mode 02 in the finished game.
(Source: Original TCRF research)

Crowd Chatter

Put this code in the cheat file of the any of the "New Version" sets to re-enable a crowd chatter feature:

  <cheat desc="Crowd Chatter">
    <script state="run">
      <action>maincpu.mw@1184C=4E71</action>
    </script>
    <script state="off">
      <action>maincpu.mw@1184C=4E75</action>
    </script>
  </cheat>

Once this code is activated, every 4 frames the game has an approximately 3% chance to play one of the following lines:

JP INT Line
He's guarding!
Watch out for him!
That's it!
Go!

Technical explanation: The game uses the word at 413076 in RAM to determine which line to play. Specifically, it strips out the upper byte, ANDs it with the number 0x3, then gets the appropriate value from the table at 0x11872 in the ROM. This means that the line played only changes once every 256 frames, which can lead to the game spamming the same line multiple times. This implementation was probably what lead to this feature being disabled.

(Source: Original TCRF research)

High Score Names

PTFighterHighScore.png
There are 16 names that the game checks for during high score entries. If the game detects any of these names, they'll be replaced by a different name.

Please note that non-Japanese sets have a three-character limit for names, so only five of these names can be put in.

Original Changed Notes
SEX SEXY ?
BAKA I'M FOOL Baka and aho are both Japanese terms meaning "stupid" or "idiot".
AHO I'M FOOL
MAIL ▼ URD Mail is a pseudonym for Harumi Kasuga (春日 はるみ), a programmer whose credits include Grid Seeker and Galactic Storm.
Urd is one of the main characters from the manga series Oh My Goddess!
LABO SKULD Labo is Oshima Tsukasa (大 島司), who's credited as a designer on Grid Seeker and Galactic Storm.
Skuld is another of the main characters from Oh My Goddess!
FREAK 680×0^_^ 680x0 is another name for the Motorola 68000 series of microprocessors.
Grid Seeker has credit for "680X0 Freak Users" that includes Mail, Labo, Meltycat, and Haya.
MELTYCAT JUPITER Meltycat is actually Takafumi Kaneko (金子 尚史), a programmer who later worked on Bubble Symphony and Bubble Memories.
Jupiter is referring to Sailor Jupiter of the Sailor Moon franchise.
URD TOHMASAN Yumi Touma (冬馬 由美) is the VA for Urd in the Oh My Goddess! anime.
KSK MAIL "GSL/Mail KSK" was Mail's credited name on Galactic Storm.
CSL CSL/MAIL "CSL/Mail" was Mail's credited name on Grid Seeker.
HAYA S.SPLAY The last of the 680x0 Freaks, Haya is Toshiyuki Hayashi (林 俊幸), who, like Mail, worked on Grid Seeker and Galactic Storm.
"S. Splay" is short for Shabon Spray, one of Sailor Mercury's attacks in the Sailor Moon series.
MERCURY TANOSII? Another Sailor Mercury reference. She's delightful.
SKULD AYACHAN Refers to Aya Hisakawa (久川 綾), the VA for Skuld in the Oh My Goddess! anime.
BELL KIKKOSAN Kikko-san is a nickname for Kikuko Inoue (井上 喜久子), VA for Belldandy, the main female lead from Oh My Goddess!.
JUPITER MAKOCHAN Emi Shinohara (篠原 恵美) is the VA for Sailor Jupiter of Sailor Moon fame.
AAAAAAAA T.R.S. T.R.S. stands for Top Ranking Stars, a 1993 boxing game that...oh, right.
(Source: Original TCRF research)

Unused Graphics

All graphics below can be accessed through the FG & BG viewer and sprite editor.

FG/BG

PTFighterChunk005.png
Chunk ID: 005

An unused menu screen with three different options. This could be a very early character select screen or meant for a bonus game selection screen (see below).

Early Final
PTFighterChunk006.png PTFighterChunk020.png

Chunk IDs: 006 (Early), 020 (Final)

A full-screen version of the gym screen that's seen in Kanou's ending. The room is positioned slightly lower, and the poster says "BOXING" instead of "KANOU."

PTFighterRingGirl.png PTFighterRingBG.png
Chunk IDs: 024-026 (Ring Girl), 027 (Background)

A ring girl and a large digitized picture of an arena sandwiched between two T.R.S. labels are grouped with the rest of the attract mode graphics. Both are too large to fit on the screen and would have required the game to pan up and down.

PTFighterScreenGuideline.png
Chunk ID: 216

A placement guide can be found among the crowd graphics. The top layer says "Right foot", and the middle layer says "Floor - Bottom line of the screen". What screen this was meant for is unknown.

Set 1
PTFighterCrowdEarly1.png
Set 2
PTFighterCrowdEarly2.png

Chunk IDs: 186, 198, 207 (Set 1), 217, 220, 230, 234, 242 (Set 2)

Two early sets of static crowd graphics for use in the outside boxing arenas. The first group is clad in white, black, and blue clothes, while the second group swaps out the white for purple and adds a few decorations below the crowd. The second crowd alters the obvious duplicates in the front row by giving the smiling guy a slightly different suit, giving the old woman by his side a different expression, and shaving the beard off the old man while also giving him a nice hat. A few characters were given sunglasses, and the two men holding canes were left empty-handed.

Set 2
PTFighterCrowdEarly2.png
Final
PTFighterCrowdFinal.png

Chunk IDs: 187-197, 199-206, 208-215 (Final)

The final version of the crowd adds some much-needed color and animation (not pictured) to all involved. While most of the character designs match the later set, the man furthest to the right was changed back to his bearded, unhatted self.

PTFighterCrowdUnused1.gif
Chunk IDs: 246-247, 253-254, 260-261

One layer of the multi-layered crowd seen in the interior arenas went unused. These designs were all used in the outside arenas, so it's not much of a loss.

PTFighterCrowdUnused2.gif
Chunk IDs: 273-283

This crowd would have been used in the title match, which is no different from the regular crowds in the final game.

Sketch Final
PTFighterNoteGuide.png PTFighterNoteFinal.png

Chunk IDs: 331 (Sketch), 332-338 (Final)

A crudely drawn version of the boxing cards seen between rounds with instructions on how to skew and place the boxer's profile pictures (ここに傾斜変形したセレクト彦頁OBJを重ねる; "Overlay the Select Face OBJ that has been tilted and deformed here."). The final game uses special pre-skewed versions of those graphics instead.

Full Sprites

PTFighterButtonsDEF.gif
Sprite IDs: 089B-08A2

Sprites for D, E, and F buttons that would have been used with the game's planned 6 button mode.

PTFighterAldebaranSketch.png
Sprite IDs: 01FB-01FC

Two sprites of Aldebaran with the top part in sketch form and the bottom part with finished art.

PTFighterOtherText.png

Sprite IDs: 0A1A, 0A1C, 0A25

Three unused in-round messages. "3DOWN" would be another name for a T.K.O., and "BREAK" would show up at the end of a round, but "W.K.O"...that's an enigma.

PTFighterBonusIcons.png

Sprite IDs: 07A8-07AA

As previously mentioned, there are a few bits of content related to the game's cut bonus stages. These icons indicate three different games: One for jogging, one for guarding, and one for punching. The player would be able to choose which game they wanted to play from a menu. There are sprites for the first two games, but it doesn't seem like any art for the third game was ever created.

PTFighterBonusPose.png
Sprite IDs: 07AB-07B0

Sprites for the game's six playable characters in a neutral stance. These appear right after the bonus icons and probably would have been used when the player was selecting a bonus game.

PTFighterWorkoutJog1.gif PTFighterWorkoutJog2.gif
Sprite IDs: 0854-085F

Two different designs for the jogging bonus game. The large, red-suited sprite would be used by Michael and Bruce, and everyone else would use the smaller, blue-suited sprite.

The larger sprite uses an incorrect palette in the sprite viewer - it should be 44, not 47.

PTFighterWorkoutJogPoses1.png PTFighterWorkoutJogPoses2.png
Sprite IDs: 0860-0865

More jogging poses in both L and XL sizes.

PTFighterWorkoutJogOverlay.png
Sprite IDs: 084C-0853

To truly represent each fighter, the game would have to overlay sprites like the one above onto the otherwise featureless templates. Kanou is the only character who had such sprites drawn up.

PTFighterDogIdle.png PTFighterDogLeap.png
Sprite IDs: 0848-084B

Of course, simply jogging in place would make for a pretty boring mini-game, so the developers added a German Shepherd to chase after the boxers. That'll motivate 'em.

PTFighterCreditsDog.png
After the bonus games were scrapped, the dog was sent to a nice credits farm upstate, where it can run around as much as it wants and bite boxers with impunity.

PTFighterClothScrap.png
Sprite IDs: 0866-0867

If the dog were to catch up one of the boxers, it would take a bite out of their suit (which, according to comedy law, must be taken from the rump) and this scrap of cloth would fly into frame.

PTFighterWorkoutDodgeStand.png PTFighterWorkoutDodgeIdle.gif PTFighterWorkoutDodgeWalk.gif
Sprite IDs: 087B (Standing), 0868-086B (Idle), 0875-0878 (Walking)

These sprites belong to the guarding bonus game. Contrary to what the icon might have one believe, this would be performed not with headgear, but with a jogging suit of a different color. Only the smaller-sized suit exists in the sprite graphics ROM, leaving Michael and Bruce out of luck.

PTFighterWorkoutDodgeGuard.gif
Sprite IDs: 086C-0870, 0879-087A

What would a guarding mini-game be without guarding animations? Pretty confusing, that's what.

PTFighterWorkoutDodgeHit.gif
Sprite IDs: 0871-0874

Alas, even the best boxers aren't able to evade every blow; that's where these animations would come in.

PTFighterBallMachine.gif PTFighterSteelBall.png
Sprite IDs: 08A3 (Machine), 08A4-08A7 (Cannon), 08A8-08A9 (Top), 08AA (Ball)

As to what the boxers would have to guard against, they appear to be iron balls shot out from Hell's throwing machine. What fun!

PTFighterPowerUp.png

Sprite IDs: 0A1B, 0A20, 0A23

If the player did well enough in any of these games, they'd get a boost to one of their stats. The punching mini-game would increase their attacking power, the jogging mini-game would increase staying power, and the guarding mini-game would increase durability.

JP EN
PTFighterTrainerText1JP.png PTFighterTrainerText1EN.png
PTFighterTrainerText2JP.png PTFighterTrainerText2EN.png
PTFighterTrainerText3JP.png PTFighterTrainerText3EN.png

Sprite IDs: 09D9-09DC, 09DE-09DF (JP), 09E8-09EB, 09ED-09EE (EN)

The boxers' trainer has text that mentions the bonus game, which is referred to as "special training" here. These three blocks of text would come before Rounds 3, 4, and 5 respectively, and suggest that the player would only be able to pick two of the three available bonus games.

PTFighterTinyMug2.png
Sprite IDs: 0A2B-0A2C

A tiny picture of Aldebaran against a dithered background. The only place this would fit would be on the end-of-round results screen.

Parts Only

PTFighterTinyMug1.png
Part IDs: 0BD6-0BD7

Kanou's would-be results screen sprites didn't get assigned a sprite slot like Aldebaran's did.

Temp Final
PTFighterPortrait1Temp.png
PTFighterPortrait2Temp.png
PTFighterPortrait3Temp.png
PTFighterPortrait1Final.png
PTFighterPortrait2Final.png
PTFighterPortrait3Final.png

Part IDs: 0A68-0A69 (Kanou), 0A6F-0A70 (Michael), 0A76-0A77 (Aldebaran)
Sprite IDs: 08B0 (Kanou), 08B5 (Michael), 08BA (Aldebaran)

Temp portraits for Kanou, Michael, and Aldebaran. They're all labeled hare, meaning "swelling" as in "from being punched in the face too many times." There are bruised versions of the six playable characters in the final game, but they use the smaller sprites seen during a match instead of the larger-sized sprites.

Both Kanou and Aldebaran have lighter shading compared to their final sprites, while Michael...well, just look at him. That ain't right.

Sketch Final
PTFighterKanoPoseSketch.png PTFighterKanoPoseFinal.png

Part ID: 00F0 (Sketch)
Sprite ID: 0071 (Final)

There are a few more sketchy sprites that are only viewable in the parts menu. The first is a full-body sprite of Kanou...

Sketch Final
PTFighterKanoLegSketch.png PTFighterKanoLegFinal.png

Part IDs: 0040, 0049 (Sketch), 0029, 0048 (Final)

...and the second the third are two pairs of Kanou legs. In all three sprites, Kanou's trunks and shoes are dark gray instead of white.

Sketch Final
PTFighterMichaelLegSketch.png PTFighterMichaelLegFinal.png

Part IDs: 028B (Sketch), 028C (Final)

The last sketch sprite is of Michael's legs. Nice purple shorts.

(Source: Original TCRF research)

Unused Audio

Sounds

Names are taken from the Ensoniq sample ROMs.

ID Sound Name Notes
14
FOOT L Sounds for moving around the ring and either slipping or turning around.
15
FOOT R
16
SLIPP
17
CONER Fighters can't interact with the edge of the ring in the final game.
18
ROPU*1
1F
FLASH Intended to play during Richard Hymer's flash punch.
24
KANE*2 An alternate, higher-pitched version of the boxing bell.
25
S*BACK
26
RUN*L Sounds for the player's steps during the cut jogging mini-game...
27
RUN*R
28
DOG*RUN And three different clips for the dog in pursuit.
29
DOG*AUU1
2A
DOG*AUU2
2B
CAMERA1 Two different shutter sounds that were probably meant to be used at the end of a match.
2C
CAMERA2
32
KURINCH
34
KYAKU*2 A version of the audience cheering that loops indefinitely.
37
KUREN LOOP Either a printer or a fax machine going off. Explains how the player's trainer got those stat sheets on the competition.
38
AIAN SWING These three sound effects were intended for that awful machine from the cut guarding bonus game.
39
AIAN BALL
3B
DOWN*2

Voice Clips

Cacti speak Japanese.
...But what does it mean?
This game has text or audio that needs to be translated. If you are fluent with this language, please read our translation guidelines and then submit a translation!

The announcer, referee, and crowd were meant to be a lot chattier:

ID Sound Transcript
56
Referee: Break!
58
Referee: Count!
59
Referee: Rope!
5A
Referee: Corner!
5B
Referee: Skip!
5C
Referee: Stop!
67
Crowd: C'mon!
75
Crowd: What're you doing?!
7A
Crowd: Uppercut!
7B
Crowd: Straight punch!
7C
Crowd: Body punch!
84
Announcer: In the red corner, from...
85
Announcer: In the blue corner, from...
96
Announcer: Tonight's judge...
9D
Announcer: Boston.
9F
???: Come back anytime.
A0
???: Hey, wait a sec!
A2
Announcer: 158 1/2 pounds...
A3
Announcer: 219 3/4 pounds...
A4
Announcer: 128 3/4 pounds...
A5
Announcer: 198 3/4 pounds...
A6
Announcer: 128 1/2 pounds...
A8
Announcer: 122 1/4 pounds...
A9
Crowd: Good punch!
AA
Crowd: Down!
AB
Crowd: Tough fighter!
AC
Crowd: Knockout!
AE
Crowd: Getting up!
AF
Crowd: Yeah!
B2
Crowd: Can he take it?
B6
B8
BA
BB
Crowd: 何やってんだ!?
What are you doing?!

A few notes:

  • The announcer's "Break" line would have been used in conjunction with a sprite of the same word. None of the other lines have sprites.
  • After playing sounds 84 and 85, the game would have stated what country the boxer was from. It doesn't look like these lines were ever recorded, but there are blank sounds slots -- 86 to 8D -- allocated to the six playable characters and the game's two bosses.
  • Likewise, empty slots 94 and 95 were supposed to hold clips with the names of the two bosses, King Shanaoh and Richard Hymer. Since boxer introductions only play at the start of the game, they would have been unused anyway.
  • The game has clips for six cities but only five are used; Boston got the boot. There's no "Boston" string for the world map in the ROM, either.
  • Sounds A2 to A6 and A8 give the weights, in pounds, of the six playable boxers. For some reason, even though Aldebaran Nipper and Storm Viper are both listed as 58 kg on the player select screen, their weights are a quarter pound off from each other in the voice clips.
  • Sounds B6, B8, BA, and BB are Japanese equivalents of also-unused English voice clips.
(Source: Original TCRF research)

Other Unused Text

There are credits at 0x02E9A in the ROM that are properly formatted for in-game use but are never referenced anywhere in the code:

TAITO 1992-1993 OSAKA DEVEROPMENT.      
making by K.SAKO & T.MURAKAMI           

K.Sako is Kazunori Sako, who's credited under Software Design as "Soliton K+H+Y Sako", while the identity of T.Murakami is unknown.

Another hidden credit at 0x1E47E is in lower-case, which the game's font can't support:

process.s version 0.42a 20-Feb-1992 by mail

The following strings were used by the placeholder screen feature before the game modes were fully implemented:

Game
Mode
String Context
02 DEMO PLAY Attract mode
03 PLAYER SELECT DEMO Player select screen
04 MAP + RING DEMO Map screen
05 GAME START DEMO Boxer introduction sequence
06 ROUND START DEMO Round start sequence
07 HANTEI DEMO Round results screen
08 TOTAL HANTEI DEMO Match results screen
0D GAME OVER DEMO Game over screeen
12 CONTINUE DEMO Continue screen

A complete set of sample names can be found at the start of each bank in the Ensoniq sample ROMs (d53-01.2, d53-02.3):

0x000000 0x080000 0x100000 0x180000 0x200000 0x280000
JAB1        
PUNCH2      
PUNCH4      
PUNCH6      
PUNCH7      
PAN*2       
PAN*6       
PAN*4  LAYER
GRO*1  LAYER
GRO*2       
KUUKIRI7    
KUUKIRI1    
KUUKIRI2    
KUUKIRI6    
FURI*4      
FURI*2      
FURI*3      
DOWN2       
DOWN*3      
DOWN3       
FOOT L      
FOOT R      
SLIPP       
CONER       
ROPU*1      
LOAP        
ST DUST     
LIGHT-BOLT  
SP*4        
SP*8        
SP*7        
FLASH       
SUUUU       
SP*5        
D SINKER    
KANE*1      
KANE*2      
S*BACK      
RUN*L       
RUN*R       
DOG*RUN     
DOG*AUU1    
DOG*AUU2    
CAMERA1     
CAMERA2     
KABU*3      
KABU*2      
KABU*1      
COIN INSERT 
CARSOL      
KURINCH     
KYAKU*1     
KYAKU*2     
KYAKU*4     
KYAKU*6     
KUREN LOOP  
AIAN SWING  
AIAN BALL   
WARM        
DOWN*2      
CONTINU     
***9        
***10       
***6        
***3        
***12       
***15  LAYER
***14  LAYER
FUN*1       
FUN*2       
FUN*3       
FUN*4  LAYER
FUN*5  LAYER
FUN*6  LAYER
***8        
REF*1       
REF*2       
REF*3       
REF*4       
REF*5       
REF*6       
REF*7       
REF*8       
ZZZ1        
ZZZ2        
ZZZ3        
ZZZ4        
ZZZ5        
ZZZ6        
ZZZ7        
ZZZ8        
ZZZ9        
ZZZ10       
COM*1       
MORA*1      
OTA*1       
OTA*2       
BURU*1      
SPN*1       
SPN*2       
SPN*3       
SPN*4       
SPN*5       
SPN*6       
SPN*7       
ROUND ONE   
ROUND TWO   
ROUND THREE 
TOPRAN      
RED*C       
BLU*C       
KANO        
MIKEL       
ARUDE       
BARU        
BOBU        
TAME        
JADGE   AYER
SOLO GUIT   
PIANO YMD   
TNNAMEDLAYER
ROK LUVTHING
WINNER LAYER
SANF   LAYER
LOSA   LAYER
OLIN   LAYER
CICA   LAYER
YORK   LAYER
BOST   LAYER
BUIL KOWARE1
CRA*3  LAYER
CRA*1  LAYER
ATA*5  LAYER
KING**      
BBB*1       
TYO***      
CCC*1  LAYER
DDD*1       
DDD*2       
DDD*3       
DDD*4       
DDD*5       
CCC*2       
DDD*6       
CCC*3       
CCC*4       
CCC*5       
CCC*6       
CCC*7       
CCC*8       
AAA*1       
AAA*2       
AAA*3       
AAA*4       
AAA*5       
AAA*6       
AAA*10      
AAA*11      
AAA*16      
AAA*17      
BBB*10      
BBB*11      
BBB*12      
BBB*13      
BBB*14      
BBB*15      
BBB*16      
YA*1        
YA*2        
YA*3        
YA*7        
YA*8        
YA*9        
(Source: Original TCRF research)

Version Differences

Factory Settings Bug

There's a bug in the Old Version sets where, if the user selects the "Factory Setting" option in the test mode menu and then makes changes immediately after, the changes will be reverted after exiting the menu.

A more detailed explanation follows:

  • The word at 020 in the EEPROM keeps track of the game's region. If the value in EEPROM does not match the value at ROM address 0xFFFFE on boot, the EEPROM is silently reset back to factory settings.
  • When reverting back to factory settings, the game first writes FFFF to each word in EEPROM before writing the factory-set value to the same address.
  • In older sets, if the user selects "Factory Settings" from the test mode menu, the game does not properly reset the EEPROM's region flag - it will always be set to 0000 regardless of the game set. The only valid values for the region flags are 0001 (Japan), 0002 (USA), and 0003 (World), so the game will do another factory reset after rebooting and revert any of the user's changes. New Version sets properly set the region flag in the EEPROM.

Inverted Screen Bug

Old Version sets don't check the game's monitor setting when reporting a RAM Error, Coin Error, Tilt, or Service Error. If the monitor is set to "Reverse", the game ends up printing text starting at Y position 408, which is well below the visible field.

PTFighterFlipFix.png
Newer sets correctly check the monitor setting.

Audio Reset

Newer sets fix a currently-unknown audio bug that the older sets had. On the Taito logo screen, if 1,296,000 frames -- equal to 6 hours of time -- have passed since the game was turned on, the game will perform the following tasks:

  • Reset game audio RAM.
  • Reset game volume.
  • Clear the game's audio cache at C00000.
(Source: Original TCRF research)