|
|
Oh dear, I do believe I have the vapors. |
Hat Trick Hero '93 doubles down on the Super Shot gimmick from the first game by introducing a wider variety of power-ups (yay!) and letting players in 2P mode earn more power points by putting more money in the machine (yay?).
Attract Mode Easter Eggs#
Taito Kumagaya Laboratory had a hand in the development of this game; the proof of this is a hidden picture in the attract mode. To see it, wait for a gameplay demo to start, then rotate 1P Joystick counterclockwise twice, starting from 1P Up + Left.
There's another attract mode easter egg that's triggered by rotating 1P Joystick clockwise twice, starting from 1P Up + Right. This adds a sprite of a man and the text "Marutake" to the screen. Marutake is a pseudonym for planner/designer/director Takeshi Kobori.
Debug Functions#
Some debug tools can only be accessed through MAME cheats that modify the main CPU. However, this will alter the game's checksum and prevent it from booting. Put the following code in either cupfinal.xml (World), hthero93.xml (JP), or hthero93u.xml (USA) to skip past the ROM check:
<cheat desc="Skip Checksum">
<script state="run">
<action>maincpu.mw@000D7E=4E75</action>
</script>
<script state="off">
<action>maincpu.mw@000D7E=4247</action>
</script>
</cheat>
Exception Handler#
This game has a basic exception handler for the standard set of exception vectors. It prints out the exception name and the states of the program counter and status register.
Round Select#
This game uses the Taito Code:
- While the game boots up, hold Service 1 until a "SERVICE SWITCH ERROR" message pops up on the screen.
- Then, press 1P Start (×3), Service 1, 1P Start. The round select menu should then appear.
This menu allows the user to select which round of the tournament they'll start on.
(Source: RyogaMasaki)
Running Debug#

Put this code in the appropriate MAME cheat file to enable a Tilt-triggered debug menu:
<cheat desc="Running Debug">
<script state="run">
<action>maincpu.mw@0005D8=2AC2</action>
</script>
<script state="off">
<action>maincpu.mw@0005D8=0232</action>
</script>
</cheat>
Cancel
Exits the menu.
Reset#
Resets the game. Boy howdy.
Color Edit#

Allows the user to edit palettes on the fly.
Controls
- 1P Joystick: Moves cursor.
- 1P Button 1 / Button 2: Adjusts color or palette value.
- 1P Start: Exits editor.
Test Putobj#
Lets the user view every sprite in the sprite table.
The possible options for "Mode" are Normal, Reverse (horizontally flips the sprite), Color, and Reverse (horizontally flips the sprite in Color mode). Color mode should allow the user to set the palette of the current sprite, but it seems bugged; it will only display sprites if they're a multiple of 8, and even then it won't display that sprite correctly.
Controls
- 1P Left/Right: Moves cursor.
- 1P Up/Down: Adjusts frame number based on the cursor's position.
- 1P Button 1 / Button 2: Same as 1P Up/Down.
- 1P Button 3: Changes "Mode" variable.
- 1P Start: Exits viewer.
- 2P Joystick: Moves sprite.
- 2P Button 1 / Button 2: Adjust sprite palette when in Color or Reverse Color mode.
Player Disp#
Allows the user to view all of the normal player animations at different angles. Also prints out animation names and sprite sizes.
Controls
- 1P Up/Down: Cycles through frames for the current animation.
- 1P Left/Right: Changes the player's orientation.
- 1P Button 1 / Button 2: Changes the player's animation.
- 1P Start: Exits viewer.
- 2P Joystick: Moves sprite.
1/2 Obj Test#
Allows the user to view sprites and animation for both full-size and half-size players.
- 1P Joystick: Moves the first sprite.
- 1P Button 1 / Button 2: Adjusts frame number by 1.
- 1P Button 3: Switches first sprite between full-size and half-size mode.
- 1P Start + 2P start: Exits viewer.
- 2P Joystick: Moves the second sprite.
- 2P Button 1 / Button 2: Adjusts frame number by 8.
Process Meter#
The process meter and task status functions are referenced in an unlinked subroutine at 0x0222A. Put this code in the appropriate MAME cheat file to hook that subroutine into the coin handler:
<cheat desc="Running Debug Fix">
<script state="run">
<action>maincpu.md@01534=0x4EB90007</action>
<action>maincpu.mw@01538=0xFCA0</action>
<action>maincpu.md@7FCA0=0x4EB90000</action>
<action>maincpu.md@7FCA4=0x222A1039</action>
<action>maincpu.md@7FCA8=0x004A0001</action>
<action>maincpu.mw@7FCAC=0x4E75</action>
</script>
<script state="off">
<action>maincpu.md@01534=0x1039004A</action>
<action>maincpu.mw@01538=0x0001</action>
<action>maincpu.md@7FCA0=0xFFFFFFFF</action>
<action>maincpu.md@7FCA4=0xFFFFFFFF</action>
<action>maincpu.md@7FCA8=0xFFFFFFFF</action>
<action>maincpu.mw@7FCAC=0xFFFF</action>
</script>
</cheat>

The process meter graphics from the original Hat Trick Hero were overwritten with other tiles, so the meter doesn't quite work right, and the meter being placed over the left country's flag sprite makes it hard to see.
Task Status#

Displays the internal task IDs for every currently-loaded task. Tasks labeled "E" are currently running, while tasks labeled "W" are waiting for other tasks to complete.
VTR#
Plays the last recorded "VTR" movie. In normal play, these playbacks are only triggered occasionally after a player scores a goal.
(Source: Original TCRF research)
Camera Debug#
Put this code in the appropriate MAME file and then enable the Running Debug menu to add a camera debugger to the mix:
<cheat desc="Camera Debug">
<script state="run">
<action>maincpu.md@00309A=4EB90007</action>
<action>maincpu.md@00309E=FD004E71</action>
<action>maincpu.mw@02A5A2=4E71</action>
<action>maincpu.md@07FD00=4EB90002</action>
<action>maincpu.md@07FD04=A4F20839</action>
<action>maincpu.md@07FD08=0000004A</action>
<action>maincpu.md@07FD0C=00024E75</action>
</script>
<script state="off">
<action>maincpu.md@00309A=08390000</action>
<action>maincpu.md@00309E=004A0002</action>
<action>maincpu.mw@02A5A2=4E75</action>
<action>maincpu.md@07FD00=FFFFFFFF</action>
<action>maincpu.md@07FD04=FFFFFFFF</action>
<action>maincpu.md@07FD08=FFFFFFFF</action>
<action>maincpu.md@07FD0C=FFFFFFFF</action>
</script>
</cheat>
This will print the offsets of each screen layer to the top of the screen and allow the user to control all aspects of the game's camera. Since this doesn't prevent other functions from taking control of the camera, it's a fairly cumbersome tool.
Controls
- 1P Joystick: Moves the Screen2 layer, which is used for the main playing field.
- 2P Up/Down: Adjusts the camera zoom. Note that trying to zoom out too much will trigger a divide by zero error.
- 2P Left/Right: Adjusts the camera's angle of view.
(Source: Original TCRF research)
Unused Taito Cameos#
Round 2 |
Round 4 |
Round 6 |
|---|---|---|
In the Japanese version only, a coyote and a pink bird will appear on the sidelines in even-numbered rounds. They will always spawn in the upper-right corner of the pitch and cannot be interacted with.
Two more characters were planned to appear this way: Hipopo from Liquid Kids, and Tiki from The NewZealand Story! Their animation data is set up but is unreferenced in the game code. Put the following code in either cupfinal.xml (World), hthero93.xml (JP), or hthero93u.xml (USA) to reinsert these cameos:
<cheat desc="Taito Cameos">
<script state="run">
<action>maincpu.mw@0125F8=0x4E71</action>
<action>maincpu.mw@01262A=0x7E06</action>
<action>maincpu.mw@01262E=0x008E</action>
<action>maincpu.mw@012632=0x0800</action>
<action>maincpu.mw@01263E=0x0006</action>
<action>maincpu.mw@012642=0x008A</action>
<action>maincpu.mw@012646=0x0400</action>
</script>
<script state="off">
<action>maincpu.mw@0125F8=0x661A</action>
<action>maincpu.mw@01262A=0x7EFA</action>
<action>maincpu.mw@01262E=0x006E</action>
<action>maincpu.mw@012632=0x0600</action>
<action>maincpu.mw@01263E=0xFFFA</action>
<action>maincpu.mw@012642=0x006E</action>
<action>maincpu.mw@012646=0x0600</action>
</script>
</cheat>
Hipopo will appear in Round 4, and Tiki will appear in Round 6. Both will walk slowly to the left and disappear as soon as they get off-screen.
(Source: Original TCRF research)
Unused Graphics#
With IDs#
These are in the sprite table but aren't referenced anywhere in the code. They can be seen in the Test Putobj viewer.
Sprite IDs: 1474-1479, 149C-14A1
The streaker always starts out in a state of undress, which means this animation of her walking around with a shirt on is unused...
The following content is |
||||
|---|---|---|---|---|
|
Sprite IDs: 1480-148A (Bra), 14A8-14B2 (Topless)
...and so are these two animations of her undressing.
Sprite ID: 14C4
Naturally, this meant that this sprite of the streaker's shirt flying in the wind went unused too.
The following content is |
||||
|---|---|---|---|---|
|
Sprite IDs: 148B-148D (Bra), 14B3-14B5 (Topless)
There's also a strange animation of her ducking that never appears in-game.
Sprite IDs: 16C7-16D7
Many more frames from Hipopo's cut cameo appearance. Contains graphics for jumping, losing a life, and two idle animations.
Sprite IDs: 16E0-16E2
An extra animation of the coyote either cheering or punching the air.
No IDs#
These graphics are not in the sprite table and thus can't be seen in the Test Putobj viewer.
An early game name for the World set; seems that they originally planned to keep the "Football Champ" name from the previous game before coming up with something different. The graphics needed for the round clear screen are missing from the FG/BG graphics bank.
Another possibility for the World set name. This one comes after the used name of Taito Cup Finals and includes both title screen and round clear graphics.
Tiki's cameos have frames for jumping, falling, and getting hit.
Even more unused frames for Hipopo. These were used in Liquid Kids for fire-based deaths.
{| | |valign=bottom|
|} The coyote and pink bird normally only face southeast and walk to the right, but they're fully set up for eight-directional movement. The pink bird also has a set of idle frames that the coyote lacks.
The coyote has a set of animations where he'd attack the pink bird with a good ol' cartoon mallet.
He also has an animation for sneaking up on the pink bird, getting caught, and panicking.
The pink bird also has a shocked animation, as well as animations of getting squished and staggering around all loopy-like.
Man, how much were they planning to do with these two? Here are graphics for the pink bird swallowing something, acting surprised, and coughing up smoke. Did he eat a landmine?!
(Source: Original TCRF research)
High Score Names#

There are six names that the game checks for on the high score entry screen. If any are entered, they'll be changed to different names:
Original |
___ |
AAA |
SEX |
GEM |
KSG |
QIR |
|---|---|---|---|---|---|---|
Changed |
NOP |
RTS |
!!! |
KSG |
GEM |
SIM |
(Source: Original TCRF research)
Developer Text#
A list of sample names can be found at the start of each bank in the Ensoniq sample ROM (d49-04.38):
0x000000 |
0x080000 |
0x100000 |
0x180000 |
|---|---|---|---|
|
|
|
|
(Source: Original TCRF research)
Regional Differences#
Title#
JP |
NA |
INT |
|---|---|---|
The game's title is Hat Trick Hero '93 in the Japanese set. The US set keeps the title, but adds a Spanish subtitle that translates to "Football Champ" and removes the katakana translation in the logo. The "World" set uses a completely different title and logo. The background graphics on the title screen were updated accordingly...
|
NA/JP |
|---|
|
|
|
INT |
|
|
...as were the character select and round clear screens.
Player Profiles#
|
|
'...But does it make sense?' |
The Japanese set contains profiles for the game's eight players. These appear in sets of two in attract mode. These profiles are stored as images, not text, which is probably why they didn't bother translating them for other sets.
Text |
Translation |
Text |
Translation |
|---|---|---|---|
サルバドール・ミュッセ (24サイ) |
Salvador Musse (Age 24) |
グスタフ・ロレンツォーニ (31サイ)
|
Gustav Lorenzoni (Age 31)
|
ヘルマン・エッジ (26サイ) |
Herman Edge (Age 26) |
ガイ・クレンドル (25サイ) |
Guy Crandall (Age 25) |
クニデラ エイジ (36サイ) |
Kunidera Eiji (Age 36) |
アレックス・レイド (26サイ) |
Alex Reid (Age 26) |
エイガー・バトラー (28サイ) |
Eiger Butler (Age 28) |
ミムラ カズヤ (23サイ) |
Mimura Kazuya (Age 23) |
The Japanese set also has labels on the character select that list each player's effect:
Salvador Musse |
Gustav Lorenzoni |
Herman Edge |
Guy Crandall |
|---|---|---|---|
ポピュラータイプ |
バイタリティアップ |
スピードアップ |
オフェンスアップ |
Kunidera Eiji |
Alex Reid |
Eiger Butler |
Mimura Kazuya |
ハプニングアップ |
ラフプレイアップ |
ディフェンスアップ |
ポピュラータイプ |
Streaker#
The following content is |
||||
|---|---|---|---|---|
|
||||
In the JP set, the streaker wears a bra. In every other set, she's topless.
(Source: Original TCRF research)
|
The Hat Trick Hero series | |
|---|---|
|
Arcade |
|
|
SNES |
|
