Saltar al contenido
PORTSNATIVE.
InicioCatálogo
Juegos WebEmuladoresHerramientasNovedades
PORTSNATIVE.

Un catálogo para descubrir ports y proyectos relacionados. Enlazamos a las fuentes oficiales y no alojamos archivos de los juegos originales.

ExplorarCatálogoMi lista
InformaciónNosotrosProponer un portSoporteApoyo y donacionesAviso legal
© 2026 PortsNative
Volver al catálogo
Killzone 2 (Tokisaki Port)
PORTSNATIVE

Killzone 2 (Tokisaki Port)

PORT NATIVOSHOOTER / DISPAROSWINDOWSLINUXALPHA

Killzone 2 (Tokisaki Port)

Killzone 2

OrigenPlayStation 3

TecnologíaPort Nativo C/C++ (Reimplementación de Motor)

Disponible paraWindows, Linux

Ver proyecto oficial

Sobre el proyecto

Killzone 2 es un videojuego shooter de ciencia ficción de la compañía Guerrilla Games para la consola PlayStation 3. Es la segunda entrega dentro de la saga Killzone, la cual empezó en la consola PlayStation 2 con el juego Killzone y fue continuada más tarde con Killzone: Liberation dentro de la portátil PlayStation Portable. Fue anunciado por primera vez en la Feria de Videojuegos E3 en el año 2005 en Los Ángeles, California.

2 versiones de Killzone 2

Estás viendo: Killzone 2 (Tokisaki Port)

Killzone 2 (Tokisaki Port)github.com/YYOzcan/tokisaki-port
Windows
Linux
Actual
Project Pyrrhus (Killzone 2 PC)github.com/undecuple/project-pyrrhus
Windows
›

Información oficial del proyecto

README original del autor (en inglés)Abrir en GitHub ↗

Tokisaki Port (Killzone 2 PC Port)

Project Status C++ Standard Target Platform

[!WARNING] Work in progress — playable only in a limited sense. The campaign starts, the opening cutscene on The New Sun plays and you can play the first level with keyboard and mouse or a controller, with sound — at ~13-14 frames/s (Radeon 680M, laptop in power-saver; the game advances at most 1/15 s per frame, so its clock runs at ~90% of real time and at full speed from 15 frames/s). The level start can still stop during the load now and then. On a desktop (Ryzen 5 5600, RTX 3060, KZ2_MAX=1 build) the Corinth River battle after the prologue runs at ~20-22 frames/s. Details below and in docs/PROGRESS.md §40-76. Devam eden bir çalışma — ancak sınırlı anlamda oynanabilir. Kampanya başlıyor, The New Sun açılış sinematiği oynuyor ve ilk bölüm klavye+fare ya da kontrolcüyle, sesli olarak oynanabiliyor: ~13-14 kare/s (Radeon 680M, dizüstü güç tasarrufu modunda; oyun kare başına en fazla 1/15 s ilerlediği için saati gerçek zamanın ~%90'ı hızında akıyor, 15 kare/s'den itibaren tam hızda). Bölüm yüklenirken ara sıra hâlâ takılabiliyor. Masaüstünde (Ryzen 5 5600, RTX 3060, KZ2_MAX=1 derlemesi) prolog sonrasındaki Corinth River çatışması ~20-22 kare/s.

Built on ps3recomp; the boot harness is adapted from Kurtisone/twistedmetal. Developed with an AI coding agent. See CREDITS.md.

English | Türkçe


<a id="english"></a>

English

Static recompilation project for Killzone 2 (PlayStation 3) targeting native PC execution.

📊 Project Status: boots, streams data, renders its first frames (pre-alpha)

Built on ps3recomp (v0.15.0, pinned as a submodule, with this port's fixes in patches/ps3recomp/). Linux/Vulkan is the primary host.

StageState
EBOOT → ELF, PPU liftdone — 34,145 OPD functions → 67,196 lifted, 41 chunks, ~6.1 M lines of C++, 234 switch tables
SPU liftdone — 23 embedded SPU ELFs, the WWS job-manager policy module, 36 WWS job modules
Build & linkdone — ~118 MB native x86-64 binary (clang, ~3 min at -j8)
BootCRT, TLS, SPURS ×2, FIOS, cellGcm 720p, display buffers/tiles/zcull, cellFont, cellSaveData, cellAudio, trophies
Asset streamingworks — FIOS reads data_ps3.psarc; Edge Zlib requests are inflated on the host
RenderingVulkan, batched submissions; menus at ~250 presented frames/s; the level renders its deferred passes, shadows and post-processing (teal cast: the colour-grading LUT is still an identity fill)
Front endlanguage select → gamma → main menu → save warning → start screen → campaign difficulty → campaign start
Movies / gameplayintro movie player deadlocks (skipped via tools/make_vfs_nointro.sh); Corinth River loads in ~70 s, the opening cutscene on The New Sun plays and gameplay starts ("Follow Garza to the Launch Bay") at ~13-14 frames/s on the Radeon 680M in power-saver (§54-57: SPU floats in MXCSR round-toward-zero mode, a vertex cache, batches in flight, Z16 targets on the GPU, jm_post on four SPUs)
Audiomenus and level
Inputkeyboard + mouse (first-person layout) or an SDL game controller
Stabilitythe Havok-step stall at level start is fixed (§53); an occasional stop during the level load remains

Gameplay: first objective on The New Sun, "Follow Garza to the Launch Bay"

Opening cutscene: Garza at the window of The New Sun

First in-level image: the cryo bay of The New Sun before entity updates ran

Main menu on ps3recomp v0.15.0: every glyph present

Campaign loading screen: Corinth River with the mission briefing

Full engineering log: docs/PROGRESS.md.

Roadmap

  • Phase 0: Runtime & Build System (ps3recomp submodule, CMake, Linux/Vulkan runner)
  • Phase 1: ELF extraction & analysis (imports, SPU images, job modules)
  • Phase 2: Static recompilation (PPU + SPU lifted and linked)
  • Phase 3: HLE / OS layer — in progress (lwcond ABI, Edge Zlib, cellFont fixed; SVO front end next)
  • Phase 4: RSX rendering — first passes render; final composition missing
  • Phase 5: Audio, input, game loop
  • Phase 6: Playability

Name

The repository is named after Kurumi Tokisaki (Date A Live), a character who commands time — a nod to bringing a 2009 game forward. The name is the only thing it borrows; the engineering is below.

Play in a window / Pencerede oynatma

tools/play.sh
Key / TuşPadKey / TuşPad
W A S Dleft stick (move)Mouse / Fareright stick (look)
Left click / Sol tıkR1 (fire)Right click / Sağ tıkL1 (aim)
SpaceCross (jump)CCircle (crouch)
R / FSquare (reload)T / CTriangle (weapon)
GR2 (grenade)ZL2 (cover)
Left ShiftL3 (sprint)V / middle clickR3 (melee)
EnterSTART (pause)Esc / BackspaceCircle (back)
Arrow keys / Ok tuşlarıD-padTabSELECT
F1release / recapture the mouseCtrl (hold) + mouseSIXAXIS tilt (valves, charges)

An SDL game controller also works. tools/install_desktop_entry.sh adds Killzone 2 to the application menu (it runs tools/play.sh; with Tk installed, KZ2_ENTRY=launcher makes it open tools/launcher.py). On a hybrid laptop the integrated GPU is used by default (KZ2_GPU=dgpu tools/play.sh for the discrete one); PS3_PAD_MOUSE_SENS sets the look speed.

Frame rate / Kare hızı. The level runs at ~13-14 frames/s on a Ryzen 7 170 laptop in its power-saver profile; the CPU is the limit (the RSX emulation thread and the SPU post-processing take turns), so a balanced or performance power profile gives more. The game advances at most 1/15 s per frame: from 15 frames/s its clock runs at real time. Optional for your own build: profile-guided optimisation of the lifted SPU code (cmake -B build -DKZ2_SPU_PGO=gen, build, run with KZ2_PGO=5500,7000 past those frames, llvm-profdata merge -o pgo/spu.profdata build/pgo/*.profraw, then -DKZ2_SPU_PGO=use and build again) -- ~9% off the heaviest SPU job. / Bölüm, güç tasarrufu modundaki Ryzen 7 170 dizüstünde ~13-14 kare/s çalışıyor; sınır işlemci, dengeli/performans güç profili daha fazlasını verir. Oyun kare başına en fazla 1/15 s ilerler: 15 kare/s'den itibaren saati gerçek zamanda akar.

Credits

Most of what runs is other people's work: the ps3recomp toolkit and runtime (Ned Heller / sp00nznet and contributors), and the Linux boot harness of Kurtisone/twistedmetal, both MIT. Bugs fixed in patches/ps3recomp/ were first found by others; see CREDITS.md and THIRD_PARTY_NOTICES.md. This port is developed by YYOzcan with an AI coding agent (Claude); the reasoning behind every change is in docs/PROGRESS.md.

Project Layout

├── CMakeLists.txt          # links the lifted game against the ps3recomp runtime
├── external/ps3recomp/     # toolkit + runtime (git submodule, pinned)
├── patches/ps3recomp/      # this port's fixes to the toolkit (tools/apply_patches.sh)
├── src/
│   ├── boot_main.cpp       # Linux/Windows runner: guest VM, frame clock, backend pick
│   ├── kz2_hle.cpp         # Killzone 2 HLE overrides (Edge Zlib, cellFont, ...)
│   ├── kz2_spu_pm.c        # registers the lifted WWS job-manager policy module
│   └── kz2_ftrace.cpp      # function-entry histogram (diagnostic builds)
├── tools/                  # lift / build / run / diagnostics scripts
└── docs/                   # PROGRESS.md (engineering log), ARCHITECTURE.md

Game files, the lifted C++ (recompiled/, spu_recompiled/) and loader output (out/) are generated from your own disc and are never committed.

Building (Linux)

Requirements: clang, CMake ≥ 3.20, Ninja, Python ≥ 3.10, SDL2, Vulkan headers, glslang, zlib; a decrypted EBOOT.ELF in game_dump/PS3_GAME/USRDIR/.

git clone --recursive https://github.com/YYOzcan/tokisaki-port   # or: git submodule update --init
tools/apply_patches.sh      # this port's ps3recomp fixes
tools/lift.sh               # PPU: EBOOT.ELF -> recompiled/   (~1 min)
tools/lift_spu.sh           # SPU: images, policy module, job modules -> spu_recompiled/
BUILD_JOBS=8 tools/build.sh # ~0.6 GB RAM per job

For this machine only, at full strength (16 GB RAM or more): KZ2_MAX=1 BUILD_JOBS=8 tools/build.sh -- -march=native, the lifted PPU code at -O2, the SPU code with pgo/spu.profdata when present (~7 min on a Ryzen 5 5600; ~7% more frames per second than the default build, docs/PROGRESS.md §62). Without system packages for Ninja or the Vulkan headers: pip install ninja into .venv, and CMAKE_ARGS=-DPS3RECOMP_VULKAN_INCLUDE_DIR=<Vulkan-Headers>/include on the first build. The firmware fonts can come from the disc's own update: rpcs3 --installfw game_dump/PS3_UPDATE/PS3UPDAT.PUP.

Running

tools/run.sh                # Vulkan window; KZ2_RSX=null for headless

run/vfs/PS3_GAME links to the dump, /dev_hdd0 maps to run/hdd0, firmware fonts come from RPCS3's dev_flash (PS3_DEV_FLASH).

Diagnostics: tools/snapshot.sh (all thread stacks under gdb), tools/sample.sh (main-thread sampler), tools/import_audit.py (imports without HLE), tools/psarc_map.py (which archive members were read), KZ2_PEEK / KZ2_DUMPAT (watch guest memory).


<a id="türkçe"></a>

Türkçe

Killzone 2 (PlayStation 3) için geliştirilen, yerel PC çalıştırmasını hedefleyen statik yeniden derleme (static recompilation) projesidir.

📊 Proje Durumu: açılıyor, veri akıtıyor, ilk karelerini çiziyor (ön-alfa)

ps3recomp (v0.15.0, alt modül olarak sabitlendi; bu porta ait düzeltmeler patches/ps3recomp/ altında) üzerine kuruludur. Ana hedef Linux/Vulkan'dır.

AşamaDurum
EBOOT → ELF, PPU çevirimitamam — 34.145 OPD fonksiyonu → 67.196 çevrilmiş fonksiyon, 41 parça, ~6,1 M satır C++
SPU çevirimitamam — 23 gömülü SPU ELF, WWS iş yöneticisi policy module'ü, 36 WWS iş modülü
Derlemetamam — ~118 MB yerel x86-64 çalıştırılabilir dosya
AçılışCRT, TLS, 2×SPURS, FIOS, cellGcm 720p, ekran tamponları, cellFont, cellSaveData, cellAudio, kupalar
Varlık akışıçalışıyor — FIOS data_ps3.psarc okuyor; Edge Zlib istekleri host'ta açılıyor
GrafikVulkan, toplu gönderim; menüler ~250 kare/s; bölümde ertelenmiş aydınlatma, gölgeler ve son işlem çiziliyor (deniz mavisi ton: renk tablosu hâlâ birim dolgu)
Menülerdil seçimi → gama → ana menü → kayıt uyarısı → başlangıç ekranı → zorluk seçimi → kampanya başlangıcı
Video / oynanışgiriş videosu oynatıcısı kilitleniyor (tools/make_vfs_nointro.sh ile atlanıyor); Corinth River ~70 s'de yükleniyor, The New Sun açılış sinematiği oynuyor ve oynanış başlıyor ("Follow Garza to the Launch Bay"): güç tasarrufu modundaki Radeon 680M'de ~13-14 kare/s (§54-57: MXCSR sıfıra-yuvarlama modunda SPU float'ları, köşe önbelleği, uçuştaki partiler, GPU'da Z16, dört SPU'da jm_post)
Sesmenülerde ve bölümde
Kontrolklavye + fare (FPS düzeni) veya SDL kontrolcü
Kararlılıkbölüm başındaki Havok fizik takılması düzeltildi (§53); yüklemede ara sıra bir durma kalıyor

Ayrıntılı mühendislik günlüğü: docs/PROGRESS.md.

Yol Haritası

  • Aşama 0: Çalışma zamanı ve derleme sistemi
  • Aşama 1: ELF çıkarımı ve analiz
  • Aşama 2: Statik çevirim (PPU + SPU)
  • Aşama 3: HLE / işletim sistemi katmanı — sürüyor
  • Aşama 4: RSX grafik — ilk geçişler çiziliyor, son kompozisyon eksik
  • Aşama 5: Ses, giriş, oyun döngüsü
  • Aşama 6: Oynanabilirlik

İsim

Depo adını Date A Live'daki, zamanı yöneten karakter Kurumi Tokisaki'den alır — 2009'dan kalma bir oyunu bugüne taşımaya bir gönderme. Karakterden alınan tek şey isimdir.

Katkılar ve Lisanslar

Çalışan kodun büyük kısmı başkalarının emeğidir: ps3recomp araç seti ve çalışma zamanı (Ned Heller / sp00nznet ve katkıda bulunanlar) ile Kurtisone/twistedmetal projesinin Linux açılış iskeleti; ikisi de MIT lisanslıdır. patches/ps3recomp/ içindeki hataları ilk bulanlar başkalarıdır. Ayrıntılar: CREDITS.md, THIRD_PARTY_NOTICES.md. Bu port YYOzcan tarafından bir yapay zekâ kodlama ajanı (Claude) ile geliştiriliyor; her değişikliğin gerekçesi docs/PROGRESS.md içinde.

Derleme (Linux)

Gerekenler: clang, CMake ≥ 3.20, Ninja, Python ≥ 3.10, SDL2, Vulkan başlıkları, glslang, zlib; game_dump/PS3_GAME/USRDIR/ içinde şifresi çözülmüş EBOOT.ELF.

git clone --recursive https://github.com/YYOzcan/tokisaki-port   # veya: git submodule update --init
tools/apply_patches.sh      # bu portun ps3recomp düzeltmeleri
tools/lift.sh               # PPU çevirimi -> recompiled/
tools/lift_spu.sh           # SPU çevirimi -> spu_recompiled/
BUILD_JOBS=8 tools/build.sh

Yalnızca bu makine için, tam güçte (16 GB RAM ve üstü): KZ2_MAX=1 BUILD_JOBS=8 tools/build.sh -- -march=native, PPU kodu -O2, SPU kodu pgo/spu.profdata ile (Ryzen 5 5600'de ~7 dk; varsayılandan ~%7 daha fazla kare/s, docs/PROGRESS.md §62).

Çalıştırma

tools/run.sh                # Vulkan penceresi; başsız için KZ2_RSX=null

Oyun dosyaları ve diskinizden üretilen C++ kodu depoya asla eklenmez.

Leer guía oficial
CALIFICACIÓN
—
Cargando votos…
Publicidad

FICHA DEL PROYECTO

Tipo de proyecto
PORT NATIVO
Género
Shooter / Disparos
Estado
alpha
Plataforma de origen
PlayStation 3
Tecnología
Port Nativo C/C++ (Reimplementación de Motor)
Versión
—
Actualización
—

Plataformas de destino 2

Windows
Linux
Ver en GitHub
Publicidad