PORTCLUB
Cabecera de Turok 2: Seeds of Evil (Turok 2 Recompiled)
Port nativo

Turok 2: Seeds of Evil (Turok 2 Recompiled)

Port nativo de Turok 2: Seeds of Evil (Turok 2 Recompiled) para PC.

Turok 2: Seeds of Evil (Turok 2 Recompiled)

Port nativo basado en su ficha de origen.

README del repositorio

Turok 2: Recompiled

Português

status cadence platform engine pipeline

A native PC port of Turok 2: Seeds of Evil (Nintendo 64, USA 1.0), built with N64Recomp, N64ModernRuntime, RT64, and RecompFrontend.

This is not an emulator wrapper. The original MIPS code is translated to native C and linked against a modern runtime, with a real launcher, graphics options, keyboard / mouse / controller input, and a 120 FPS / 120 Hz presentation.

Early testing. The game boots, plays, and presents at 120 unique frames per second on a 120 Hz host clock. That is the shipping cadence we are iterating on. It is still a first public test: crashes, visual leftovers, audio glitches, and input quirks can and will happen. We are playing it, finding the bugs, and fixing them. Please treat every build as experimental.


A note from the author

I am a huge Turok 2 fan. This is the N64 game I never really put down — the Hub, the Port of Adia, the energy totems, the War Blade, the way the soundtrack hits when you drop into a new world. I wanted it on PC the way the modern recomp ports do it: your own ROM, a native window, a real mouse, widescreen, and a frame rate the original hardware could not offer.

This repository is that attempt. I am building it because I love the game, not because it is finished. If something explodes, that is part of the process. File it, laugh at it, and we will chase it down.

— Pedro Braga (@SirBraga)


What you should expect right now

AreaToday
StatusEarly public testing. Playable, not polished.
Frame rate120 FPS unique Update/Draw. Not 30→120 interpolation.
Refresh120 Hz host VI / presentation.
LauncherNative UI: load ROM, play, controls, options, mods.
WindowsCI produces a ready-to-run Turok2Recompiled-windows-x64 zip.
ROMYou must supply your own USA 1.0 dump. Never shipped.

The original N64 cadence was 30 Hz gameplay and 15 Hz cinematics. This port does not fake smoothness by blending those frames. The engine itself steps at 120 unique updates, cinema time is still measured in authored seconds, and leftover 15/30-style counters are scaled so they do not run at 4× / 8×. Interpolation in RT64 stays off on purpose.

Graphics → Hz picks the engine cadence: Original (N64 30/15), 60, or 120 (default). TUROK2_AUTHORED_CADENCE=1 and TUROK2_UNIQUE_60=1 still override the menu.


Bugs will happen

This is a living test bed. Known classes of trouble:

  • Crashes on a specific level, save, or cinema
  • Effects that still look too fast or too choppy (water, lasers, overlays, particles)
  • Audio pops, missing banks, or a silent cutscene
  • Mouse look / analog look feel that still needs a pass
  • Launcher or in-game menu layout issues
  • Windows-only runtime problems (missing VC++ redistributable, GPU / Vulkan / D3D12)

Please report them. A short note plus the level name, what you pressed, and whether it reproduces is enough. We are actively hunting these, not ignoring them.


Where we are → where we want to go

N64 cartridge
    → splat / ELF / N64Recomp
        → native Turok2Recompiled
            → playable 120 FPS test  ← you are here
                → stable 1.0
                    → HD / widescreen polish
                        → sister games (Turok 3, Armorines)

1. Bring-up — done

  • Verify the USA 1.0 ROM (SHA1 fb0400f21e3f043939ab56500c7b12a3231006f1)
  • Recover the memory map and ~13k functions
  • Confirm stock F3DEX + aspMain (no custom RSP microcode work)
  • Recompile to native C and link N64ModernRuntime + RT64
  • Solve TLB / PI paging enough to boot and stay in-game
  • Repair RAX / audio bank loading
  • Open a real window and draw the game

2. Playable test — current

  • Boot past the title screen into real levels
  • Unique 120 FPS / 120 Hz presentation (default)
  • Scale integer leftovers so freeze, i-frames, lasers, water, and menus do not run at 4×
  • RecompFrontend launcher (Load ROM / Play, Controls, Options, Mods)
  • Keyboard, mouse, and controller, including mouse-look and analog look
  • Graphics tab: filtering, HUD/2D upscale, FOV, far / fog
  • Windows CI artifact + local scripts/build-windows.ps1
  • Crash-free Hub → first worlds on a clean launch
  • Audio that stays correct through cinemas and combat
  • Input that feels finished, not “good enough for bring-up”

3. Stable 1.0

  • Finish leftover 15/30 timing audits
  • Reliable saves (in-game + host)
  • Full controller profiles and a clean bindings screen
  • Installer-style Windows folder and a macOS / Linux build people can just run
  • Crash reporter / log that testers can attach

4. The port people actually want

  • HD texture packs (F2 already dumps hashes for that work)
  • Real widescreen and HUD that stay sharp
  • Accessibility: FOV, look sensitivity, deadzone, Graphics → Hz (Original / 60 / 120)
  • Mod API that is not just a folder named mods

5. Same engine, next games

Turok 2, Turok 3, and Armorines: Project S.W.A.R.M. share the Acclaim Studios London engine. The long bet is that most of this runtime, TLB story, and renderer path transfers.

  • Split game-specific hooks from shared engine support
  • Turok 3 bring-up on the same stack
  • Armorines investigation
  • Stretch: Android via RT64 Vulkan

How to play (Windows)

  1. Grab the latest Actions artifact Turok2Recompiled-windows-x64 from this repository, or build locally (below).
  2. Install the Visual C++ 2015–2022 x64 redistributable if Windows asks for runtime DLLs.
  3. Run Turok2Recompiled.exe.
  4. Carregar ROM / Load ROM and pick your Turok 2 USA 1.0 dump.
  5. The button becomes Jogar / Play. Esc or F10 opens the menu in-game.

portable.txt next to the exe keeps saves and settings in that folder. Delete it to use %LOCALAPPDATA%\turok2-recompiled.

Required ROM

You must dump a cartridge you own. The ROM is not in this repo and never will be.

FieldValue
GameTurok 2: Seeds of Evil
RegionUSA 1.0
Internal nameTurok 2: Seeds of Ev
Cartridge IDNT2E
Size32 MB
SHA1fb0400f21e3f043939ab56500c7b12a3231006f1

Controls (defaults)

ActionKeyboardNotes
MoveWASDEngine movement, not a fake N64 stick
LookMouseSensitivity lives in Options
FireZ binding / controller triggerRemap in Controls
Jump / aim / crouchSee Controls tabDefaults follow the N64 layout as closely as they can
PauseEnter / Start
MenuEsc / F10Launcher-style config over the game
Skip cinemaBackspace / P / F8F8 is the debug skip
Quick save / load5 / 7 or F5 / F7Bring-up tool, not a final save system
Debug HUDF3Off by default
Texture dumpF2Writes hashes under runtime-data/texture-dumps/

A controller is fully supported. Bindings persist between sessions.


Build it yourself

Windows (recommended for testers)

Needs Visual Studio 2022+ with Desktop C++, and CMake. Ninja is optional.

powershell -ExecutionPolicy Bypass -File scripts\build-windows.ps1

Or double-click scripts\build-windows.bat. The playable folder is dist\Turok2Recompiled\.

CI

Every push to this branch runs .github/workflows/windows.yml and uploads Turok2Recompiled-windows-x64.

From CMake (any host that already builds the app)

cmake -S projects/turok2-decomp -B build-app -DTUROK2_BUILD_APP=ON
cmake --build build-app --target Turok2Recompiled

On macOS / Linux you need a system SDL2. On Windows the tree vendors SDL2 and DXC.


Project layout

projects/turok2-decomp/   game port, recompiled funcs, patches, launcher glue
tools/N64Recomp/          static recompiler
tools/N64ModernRuntime/   host runtime (librecomp + ultramodern)
tools/rt64/               renderer
tools/RecompFrontend/     menus, input, RmlUi
scripts/build-windows.ps1 local Windows package

The older splat / matching notes still live under projects/turok2-decomp/docs/. This repository’s job now is the native port, not a matching decomp.


Credits

Nothing here exists without the people who opened the trail:

Full notes: projects/turok2-decomp/CREDITS.md.


Legal

Turok 2: Seeds of Evil and all original game assets belong to their rights holders. This project does not distribute the ROM, textures, or music.

The reverse-engineering work in this repository (tools glue, patches, documentation) is released under CC0 1.0 unless a vendored dependency says otherwise. Provide your own dump from a cartridge you own.


If you only want a finished, risk-free Turok 2 session, an emulator is still the safe answer. If you want to help drag this game into a native 120 Hz future, you are in the right place. Play it. Break it. Tell us what broke.

Comentarios (0)

Inicia sesión para dejar un comentario.

Sé el primero en comentar sobre este juego.