Xbox 360 Emulator Research Project
Go to file
emoose e9eca0a4c9 [Kernel/CPU] Support loading import libraries
This mostly works the same as https://github.com/xenia-project/xenia/pull/1354, with a couple minor fixes (thanks to Dr. Chat for the suggestions!)
Eg. the library will only be loaded inside SetupLibraryImports now, instead of inside GetModule - this seems like a better solution, as Dr. Chat said GetModule could be used in places that aren't meant to load any extra modules.

Libraries loaded by guest code (eg. LoadLibrary) should still execute under the same thread as the caller now too - I'm sure I already had code for this in the PR already, but seems not... maybe forgot to commit or something.
So now only libraries that are included in the import headers will have a guest thread created to run DllMain (as there wouldn't be any guest threads available to run it inside, since the main XEX is still being loaded)

I've also added some code in this commit to wait for this DllMain thread to complete before continuing the import load, which should help prevent any race conditions.

With these changes Fuzion Frenzy 2 will now get to the intro movies (as long as signin_state > 0) but quickly freezes during them... unsure why this happens.
(the old imports PR also did the same AFAIK, and apparently also broke BF3, haven't been able to test that yet though)
2020-02-23 19:48:43 +00:00
.github ugh 2020-02-19 03:39:55 -05:00
assets [Base] icon fix 2020-02-19 03:36:04 -05:00
docs Remove (hopefully) last OpenGL leftovers & crunch 2019-11-08 09:10:51 -08:00
src/xenia [Kernel/CPU] Support loading import libraries 2020-02-23 19:48:43 +00:00
third_party Actually update libav. 2020-02-19 03:36:03 -05:00
tools [PPC] Support basic form of sc. 2020-02-11 06:45:57 -06:00
.appveyor.yml [CI] Moar minor changes 2020-02-19 03:36:17 -05:00
.azure-pipelines.yml Add SDL2 to GitHub Actions and Azure Pipelines 2020-02-19 03:36:17 -05:00
.clang-format Include order fixes. 2015-12-27 10:27:46 -08:00
.gitattributes gitattributes (maybe). 2015-05-24 01:16:34 -07:00
.gitignore [Git] Added /cache0/, /cache1/, and recent.txt to .gitignore 2020-02-19 03:36:12 -05:00
.gitmodules Add SDL2 submodule for MSVC development. 2020-02-10 13:41:19 -06:00
.travis.yml Link against SDL2. 2020-02-10 13:41:19 -06:00
LICENSE Adding CONTRIBUTING.md so that github shows it on issues. 2015-08-28 14:16:38 -07:00
README.md [GitHub Actions] Rename to CI, formatting 2020-02-19 03:36:16 -05:00
premake5.lua AVX(2/512) builds 2020-02-19 03:36:02 -05:00
xb Add xb symlink to xenia-build to match xb.bat for win 2017-07-11 11:47:24 -06:00
xb.bat Fix handling of paths to Python with spaces in xb.bat. 2019-08-23 10:40:21 -05:00
xenia-build Rename exe to xenia-canary, simplify CI steps, remove SSE2 2020-02-19 03:36:13 -05:00
xeniarc clang-format detection cleanup. 2015-08-01 00:41:46 -07:00

README.md

Xenia Canary - Xbox 360 Emulator

Discord Server Actions Status AppVeyor Build Status Azure Build Status

Xenia Canary is an experimental fork of Xenia. For more information, see the wiki.

See current Pull Request status here.

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

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.

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.

Download

Windows

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!

FAQ

See the frequently asked questions page.