Skip to content

Releases: NoRain211/doa2u-re

0.1.7 Alpha (experimental)

Choose a tag to compare

@NoRain211 NoRain211 released this 28 Oct 00:57
c74f0dc

0.1.7 Alpha (experimental)

Downloads: DOA2U-0.1.7-Alpha.zip is for Windows. DOA2U-0.1.7-Alpha-macOS.zip is for Apple Silicon and Intel Macs, and DOA2U-0.1.7-Alpha-Linux.zip is for x86-64 Linux and the Steam Deck. Each ZIP's README.txt lists its setup.

The Dead or Alive 2 Ultimate native port runs on Windows, macOS and Linux. The game's own code runs as a static recompilation with a native runtime: Direct3D 11 and XAudio2 on Windows, Metal or Vulkan through SDL_GPU and SDL3 audio on macOS and Linux. Story, Watch and the attract demo play on every stage at up to 4K with the game's native 16:9 widescreen. This is bring-up software: many modes and characters have not been tried, and a draw the port cannot render yet stops the game with a message in its log.

New in 0.1.7

  • Builds no longer stop when Pillow has no prebuilt package (#35, fixes #33). Pillow only draws the optional dedication card. On Python 3.15 the pinned Pillow had no package, so pip compiled it from source and the build failed. The build now installs the newest Pillow that has a package for your Python, and if none installs it prints a notice and builds without the card.
  • More detail when a reflection draw stops the game (#36, for #32). A stop that ends with d3d8:reflection-normal now logs the world matrix and primitive type of the object that triggered it, on the line before recomp stop:. This adds logging only; the stop itself is not fixed.
  • 3D sound effects and voices keep more high-frequency detail (#25). Positioned voices were resampled to 48 kHz by linear interpolation before the HRTF, which cut about 4 dB at 6 kHz. They now use the 8-point Lagrange resampling the Xbox audio hardware is reported to use, and a filter change steps in over 32 samples. Positioned voices arrive about 0.2 to 0.4 ms later.
  • Contributors get a checked-in registry of the functions named in Ghidra (#26).

The generated game program is unchanged from 0.1.6. Extract the ZIP into a new folder and build again.

Setup

Windows: extract the ZIP into a new folder with a short path, for example C:\DOA2U, drag your Dead or Alive Ultimate (Xbox, USA) Disc 2 ISO onto BuildGame.cmd, wait for Build complete, then double-click play.cmd. Requires Windows 10/11 x64, Python 3.12+, CMake 3.20+, an internet connection for the first build and about 6 GB free (about 10 GB on FAT32 or exFAT).

macOS and Linux: install the tools the ZIP's README.txt lists (Homebrew packages on macOS, distribution packages on Linux) and build extract-xiso, then run ./build_game.sh /path/to/disc2.iso --extractor /path/to/extract-xiso and play with ./launcher.sh. On the Steam Deck, build inside an Ubuntu 24.04 distrobox; see docs/building.md.

Other regions, versions and Disc 1 are refused. Every build stops unless it reproduces the exact program the developers tested. The ZIPs contain source and setup tools, with no game files or prebuilt game runner.

Validation

  • CI builds and runs the runtime tests on Windows (MSVC and clang), Linux and macOS for every change in this release.
  • The Pillow change ran through the real build() on a clean Python 3.15.0a1 environment with no Pillow. It installed Pillow 13.0.0 and reached the compiler step. With the package index unreachable it printed the notice and continued.
  • The resampler change had a 45-second isolated Windows probe (2,551 frames, no stop) when it merged, and its filter was checked in unit tests. It has not been compared by ear against a real Xbox. This release as a whole has not been played through, and the ZIPs were not built on macOS or Linux.

Known limits

  • Versus, Tag, Survival, Time Attack, Sparring and most characters' full Story runs have not been played through.
  • The Xbox Live menus stop the game; there is no online service.
  • A demanding moment on The Burai Zenin can still drop a single frame.
  • The safari stage's heat haze does not ripple yet, and its water leaves a gap between the elephants' reflections.
  • An unsupported draw stops the game; the log names the missing state.
  • Ayane against Kasumi on the snow stage can stop the game with d3d8:reflection-normal (#32). This release adds logging for it, not a fix. If you hit it, share the recomp d3d8: reflection-normal world line and the recomp stop: line under it, with private paths removed.
  • On macOS and Linux, MSAA stops at 8x (4x on Apple GPUs), and variable refresh is Windows only.

Please report issues with your platform, what you did and what happened, and the "recomp stop" or crash lines from the end of the newest log in private/play-logs. Remove private paths before sharing log lines; do not upload whole logs, game files, generated game code or saves.

This project uses LLMs and AI coding agents extensively for code, reverse engineering, tests and documentation. Their output can contain mistakes; passing tests does not establish complete game fidelity.

Bundled components retain their licenses. XboxDev extract-xiso (in the Windows ZIP) and its license are included. This product includes software developed by in in@fishtank.com. SMAA is fetched as source under its MIT license, and SDL3 and llvm-mingw are downloaded by the build. The macOS and Linux host layer adapts code from the sister doa3-re and doaxbv-re ports, and the reverb is altered from FAudio under the zlib license. See LICENSE and NOTICE.

If you like my work, please consider buying a coffee on my Ko-fi.

0.1.6 Alpha (experimental)

Choose a tag to compare

@NoRain211 NoRain211 released this 24 Oct 12:44
79dfbc7

0.1.6 Alpha (experimental)

Downloads: DOA2U-0.1.6-Alpha.zip is for Windows. DOA2U-0.1.6-Alpha-macOS.zip is for Apple Silicon and Intel Macs, and DOA2U-0.1.6-Alpha-Linux.zip is for x86-64 Linux and the Steam Deck. Each ZIP's README.txt lists its setup.

The Dead or Alive 2 Ultimate native port runs on Windows, macOS and Linux. The game's own code runs as a static recompilation with a native runtime: Direct3D 11 and XAudio2 on Windows, Metal or Vulkan through SDL_GPU and SDL3 audio on macOS and Linux. Story, Watch and the attract demo play on every stage at up to 4K with the game's native 16:9 widescreen. This is bring-up software: many modes and characters have not been tried, and a draw the port cannot render yet stops the game with a message in its log.

New in 0.1.6

  • 3D sound effects and voices sound clear (#22). The port read the game's HRTF filter taps in the wrong number format, which low-passed every positioned sound. It now decodes them the way the Xbox audio hardware does, and runs the game's own crosstalk stage: the 2x gain and the crosstalk canceller from its DSP program. The reverb return goes through the same canceller. This targets reports that fights sounded muffled and that music drowned out effects and voices.
  • Optional 5.1 surround (#22). Tick Surround 5.1 in the launcher, or pass --surround. The game then sees a Dolby Digital setup and uses its own surround mix: 2D sounds use all six channels, and 3D sounds move between the front and back speakers as they move around you. Stereo stays the default.
  • Shattering stage mirrors render (#23). Breaking a stage mirror used to stop the game with d3d8:copy-rects-unbound. The shards now draw with the frame they reflect; their edges are smoothed by MSAA rather than the Xbox's edge antialiasing.

The generated game program is unchanged from 0.1.5. Extract the ZIP into a new folder and build again.

Setup

Windows: extract the ZIP into a new folder with a short path, for example C:\DOA2U, drag your Dead or Alive Ultimate (Xbox, USA) Disc 2 ISO onto BuildGame.cmd, wait for Build complete, then double-click play.cmd. Requires Windows 10/11 x64, Python 3.12+, CMake 3.20+, an internet connection for the first build and about 6 GB free (about 10 GB on FAT32 or exFAT).

macOS and Linux: install the tools the ZIP's README.txt lists (Homebrew packages on macOS, distribution packages on Linux) and build extract-xiso, then run ./build_game.sh /path/to/disc2.iso --extractor /path/to/extract-xiso and play with ./launcher.sh. On the Steam Deck, build inside an Ubuntu 24.04 distrobox; see docs/building.md.

Other regions, versions and Disc 1 are refused. Every build stops unless it reproduces the exact program the developers tested. The ZIPs contain source and setup tools, with no game files or prebuilt game runner.

Validation

  • Windows: a 40-second isolated probe of this runtime with surround on ran to frame 2,275 without a stop, with XAudio2 output initialized. Unit tests cover the 5.1 routing, the front/back split, the rear HRTF fold, the crosstalk canceller and the mirror copy.
  • I have no 5.1 speakers or real Xbox here, so surround placement and the new 3D sound have not been compared against hardware by ear.
  • CI builds and runs the runtime tests on Windows (MSVC and clang), Linux and macOS. I did not build the macOS or Linux ZIPs on those platforms for this release.

Known limits

  • Versus, Tag, Survival, Time Attack, Sparring and most characters' full Story runs have not been played through.
  • The Xbox Live menus stop the game; there is no online service.
  • A demanding moment on The Burai Zenin can still drop a single frame.
  • The safari stage's heat haze does not ripple yet, and its water leaves a gap between the elephants' reflections.
  • An unsupported draw stops the game; the log names the missing state.
  • On macOS and Linux, MSAA stops at 8x (4x on Apple GPUs), and variable refresh is Windows only.

Please report issues with your platform, what you did and what happened, and the "recomp stop" or crash lines from the end of the newest log in private/play-logs. Remove private paths before sharing log lines; do not upload whole logs, game files, generated game code or saves.

This project uses LLMs and AI coding agents extensively for code, reverse engineering, tests and documentation. Their output can contain mistakes; passing tests does not establish complete game fidelity.

Bundled components retain their licenses. XboxDev extract-xiso (in the Windows ZIP) and its license are included. This product includes software developed by in in@fishtank.com. SMAA is fetched as source under its MIT license, and SDL3 and llvm-mingw are downloaded by the build. The macOS and Linux host layer adapts code from the sister doa3-re and doaxbv-re ports, and the reverb is altered from FAudio under the zlib license. See LICENSE and NOTICE.

If you like my work, please consider buying a coffee on my Ko-fi.

0.1.5 Alpha (experimental)

Choose a tag to compare

@NoRain211 NoRain211 released this 24 Oct 01:26
bcd734d

0.1.5 Alpha (experimental)

Downloads: DOA2U-0.1.5-Alpha.zip is for Windows. DOA2U-0.1.5-Alpha-macOS.zip is for Apple Silicon and Intel Macs, and DOA2U-0.1.5-Alpha-Linux.zip is for x86-64 Linux and the Steam Deck. Each ZIP's README.txt lists its setup.

The Dead or Alive 2 Ultimate native port runs on Windows, macOS and Linux. The game's own code runs as a static recompilation with a native runtime: Direct3D 11 and XAudio2 on Windows, Metal or Vulkan through SDL_GPU and SDL3 audio on macOS and Linux. Story, Watch and the attract demo play on every stage at up to 4K with the game's native 16:9 widescreen. This is bring-up software: many modes and characters have not been tried, and a draw the port cannot render yet stops the game with a message in its log.

New in 0.1.5

  • Play works again after an interrupted first launch (#20). If the first launch was closed while it set up the play folder, every later Play stopped with Cannot run game: [WinError 183] Cannot create a file when that file already exists: '...\private\play-disc.tmp'. Play now removes the unfinished folder and sets it up again; it never holds saves. If you saw this error in an earlier version, you can also delete private\play-disc.tmp and press Play.
  • First launch on FAT32 or exFAT says it is copying. These drives copy the disc (about 4 GB) into the play folder, which can take several minutes with no other output. The window now says so and asks you to keep it open.

The generated game program is unchanged from 0.1.4. Extract the ZIP into a new folder and build again.

Setup

Windows: extract the ZIP into a new folder with a short path, for example C:\DOA2U, drag your Dead or Alive Ultimate (Xbox, USA) Disc 2 ISO onto BuildGame.cmd, wait for Build complete, then double-click play.cmd. Requires Windows 10/11 x64, Python 3.12+, CMake 3.20+, an internet connection for the first build and about 6 GB free (about 10 GB on FAT32 or exFAT).

macOS and Linux: install the tools the ZIP's README.txt lists (Homebrew packages on macOS, distribution packages on Linux) and build extract-xiso, then run ./build_game.sh /path/to/disc2.iso --extractor /path/to/extract-xiso and play with ./launcher.sh. On the Steam Deck, build inside an Ubuntu 24.04 distrobox; see docs/building.md.

Other regions, versions and Disc 1 are refused. Every build stops unless it reproduces the exact program the developers tested. The ZIPs contain source and setup tools, with no game files or prebuilt game runner.

Validation

  • Windows on FAT32: a new folder extracted from the Windows ZIP onto a FAT32 USB drive built from the USA Disc 2 ISO and reproduced the tested program. A first launch killed 270 MB into the disc copy left play-disc.tmp behind, the state that stopped earlier versions. The next launch rebuilt the play folder, left no unfinished folder and ran 40 seconds to frame 2,197 without a stop.
  • CI builds and runs the runtime tests on Windows (MSVC and clang), Linux and macOS. I did not build the macOS or Linux ZIPs on those platforms for this release.

Known limits

  • Versus, Tag, Survival, Time Attack, Sparring and most characters' full Story runs have not been played through.
  • The Xbox Live menus stop the game; there is no online service.
  • A demanding moment on The Burai Zenin can still drop a single frame.
  • The safari stage's heat haze does not ripple yet, and its water leaves a gap between the elephants' reflections.
  • An unsupported draw stops the game; the log names the missing state.
  • On macOS and Linux, MSAA stops at 8x (4x on Apple GPUs), and variable refresh is Windows only.

Please report issues with your platform, what you did and what happened, and the "recomp stop" or crash lines from the end of the newest log in private/play-logs. Remove private paths before sharing log lines; do not upload whole logs, game files, generated game code or saves.

This project uses LLMs and AI coding agents extensively for code, reverse engineering, tests and documentation. Their output can contain mistakes; passing tests does not establish complete game fidelity.

Bundled components retain their licenses. XboxDev extract-xiso (in the Windows ZIP) and its license are included. This product includes software developed by in in@fishtank.com. SMAA is fetched as source under its MIT license, and SDL3 and llvm-mingw are downloaded by the build. The macOS and Linux host layer adapts code from the sister doa3-re and doaxbv-re ports, and the reverb is altered from FAudio under the zlib license. See LICENSE and NOTICE.

If you like my work, please consider buying a coffee on my Ko-fi.

0.1.4 Alpha (experimental)

Choose a tag to compare

@NoRain211 NoRain211 released this 24 Oct 00:23
6ceea95

0.1.4 Alpha (experimental)

Downloads: DOA2U-0.1.4-Alpha.zip is for Windows. DOA2U-0.1.4-Alpha-macOS.zip is for Apple Silicon and Intel Macs, and DOA2U-0.1.4-Alpha-Linux.zip is for x86-64 Linux and the Steam Deck. Each ZIP's README.txt lists its setup.

The Dead or Alive 2 Ultimate native port runs on Windows, macOS and Linux. The game's own code runs as a static recompilation with a native runtime: Direct3D 11 and XAudio2 on Windows, Metal or Vulkan through SDL_GPU and SDL3 audio on macOS and Linux. Story, Watch and the attract demo play on every stage at up to 4K with the game's native 16:9 widescreen. This is bring-up software: many modes and characters have not been tried, and a draw the port cannot render yet stops the game with a message in its log.

New in 0.1.4

  • Fewer audio dropouts on Windows (#16). 3D sounds could stutter or cut out, most noticeably during the ending credits, because the XAudio2 output held only about 16 ms of audio for them. It now holds about 128 ms for those sounds and up to 250 ms for others, so short hitches in the game no longer drop sound. macOS and Linux use SDL3 audio and are unchanged.
  • Better audio logs. When sound is still dropped, the log says which limit was hit (queue-full or too-far-ahead) and how far ahead the sound was. Each sound with reverb also logs its volume and reverb levels once, to help track down reports of voices sounding too loud or distant.

The generated game program is unchanged from 0.1.3. Extract the ZIP into a new folder and build again.

Setup

Windows: extract the ZIP into a new folder with a short path, for example C:\DOA2U, drag your Dead or Alive Ultimate (Xbox, USA) Disc 2 ISO onto BuildGame.cmd, wait for Build complete, then double-click play.cmd. Requires Windows 10/11 x64, Python 3.12+, CMake 3.20+, an internet connection for the first build and about 6 GB free (about 10 GB on FAT32 or exFAT).

macOS and Linux: install the tools the ZIP's README.txt lists (Homebrew packages on macOS, distribution packages on Linux) and build extract-xiso, then run ./build_game.sh /path/to/disc2.iso --extractor /path/to/extract-xiso and play with ./launcher.sh. On the Steam Deck, build inside an Ubuntu 24.04 distrobox; see docs/building.md.

Other regions, versions and Disc 1 are refused. Every build stops unless it reproduces the exact program the developers tested. The ZIPs contain source and setup tools, with no game files or prebuilt game runner.

Validation

  • CI builds and runs the runtime tests on Windows (MSVC and clang), Linux and macOS. The audio backend test covers both new limits.
  • The audio fix has not been play tested yet. If the credits still stutter, please send the [audio-output] lines from your log.

Known limits

  • Versus, Tag, Survival, Time Attack, Sparring and most characters' full Story runs have not been played through.
  • The Xbox Live menus stop the game; there is no online service.
  • A demanding moment on The Burai Zenin can still drop a single frame.
  • The safari stage's heat haze does not ripple yet, and its water leaves a gap between the elephants' reflections.
  • An unsupported draw stops the game; the log names the missing state.
  • On macOS and Linux, MSAA stops at 8x (4x on Apple GPUs), and variable refresh is Windows only.

Please report issues with your platform, what you did and what happened, and the "recomp stop" or crash lines from the end of the newest log in private/play-logs. Remove private paths before sharing log lines; do not upload whole logs, game files, generated game code or saves.

This project uses LLMs and AI coding agents extensively for code, reverse engineering, tests and documentation. Their output can contain mistakes; passing tests does not establish complete game fidelity.

Bundled components retain their licenses. XboxDev extract-xiso (in the Windows ZIP) and its license are included. This product includes software developed by in in@fishtank.com. SMAA is fetched as source under its MIT license, and SDL3 and llvm-mingw are downloaded by the build. The macOS and Linux host layer adapts code from the sister doa3-re and doaxbv-re ports, and the reverb is altered from FAudio under the zlib license. See LICENSE and NOTICE.

If you like my work, please consider buying a coffee on my Ko-fi.

0.1.3 Alpha (experimental)

Choose a tag to compare

@NoRain211 NoRain211 released this 23 Oct 23:18
6519ace

0.1.3 Alpha (experimental)

Downloads: DOA2U-0.1.3-Alpha.zip is for Windows. DOA2U-0.1.3-Alpha-macOS.zip is for Apple Silicon and Intel Macs, and DOA2U-0.1.3-Alpha-Linux.zip is for x86-64 Linux and the Steam Deck. Each ZIP's README.txt lists its setup.

The Dead or Alive 2 Ultimate native port runs on Windows, macOS and Linux. The game's own code runs as a static recompilation with a native runtime: Direct3D 11 and XAudio2 on Windows, Metal or Vulkan through SDL_GPU and SDL3 audio on macOS and Linux. Story, Watch and the attract demo play on every stage at up to 4K with the game's native 16:9 widescreen. This is bring-up software: many modes and characters have not been tried, and a draw the port cannot render yet stops the game with a message in its log.

New in 0.1.3

  • Install on any drive (#17). The port no longer needs an NTFS drive. On FAT32 and exFAT drives, common on USB sticks, the first launch copies the disc into the play folder instead of hardlinking it, so allow about 4 GB more space there. NTFS drives use hardlinks as before.
  • Leave unlocks to play. python tools/run_game.py --play --no-unlock-all turns off the automatic character and costume unlock, so unlocks come from playing. Profiles already saved with the unlock keep it.

The generated game program is unchanged from 0.1.2. Extract the ZIP into a new folder and build again.

Setup

Windows: extract the ZIP into a new folder with a short path, for example C:\DOA2U, drag your Dead or Alive Ultimate (Xbox, USA) Disc 2 ISO onto BuildGame.cmd, wait for Build complete, then double-click play.cmd. Requires Windows 10/11 x64, Python 3.12+, CMake 3.20+, an internet connection for the first build and about 6 GB free (about 10 GB on FAT32 or exFAT).

macOS and Linux: install the tools the ZIP's README.txt lists (Homebrew packages on macOS, distribution packages on Linux) and build extract-xiso, then run ./build_game.sh /path/to/disc2.iso --extractor /path/to/extract-xiso and play with ./launcher.sh. On the Steam Deck, build inside an Ubuntu 24.04 distrobox; see docs/building.md.

Other regions, versions and Disc 1 are refused. Every build stops unless it reproduces the exact program the developers tested. The ZIPs contain source and setup tools, with no game files or prebuilt game runner.

Validation

  • Windows on FAT32: a new folder extracted from the Windows ZIP onto a FAT32 USB drive downloaded llvm-mingw there, built from the USA Disc 2 ISO and reproduced the tested program. The first launch copied the 4.4 GB disc into the play folder. Two 40-second runs, one with fresh saves, reached frames 2,053 and 2,062 without a stop. An earlier first launch ended on its own after frame 1,883 with no stop message; it did not happen again.
  • CI builds and runs the runtime tests on Windows (MSVC and clang), Linux and macOS. I did not build the macOS or Linux ZIPs on those platforms for this release.

Known limits

  • Versus, Tag, Survival, Time Attack, Sparring and most characters' full Story runs have not been played through.
  • The Xbox Live menus stop the game; there is no online service.
  • A demanding moment on The Burai Zenin can still drop a single frame.
  • The safari stage's heat haze does not ripple yet, and its water leaves a gap between the elephants' reflections.
  • An unsupported draw stops the game; the log names the missing state.
  • On macOS and Linux, MSAA stops at 8x (4x on Apple GPUs), and variable refresh is Windows only.

Please report issues with your platform, what you did and what happened, and the "recomp stop" or crash lines from the end of the newest log in private/play-logs. Remove private paths before sharing log lines; do not upload whole logs, game files, generated game code or saves.

This project uses LLMs and AI coding agents extensively for code, reverse engineering, tests and documentation. Their output can contain mistakes; passing tests does not establish complete game fidelity.

Bundled components retain their licenses. XboxDev extract-xiso (in the Windows ZIP) and its license are included. This product includes software developed by in in@fishtank.com. SMAA is fetched as source under its MIT license, and SDL3 and llvm-mingw are downloaded by the build. The macOS and Linux host layer adapts code from the sister doa3-re and doaxbv-re ports, and the reverb is altered from FAudio under the zlib license. See LICENSE and NOTICE.

If you like my work, please consider buying a coffee on my Ko-fi.

0.1.2 Alpha (experimental)

Choose a tag to compare

@NoRain211 NoRain211 released this 20 Oct 20:00

0.1.2 Alpha (experimental)

Downloads: DOA2U-0.1.2-Alpha.zip is for Windows. DOA2U-0.1.2-Alpha-macOS.zip is for Apple Silicon and Intel Macs, and DOA2U-0.1.2-Alpha-Linux.zip is for x86-64 Linux and the Steam Deck. Each ZIP's README.txt lists its setup.

The Dead or Alive 2 Ultimate native port now runs on Windows, macOS and Linux. The game's own code runs as a static recompilation with a native runtime: Direct3D 11 and XAudio2 on Windows, Metal or Vulkan through SDL_GPU and SDL3 audio on macOS and Linux. Story, Watch and the attract demo play on every stage at up to 4K with the game's native 16:9 widescreen. This is bring-up software: many modes and characters have not been tried, and a draw the port cannot render yet stops the game with a message in its log.

New in 0.1.2

  • macOS and Linux, including the Steam Deck (#1, by @tmcleroy). An SDL_GPU presenter renders through Metal on macOS and Vulkan on Linux from the same HLSL draw shader as Windows, so a shading fix reaches every platform. Audio runs through SDL3 with the game's 3D voices and an I3DL2 reverb ported from FAudio. launcher.sh picks the same settings as play.cmd; on Linux it works with a gamepad in Steam Game Mode.
  • No Visual Studio on Windows. The build downloads the pinned llvm-mingw compiler (190 MB) and checks its SHA-256, so you need only Python and CMake. The game compiles in about half the time, and the runner no longer needs the Visual C++ runtime.
  • From the 0.1.1 update: the one-time build takes about 15 minutes on Windows instead of 45 and shows a progress bar, and Play explains what went wrong, including when the game has not been built yet.

The generated game program is unchanged from 0.1.1. Extract the ZIP into a new folder and build again; 0.1.2 starts with fresh saves, and every character and costume is unlocked from the start.

Setup

Windows: extract the ZIP into a new folder with a short path on an NTFS drive, for example C:\DOA2U, drag your Dead or Alive Ultimate (Xbox, USA) Disc 2 ISO onto BuildGame.cmd, wait for Build complete, then double-click play.cmd. Requires Windows 10/11 x64, Python 3.12+, CMake 3.20+, an internet connection for the first build and about 6 GB free.

macOS and Linux: install the tools the ZIP's README.txt lists (Homebrew packages on macOS, distribution packages on Linux) and build extract-xiso, then run ./build_game.sh /path/to/disc2.iso --extractor /path/to/extract-xiso and play with ./launcher.sh. On the Steam Deck, build inside an Ubuntu 24.04 distrobox; see docs/building.md.

Other regions, versions and Disc 1 are refused. Every build stops unless it reproduces the exact program the developers tested. The ZIPs contain source and setup tools, with no game files or prebuilt game runner.

Validation

  • Windows: a new folder extracted from the Windows ZIP downloaded llvm-mingw, built from the USA Disc 2 ISO in 11 minutes and reproduced the tested program. A 40-second run reached frame 2,121 without a stop.
  • Linux: the Linux ZIP built on Ubuntu 24.04 (WSL2) in 24 minutes, including disc extraction, and reproduced the same program. A 40-second headless run on the lavapipe software Vulkan driver reached frame 777 without a stop. @tmcleroy also played it on a Steam Deck.
  • macOS: @tmcleroy built it on an M4 Mac, reproduced the same program and played at a locked 60 fps at 1080p. I could not build the macOS ZIP myself; its runtime tests pass in CI.
  • Runtime tests pass on Windows with MSVC (37/37) and clang (35/35) and on Linux (36/36, including the presenter on lavapipe). CI builds and tests Windows, Linux and macOS.

Known limits

  • Versus, Tag, Survival, Time Attack, Sparring and most characters' full Story runs have not been played through.
  • The Xbox Live menus stop the game; there is no online service.
  • A demanding moment on The Burai Zenin can still drop a single frame.
  • The safari stage's heat haze does not ripple yet, and its water leaves a gap between the elephants' reflections.
  • An unsupported draw stops the game; the log names the missing state.
  • On macOS and Linux, MSAA stops at 8x (4x on Apple GPUs), and variable refresh is Windows only.

Please report issues with your platform, what you did and what happened, and the "recomp stop" or crash lines from the end of the newest log in private/play-logs. Remove private paths before sharing log lines; do not upload whole logs, game files, generated game code or saves.

This project uses LLMs and AI coding agents extensively for code, reverse engineering, tests and documentation. Their output can contain mistakes; passing tests does not establish complete game fidelity.

Bundled components retain their licenses. XboxDev extract-xiso (in the Windows ZIP) and its license are included. This product includes software developed by in in@fishtank.com. SMAA is fetched as source under its MIT license, and SDL3 and llvm-mingw are downloaded by the build. The macOS and Linux host layer adapts code from the sister doa3-re and doaxbv-re ports, and the reverb is altered from FAudio under the zlib license. See LICENSE and NOTICE.

If you like my work, please consider buying a coffee on my Ko-fi.

0.1.1 Alpha (experimental)

Choose a tag to compare

@NoRain211 NoRain211 released this 19 Oct 20:37

0.1.1 Alpha (experimental)

Download DOA2U-0.1.1-Alpha.zip.

The first public build of the Dead or Alive 2 Ultimate native PC port. The game's own code runs as a static recompilation with a native Direct3D 11, XAudio2 and SDL3 runtime. Story, Watch and the attract demo play on every stage at up to 4K with the game's native 16:9 widescreen. This is bring-up software: many modes and characters have not been tried, and a draw the port cannot render yet stops the game with a message in its log.

0.1.1 replaces the withdrawn 0.1, whose first boot sat on a black screen for minutes while the game installed its disc archives to the Xbox hard disk 32 KB at a time. The launcher now copies those archives into the game's cache before the first boot, so the game starts in seconds.

Updated October 20: the one-time build now takes about 15 minutes instead of 45, skips the silent disassembly step that made it look stuck, and shows a progress bar. Play now keeps its window open and says what went wrong, including when the game has not been built yet. If an earlier download stopped during the build, extract this ZIP and build again.

Features

  • The whole game, recompiled. Boot, menus, character select, Story, Watch and the attract demo run on the original game code, lifted to C.
  • Native renderer. Direct3D 11 at 480p to 4K, the game's own 16:9 camera and menus, MSAA up to 32x and SMAA Ultra. Water reflections render at the output resolution; bloom and lighting follow the game's own passes.
  • Xbox-like pacing. Frames flip on the next refresh as on the Xbox, at 60 fps, including heavy rain-stage fights at 4K.
  • Audio and movies. Music and voices through XAudio2, with 3D voices through the game's HRTF tables and I3DL2 reverb. The intro and story movies play.
  • Controllers. Xbox, PlayStation and other SDL3 controllers, and the keyboard for player 1.
  • Launcher. play.cmd picks resolution, anti-aliasing, widescreen and an optional intro-movie skip, and remembers them.
  • Saves. Your profile and unlocks save locally; every character and costume starts unlocked. Start + Back + both triggers resets the game.

Setup

  1. Extract the entire ZIP into a new folder with a short path on an NTFS drive, for example C:\DOA2U. FAT32 and exFAT drives cannot hold the play folder's hardlinks. GitHub's automatic source archives lack the lifter and the ISO extractor.
  2. Drag your Dead or Alive Ultimate (Xbox, USA) Disc 2 ISO onto BuildGame.cmd and wait for Build complete (about 15 minutes). A progress bar and clock show the build is still working; keep the window open even when the bar moves slowly.
  3. Double-click play.cmd, pick your settings and press Play. The first launch copies about 700 MB of the game's archives into its hard-disk cache in a few seconds.

Requires Windows 10/11 x64, Python 3.12+, CMake 3.20+, Visual Studio 2022 or its Build Tools with the "Desktop development with C++" workload, an internet connection for the first build (it downloads SDL3, SMAA, and the Capstone and Pillow Python packages) and about 6 GB free on an NTFS drive. Other regions, versions and Disc 1 are refused. See the ZIP's README.txt.

Setup builds the game runner locally from your own disc and stops unless it reproduces the exact program the developers tested. The ZIP contains source and setup tools, with no game files or prebuilt game runner.

Validation

The 35 runtime tests and the Python tool tests pass. This ZIP was extracted to a fresh folder and built from the ISO in about 11 minutes; the lift reproduced the developers' program byte for byte, and the resulting game ran a 40-second boot probe without a stop. This exact runtime played Watch fights on The Burai Zenin and the attract demo at 4K. A fresh first launch with this package's launcher reached the opening movie about 25 seconds after start, with the game accepting the copied cache. Story endings play with their credits and epilogue, and earlier alpha builds played Ayane's and Gen Fu's Story stages 1-6.

Known limits

  • Versus, Tag, Survival, Time Attack, Sparring and most characters' full Story runs have not been played through.
  • The Xbox Live menus stop the game; there is no online service.
  • A demanding moment on The Burai Zenin can still drop a single frame.
  • The safari stage's heat haze does not ripple yet, and its water leaves a gap between the elephants' reflections.
  • The game's bloom glows around bright surfaces as on the Xbox, which reads more strongly on a sharp 4K image.
  • An unsupported draw stops the game; the log names the missing state.
  • Windows only for now; macOS and Linux are planned.

Please report issues with what you did and what happened, and the "recomp stop" or crash lines from the end of the newest log in private\play-logs. Remove private paths before sharing log lines; do not upload whole logs, game files, generated game code or saves.

This project uses LLMs and AI coding agents extensively for code, reverse engineering, tests and documentation. Their output can contain mistakes; passing tests does not establish complete game fidelity.

Bundled components retain their licenses. XboxDev extract-xiso (copied from the DOA3 test package) and its license are included. This product includes software developed by in in@fishtank.com. SMAA is fetched as source under its MIT license. See LICENSE and NOTICE.

If you like my work, please consider buying a coffee on my Ko-fi.

README media

README media Pre-release
Pre-release

Choose a tag to compare

@NoRain211 NoRain211 released this 19 Oct 20:13

Images used by the project README. This is not a game build and contains no playable files.

Dead or Alive 2 Ultimate and its logo are trademarks of their respective owners.