# Street Fighter EX2 Plus (PS1) [![GitHub downloads (all assets, all releases)](https://img.shields.io/github/downloads/strider973/Street-Fighter-EX2-Plus-Recompiled/total)](https://github.com/strider973/Street-Fighter-EX2-Plus-Recompiled/releases) [![GitHub downloads (latest release)](https://img.shields.io/github/downloads/strider973/Street-Fighter-EX2-Plus-Recompiled/latest/total)](https://github.com/strider973/Street-Fighter-EX2-Plus-Recompiled/releases/latest) [![GitHub release](https://img.shields.io/github/v/release/strider973/Street-Fighter-EX2-Plus-Recompiled)](https://github.com/strider973/Street-Fighter-EX2-Plus-Recompiled/releases/latest) Static recompilation of **Street Fighter EX2 Plus** (PS1, `SLUS-01105`), the Arika-developed arcade fighter, built on [psxrecomp](https://github.com/mstan/psxrecomp) and [recomp-ui](https://github.com/mstan/recomp-ui). | | | |---|---| | Players | 2 | | Region | USA | | Publisher | Capcom | | Year | 1999 | | Entry PC | `0x801CA7D8` | ## Status Playable end to end. | | | |---|---| | Boot | ✅ | | Gameplay (60 Hz) | ✅ | | DualSense / gamepad | ✅ digital mode | | In-game Reset → Mode Select | ✅ | Three runtime bugs were fixed during bring-up on psxrecomp `v0.3.2-alpha` — a boot freeze, a dead in-game controller, and the "return to Mode Select" black screen (a live-traced SR-register bug in the shared TCB scheduler). Full write-up: see **Port report** below. ## Requirements - **Retail BIOS (`SCPH-1001`, US, 512 KiB, CRC32 `37157331`).** This title is set `openbios = false` — OpenBIOS is not compatible with it. Point the first-run wizard (or `bios.cfg`) at your own legal dump. - Your own legal disc image (`.cue` / `.bin`). Disc images are never committed. ## Notes - **120 Hz+ monitors:** `game.toml` sets `[video] vsync = "off"` so the 59.94 Hz wall-clock pacer owns the frame rate. Without it, letting vsync drive cadence on a high-refresh panel runs the game at 2×. - **Controller:** SF EX2 Plus is a digital-pad title. `p1_mode` must be `digital` — analog / DualShock mode makes the game ignore all input. Multitap should be off for a normal 1v1. ## Port report [`docs/port-report.html`](docs/port-report.html) — the full bring-up log (FR / EN / PT): the scaffold, the three runtime bugs and their fixes, including the debug-server trace that pinned the SR-register bug behind the Mode Select black screen. Open the file locally, or serve `docs/` with GitHub Pages. ## RetComM Launcher You can run this title **standalone** (release zip + the built-in recomp-ui Generate & Build flow), or manage installs, updates, ROM/BIOS wiring, and queued builds more intuitively with **[RetComM Launcher](https://github.com/TechnicallyComputers/RetComM-Launcher)** — the Retro Compilation Manager hub for self-compiling recomps. [Downloads](https://github.com/TechnicallyComputers/RetComM-Launcher/releases) · [Full README & features](https://github.com/TechnicallyComputers/RetComM-Launcher#readme)

RetComM hub with a background build, next to a title’s recomp-ui launcher

Background cmake build with titles queued

RetComM checks for updates, rebuilds with existing build data when possible, shares the portable toolchain used by per-title launchers, and automates BIOS/ROM/save plumbing so you are not stuck repeating each game’s wizard by hand. ## Legal You must own the original game. Disc images under `disc/` are gitignored and must never be committed. Retail BIOS dumps are not redistributed and are never committed — supply your own `SCPH-1001` dump locally (this title requires it; OpenBIOS is disabled). Default app icon: `assets/psxrecomp.ico` (and `.png` / `.svg`) — RetComM-themed controller mark from `psxrecomp/assets/`. Windows builds embed it via `APP_ICON`. Box art (`launcher_assets/img/boxart.tga`) is used by the launcher. ## Quick start (dev) ```bash git submodule update --init --recursive ./psxrecomp/tools/ci/build_emitters.sh python3 psxrecomp/psxrecomp_cli.py generate \ --config game.toml --project-root . --disc disc/.cue \ --bios /path/to/SCPH1001.BIN cmake -S . -B build-release -G Ninja -DCMAKE_BUILD_TYPE=Release cmake --build build-release --target psx-runtime ``` Zip prefix for CI artifacts: `sfex2p`. ## Symbols Progressive map: `symbols.toml` → `python3 tools/sync_symbols.py` → `psx_symbols.h` (`PSX_FN_*`). See `psxrecomp/docs/SYMBOLS.md`. ## Framework pins Submodule gitlinks are authoritative. `psxrecomp` points at [`strider973/psxrecomp`](https://github.com/strider973/psxrecomp) branch `sfex2p-v032` — `v0.3.2-alpha` plus the two SR/TCB scheduler fixes from bring-up (`09ff2311`, `36e124d3`); `recomp-ui` tracks upstream `mstan`. `framework_pins.txt` is an optional scaffold snapshot; release CI logs SHAs with `record_pins.sh` but builds whatever the gitlinks resolve to. Bump submodules deliberately — do not float on `main` / `master` in release CI. ---

R.A.I.D. — Retro AI Development · a Discord for AI-assisted retro reverse-engineering, decomp & recomp

Join the Retro AI Development (R.A.I.D.) Discord