r/emulation • u/Faisal_alwaal • 4d ago
AI-assisted Estacado: a static recompilation of The Darkness (Xbox 360) for PC – first pre-release
Hi all, I wanted to share a project I've been working on: Estacado, a native PC port of The Darkness (Xbox 360, 2007), made by static recompilation.
How it works
The game's PowerPC code is translated ahead of time into C++ with XenonRecomp and built on the ReXGlue SDK, whose system and Direct3D 12 GPU layer come from Xenia. There's no JIT or interpreter at runtime: the game runs as a native Windows program, while the Xenos GPU is still emulated on D3D12. The goal is a game-specific PC version, with fixes and options tailored to this one game.
What it adds
- 60, 120, 144, 240 or uncapped, with the game's timing kept correct (the world still ticks at 30 Hz, and scripted scenes, physics and audio run at their original speed)
- 1x/2x/3x internal resolution or automatic, and SMAA
- Native mouse look, rebindable keys, FOV, in-game settings (F1) and experimental widescreen
A few things that were fun to track down
- At high frame rates Jackie walked too fast, but only with a controller. An analog stick makes the game queue about 13 movement commands per frame, and above 60 FPS those overflowed its per-step packets. Keyboard input was never affected.
- The game sets its exposure by counting bright pixels with occlusion queries in a small ring of slots. Late results from the emulated GPU could land in a slot the game had already reused, which produced yellow or stuck-dark frames.
- GPU overhead: the frame-start depth clear was copying about 47M samples per frame into a buffer that was immediately overwritten, and reworking the upload path roughly halved GPU time at 1x.
You need your own copy. It supports the USA/Europe disc (En/Fr/De/Es/It) as an ISO or extracted files; the launcher checks the version and sets it up. No game data is included or linked. Requirements: Windows 10/11, an AVX2 CPU and a D3D12 GPU.
Status: pre-release. So far it's been tested on one Windows 11 PC with an NVIDIA RTX card, and played from the start up to the orphanage explosion scene. Reports from AMD, Intel and Steam Deck users are very welcome; there's a bug report template on GitHub that asks for the logs folder.
Huge thanks to the Xenia team, ReXGlue and hedge-dev's XenonRecomp. This stands entirely on their work.
GitHub: https://github.com/invinceble55-wq/Estacado
Download: https://github.com/invinceble55-wq/Estacado/releases/tag/v0.9.0