Xbox 360 Emulator Research Project
C++ Assembly C Python Lua GLSL
Latest commit ed56f7e Feb 23, 2017 @DrChat DrChat committed on GitHub Merge pull request #643 from inckie/local_fixes
* statics initialization order fix

README.md

Xenia - Xbox 360 Emulator Research Project

Xenia is an experimental emulator for the Xbox 360. For more information see the main xenia website.

Come chat with us about emulator-related topics in #xenia @ irc.freenode.net. For developer chat join #xenia-dev but stay on topic. Lurking is fine. Please check the frequently asked questions page before asking questions. We've got jobs/lives/etc, so don't expect instant answers. Discussing illegal activities will get you banned. No warnings.

Status

Buildbot Status
All Build status
Windows Build status
Linux Build status

Some real games run. Most don't. See the Game compatibility list for currently tracked games and feel free to contribute your own updates, screenshots, and information there following the existing conventions.

Disclaimer

The goal of this project is to experiment, research, and educate on the topic of emulation of modern devices and operating systems. It is not for enabling illegal activity. All information is obtained via reverse engineering of legally purchased devices and games and information made public on the internet (you'd be surprised what's indexed on Google...).

Quickstart

Windows 8.1+ with Python 2.7 and Visual Studio 2015 and the Windows SDKs installed:

> git clone https://github.com/benvanik/xenia.git
> cd xenia
> xb setup

# Pull latest changes, rebase, and update submodules and premake:
> xb pull

# Build on command line:
> xb build

# Run premake and open Visual Studio (run the 'xenia-app' project):
> xb devenv

# Run premake to update the sln/vcproj's:
> xb premake

# Format code to the style guide:
> xb format

When fetching updates use xb pull to automatically fetch everything and run premake for project files/etc.

Building

See building.md for setup and information about the xb script. When writing code, check the style guide and be sure to run clang-format!

Contributors Wanted!

Before contributing code or issues be sure to read CONTRIBUTING.md.

Have some spare time, know advanced C++, and want to write an emulator? Contribute! There's a ton of work that needs to be done, a lot of which is wide open greenfield fun.

For general rules and guidelines please see CONTRIBUTING.md.

Fixes and optimizations are always welcome (please!), but in addition to that there are some major work areas still untouched:

  • Help work through missing functionality/bugs in game compat
  • Add input drivers for PS4 controllers (or anything else)
  • Skilled with Linux? A strong contributor is needed to help with porting

See more projects good for contributors. It's a good idea to ask on IRC/the bugs before beginning work on something.

FAQ

For more see the main frequently asked questions page.

Can I get an exe?

Check the Releases tab to see what's there. Updated irregularly.