Xbox (Original) Emulator
Go to file
RadWolfie bfb10092c0
Merge pull request #2451 from RadWolfie/fix-hardware-model
Fix hardware model conversions + use respective hardware model based on console type
2024-02-08 12:48:46 -06:00
.github CI: Upgrade checkout to v4 2023-09-20 01:28:42 -07:00
doc Remove old documents: These predate Cxbx-R and are no longer valid 2018-06-06 08:27:05 +01:00
import d3d8: fix GTA: SA bug and add LTCG patch for D3DDevice_DrawVertices variant 2023-03-06 05:47:39 -06:00
projects Always copy hlsl files if they changed in the sources 2023-11-18 11:34:05 +13:00
src Merge pull request #2451 from RadWolfie/fix-hardware-model 2024-02-08 12:48:46 -06:00
.appveyor.yml CI: Remove Travis leftovers 2021-06-20 06:21:01 -10:00
.azure-pipelines.yml .azure-pipelines.yml: Fix exclusions 2021-06-29 15:37:12 -10:00
.gitattributes Update .gitattributes 2021-02-05 04:58:02 -06:00
.gitignore .gitignore: Add CLion specific files 2021-04-20 18:23:04 +02:00
.gitmodules Updated libusb to include deadlock fix 2022-07-05 22:25:08 +02:00
CMakeLists.txt Always copy hlsl files if they changed in the sources 2023-11-18 11:34:05 +13:00
CMakeSettings.json Remove generator from CMakeSettings.json 2019-06-15 19:57:13 -07:00
CONTRIBUTORS Fix typos, remove whitespace 2020-12-19 10:33:14 -08:00
COPYING Make resource file language-neutral, so that Visual Studio won't complain when regional settings aren't compatible. (See https://stackoverflow.com/a/58011025/12170) 2019-11-14 13:26:20 +01:00
README.md readme: create a link to libusb's driver installation section to find suggested driver 2022-10-05 17:09:17 -05:00
gen-msvc-project.bat gen-msvc-project.bat: Add Visual Studio 2022 2021-06-29 23:16:04 -10:00
setup.bat setup force source files to lf line ending and renormalize 2020-08-22 20:17:07 -05:00

README.md

Cxbx-Reloaded - Original Xbox Emulator

License: GPL v2 GitHub Actions Discord

Cxbx-Reloaded is an emulator for running Microsoft Xbox (and eventually, Chihiro) games on Microsoft Windows and Wine.

System Requirements

Minimum

  • OS: Windows 7+ x64, or x86-64 Linux with Wine. 32-bit is not supported.
    • MacOS with Wine is known not to work, and BSD-based systems are untested.
    • Also note that Wine is relatively unstable, and it might break compatibility with Cxbx-Reloaded at any time without warning.
  • GPU: Direct3D 9.0c with Pixel Shader Model 2.x, and Vertex Shader Model 3.0.

Prerequisites

Windows

Wine

Please use the latest stable release version of Wine. If it does not work for you, then roll back to Wine 7.0 which is the last known working version.
There also exists this known issue which currently prevents savings in some games with the most recent Wine 6.8 and later versions.

  • Winetricks
    • vcrun2019
      • Requires the latest winetricks script.
    • d3dcompiler_47
      • This may be subject to change.
  • Winpcap is built-in, no installation is required.

Automated Builds

Cxbx-Reloaded doesn't currently have stable builds, but you can obtain pre-release builds from our official website's download page, or the links below:

Compatibility

Cxbx-Reloaded has a compatibility list.

If you would like to submit compatibility reports, please request permission in our Discord server.

Bug Reports

Game or software specific issues can be reported in the compatibility website.

For emulation issues that are not specific to any single piece of software, a bug report can be submitted at the Cxbx-Reloaded issue tracker.

Additional information

Cxbx-Reloaded has a wiki containing various subjects and background information.

Chat on Discord.

Contributing

We welcome contributions, large and small.

If you want to do some coding, be sure to read the Developer notes.

IMPORTANT: Pull-Requests containing code derived from XQEMU will not be approved until an agreement is reached to make work mutually beneficial. This includes updates to existing XQEMU derived code. We should not/will not become a hostile fork.

Please contact us before you start working on something, so we can make sure your work is going to be accepted once finished.

Main Prerequisites

  1. Git for Windows
  2. CMake
    • Some IDEs already have CMake support, this is optional.

Fetching the code

  1. Run the following command in the command line:
    git clone --recurse-submodules https://github.com/Cxbx-Reloaded/Cxbx-Reloaded.git
    • Please note the --recurse-submodules parameter. This is required to fetch submodules.
      • If Cxbx-Reloaded was checked out without submodules, they can be updated/fetched with the following command:

        git submodule update --init --recursive

Compiling

Windows

Don't open CMakeLists.txt from Visual Studio, as it won't generate files in the build directory.

Prerequisites
  1. Visual Studio 2022
Generate Visual Studio files
  1. If you don't have CMake installed, open ___ Native Tools Command Prompt for VS 20##.
  2. cd to the Cxbx-Reloaded directory.
  3. Run these commands.
    1. mkdir build & cd build
    2. cmake .. -G "Visual Studio 17 2022" -A Win32
      • VS2022 17.0 or later is required.
  4. Open Cxbx-Reloaded.sln from the build directory.
  5. Select the Release configuration, then click Build.
    • Debug builds are significantly slower, and only for developers.

Linux / macOS

Currently not supported.

Support

You can support Luke Usher, initiator of Cxbx-Reloaded, on Patreon.

Special Thanks

  • All contributors to the original Cxbx and Dxbx projects. Without them Cxbx-Reloaded would not exist at all.
  • XQEMU - While the majority of Cxbx-R is our own work (Kernel, HLE, etc), the NV2A LLE and NVNet implementation are primarily the work of the XQEMU developers.
  • XboxDev - Providing Xbox hardware research & useful tooling.
  • XbSymbolDatabase - Providing support to detect symbols across XDK builds from reverse engineered retail titles.
  • Xbox Kernel Test Suite - Making accurate tests on hardware to compare against cxbxr's kernel implementation.