SUPER STREET FIGHTER II TURBO / CPS-2
Two fighters.
More room.
Super Turbo, with a partner. Tag into a kick, fight side by side in Variable Cross, or call both supers. v3 adds a true expanded view and makes the handoffs more consistent.
ROM-free patches for your own clean World or Japan 940223 set. v2.1 stays available. This is a development preview.
WATCH / JAPANESE NARRATION · ENGLISH SUBTITLES
See the handoff. Follow the code.
Seven minutes, twenty seconds: real gameplay, a trip through the CPS-2 program, and the work behind 384 → 512. The film covers this two-player development preview and its remaining limits.
01 / LEARN THREE INPUTS
Same buttons. Three ways in.
HP is heavy punch. HK is heavy kick. Quarter-circle directions follow the way your fighter is facing. Release HP and HK before another tag press.
TAG / NO FULL GAUGE REQUIRED
Bring your partner in.
HP + HKThe point jumps out. The partner flies toward the opponent with an entry kick. After a normal or special hits or is blocked, the tag can cancel its recovery once hitstop ends.
No whiff, super, air or throw tag cancel.
VARIABLE CROSS / FULL TWO-LEVEL GAUGE
Fight together.
↓ ↙ ← + HP + HKBoth fighters stay on screen while the TIME bar lasts. In two-player mode, one stick drives both fighters. Supers are free during Variable Cross.
TEAM SUPER / FULL TWO-LEVEL GAUGE
Call both supers.
↓ ↘ → + HP + HKThe partner begins the super sequence; the point follows the partner's flash. It uses the existing team-super spend rules.
02 / THE HANDOFF MATTERS
A smaller, more consistent v3.
- Damage and defense survive the handoff. Tag, KO and partner creation retain the intended damage-level setup instead of losing it when an object is cleared.
- Entry protection ends on landing. The airborne partner is protected; the entry kick can be blocked. Grounded play resumes normally.
- Variable Cross changes the stage's colors. The background turns gray while either team is active. Fighters, HUD and effects keep their color.
- Small character fixes. Cammy's Hooligan and Fei Long's Chicken Wing recognition, New Hawk's crouching MP head box, and Ken / New Sagat reversal-super selection. These are fixes, not a general rebalance.
The older character types and Akuma remain selectable. No Old Honda throw-tech change, new moves, pushblock or snapback is claimed.

INSIDE THE BOARD / 16 SHORT CHAPTERS
Follow a button press into the code.
Choose one question. See the cause, the code, and the result. The optional 3D board follows ROM03, ROM04 and ROM07 into the CPU, game memory and display.
Source-based logical illustration, not electrical telemetry. The A/B stack is a reference model; it is not a measured SSF2T board population.
01 / MAP
Seven windows. Three changed files.
CAUSE
A new game behavior needs code redirects and a place for extension routines.
CODE / SOURCE SUMMARY
03–09: seven fixed 512 KiB files 03 + 04: stock hooks and data edits 07: new code, tables and profile marker
Source: freeze4 output manifests / per-rom-change-map-v1.json
RESULT
The same-sized files contain different bytes. Graphics and audio ROM members are unchanged.
EXACT BYTE COUNTS / WORLD 2P EXPANDED · OTHER PROFILES DIFFER
Input, world and control hooks
sfxe.03c164 changed bytes
of a 524,288-byte file
000000..07FFFFCharacter, camera and render hooks
sfxe.04a158 changed bytes
of a 524,288-byte file
080000..0FFFFFTAG, VC, HUD and profile extension
sfxe.0715,478 changed bytes
of a 524,288-byte file
200000..27FFFFBrowse all 16 questions
Default: World 2P expanded. Four-player download remains held. Stock-pace work is deferred to the next release. Use the matched install steps below.
03 / LOOK AT THE EDGES
384 → 512. Not a stretched image.
The expanded profile draws 64 more columns on each side of the original view: 512 × 224 instead of 384 × 224. With the CPS pixel aspect corrected, it displays at 16:9. Fighter geometry stays the same.
STANDARD / 384 × 224 / 4:3

EXPANDED / 512 × 224 / 16:9

The camera moves.
The camera and its clamps work with the wider viewport. The stage's own world boundaries stay the same.
The background keeps up.
Tile streaming and parallax cover the additional columns. HUD anchors and partner entry trajectories follow the expanded view.
Objects leave safely.
Projectile retirement follows the visible edges, with cleanup around the 60-slot object pool. This is not an unlimited projectile mode.
Choose the expanded ROM profile and matched S06 core, then reload the content. Changing a frontend aspect-ratio setting does not add these columns; geometry is not a live toggle.
04 / PICK THE EMULATOR FIRST
Two paths. Keep their filenames separate.
Both patch packages check your own clean input and create a separate output. Extract the package before running its installer. Never patch an earlier TAG output. No game ROM or decryption key is distributed.
Keep the original game's name.
Use the standard two-player patch for the regular 384-column view. Expanded and four-player profiles require the matched custom core.
2P standard patch ↓- Start with your clean 940223 ZIP.
ssf2t.zip(World), orssf2xjr1.zip(Japan). Keep a backup outside the emulator folder. - Run the standard installer.Windows: drag the ZIP onto the extracted
.cmd. macOS/Linux: run the included Python patcher with your ZIP path. - Rename only a copy of the output.
ssf2t_tag_v3.zip → ssf2t.zip, orssf2xjr1_tag_v3.zip → ssf2xjr1.zip. - Put it in the emulator's ROM folder.Back up that folder's clean ZIP first. For the Japan clone, keep the clean parent
ssf2t.zipalongside it for shared graphics and sound. - Test locally before anything else.Offline core and MAME diagnostics are not proof of Fightcade online compatibility. Online play is unverified.
Use the matched S06 core.
This walkthrough uses World 2P expanded. The supplied binary targets macOS 26 or later on Apple Silicon. Older macOS versions and Windows/Linux binaries are not validated or included.
Matched S06 gameplay and replay footage is validated through the libretro harness. The existing local RetroArch 1.10.3 configuration did not successfully present the game; this GUI walkthrough remains unverified.
- Patch a clean full World set.Expanded inputs must include the full verified set, not just a compact clone.
- Run the extracted Python patcher.
python3 ssf2t-tag-v3-2p-expanded-preview.py "/path/to/ssf2t.zip"
The output isssf2tw3.zip. Keep that exact filename. - Load the supplied core.RetroArch → Load Core →
fbneo_ssf2t_libretro.dylib. It is the SSF2T TAG v3 S06 core, not the stock FBNeo core. - Load the patched content.Load Content →
ssf2tw3.zip. Bind directions and all six attack buttons. Expanded content should display at 16:9. - Use saves from this profile.Changing profile or program revision requires a reload and fresh saves. Earlier formats and mismatched content states are refused.
World or Japan? Here are the exact names.
The last column is for the matched RetroArch core. Standard Fightcade/MAME instead uses the original set name shown above.
| Set | Profile | Patcher output | RetroArch content |
|---|---|---|---|
| World | 2P · standard | ssf2t_tag_v3.zip | ssf2tv3.zip |
| Japan | 2P · standard | ssf2xjr1_tag_v3.zip | ssf2xjv3.zip |
| World | 2P · expanded | ssf2tw3.zip | same name |
| Japan | 2P · expanded | ssf2xjw3.zip | same name |
| World | 4P · standard · held | ssf2t4v3.zip | same name |
| World | 4P · expanded · held | ssf2t4w3.zip | same name |
What four-player mode will require · download held
P1 + P3 vs P2 + P4. Four-player profiles are World only, with standard or expanded view, and require the matched core and all four input ports. P3/P4 own each team's second member.
A fresh HP+HK press joins or challenges when that side is outside its human fight. During a fight, HP+HK tags. If a partner has no separate human owner, the first player's stick drives both fighters during Variable Cross.
The current four-player development archive has a known controller sampling issue affecting the combined HP+HK input. Its download is held until a separate correction is checked. These names explain the layout; they are not a release recommendation.
Download hashes and what is included
ssf2t-tag-v3-2p-standard-preview-patch.zip
161,140 bytes · SHA-25691332ec7d864fb0bbecdefc853e9399294802c404a5a785c5942f59458f01201
ssf2t-tag-v3-2p-expanded-preview-patch.zip
162,888 bytes · SHA-25692efd70d467f420cb78a5354650289300bb3105b1e1e2a5b7881d15e2833beeb
ssf2t-tag-v3-matched-core-macos-arm64-preview.zipec5085979e52f99ed7280b41e387a2588ae76a2ffe7f96061294f45f5513e574
Patch packages contain the Python patcher, Windows installer, patch specification and README. The separate core package contains the S06 binary validated through the libretro harness, rebuild recipe and licenses. It targets macOS 26 or later on Apple Silicon. No ROM, key or raw saved state is included.
05 / GET UNSTUCK
If something doesn't load.
The patcher rejects my ZIP.
Use a clean supported 940223 input with the required members and key already inside your own archive. Do not rename a patched output to hide its identity, remove the checks, or patch over v2.1. The refusal preserves your original.
RetroArch says the game is unknown.
Load the supplied S06 core, then use the exact content filename in the table. Standard 2P outputs need the RetroArch rename; expanded outputs do not. A stock FBNeo core does not know these custom drivers.
I selected 16:9 but the view is still cropped.
Load the expanded profile, not the standard ROM with a stretched frontend setting. Reload content after changing profiles. Only the expanded program and matched core draw 512 columns.
An old save refuses to load.
Make a new save with the matching program, profile and S06 core. Cross-profile, different-program and older-format refusals are intentional. Keep the old core and old saves together if you need v2.1.
I am on Windows or Linux.
The patchers are included, but the supplied custom core targets macOS 26 or later on ARM64. Standard 2P has the offline Fightcade/MAME path above. Expanded and 4P require a suitable custom core build; no tested Windows DLL or Linux shared object is supplied.
I am on an older macOS version.
The supplied Apple Silicon binary is built for macOS 26 or later. Older systems need a core rebuilt for their deployment target; that path is unverified. The standard 2P patch and its offline Fightcade/MAME route are separate from this custom-core download.
RetroArch opens a black window.
Check macOS 26 or later, the exact S06 core and the content filename above. Our existing RetroArch 1.10.3 configuration loaded the core module but did not present gameplay. Native frontend success remains unverified; include your app version, video driver and a verbose log when reporting this problem.
The game pace feels different.
That is a known limitation, not an installation error. Stock pace parity is deferred to the next release. Do not change emulator clocks to make this preview appear validated.
06 / KEEP YOUR PREVIOUS SETUP
v2.1 stays available.
The v3 development patch does not replace your existing files or require you to abandon the earlier preview. Keep each version in its own folder.
What the tests do and do not establish
The canonical v3/S06 diagnostics include all six original profiles, 48 seeded runs of 60,000 frames, and 11,904 paired completed-frame replays comparing serialized state, CPU, physical object banks, RAM, RGB and PCM. That replay scope uses 48 kHz, interpolation 1 and low-pass off. It does not establish arbitrary callback-time restores, rewind, rollback, online play or physical hardware behavior.
The later four-player input report is a separate functional limitation and holds its download despite those earlier checks. Competitive balance and full stock pace are not established. The private performance experiments are not the downloadable two-player build.
Historical v2 / four-player setup
This is the earlier v2 package, with its own core and filenames. It is separate from S06 and the held v3 four-player download. Keep versions in different folders; online play and native frontend behavior remain unverified.
- Extract the earlier v2 package.Its archive is
ssf2t-tag-v2-retroarch.zip; do not try to load the package ZIP as a game. - Put your own clean World set beside the launcher.Keep
ssf2t.zipnext toPLAY SSF2T TAG 4P.cmd. The supplied Windows launcher patches a separatessf2t4p.zipand selects the earlier core. - Keep the earlier content and core together.Manual loading uses
ssf2t4p.zipand that package's SSF2T TAG core, not the S06 core supplied above. Linux uses itsplay_ssf2t_tag_4p.sh; the old package'sbuild_core.shis a source-build path, not a validated macOS binary. - Assign four controllers.In RetroArch, open Settings → Input → RetroPad Binds and select a Device Index for each port. Ports 1 + 3 form one team; ports 2 + 4 form the other.
Windows installers have PowerShell 7 diagnostic coverage; native Windows PowerShell 5.1 and physical hardware remain unverified. The two-player downloads are development previews; four-player v3 downloads remain held.
