Project RE: Visited - Resident Evil 3
Project RE: Visited is an experimental Windows port of Resident Evil 3: Nemesis built on the PSXRecomp static recompilation framework.
- Type: PC port
- Game: Resident Evil 3: Nemesis
- Runs on Windows
- By BrazilianHobbyist
- Latest release v1.7.0, 2026-10-20
- Source: https://github.com/BrazilianHobbyist/Project-RE-Visited-RE3
README
Project RE: Visited - Resident Evil 3
Languages / Idiomas: English | Português (Brasil) | Español
Experimental Windows port of Resident Evil 3: Nemesis (PS1, SLUS-00923), built on the PSXRecomp static recompilation framework.
Status: work in progress / experimental. Expect bugs. Earlier release notes and this README overstated what works; this version describes the project as it actually is.
How it actually works
| Part | How it runs |
|---|---|
Main executable (SLUS_009.23, 3,328 functions) | Statically recompiled MIPS → C → x86-64. Runs as native code. |
| Overlays (code the game loads from the CD for menus and enemies) | Recompiled with the same recompiler into native shards (cache/). Since v1.7.0 the cache is built from the original disc, not from play sessions: all 17 menu overlays and all 21 enemy code modules, 59 images in total (aot/README.md). Anything still missing runs on a small interpreter the first time and is compiled in the background by the bundled toolchain (overlay_toolchain/: embedded Python + TinyCC). |
| GPU, GTE, SPU, CD-ROM, MDEC, timers | Emulated in software by the PSXRecomp runtime (rendered with OpenGL/SDL3), as in other static recompilation projects. |
| BIOS | OpenBIOS (MIT, from PCSX-Redux), bundled. The boot animation is skipped. |
Measured, not assumed: each run writes how much code was interpreted to psx_last_run_report.json (interp_hist).
- With the v1.6.1 cache, about 20 minutes of play across four sessions (new game, the RPD, doors, stairs, combat, inventory, item box, saving) peaked at 0.03%–0.15% of the emulated CPU's work.
- With the disc-built cache, a session in the RPD with zombies and doors measured 0.0061%, and 17 instructions in the enemy code. What remains is BIOS code in RAM.
Earlier releases (up to v1.6.0) shipped without the overlay cache and toolchain, so the room code ran interpreted on players' machines. v1.6.1 fixed that with a cache from the maintainer's play sessions. v1.7.0 replaces it with one built from the disc.
This is not a decompilation: the game code is machine-translated, not rewritten, and the hardware is emulated. That is also why PS1 traits like polygon wobble remain: the GTE's fixed-point math is reproduced faithfully.
Legal note
The release executable and the overlay shards in cache/ contain the game's machine code translated to x86-64. You must own Resident Evil 3: Nemesis (SLUS-00923) and supply your own disc image. No disc images, audio, video, textures or Sony BIOS are distributed. This is a non-commercial fan project; PSXRecomp is licensed under PolyForm Noncommercial 1.0.0. Resident Evil and related names are trademarks of Capcom; PlayStation is a trademark of Sony Interactive Entertainment.
Features
Status key: Works = confirmed working · Needs testing = implemented, not yet re-verified after recent changes · Known issues = reported broken or partial.
| Feature | Status |
|---|---|
Launcher setup wizard (extracts SLUS_009.23 from your .cue/.bin) | Works |
| Classic (tank) controls | Works (default) |
Modern screen-relative stick (modern_controls) | Known issues: works, but feels erratic in small rooms; off by default until refined |
Fast doors (fast_doors) | Works. Skips the door animation, and the next room loads at full host speed behind the black screen (the save-room door went from ~3.8 s to ~1 s). Gameplay speed is unchanged |
| Skipping in-engine cutscenes with Select (Esc/Tab on keyboard) | Works (uses the game's own skip) |
| FMV skip | Works; some FMVs can only be skipped after a certain point, as in the original game |
| Fast startup (BIOS animation skipped, disc fingerprint cached) | Works |
Memory card saves (saves/*.mcd, standard PS1 format) | Works |
| Audio | Works; the experimental mix (spu_hq) can sound clipped and is off by default |
| Cheats (launcher toggles + F6/F7/F8) | Works in the maintainer's earlier tests; not re-tested since v1.6.0 |
| Internal resolution / supersampling, 16:9 stretch or 4:3 | Needs testing |
| Rumble | Needs testing |
| Perspective-correct texturing | Needs testing |
| PGXP geometry correction | Known issues: stops wobble. The black cracks on faces are much smaller since v1.7.0, because seam vertices are welded, but small artifacts remain. Off by default |
| Intro/story text speed | Known issues: text advances too fast |
| 60 FPS / frame interpolation | Removed. It never worked properly (it was placebo) |
Old DirectInput-only controllers: enable "Old generic controllers (DirectInput)" in the launcher. It is off by default because on some PCs it delays startup by several seconds; Xbox, PlayStation, Switch and most other pads work without it.
Bug reports are welcome. Please include psx_last_run_report.json from the game folder and the steps to reproduce.
Quick start
- Download the latest zip from Releases and extract it.
- Run
Resident_Evil_3_Launcher.exe. - Click Install Game... and select your RE3 USA disc image (
.cue/.bin, raw 2352-byte sectors). 2048-byte.isofiles are rejected: they lack the game's audio and video. - Configure, then click PLAY RESIDENT EVIL 3.
Controls
Gamepad: Left stick / D-Pad = movement (tank by default; screen-relative stick in modern mode) · A = action · X = run · Y = inventory · LB/RB = aim/fire · Back = map · Start = pause Keyboard: Arrows = move · X = action · Z = run · A = inventory · Enter = start · Alt+Enter/F11 = fullscreen · F6/F7/F8 = cheats
Building from source
Requirements: Windows 10/11 x64, Clang (or MinGW-w64 GCC 12+), CMake 3.20+, Ninja, Python 3.11+, and your own disc image (.cue + .bin).
git config --global core.longpaths true # or clone into a short folder: the submodule has deep paths
git clone --recurse-submodules https://github.com/BrazilianHobbyist/Project-RE-Visited-RE3.git
cd Project-RE-Visited-RE3
.\build.ps1 -Regen -DiscPath "C:\path\to\Resident Evil 3 - Nemesis (USA, Canada).cue" # game
.\launcher\build.ps1 # launcher
What the build does:
- Applies
patches/psxrecomp_runtime.patch(the RE3 changes) on top of the pinned PSXRecomp commit. -Regenrecompiles the game's C from your disc intogenerated/. Game code is never in this repository.- Applies the two
patches/re3_door_*.patchto the generated C. - Builds with CMake and Ninja.
Later builds can drop -Regen.
The build is reproducible. The same commit built with the same compiler produces a byte-identical executable and launcher. This was verified with a fresh clone against the development build, using Clang 22.1.8. SOURCE_DATE_EPOCH is set to the commit time, and no link timestamp is written.
The native overlay cache can also be rebuilt from your disc alone. See aot/README.md.
Credits
See CREDITS.md.
- PSXRecomp / RetroPortingToolkit: static recompilation framework and runtime, by Matthew Stanley ("mstan") and contributors. Almost all of the engine work here is theirs.
- PCSX-Redux / OpenBIOS: open-source BIOS.
- PGXP: iCatButler, simias, Pete Bernert.
- Capcom: Resident Evil 3: Nemesis (1999).