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
These three names are never used. 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 what seems to be some sort of kick attack.
Guy doing some rather odd poses, possibly related to special moves.
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
According to some official Capcom books, Street Fighter '89 was the game's original title.
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 in 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.
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|
|Game Boy Advance||Final Fight One|
|PlayStation 2||Final Fight: Streetwise|
|Xbox||Final Fight: Streetwise|