d2vita¶
Port of Diablo II: Lord of Destruction to the PS Vita — public source code and VPK.
Legal status — read before anything else
Every public version (source code as much as the VPK) meets a fixed bar before publication: no Blizzard file or data in the VPK, third-party components licensed and recorded, secrets hygiene. Players supply their own legitimately-owned copy of D2/LoD; this repository distributes none.
This project runs Blizzard's original binary (see Architecture) rather than decompiling or reimplementing it — earlier strategies that decompiled parts of it were abandoned before shipping anything. No Blizzard file or asset is distributed by this repository or this site.
What this is¶
d2vita runs the real Windows binaries of Diablo II: Lord of Destruction (patch 1.14d) on PS Vita, via an x86→ARMv7 execution engine: not a reimplementation of the game, a direct execution of its original code under dynamic translation, with only the Windows dependencies (KERNEL32, GDI32, USER32, DirectDraw/DirectSound...) replaced by native ARM implementations.
Current strategy: run Diablo, don't rewrite it. Two earlier strategies (a native reimplementation via D2MOO, then static AOT lifting of the x86 code to C) were abandoned — the second had only reached ~3.4% of D2Common's code after substantial work.
The engine: winx86¶
The generic engine (PE32 loader, Box86-derived dynarec, schedulers, Win32
import bridge) lives in a separate repository,
winx86, consumed here as a git
submodule (third_party/winx86). What's specific to Diablo II stays in
this repository: performance hooks placed at precise addresses of the
game's binary, Glide rendering, and the Win32 shims whose body genuinely
depends on the game.
The generic shims have migrated to the engine through a function-by-function sort — about a third of the keys today. See Architecture for the principle behind this boundary, and Win32 shim list for the exact count, generated from the sources.
Where to go next¶
- Architecture — how this repository fits together with winx86.
- Three-level validation — the method that makes a performance result credible or not.
- Native ports and measured gains — the catalog, with real numbers, measured where and how.
- Installation — installing the VPK and the game files.
- Online play — what's proven against Battle.net, and what isn't.
- Fidelity Warden / anti-cheat — the detailed technical backlog of gaps still open relative to a real Windows process.
- Controller and keyboard — the full mapping and its configuration.
- Privacy — crash reports — what's collected, stripped, encrypted, and how to turn it all off.