Final Fight (Arcade)
The mayor's daughter has been kidnapped! Go beat everyone up.
- 1 Debug Functions
- 2 Unused Graphics
- 3 Unused Text
- 4 Regional Differences
- 1P Up/Down/Left/Right: Moves the viewer camera.
- 1P Attack: Increments the scroll speed, which is shown on the bottom-left of the screen. Ranges from 00 to 0F.
- 1P Start: Toggles a tile type screen overlay.
SCROLL 2 / SCROLL 3
- 2P Up/Down/Left/Right: Moves the pointer. If the cursor is over a solid tile, it will turn red; Otherwise it's white.
- 2P Start: Toggles a tile selector mode. This locks the screen and makes the cursor move in increments of 10.
- 2P Start: Swaps the priority of the foreground and background layers.
OBJ Pattern Test
- 1P Left: Toggles a grid layer on the current sprite. Values are off, over, and under.
- 1P Right: Changes the background color: Cycles between black, blue, green, cyan, red, pink, yellow, and white.
- 1P Up/Down: Changes the "PATTERN", or animation, value.
- 1P Attack: Decrements the "CG CTR", or animation frame delay, by 1 per frame.
- 1P Jump: Either resets the current animation or, if the animation is already on the first frame, sets the object to the first frame of its first animation.
- 1P Start: Increments the "STAGE" value. This is necessary for loading the correct boss object palettes.
- 2P Up/Down: Selects between "NORMAL" (Default), "SIZE" (Seems to be used for tile collision) , "BODY" (Hurtbox), and "ATTACK" (Hitbox).
- 2P Start + 1P Up/Down: Loads the next / previous object.
- 2P Left/Right: Flips the animation left/right.
- 2P Attack: Places a copy of the current animation frame behind the animation viewer.
- 2P Jump: Clears the frame copy, if one exists.
- 2P Left/Right/Up/Down: Moves the current object while in object movement mode.
- 2P Attack: Toggles object movement mode.
- 2P Jump: Exits object movement mode.
2P BODY / ATTACK
- 2P Left/Right/Up/Down: Moves the object cursor while in cursor mode.
- 2P Attack: Activates cursor mode.
- 2P Jump: Disables cursor mode (when active), or enables body / attack box viewers.
- 2P Attack + 2P Jump: Disables attack box viewers, if active.
<cheat desc="Enable Stage Debug"> <script state="run"> <action>maincpu.pb@FF8084=01</action> </script> </cheat>
This is supposed to be enabled by starting the game in Game Mode, then setting the game mode to "Test", which would set RAM address FF8084 to 00, but that value is only set to 01 if the game actually enters the test mode.
By default, all this does is enable some stage and difficulty information on-screen:
Camera's right bound (2 bytes) - Camera's left bound (2 bytes)
Camera's upper bound (2 bytes) - Camera's lower bound (2 bytes)
Game difficulty variable. This caps at 0018. (2 bytes)
Unknown (2 bytes)
Game difficulty incremental timer. This increments by 01 every frame, then resets at 0256 and adds 01 to the game difficulty variable. (2 bytes)
Depending on the value of certain dip switches, more options are enabled:
- DIP SWITCH A1-A3: Changes the starting level. This is in little-endian format: For instance, if Dip Switch A1 and A2 are both set, the game starts at stage 03, the Industrial Area.
- DIP SWITCH A4-A6: Changes the starting checkpoint of the starting level. This is also in little-endian format.
- DIP SWITCH A8: Runs the game at ~4x speed.
- DIP SWITCH B1: Enables the "NORMAL" collision box for all objects.
- DIP SWITCH B2: Enables the "BODY" collision box for all objects.
- DIP SWITCH B3: Enables the "ATTACK" collision box for all objects.
- DIP SWITCH B5: Makes both players invincible.
- DIP SWITCH B6: Enables the tile type screen overlay.
- DIP SWITCH B7: Attempts to give Layer 3 priority over Layer 2, but doesn't seem to work right.
- DIP SWITCH C1-C2: Slows down the game's running speed.
- C1 only: Runs the game at 1/2 speed.
- C2 only: Runs the game at 1/3 speed.
- C1 + C2: Runs the game at 1/4 speed.
An alternate design of the destructible billboards in Stage 3. Pretty obvious why this version wasn't used. Yikes.
Unused Name Graphics
Unique name graphics for the playable characters, probably intended to be used on the character select screen but are never used, instead, the names are spelled with the generic big letter font there. Guy's name is misspelled because, as director Akira Nishitani puts it, "we weren't really aware of English spelling and pronunciation conventions."
Guy performing a standing kick, which he can't do in the actual game. This graphic was later used as a reference for the making of Guy's medium kick on Street Fighter Alpha.
Guy apparently blocking (which no playable character can do) and doing another unknown pose.
An alternate version of the graphic used when Cody flips through the air during a jump.
This is found with the graphics used when Cody uses a weapon and was likely intended for the same purpose.
A tile marking where there's no graphics tile. Whoa man.
This is the last tile in memory and marks where the "Scroll 2" section ends.
Unused Tile Types
Tile types 15, 16, 19, 1A, 1B aren't used in the game, though they do have level viewer graphics.
These tiles would be used for a left-facing raised platform. All of the raised platforms in the final game face right.
Round 1 Stairs
The underground area in Round 1 has stairs on each side, which are never seen in the game. They have no collision data and are not present in any other Round of the game.
Possible unused HUD enemy/object name strings, sighted via Capcom Classics Collection Remixed and CWCheat. May not be easy to find due to their b.r.o.k.e.n-up formatting.
The following is loaded into memory, right after William S. Sessions' name:
FINAL FIGHT TEAM STREET FIGHTER '89 TEAM
As mentioned in a prerelease flyer of the game and some official Capcom books, Street Fighter '89 was the game's original title.
The setting of the game was changed from 1989 in the Japanese version (same year as the game's release) to the more ambiguous "Sometime in the 1990's" in the international version, likely done so to avoid dating the game too quickly (as Final Fight started its distribution to arcades in December 1989). Later console versions of the game would update the year to 1990 for the Japanese Super Famicom version and then to 1992 for Final Fight CD, before being changed back to 1989 for Final Fight One (embracing its period setting).
In the Japanese game's intro, Jessica appears on the T.V. screen for an instant before Damnd does. However, in the US and World versions, Jessica is never shown. Damnd's face is always on the monitor, but you can hear Jessica screaming in the background. Who knows why they thought changing this would make the game seem more family-friendly. This graphic of Jessica was later used on some ports of the game, with some versions (like the SNES port) having her attire changed from white underwear to a red dress to make it less sexually suggestive.
The profiles of the three playable characters show more details about them on the Japanese version, such as the ages of each (being consistent with the 1989 setting), their height and weight using the metric system (this information is given on the character select with "ft" and lbs" instead) and their favorite foods (salmon tea rice and cold tofu for Guy, spinach and milk for Cody, and burgers and curry rice for Haggar). International versions just give the birth date and the description. Cody's Japanese bio also describes him as "the protagonist of this game", which is omitted in the English bio.
If you finish the game without continuing, you'll get treated to an Omake ending after the credits are over. In the Japanese version you get two paragraphs by Pom and Akiman, and then short sentences by several other staff members (in the Kansai-ben dialect). In the international versions, the paragraphs were replaced by a message saying "MY NAME IS POM" and the short sentences changed to a generic "My name is...". Some of the portrait icons accompanying the sentences were also changed in the international versions.
"Hi! I'm Final Fight's planner, POM! But I was called Ninnin. But it wasn't just Ninnin, it was Ninnin of Candy Land! Oh yes, yes, the guy who made Final Fight's name is PomG (Pom Gee) and he's a member of Ninnin of Candy Land too. I'll introduce him."
"Ha ha ha. I'm AKIMAN. I'm glad that you can see this ending. It's something to look at after playing so well. I g-e-t i-t. By the way, it's because I ate 50 Gyudons in 1 month. It'd be great if you tried it too. Right? Right? Right?
"You did it! Darn, I still can't stop shaking!"
"It's great you made it this far! Try and do it again!"
"Yeah, that guy's the same as that. Even with this, in this world..."
"I cried buckets of tears at your battles 'cuz I was so moved."
"You did it, how dare you make it all the way here! I want to see your next fight!"
"I have my face in here for helping. Gratze! Gratze!"
"What do you think of the 7th CPS game? I want to be at the next one too!"
"We are the PomG that donned a disguise called Final Fight."
"It's over. There's probably nothing else. But there's a new game drawing near..."
"Best regards to Capcom and Alf from here on out! -- From the whole team."
"CAPCOM makes games where you kill things. Everyone, go out and kill, kill, KILL!"
"Ebryone (sic), nice work! Please come again!"
|The Final Fight series|
|SNES||Final Fight • Final Fight Guy • Final Fight 2 • Final Fight 3|
|NES||Mighty Final Fight|
|Game Boy Advance||Final Fight One|
|PlayStation 2||Final Fight: Streetwise|
|Xbox||Final Fight: Streetwise|