DOAXVB Native PC Port

DOAXVB Native PC Port is a native PC port of Dead or Alive Xtreme Beach Volleyball built by static recompilation.

README

Dead or Alive Xtreme Beach Volleyball logo

DOAXVB Native PC Port

A native PC port of Dead or Alive Xtreme Beach Volleyball (Windows, macOS & Linux), built by static recompilation, with the goal of rewriting it into readable source.

Latest release CI License: GPL-3.0-or-later Platform: Windows, macOS & Linux

Download · Changelog · Status · Controls · Report a bug

[!IMPORTANT] This project ships no game files. You need your own legally obtained copy of the USA Xbox release. It is not affiliated with or endorsed by the game's rights holders.

About

The original Xbox executable is lifted to C with a static recompiler, then linked against a hand-written runtime that replaces the Xbox kernel imports, audio output and key Direct3D 8 and DirectSound APIs with native Windows equivalents. The rest of the game, including its statically linked libraries, still runs as generated code. The plan is to replace game logic with readable, hand-written source one data-structure cluster at a time while the game keeps running; so far only the startup thread entry has been rewritten.

Screenshots

Beach volleyball match at dusk

Hopping Game at the poolKasumi on the beach at dusk

Captured from the native port at 2560x1440.

Status

[!NOTE] Fully playable as of 0.4 Beta. Long player sessions cover every stage, the Casino, Hotel and Shops, saving and reloading, and a vacation's end carrying into a new one (that run started from an edited day-14 save; see status). Known issues: a second Hopping Game playable before it loads (#54), an upside-down map flash leaving the pool (#55) and possibly missing underwater textures (#56).

AreaState
Exhibition volleyball, character selectWorking, including Xbox Series controllers
PlayStation 4/5 controllers, up to four controllers, vibrationAdded in 0.4.8; PlayStation pads not yet confirmed on hardware
Jungle, Beach, Niki Beach, Private BeachWorking
Take a Rest, Hopping Game, Radio StationWorking
Casino, Hotel, full vacation to its endWorking in player sessions
Movies and native audioWorking, including natural endings and skips
Store purchases, saves and reloadsWorking, with interrupted-save recovery
Deleting savesFixed in 0.4.9
Custom soundtracks (MP3, WAV, FLAC from UserMusic)Added in 0.5.0
Radio Station shuffle (launcher checkbox)Added in 0.5.3
Portraits, pool water, item previewsRestored
Lighting, camera, full rendering fidelityIncomplete
Every collection item and activity/time variantNot individually verified
Hand-written game logicStartup thread entry only; the rest runs as generated code
Rollback multiplayerPlanned (#20)

Remaining work is tracked in the offline acceptance tracker. Development results do not guarantee every route works in the packaged beta.

Play the beta

Requirements: Windows 10/11 x64, a supported USA game ISO and internet access. The 0.5.3 Beta ZIP bundles Python, Capstone, Git, CMake and the ISO extractor. If the Microsoft C++ compiler or Windows SDK is missing, setup offers to download and run Microsoft's installer. That installation needs administrator approval and several GB of disk space; the full Visual Studio IDE is not required.

  1. Download the ZIP from the latest release and extract it into a new folder with a short path.
  2. Drag your ISO onto BuildGame.cmd, follow any prerequisite installation prompts and wait for Setup complete.
  3. Run Launcher.cmd from the same folder to pick resolution, MSAA and SMAA, then press Play. Running RunGame.cmd directly uses the defaults.

On macOS:

  1. Install the prerequisites in docs/building.md.
  2. Run ./build_game.sh /path/to/game.iso and wait for setup to complete.
  3. Run ./launcher.sh to select resolution, volume, and soundtrack options, then press Play (or run ./run_game.sh directly).

On Linux and Steam Deck, follow docs/building.md; the scripts are the same as on macOS.

Setup extracts your ISO and builds a native Release runner locally; the package contains tools and source, never a prebuilt runner or game data. When updating, build in a new folder and keep your previous install and saves. GitHub's automatic source archives are source only; see the source build guide for their prerequisites.

New and older saves start in Digital control mode until you pick a PC control mode; later Analog or Digital choices are remembered. See the controller guide.

Xbox and PlayStation 4/5 controllers work directly. Do not run DS4Windows with the game: it adds an emulated Xbox controller, so one pad appears twice and takes two player ports. If you launch through Steam, turn Steam Input off for the game.

Build the tests from source

The runtime tests build without any game files or submodules:

git clone https://github.com/NoRain211/doaxbv-re.git
cd doaxbv-re
cmake -S recomp-runtime -B build/recomp-runtime -G "Visual Studio 17 2022"
cmake --build build/recomp-runtime --config Release --parallel 2
ctest --test-dir build/recomp-runtime -C Release --output-on-failure

This produces test executables, not the game runner. For ISO setup from source, follow the source build guide. Passing tests does not establish full game accuracy.

Repository layout

PathContents
recomp-runtime/Runtime, kernel and input adapters, audio, D3D8 replacements, presentation, tests
xbe/XBE parsing and hashing
tools/Extraction and launcher scripts, lifter submodule, source patches, export checks
docs/Build guide, controls, saves, graphics, status and research
third_party/Pinned rbengine and recomp-net dependencies (notes)
private/Ignored local game inputs, generated output and run evidence

Contributing

Read the contribution guide first. Translation defects are fixed in the lifter and regenerated; generated game C is never patched by hand.

When reporting a bug, include your build version, steps to reproduce, what happened, your hardware and controller, and the stop or crash message (how to read logs). Remove private paths from logs, and never upload game binaries, generated game C, assets, extracted filenames, saves, BIOS data or private run evidence.

Contributors

AI assistance

This project uses large language models and AI coding agents extensively for code, reverse-engineering analysis, debugging, tests and documentation. Their output can contain mistakes; changes are reviewed and tested, and unverified behavior is tracked as such.

License

Original code and documentation are licensed under GPL-3.0-or-later; see also NOTICE. Third-party components keep their own licenses. The license grants no rights to the game or its assets.

Support

If you like this work, consider buying me a coffee on Ko-fi.