Spider-Man · spider1 (SomeoneIsWorking)
Spider-Man
OriginPlayStation
TechnologyStatic recompilation (native C/C++)
Available forWindows
View official projectAbout the project
Proyecto de recompilación comunitaria de Spider-Man (PS1), indexado por Recomp.fyi. Proyecto activo/WIP; Recomp.fyi todavía no declara una plataforma de ejecución.
3 versions of Spider-Man
You're viewing: spider1 (SomeoneIsWorking)
Official project information
Spider-Man PSX — both Neversoft games
A work-in-progress native PC port of Spider-Man and Spider-Man 2: Enter Electro. The target architecture combines title-owned native subsystems with psxport's runtime Lightrec executor for all remaining MIPS instructions read from the player's authenticated game files.
No disc image, executable, or game asset is included. Supply a legally obtained USA disc image.
Titles
| Title | Executable identity | Current evidence |
|---|---|---|
| Spider-Man | SLUS_008.75 | The current Lightrec product has resumed and presented the first authenticated STR movie field. Both complete intro movies, dem1, and interactive gameplay remain unverified in this product; see the current-state ledger. |
| Spider-Man 2: Enter Electro | SLUS_013.78 | Boots from the retail crt0 under its frame driver and presents the Marvel logo; the intro STR stream then never fills (EE-04 in the RE frontier). Gameplay is unreached. |
The serial, PS-X EXE header, size, and SHA-256 jointly select a title. Names are labels, never selectors, and no title may borrow another title's addresses or behavior.
Migration status
The former product emitted guest code as C at provisioning time and compiled a per-title generated corpus. That architecture is removed. The generator, corpora, emission-only seeds, static dispatcher/tests, and old build/provisioning path are absent. The only product target accepts the authenticated executable and enters psxport's runtime guest-execution boundary.
The first implementation discriminator is deliberately narrow: execute the authenticated Spider-Man
image through Lightrec, preserve the current native owners, reach dem1, and replace the generated
movie-fiber derivative with resumable runtime guest execution at the three binary-proven STR field
boundaries. This demonstrates that real title code is running dynamically.
A bounded representative interactive gameplay milestone must also prove:
- nonzero Lightrec blocks, no interpreter gameplay selector, and bounded reason-coded fallback below its declared threshold;
- a native override and an override-bypassing original guest call through the shipping dispatcher;
- positive and controlled-negative invalidation for executable module changes;
- timing, memory, interrupts, and relevant device state against an independent oracle; and
- the declared correctness and frame-time budget on every released host architecture.
The removed pipeline cannot return as a compatibility mode while this work is incomplete.
external/psxport is the workspace's LIVE PSXPort checkout (psxport's tools/psxport_fetch.py, run from psxport main
by run.sh and CI, links it, or clones psxport main where there is none); there is no consumer pin to keep in step. PSXPort's own
dependency declaration still pins Lightrec, and CMake refuses a dirty or mismatched Lightrec checkout.
Intended player experience
./run.sh enters the frozen uv environment, selects and authenticates the disc, provisions only
the PS-X EXE, builds the native/Lightrec product without offline guest translation, and launches the
selected title. For Spider-Man 1 that is the provisioned executable, booted directly because the catalog has one title; spiderman_port <executable> runs another serial-identified executable. The maintained Lightrec backend is linked. A real authenticated run has presented
the first movie field; complete movies, dem1, and gameplay remain unverified against the declared
translation and fallback gates.
Hosted CI is configured to build the real asset-free Linux x86-64 product. Windows, macOS, Apple Silicon, and Android jobs
remain absent because their PSXPort/Lightrec product backends are not implemented or qualified;
policy-only jobs do not stand in for those missing platform boundaries.
There are no unit tests or gates. The local and hosted build is CC=clang CXX=clang++ uv run --frozen python external/psxport/tools/port/consumer_build.py --build build/agent --target spiderman_port.
Player builds will accept GCC, Clang, and AppleClang. Maintainer C++ verification uses Clang together
with the tracked clang-format and clang-tidy policy. Missing native dependencies must be refused
with an exact platform package command rather than installed automatically. Ghidra and other RE tools
are never player prerequisites.
Architecture
authenticated executable/module bytes
|
v
psxport per-Core Lightrec executor
| runtime cache | invalidation |
+---------------+--------------+
|
image-aware title dispatch
| |
native override original guest body
through Lightrec
game/ holds address-free lineage mechanism and cohesive Spider-Man native owners.
titles/<title>/ owns title identity, addresses, execution policy, and title-local behavior.
external/psxport/ is the shared framework checkout. Static analysis metadata may remain reviewable;
generated executable guest bodies are not part of the target architecture.
See docs/project-goals.md for durable outcomes,
docs/project-state.md for factual coverage,
docs/codemap.md for ownership,
docs/migration.md for the product-execution plan and preserved binary facts,
and docs/issues/ for open bugs and missing capabilities.
Legal
The framework's vendored beetle-psx backend is GPL-2.0. Spider-Man names and assets belong to their respective rights holders. This project is not affiliated with or endorsed by them.

