Skip to content
PORTSNATIVE.
HomeCatalog
Web GamesEmulatorsToolsNews
PORTSNATIVE.

A catalog for discovering ports and related projects. We link to official sources and do not host original game files.

ExploreCatalogMy list
InformationAbout usSuggest a portSupportDonationsLegal notice
© 2026 PortsNative
Back to catalog
OpenSpideyPS1
PORTSNATIVE

OpenSpideyPS1

NATIVE PORTACTION / ADVENTUREWINDOWSLINUXMACOSALPHA

OpenSpideyPS1

OriginPlayStation

TechnologyNative C/C++ port (engine reimplementation)

Available forWindows, Linux, macOS

View official project

About the project

OpenSpideyPS1 es un videojuego de acci�n y aventura para PlayStation, lanzado en 2000.

Official project information

Author's original READMEOpen on GitHub ↗

OpenSpideyPS1

Native recompilations of Spider-Man and Spider-Man 2: Enter Electro for Windows, built with RecompOne. The PlayStation code is translated to C# ahead of time and runs against a shared runtime that implements the original console services, with modern rendering and higher-detail character assets.

This is an active development project, not a claim of complete game compatibility. Both games reach gameplay; targeted menu, level, costume and renderer tests do not replace full playthroughs or long-duration stability testing.

Download and install version 1.0

  1. Download the package for your game below and extract it. Open the extracted game folder.
  2. Launch SpiderMan.exe or SpiderMan2.exe, keeping the included mods folder beside it.
  3. Select your USA PlayStation BIN/CUE or ISO. Setup extracts the assets and starts the game.
PackageDownloadInstallation and included contents
Spider-Man 1.0 — 34 costume modsWindows x64 ZIPRelease notes
Spider-Man 2 1.0 — 35 costume modsWindows x64 ZIPRelease notes
Blender Character Tools 1.0Installable add-on ZIPInstallation and requirements

Each package includes Readme.txt. Install the Blender ZIP through Blender's add-on preferences; its repository and conversion-tool requirements are listed in its release notes.

Use the downloads above for ready-to-run games. GitHub's Source code (zip) and the ZIP links on the Tags tab contain developer source files.

Screenshots

Native renderer captures from both games. Click any image for the full-size version. The 4:3 and 16:9 shots come from separate runs, so camera position, animation, and HUD state can differ. The overlays place the complete 4:3 capture over the wider shot at 40% opacity; the cyan outline marks its boundary.

Spider-Man

<table> <tr><th width="50%">4:3 gameplay</th><th width="50%">16:9 gameplay</th></tr> <tr><td width="50%" align="center"><a href="docs/screenshots/gallery/sm1-4x3.png"><img src="docs/screenshots/gallery/sm1-4x3.png" width="480" alt="Spider-Man rooftop gameplay in 4:3"></a></td><td width="50%" align="center"><a href="docs/screenshots/gallery/sm1-16x9.png"><img src="docs/screenshots/gallery/sm1-16x9.png" width="480" alt="Spider-Man rooftop gameplay in 16:9"></a></td></tr> </table>

Spider-Man: centered 4:3 capture over 16:9, with cyan boundary

<table> <tr><th width="50%">Miles Morales - gameplay</th><th width="50%">Miles Morales - main menu</th></tr> <tr><td width="50%" align="center"><a href="docs/screenshots/gallery/sm1-miles-gameplay.png"><img src="docs/screenshots/gallery/sm1-miles-gameplay.png" width="480" alt="Miles Morales custom model in Spider-Man gameplay"></a></td><td width="50%" align="center"><a href="docs/screenshots/gallery/sm1-miles-menu.png"><img src="docs/screenshots/gallery/sm1-miles-menu.png" width="480" alt="Miles Morales custom model in the Spider-Man main menu"></a></td></tr> </table> <table> <tr><th width="50%">Last Stand - gameplay</th><th width="50%">Last Stand - main menu</th></tr> <tr><td width="50%" align="center"><a href="docs/screenshots/gallery/sm1-last-stand-gameplay.png"><img src="docs/screenshots/gallery/sm1-last-stand-gameplay.png" width="480" alt="Last Stand custom model in Spider-Man gameplay"></a></td><td width="50%" align="center"><a href="docs/screenshots/gallery/sm1-last-stand-menu.png"><img src="docs/screenshots/gallery/sm1-last-stand-menu.png" width="480" alt="Last Stand custom model in the Spider-Man main menu"></a></td></tr> </table> <table> <tr><th width="50%">Spider-Punk - gameplay</th><th width="50%">Spider-Punk - main menu</th></tr> <tr><td width="50%" align="center"><a href="docs/screenshots/gallery/sm1-spider-punk-gameplay.png"><img src="docs/screenshots/gallery/sm1-spider-punk-gameplay.png" width="480" alt="Spider-Punk custom model in Spider-Man gameplay"></a></td><td width="50%" align="center"><a href="docs/screenshots/gallery/sm1-spider-punk-menu.png"><img src="docs/screenshots/gallery/sm1-spider-punk-menu.png" width="480" alt="Spider-Punk custom model in the Spider-Man main menu"></a></td></tr> </table> <table> <tr><th width="50%">Spider-Noir - gameplay</th><th width="50%">Spider-Noir - main menu</th></tr> <tr><td width="50%" align="center"><a href="docs/screenshots/gallery/sm1-noir-gameplay.png"><img src="docs/screenshots/gallery/sm1-noir-gameplay.png" width="480" alt="Spider-Noir custom model in Spider-Man gameplay"></a></td><td width="50%" align="center"><a href="docs/screenshots/gallery/sm1-noir-menu.png"><img src="docs/screenshots/gallery/sm1-noir-menu.png" width="480" alt="Spider-Noir custom model in the Spider-Man main menu"></a></td></tr> </table>

Spider-Man 2: Enter Electro

<table> <tr><th width="50%">4:3 gameplay</th><th width="50%">16:9 gameplay</th></tr> <tr><td width="50%" align="center"><a href="docs/screenshots/gallery/sm2-4x3.png"><img src="docs/screenshots/gallery/sm2-4x3.png" width="480" alt="Spider-Man 2: Enter Electro rooftop gameplay in 4:3"></a></td><td width="50%" align="center"><a href="docs/screenshots/gallery/sm2-16x9.png"><img src="docs/screenshots/gallery/sm2-16x9.png" width="480" alt="Spider-Man 2: Enter Electro rooftop gameplay in 16:9"></a></td></tr> </table>

Spider-Man 2: Enter Electro: centered 4:3 capture over 16:9, with cyan boundary

<table> <tr><th width="50%">SP//DR - gameplay</th><th width="50%">SP//DR - main menu</th></tr> <tr><td width="50%" align="center"><a href="docs/screenshots/gallery/sm2-spdr-gameplay.png"><img src="docs/screenshots/gallery/sm2-spdr-gameplay.png" width="480" alt="SP//DR custom model in Spider-Man 2: Enter Electro gameplay"></a></td><td width="50%" align="center"><a href="docs/screenshots/gallery/sm2-spdr-menu.png"><img src="docs/screenshots/gallery/sm2-spdr-menu.png" width="480" alt="SP//DR custom model in the Spider-Man 2: Enter Electro main menu"></a></td></tr> </table> <table> <tr><th width="50%">MCU Infinity War - gameplay</th><th width="50%">MCU Infinity War - main menu</th></tr> <tr><td width="50%" align="center"><a href="docs/screenshots/gallery/sm2-infinity-war-gameplay.png"><img src="docs/screenshots/gallery/sm2-infinity-war-gameplay.png" width="480" alt="MCU Infinity War custom model in Spider-Man 2: Enter Electro gameplay"></a></td><td width="50%" align="center"><a href="docs/screenshots/gallery/sm2-infinity-war-menu.png"><img src="docs/screenshots/gallery/sm2-infinity-war-menu.png" width="480" alt="MCU Infinity War custom model in the Spider-Man 2: Enter Electro main menu"></a></td></tr> </table> <table> <tr><th width="50%">Hornet - gameplay</th><th width="50%">Hornet - main menu</th></tr> <tr><td width="50%" align="center"><a href="docs/screenshots/gallery/sm2-hornet-gameplay.png"><img src="docs/screenshots/gallery/sm2-hornet-gameplay.png" width="480" alt="Hornet custom model in Spider-Man 2: Enter Electro gameplay"></a></td><td width="50%" align="center"><a href="docs/screenshots/gallery/sm2-hornet-menu.png"><img src="docs/screenshots/gallery/sm2-hornet-menu.png" width="480" alt="Hornet custom model in the Spider-Man 2: Enter Electro main menu"></a></td></tr> </table> <table> <tr><th width="50%">Ghost Spider - gameplay</th><th width="50%">Ghost Spider - main menu</th></tr> <tr><td width="50%" align="center"><a href="docs/screenshots/gallery/sm2-ghost-spider-gameplay.png"><img src="docs/screenshots/gallery/sm2-ghost-spider-gameplay.png" width="480" alt="Ghost Spider custom model in Spider-Man 2: Enter Electro gameplay"></a></td><td width="50%" align="center"><a href="docs/screenshots/gallery/sm2-ghost-spider-menu.png"><img src="docs/screenshots/gallery/sm2-ghost-spider-menu.png" width="480" alt="Ghost Spider custom model in the Spider-Man 2: Enter Electro main menu"></a></td></tr> </table>

Featured mod models and textures by Gameloft, converted from Spider-Man Unlimited.

Current features

  • Modern rendering in both games: perspective-correct textured geometry, no PS1 dithering or 5-bit output quantization, increased internal resolution, and host-resolution FXAA enabled by default. Both 4:3 and 16:9 use the modern renderer; legacy rendering is reserved for developer reference.
  • Widescreen gameplay: wider projection and HUD handling in both games. Choose 4:3 or 16:9 in OPTIONS > VIDEO SETUP. Menus retain their original 4:3 layout.
  • Dreamcast character upgrades: SM1 uses converted DC actors where applicable; SM2's upgrade work focuses on Spider-Man and costumes, not matching every NPC. Character textures use external host-resolution packs. Environments remain the original PS1 environments.
  • Twenty built-in SM1 costumes: the ten original suits plus ten imported SM2 entries. Imported suits use SM1 animations and copied SM1 ability profiles, with paired existing unlock events. The winged default SM2 suit is available from the start. Original SM1 default Spider-Man remains visually wingless.
  • Costume mods in both games: external PNGs, custom names and author credits, independent donor powers, built-in bodies, and validated custom native models. Mod suits are always unlocked and do not replace built-ins. Each game supports 253 total costumes.
  • First-run disc setup: published builds are self-contained executables with an embedded installer. Extraction runs inside the game window with progress and elapsed time, then subsequent launches use loose files.

Make or customize a costume

The selector supports 253 total costumes: 20 built-ins plus 233 mod slots in SM1, and 19 built-ins plus 234 mod slots in SM2. Version 1.0 includes 34 SM1 mods and 35 SM2 mods, leaving six free slots in each game. Magenta Man is not in the release roster.

  1. Copy a complete installed suit folder under mods/suits/ beside the executable.
  2. Give the copy a unique folder name and id in suit.json; edit its name and comments while preserving author credits. Names support 19 printable ASCII characters.
  3. Edit the referenced PNG textures, keeping their UV layout and texture keys. Keep any referenced modelFile with its matching textures.
  4. Choose a supported abilities.profile for the destination game. Appearance and donor powers are independent; profiles do not combine powers.
  5. Restart and select the costume under SPECIAL > COSTUME VIEWER in SM1 or SPECIAL > COSTUMES in SM2.

Every packaged suit includes instructions. The shared mod instructions cover all donor profiles, model choices, moving suits between games, and troubleshooting. Move unwanted suits to mods/inactive-suits to free slots while preserving their files.

The model field selects a built-in body: spiderman, scarlet-spider, symbiote, quick-change, peter-parker, or sm2-spiderman. spiderman uses the wingless SM1 body in either game. An optional modelFile references a validated native .psx actor in the suit folder; raw FBX, OBJ, or GLB models cannot be installed directly. PNGs support up to 4096 pixels per side within a 64 MiB decoded texture budget per suit.

For custom geometry, use Blender Character Tools to import a native template, transfer and edit weights, and export a native character package. The add-on requires the repository conversion backend, external Python with Pillow, and NeversoftMultitool. Always check the result in native gameplay; automatic weight transfer still needs artist review.

In-game video setup (SM1 and SM2)

Open OPTIONS → VIDEO SETUP. This replaces the old Screen Adjust entry and uses the game's original menu graphics, text, highlights, sounds, and controls. Use Up/Down to select a row and Left/Right to change its value (Cross also cycles the value). Select APPLY with Cross to save; Triangle discards any pending changes and returns to OPTIONS.

AspectOutput resolutions
4:3640×480, 800×600, 1024×768, 1280×960, 1600×1200, 1920×1440
16:9960×540, 1280×720, 1600×900, 1920×1080, 2560×1440, 3840×2160

FULLSCREEN: ON/OFF switches between fullscreen and windowed presentation when you select Apply. Fullscreen uses the monitor's output area; turning it off restores the selected windowed resolution. Apply also sets the gameplay aspect immediately. The existing internal rendering scale remains a separate Display setting. Menus retain their original 4:3 proportions. Applied choices are remembered on restart in each game's settings.json and interface.ini.

Run a published build

Extract the download, keeping mods/ beside the EXE. Launch the game and select your USA BIN/CUE or ISO when prompted. For a CUE sheet, keep its referenced BIN files alongside it.

ExecutableRequired discID
SpiderMan.exeSpider-Man (USA)SLUS-00875
SpiderMan2.exeSpider-Man 2: Enter Electro (USA)SLUS-01378

The installer checks the USA boot ID in SYSTEM.CNF and that its boot file exists. It does not check disc hashes, exact executable sizes, or revision-specific disc lengths. Extraction runs in the game window, then the game starts automatically. After installation, the original image is no longer needed for play.

Both EXEs contain .NET, the native game libraries, and the Visual C++ runtime. No separate runtime installer or loose DLLs are required. Windows and your graphics driver supply the remaining system libraries.

Game files live under game/ beside the executable; bundled character replacements and texture packs live under assets/builtin/. User reskins belong in mods/suits/, not inside the built-in asset folder. Each game has its own settings and data. The bundled replacements do not require a Dreamcast disc, and SM1's imported costumes do not require an SM2 disc at installation time.

See first-run installation for validation, installation layout and recovery details.

Build from source

For the shared runtime/recompiler and tests that require no retail disc, use python tools/run_regressions.py after installing .NET 10, Python 3, and Pillow. Verification coverage explains what the Windows/Linux CI gate checks. The project checkpoint records current fixes, actual results, and the next gameplay blocker.

Development builds require .NET 10, Python 3 with NumPy and Pillow, and the appropriate retail disc data. Start in the directory of the game being built:

cd spiderman        # or spiderman2
python tools/disc.py extract extracted
python tools/cdwad.py extract extracted/wad
python tools/overlays.py build config/overlays
python tools/genmaps.py
python tools/build.py

BIN/CUE is import media, not the runtime format. The extractor produces loose files and recompone-disc.json; later builds and launches use that directory. Raw source discs and extracted retail files must not be added to Git.

From the repository root, publish a self-contained executable with:

dotnet publish spiderman/port/SpiderMan.csproj -c Release
dotnet publish spiderman2/port/SpiderMan2.csproj -c Release

Outputs are spiderman/port/dist/SpiderMan.exe and spiderman2/port/dist/SpiderMan2.exe. Ordinary builds instead use each project's port/bin/Release/net10.0/ directory. Published builds embed each game's port/bundled/runtime-assets.zip; asset maintainers rebuild those payloads using python dreamcast/tools/build_bundled_runtime_assets.py after approved changes.

Development switches

Both games use the SPIDEY_* prefix, but level and costume names differ. Set environment variables before starting the executable.

VariablePurpose
SPIDEY_WIDE=1 / 0Enable / disable widescreen gameplay; neither selects legacy rendering
RECOMP_RENDER_SCALE=4Internal rendering scale, from 1 to 8
RECOMP_FXAA=0Disable the normally enabled FXAA pass
SPIDEY_LEVEL=l1a1Direct SM1 level boot; SM2 uses names such as e1m0
SPIDEY_COSTUME=symbioteSelect an SM1 built-in costume for testing
SPIDEY_CHEATS=allEnable the game's cheat set
SPIDEY_SHOTS=1050,1500Save native captures at specified frames
SPIDEY_SNAP=crashDump game RAM on a crash

Project layout and technical notes

spiderman/ and spiderman2/ have separate game code, configuration, extracted data and output. tools/RecompOne/ contains the shared recompiler/runtime; dreamcast/ contains character-conversion and audit tooling, not a third game port. xbox/ is the original Xbox port (nxdk, in progress); see its README.

Changing gameplay for every platform: the Xbox port runs the shared game in C, separately from the PC's C# runtime and patches. A gameplay fix meant for all platforms must be made in both places, and checked on each.

  • SM1 technical notes
  • SM2 technical notes
  • Dreamcast extraction and conversion
  • DC character-port pipeline
  • Reskin implementation and tests

Older per-game investigation notes record the results of particular builds and test routes. They should not be read as guarantees that every map, costume or long-session scenario currently passes.

Rights

Spider-Man, Spider-Man 2: Enter Electro, their characters and original assets belong to their respective rights holders. This is an unofficial project. Players supply the supported retail PS1 disc for the game they run. Converted character assets and the sample reskin are distinct from the port's source code; their inclusion does not transfer ownership of the underlying art.

Read official guide
CALIFICACIÓN
—
Loading votes…
Advertisement

PROJECT FILE

Project type
NATIVE PORT
Genre
Action / Adventure
Status
alpha
Original platform
PlayStation
Technology
Native C/C++ port (engine reimplementation)
Version
—
Updated
—

Target platforms 3

Windows
Linux
macOS
View on GitHub
Advertisement