# Dead or Alive 1: ULTIMATE **Final release: v0.9.5** — a native Windows recompilation of the original Xbox game. Arcade, Training, Time Attack, Survival, Kumite and the Secret Menu are playable, with music, voices, sound effects and movies. Online play is not supported. 1 2 3 ## Features - Direct3D 11, Direct3D 12 and Vulkan rendering through NRI. - Independent window size and internal resolution; 4:3 and 16:9 gameplay. Menus, HUD and movies retain their original 4:3 proportions. - Windowed/full-screen presentation with independent borderless selection. Full Screen uses the desktop size without changing the monitor's display mode. - Nearest, bilinear, trilinear and anisotropic filtering; Lanczos2 anti-ringing for 2D scaling; FXAA, 2x/4x SSAA, 2x/4x/8x MSAA and SMAA 1x High. - F1 settings for Display, Graphics and Controls, with saved preferences. - PS4, PS5, Xbox and Nintendo Pro controllers through statically linked SDL3. No SDL3 DLL is required. Keyboard/controller remapping and hotplug are supported. - Last-active keyboard/controller input sharing on P1; independent P2 controller. - Direct read-only `.iso`/`.xiso` access: no game-data extraction required. - Quiet Release builds, with an optional pure batch launcher for diagnostic logs. ## Play You provide the original game image. Place exactly **one** supported `.iso` or `.xiso` beside the executable; names ending in `.xiso.iso` or `.iso.xiso` also work. The image is found automatically, independently of the working directory. ```text DOA1U/ doa1u_recomp.exe Game.xiso.iso create_logs.bat optional diagnostic launcher licenses/ ``` The image must contain the supported root `Doa1.xbe`. Its certificate title ID and full-XBE SHA-256 are checked before boot; modified or unsupported executables are rejected. Multiple adjacent images are rejected rather than guessed between. With **no adjacent image**, the original extracted-folder layout remains supported. See [filesystem details](src/filesystem/README.md) for the supported identity. On first launch, choose settings and press **Play**. Preferences are stored in `doa1u_graphics.ini`; saves remain in ordinary `UDATA`/`TDATA` directories beside the EXE. Carry those files/directories with you when moving an existing install. | Shortcut | Action | | --- | --- | | **F1** | Open the Display/Graphics/Controls settings; return to the same game | | **ESC** | Restart the game in a fresh process | Backend changes apply after restart. See the [launcher guide](docs/launcher.md) and [graphics settings](docs/graphics-settings.md). ### Diagnostic logs Release does **not** create logs by default. To collect `run.log`, `run.err` and `xbox_kernel.log`, run [create_logs.bat](src/create_logs.bat) beside the EXE. Existing logs are replaced when logging is enabled. It does not change gameplay defaults. See [logging instructions](docs/logging.md). ## Build Requires 64-bit Windows, MSVC C/C++ tools, a Windows SDK/resource compiler, **CMake 3.30+**, Python 3 and DXC with SPIR-V support. The supplied presets use **Visual Studio 18 2026**. For another compatible MSVC generator, configure a separate build directory with `cmake -S . -B build-local -G ""`. ### Dependencies Install the external dependencies below before configuring. SDL3 and the SMAA shader/lookup files are already included with their notices. NRI's configure step fetches its pinned allocator/Vulkan-header dependencies. | Dependency | Tested revision / identification | Location | | --- | --- | --- | | [xboxrecomp](https://github.com/sp00nznet/xboxrecomp/tree/v0.16.0) — MIT | `v0.16.0` | `../xboxrecomp`, or set `XBOXRECOMP_DIR` | | [NRI](https://github.com/NVIDIA-RTX/NRI) — MIT | `b5f5c626cfe5dd9e9d7c9e8ffc11007ba97e3b88` | `src/third_party/NRI` | | [Dear ImGui](https://github.com/ocornut/imgui) — MIT | `v1.92.9b` | `src/third_party/imgui` | | [pl_mpeg](https://github.com/phoboslab/pl_mpeg) — MIT | Header SHA-256 below | `src/third_party/pl_mpeg.h` | | [RenderDoc API header](https://github.com/baldurk/renderdoc) — MIT | Header SHA-256 below; optional diagnostic capture integration | `src/third_party/renderdoc_app.h` | | [SDL3](src/third_party/SDL3/README.md) — zlib/HIDAPI notices | `3.4.18`, vendored and statically built | `src/third_party/SDL3/upstream` | The installed header snapshots are identified by SHA-256 because their exact upstream commits were not recorded: ```text pl_mpeg.h: 3A8CB30C83C2A1147719C30FE0C8B93DA2987AA43140077C575B39AAA75FC2C9 renderdoc_app.h: B7005E7DC34C3635046868BBD76D81B9B055AEDE0F56DAA0BD39FEDEE0639FFB ``` DXC must support SPIR-V; some Windows SDK copies do not. Set `-DDOA1U_DXC=""` if required. DXC and Python are build-only; compiled shaders are embedded in the executable. ### Release and Debug From the repository root: ```powershell cmake --preset release cmake --build --preset release # Use Debug for CDB, source stepping and stack investigations: cmake --build build --config Debug --target doa1u_recomp ``` For a non-sibling xboxrecomp checkout, add `-DXBOXRECOMP_DIR=""` to the configure command. | Configuration | Compiler settings | Symbols | Default logging | | --- | --- | --- | --- | | Release | `/O2 /Ob2` | No PDB generation | Off | | Debug | `/Od /Ob0`, frame pointers | Full matching EXE/PDB | On | Outputs are under `build/Release` and `build/Debug`, with `create_logs.bat` beside the EXE. Keep the matching Debug EXE/PDB together when debugging. Diagnostic probes are a separate `DOA1U_DIAGNOSTIC` option, not a substitute for Debug. See [build configurations](docs/build-configurations.md). The patched generated code is already tracked: a normal build does **not** need an XBE, game image or regeneration step. Do not regenerate it blindly. Project-owned xboxrecomp changes are tracked in `src/xboxrecomp`; CMake applies those over an isolated build-local runtime copy without editing the external checkout. The project-owned file backend is selected exactly once. ## Documentation and maintenance - [Documentation index](docs/README.md) - [Source layout and runtime overrides](src/README.md) - [Rendering architecture](docs/rendering.md) - [Filesystem and identity validation](src/filesystem/README.md) - [Movie acquisition and decoder behavior](src/fmv/README.md) - [Verification commands](docs/verification.md) and [retained regression checks](tools/REGRESSION_TESTS.md) Reusable checks, decoder baseline metadata, repair scripts, active release assets and dependency licenses are retained. Build outputs and local game data remain ignored. ## Credits and notices Built with xboxrecomp, NRI, Dear ImGui, SDL3, pl_mpeg and the credited shader components. Keep each dependency's license and attribution notices. Original Dead or Alive artwork belongs to its respective owners; see the [logo provenance](docs/assets/launcher-logo.README.md). You supply the game image. ### 2D shaders and filtering credits | Filter | Code and attribution | | --- | --- | | **NN — nearest-neighbor** | [Project implementation](src/render/nri/nv2a_backend_nri.cpp); [Microsoft reference](https://learn.microsoft.com/en-us/windows/win32/direct3d9/nearest-point-sampling) (not an imported shader). Used for testing before settling on Lanczos2. | | **SNN — symmetric nearest-neighbor** | Project implementation: [`HLSL_SNN`](src/render/common/guest_shaders.h); [GIMP reference](https://docs.gimp.org/2.10/en/gimp-filter-snn-mean.html) (not imported GIMP code). Used for testing before settling on Lanczos2. | | **Lanczos2 + anti-ringing — final 2D filter** | [`HLSL_PS_LANCZOS`](src/render/common/guest_shaders.h), adapted from [Hyllian/Jararaca's `lanczos2-sharp.cg`](https://github.com/libretro/common-shaders/blob/master/windowed/shaders/lanczos2-sharp.cg) in libretro/common-shaders. Copyright 2011–2014 Hyllian/Jararaca; **GPL-2.0-or-later**. See the [adaptation and license notice](src/render/common/lanczos2-LICENSE.txt). | ## Legal Notice No code from the original owners is present on this repository. Included art is part of public domain and freely available on the internet. Final user must provide a legally obtained backup image of the original XBOX game disk. ## AI Use Disclosure AI-assisted development: Codex and Claude Code.