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
Spyro the Dragon · spyro (SomeoneIsWorking)
PORTSNATIVE

Spyro the Dragon · spyro (SomeoneIsWorking)

NATIVE PORTPLATFORMERWINDOWSALPHA

Spyro the Dragon · spyro (SomeoneIsWorking)

Spyro the Dragon

OriginPlayStation

TechnologyStatic recompilation (native C/C++)

Available forWindows

View official project

About the project

Proyecto de recompilación comunitaria de Spyro the Dragon, indexado por Recomp.fyi. Proyecto activo/WIP; Recomp.fyi todavía no declara una plataforma de ejecución.

4 versions of Spyro the Dragon

You're viewing: spyro (SomeoneIsWorking)

spyro (SomeoneIsWorking)github.com/SomeoneIsWorking/spyro
Windows
Current
Spyro the Dragongithub.com/TheMobyCollective/spyro-1
Windows
›
Spyro the Dragon - OpenPeteopenpete.com
Windows
Linux
macOS
›
Spyro the Dragon Recompiledgithub.com/alexbeavs-ps1-ports/spyro-the-dragon-recomp
Windows
Linux
macOS
›

Official project information

Author's original READMEOpen on GitHub ↗

SpyroEngine — Spyro 1, 2, and 3

A work-in-progress native PC port of the original PlayStation Spyro trilogy. The target architecture combines title-owned native subsystems with psxport's runtime Lightrec executor for every remaining MIPS instruction read from the player's authenticated game files.

Screenshots

Captured from the port at 16:9 with 60 fps interpolation on.

Spyro the Dragon

Spyro the Dragon: Artisans at 16:9 Spyro the Dragon: gems under a stone arch at 16:9 Spyro the Dragon: original 4:3 beside 16:9 widescreen Spyro the Dragon: title-screen flyby at the original 30 fps beside 60 fps interpolation

The title-screen flyby: the original 30 fps on the left, interpolated 60 fps on the right.

Spyro 2

Spyro 2: canyon with a bone arch at 16:9 Spyro 2: Idol Springs at 16:9 Spyro 2: original 4:3 beside 16:9 widescreen Spyro 2: intro at the original 30 fps beside 60 fps interpolation

Spyro: Year of the Dragon

Spyro: Year of the Dragon: desert level at 16:9 Spyro: Year of the Dragon: Frozen Altars with Gabrielle at 16:9 Spyro: Year of the Dragon: original 4:3 beside 16:9 widescreen Spyro: Year of the Dragon: intro at the original 30 fps beside 60 fps interpolation

The Insomniac intro: the original 30 fps on the left, interpolated 60 fps on the right.

No game code, asset, executable, disc image, or BIOS is distributed. Supply a legally obtained copy.

Title status

TitleExecutable identityCurrent evidence
Spyro the DragonSCUS_942.28Reaches the title/save flow, opening cutscene and Artisans gameplay through Lightrec. Presents on the Record path; 60 fps composes only the screen tint and letterbox, and widescreen keeps retail's culls and HUD (issue 0186).
Spyro 2SCUS_944.25Reaches Glimmer gameplay from its own title screen. Record path with widened culls, an anchored HUD and interpolated terrain; mobys, HUD, sky and particles have no producer (issue 0176).
Spyro 3SCUS_944.67Reaches Sunrise Spring gameplay from its own title screen. Record path as Spyro 2, on the same terrain producer.

Status and evidence are in docs/project-state.md; feature chains in docs/features.md.

The executable serial, PS-X EXE header, size, and hash jointly select a title. A title never borrows another title's addresses, runtime images, or capability policy.

Migration status

The former product emitted guest code as C and compiled it into title-specific executables. That architecture is removed. The generator, corpora, seeds, generated dispatcher/tests, old build path, and emitted world body are absent. The sole product accepts the authenticated executable and enters psxport's runtime guest-execution boundary. The remaining work is in docs/migration.md.

Spyro 1's initial runtime discriminators are the recorded stage-13 routes:

  • the 800-field boot/title route; and
  • the 900-field forced-input mode-2 save-picker route.

Both run through the linked Lightrec executor with a title-owned frame/field boundary, nonzero translated blocks, one presentation fence per host step, and fatal guest VSync. The emitted world-body include has been replaced by an explicit scoped-original boundary for the unchanged retail guest body. The current Artisans observation also crosses this runtime boundary.

These 800/900 routes prove wiring only. A later representative interactive gameplay milestone must prove native and scoped-original calls, positive and negative invalidation across address-reusing WAD images, independent-oracle state, bounded fallback admission, no interpreter-only product selector, and correctness/frame-time budgets on each released host architecture.

Intended player experience

./run.sh enters the frozen uv environment, authenticates the selected disc, provisions only the PS-X EXE, builds the native/Lightrec product without offline guest translation, and launches it. psxport is the live sibling checkout (psxport's tools/psxport_fetch.py, run from psxport main), with Lightrec pinned by revision. The real-media execution evidence and remaining gaps are recorded in docs/project-state.md. Lightrec remains the sole product executor, with only the shared framework's bounded fallback after a classified JIT refusal.

The build requires CMake and Ninja alongside the documented native dependencies. The launcher selects Ninja explicitly and migrates older generator state within its owned build directory while preserving nested player and dependency builds. CMake owns compiler selection; GCC, Clang and other supported platform compilers remain accepted.

Player builds will accept the supported GCC, Clang, and AppleClang toolchains. Maintainer C++ verification uses Clang with the tracked clang-format and clang-tidy policy. Missing native dependencies must be refused with an exact user-run package command; Ghidra and other RE tools are never player prerequisites.

Hosted CI is deliberately asset-free: one Linux Clang job builds spyro_port without downloading game files or claiming runtime gameplay. macOS arm64, Windows x86_64 and Android arm64 runtime jobs remain missing until platform packaging lands. Maintainers build with CC=clang CXX=clang++ uv run --frozen python external/psxport/tools/port/consumer_build.py --build build/agent --target spyro_port; title gameplay and real-media evidence remain separate requirements.

Architecture

authenticated executable / resident WAD image
                    |
                    v
        per-Core psxport Lightrec executor
          | dynamic cache | invalidation |
          +---------------+--------------+
                          |
            image-aware title dispatch
               |                    |
         native override      original guest body
                               through Lightrec

game/ owns what the three titles share: the runtime base, field delivery, the boot-prefix driver, CD/archive, widescreen, and the shared terrain drawer and its producer. titles/<title>/ owns executable identity and title-local lifecycle and overrides. external/psxport/ owns the title-neutral executor and PSX services. docs/codemap.md maps each module to the concepts it owns.

See docs/project-goals.md for durable outcomes, docs/project-state.md for factual coverage, docs/codemap.md for ownership, docs/features.md for feature chains, and docs/re-frontier.md for the ordered binary-evidence chain.

Legal

psxport's vendored beetle-psx backend is GPL-2.0. Spyro is a trademark of its respective rights holders. This project is not affiliated with or endorsed by them.

Read official guide
CALIFICACIÓN
—
Loading votes…
Advertisement

PROJECT FILE

Project type
NATIVE PORT
Genre
Platformer
Status
alpha
Original platform
PlayStation
Technology
Static recompilation (native C/C++)
Version
—
Updated
Sep 27, 2026

Target platforms 1

Windows
View on GitHub
Advertisement