Xbox 360 Emulator Research Project
Go to file
Ben Vanik 4688d5e600 Starting work on audio. 2014-01-12 01:27:41 -08:00
bin Real modules and threads (mostly). 2013-01-30 22:44:32 -08:00
debugger Minor tweaks. 2013-12-28 19:48:02 -08:00
docs Removing OSX/Linux info from docs for now. 2013-11-16 01:15:17 -08:00
private Removing LLVM submodule and build information. 2013-05-19 09:29:22 -07:00
src Starting work on audio. 2014-01-12 01:27:41 -08:00
test/codegen Renaming tests. 2013-02-03 16:02:21 -08:00
third_party Ugh. Replacing the fancy templates with hand coded sequences for now. 2014-01-02 00:00:14 -08:00
tools Fixing sandbox to work. 2013-12-24 16:23:53 -08:00
.gitignore Debugger can now connect. AngularJS: I have no idea what I'm doing. 2013-12-21 11:53:49 -08:00
.gitmodules Adding xbyak. 2013-12-28 22:04:53 -08:00
CONTRIBUTORS.md Initial project skeleton. 2013-01-11 01:23:08 -08:00
LICENSE Create LICENSE 2013-01-10 15:25:20 -08:00
README.md Update README.md 2014-01-10 01:36:28 -08:00
TODO.md Broken, incomplete, but need to move forward with rewrite. 2013-04-21 12:34:20 -07:00
xb.bat Support for VS2013 (and auto picking), a Win xb script, and readme updates. 2013-10-17 23:35:54 -07:00
xenia-build.py Removing common.gypi. 2013-11-16 01:41:51 -08:00
xenia.gyp Emitting functions and SEH info for call stacks. 2014-01-02 23:11:16 -08:00
xeniarc Adding the start of the instruction test infrastructure. 2013-01-27 02:51:53 -08:00

README.md

Xenia - Xbox 360 Emulator Research Project

Xenia is an experimental emulator for the Xbox 360. It does not run games (yet), and if you are unable to understand that please leave now.

Come chat with us about development topics in #xenia @ irc.freenode.net.

Currently supported features:

  • Nothing!

Coming soon (maybe):

  • Everything!

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:

# install python 2.7 and VS2013
git clone https://github.com/benvanik/xenia.git
cd xenia
xb setup
# open build\xenia\xenia.sln and start xenia-run

When fetching updates use xb pull to automatically fetch everything and update gyp files/etc.

Building

See building for setup and information about the xenia-build script.

Contributors Wanted!

Stories in Ready

Have some spare time, know 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. Fixes and optimizations are always welcome (please!), but in addition to that there are some major work areas still untouched:

See more projects good for contributors.

FAQ

Can I get an exe?

NO. I am not releasing binaries - at least not for awhile. Don't be an idiot and download a binary claiming to be of this project. In fact, don't be an idiot and download any binary claiming to be an Xbox 360 or PS3 emulator from any source, especially not YouTube videos and shady websites. Come on people. Jeez.

What kind of machine do I need to run this?

You'll need 64-bit Windows 7 with a processor supporting at least SSE4. It's only tested on Windows 8 and that may become a requirement as several of the APIs exposed there are beneficial to emulation. In general if you have to ask if your machine is good enough to run games at a decent speed the answer is no.

What about Linux/OSX?

The project is designed to support non-Windows platforms but until it's running games it's not worth the maintenance burden. If you're a really passionate Linux/OSX-based developer and want to help out, run Bootcamp/VM and contribute an OpenGL 4 driver - that'll be the most difficult part in porting to non-Windows platforms.

What kind of GPU do I need?

DirectX 11 support is required. To get full speed and compatibility Mantle may be required in the future (which means R9 AMD cards and up).

(some argument over an unimportant technical choice)

In general: 'I don't care.'

Here's a short list of common ones:

  • 'Why Python 2.7? 3 is awesome!' -- agreed, but gyp needs 2.7.
  • 'Why this GYP stuff?' -- CMake sucks, managing Xcode projects by hand sucks, and for the large cross-platform project this will become I'm not interested in keeping all the platforms building any other way.
  • 'Why this xenia-build.py stuff?' -- I like it, it helps me. If you want to manually execute commands have fun, nothing is stopping you.

Known Issues

Use of stdout

Currently everything is traced to stdout, which is slow and silly. A better tracing format is being worked on.