Xbox 360 Emulator Research Project
Go to file
chss95cs@gmail.com 550d1d0a7c use much faster exp2/cos approximations in ffmpeg, large decrease in cpu usage on my machine on decoder thread
properly byteswap r13 for spinlock
Add PPCOpcodeBits
stub out broken fpscr updating in ppc_hir_builder. it's just code that repeatedly does nothing right now.
add note about 0 opcode bytes being executed to ppc_frontend
Add assert to check that function end is greater than function start, can happen with malformed functions
Disable prefetch and cachecontrol by default, automatic hardware prefetchers already do the job for the most part
minor cleanup in simplification_pass, dont loop optimizations, let the pass manager do it for us
Add experimental "delay_via_maybeyield" cvar, which uses MaybeYield to "emulate" the db16cyc instruction
Add much faster/simpler way of directly calling guest functions, no longer have to do a byte by byte search through the generated code
Generate label string ids on the fly
Fix unused function warnings for prefetch on clang, fix many other clang warnings
Eliminated majority of CallNativeSafes by replacing them with naive generic code paths.
^ Vector rotate left, vector shift left, vector shift right, vector shift arithmetic right, and vector average are included
These naive paths are implemented small loops that stash the two inputs to the stack and load them in gprs from there, they are not particularly fast but should be an order of magnitude faster than callnativesafe
to a host function, which would involve a call, stashing all volatile registers, an indirect call, potentially setting up a stack frame for the arrays that the inputs get stashed to, the actual operations, a return, loading all volatile registers, a return, etc
Added the fast SHR_V128 path back in
Implement signed vector average byte, signed vector average word. previously we were emitting no code for them. signed vector average byte appears in many games
Fix bug with signed vector average 32, we were doing unsigned shift, turning negative values into big positive ones potentially
2022-10-30 08:48:58 -07:00
.github CI: Remove game patches 2022-08-19 03:39:29 -07:00
android/android_studio_project [Android] Exclude executables from app build 2022-07-17 17:11:48 +03:00
assets icon fix 2022-05-19 09:39:55 +02:00
docs Adjustments for Building Canary 2022-07-30 11:13:17 -05:00
src/xenia use much faster exp2/cos approximations in ffmpeg, large decrease in cpu usage on my machine on decoder thread 2022-10-30 08:48:58 -07:00
third_party use much faster exp2/cos approximations in ffmpeg, large decrease in cpu usage on my machine on decoder thread 2022-10-30 08:48:58 -07:00
tools [GPU] Vulkan fragment shader interlock RB and related fixes/cleanup 2022-10-09 22:06:41 +03:00
.appveyor.yml Update .appveyor.yml 2022-05-19 09:39:57 +02:00
.azure-pipelines.yml Azure Pipelines: Ignore canary_base 2022-05-19 09:39:57 +02:00
.clang-format [UI] android.app.NativeActivity > WindowedAppActivity + code style 2021-09-18 20:32:24 +03:00
.drone.star [CI] Build all android targets 2022-07-17 19:57:37 -05:00
.gdbinit [threading linux] Implement Callback Queuing 2020-11-15 11:12:05 -06:00
.gitattributes [GPU] Shaders to common, xb buildshaders instead of buildhlsl 2021-06-05 18:53:53 +03:00
.gitignore Fix bindless path in d3d12 that i broke in earlier commit (did not affect any users, thats a debug thing) 2022-10-16 07:47:27 -07:00
.gitmodules Switch cxxopts over to version with selectany while i wait for the selectany change to be merged there 2022-10-15 03:49:12 -07:00
LICENSE Adding CONTRIBUTING.md so that github shows it on issues. 2015-08-28 14:16:38 -07:00
README.md Reflect the closure of #1333 2022-01-28 23:01:50 +03:00
premake5.lua Fix compiler errors i introduced under clang-cl 2022-09-29 07:04:17 -07:00
xb Add xb symlink to xenia-build to match xb.bat for win 2017-07-11 11:47:24 -06:00
xb.bat Python/xenia-build/xb fixes 2022-07-21 08:31:35 -05:00
xb.ps1 Python/xenia-build/xb fixes 2022-07-21 08:31:35 -05:00
xenia-build Python/xenia-build/xb fixes 2022-07-21 08:31:35 -05:00
xeniarc clang-format detection cleanup. 2015-08-01 00:41:46 -07:00

README.md

Xenia - Xbox 360 Emulator

Xenia is an experimental emulator for the Xbox 360. For more information, see the main Xenia wiki.

Interested in supporting the core contributors? Visit Xenia Project on Patreon.

Come chat with us about emulator-related topics on Discord. For developer chat join #dev but stay on topic. Lurking is not only fine, but encouraged! Please check the FAQ page before asking questions. We've got jobs/lives/etc, so don't expect instant answers.

Discussing illegal activities will get you banned.

Status

Buildbot Status Releases
Windows Build status LatestAll
Linux Build status

Quite a few real games run. Quite a few 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

See the Quickstart page.

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!

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:

See more projects good for contributors. It's a good idea to ask on Discord and check the issues page before beginning work on something.

FAQ

See the frequently asked questions page.