Frequently Asked Questions (FAQ) - Cxbx-Reloaded/Cxbx-Reloaded GitHub Wiki

Where do I download Cxbx-Reloaded builds?


How do I dump/extract my games?

The recommended method is to insert your game disk into a modded Xbox and directly transfer the files off the disc via FTP (usually in the /D/ directory) using a program such as FileZilla or WinSCP. Ensure the disc is clean and your Xbox's DVD drive is in working order.

That is the most straightforward method, though there are methods that make more complete dumps, such as using a special drive flashed with 'Kreon' firmware.

Once completed you can extract the .iso using a tool such as XDVDmulleter or exiso.

These are not standard .iso files and cannot be extracted by WinRAR or 7-Zip.

DVD2Xbox and other similar tools are not recommended due to their tendency to make modifications to the Xbe file like region check or anti-piracy bypasses.

These modifications are unneeded for Cxbx-Reloaded and may cause issues.

Can't I just download games?

Downloading copies of games including ones that you own a disc of is illegal.

The Cxbx-Reloaded developers and contributors will not provide support for these pirated copies.

Please do not submit bug reports of them.


How do I install and use a dashboard?

To install a dashboard, first, make sure to check the compatibility page. Once you've dumped it:

  • Move all the files to %AppData%\Cxbx-Reloaded\EmuDisk\Partition2\
  • Make sure xboxdash.xbe is located at the root of the Partition2 folder.
  • Open Cxbx-Reloaded and select File -> Open Dashboard or press F7 to launch the dashboard.

Where are save files stored?

Save files are stored inside Partition1 of Cxbx-Reloaded's EmuDisk. Also it depends on what you have set for data location:

  • Can be found in Settings > Config Data Location...
    • Store in AppData
      • %AppData%\Cxbx-Reloaded\EmuDisk\Partition1\
    • Store with Executable (portable)
      • Browse where Cxbx-Reloaded executable is at in any file explorer, then navigate to EmuDisk\Partition1\ folder.
    • Custom
      • If you are not sure where you have set to, then check in settings.ini file from Cxbx-Reloaded's executable folder first.
        • If settings file isn't there, then check in %AppData%\Cxbx-Reloaded\.
      • Once you find settings file, open and look for DataCustomLocation key under gui section.
      • After key field is the file path you will need to navigate to EmuDisk\Partition1\ folder.

Why don't the save files from my Xbox work?

Xbox saves are encrypted and require two keys from the actual console to use. These should then be provided to Cxbx-R in the form of a keys.bin file. Two options for generating this file from an original Xbox are the Dump Keys python script https://github.com/JayFoxRox/xbox-tools/blob/master/python-scripts/dump-keys.py (requires XboxPy) or dump-xbox (requires compilation with openxdk) https://github.com/JayFoxRox/xbox-tools/tree/master/dump-xbox. There is not yet a known method for dumping these keys from an Xbox 360. Please note that the keys are not legal to share with others, so we cannot just distribute them with the emulator.


A game stopped working after I updated Cxbx-Reloaded

Cxbx-Reloaded's AppData and/or settings may have been corrupted by an older version, and need to be reset:

  • Open Cxbx-Reloaded, go to Settings -> Reset to Defaults.
  • Close Cxbx-Reloaded, and delete the Cxbx-Reloaded folder in %AppData%.

If that doesn't help, please report the issue to the appropriate tracker:


How do I run games at higher resolutions or framerates?

Due to the variance in work and hacking knowledge required for each game, there isn't one tutorial we can provide that would apply to every game. However, this should work for most games:

  • Go to Settings > Config Eeprom.. and check NTSC 480p.
  • Set Video Settings to Normal or Widescreen depending on if you want 4:3 or 16:9.
    • Not all games support widescreen. Click here for a list of widescreen games.
  • Go to Settings > Config Video.. and set Display Resolution to the desired resolution.
    • 60 hz is recommended unless you want above 60 fps and the game doesn't speed up with it.
    • You can uncap the fps by pressing F9 while a game is running.
    • If you want the fps to be limited to your monitor's refresh rate (hz) you must check Force VSync.
  • Render Resolution must be set above 1x (Native) to work. For example:
    • For 1920x1080, the Render Resolution should be set to 3x (1920x1440).

Games that don't natively support widescreen require widescreen hacks. There are many ways of doing this:


What are the LLE options for?

LLE stands for Low Level Emulation.

Only LLE GPU (using XQEMU code) is implemented.

This option emulated the Xbox's NV2A GPU hardware using OpenGL instead of passing Xbox DirectX calls to DirectX.

While it may provide more accurate results, it is currently much slower than the default HLE approach, and for this reason the corresponding option in the GUI has been disabled in PR #1761 (although it may still be enabled by writing 0x2 in the FlagsLLE value in the Cxbx-Reloaded setting file). Its slowness is not inherent to LLE, but the way it is currently integrated in Cxbx-Reloaded.

As of PRs #1365 and #1532, LLE USB (using XQEMU code) is completely implemented but cannot be enabled, due to timing issues when connecting more than one controller to the virtual Xbox. Enabling this option will emulate the underlying USB hardware of the Xbox instead of intercepting XInput function calls.

As of PRs #1572 and #1561, LLE networking (using XQEMU code) is completely implemented. This adds support for system-link play. This feature is enabled by default, but must be configured.

There are other Xbox emulation projects that are focused entirely on the LLE approach, like XQEMU and MAME. Due to a lack of kernel emulation in those projects, you will need ROM files from a physical Xbox. Cxbx-Reloaded is easier to use, because it has kernel emulation and does not require these files.


What is LTCG (Link-Time Code Generation)?

LTCG is an optimization technique that may be applied to games, especially later in the Xbox's lifespan.

When using LTCG, code is generated at link-time instead of compile-time: It's good for developers of games/software because it allows inlining of functions and optimization across boundaries that standard compilation cannot detect, leading to faster code.

It's awful for HLE emulation because it mangles the functions, so they are harder (sometimes impossible) to detect and hook.

What complicates things further is LTCG is free to do all kinds of crazy things in the pursuit for speed: As well as in-lining functions, it can also use non-standard calling conversions, change the order of parameters, or discard them entirely, meaning that even if we could easily find and intercept these LTCG functions, the existing implementations we have wouldn't work.

Supporting LTCG isn't impossible for HLE, just incredibly awkward/difficult. Some LTCG games already boot and/or reach in-game, but nobody likes to work on them because of their complexity; We'd much rather fix the core emulator and move towards LLE of hardware components; LTCG is only a problem for HLE.

For more terminology and definitions, see the Overview of the project & Glossary of terms page.


What is that green square in the upper right of the window?

This is the light that would normally be on the front of the Xbox.

Some dashboards may change it, or it may flash different colors to show error codes.

⚠️ **GitHub.com Fallback** ⚠️