Commit Graph

1229 Commits

Author SHA1 Message Date
Margen67
8b6cb9c287 [Premake, 3PP] Formatting/cleanup 2025-08-11 21:03:31 -07:00
Gliniak
2969a04145 [Kernel] Added support for loading modules before main 2025-08-03 20:40:30 +02:00
Margen67
4a5f63650d Add .py file extension to Python 2025-07-28 23:54:52 -07:00
Margen67
25d6f8269a [premake] Cleanup 2025-07-27 02:46:43 -07:00
Margen67
3eef564ff8 [format] Require EOF newline 2025-07-19 14:42:21 -07:00
Margen67
4cb783bf22 Header cleanup 2025-07-19 14:42:21 -07:00
Gliniak
50492a951e [Misc] Moved pe_image to base from 3pp and cut unnecessary parts 2025-05-31 10:05:00 +02:00
Gliniak
f4b854e484 [Kernel] Added option to load provided XAM for resource usage
- Added XEX1 key
- Removed annoying assertion from xeXamEnumerate
- Added returning hmodule_ptr for resource locator
2025-05-20 23:14:22 +02:00
Gliniak
31d715d100 [Premake] Removed unused/unnecessary subprojects.
- Testing currently doesn't work
- VFS Dump is unused. You can use internal function for it
- Demos are only for fun
- Trace Dump & Trace Viewer (unsure, but ok)

You can re-enable them by changing values: enableTests and enableMiscSubprojects in main premake file.

In the future there should be xb command support to overwrite them
2025-04-15 09:04:16 +02:00
Gliniak
7298536d46 [HID] Added support for Xbox 360 Skylanders Portal
- This requires Zadig for installation of WinUSB driver for portal
2025-04-14 21:44:49 +02:00
Xphalnos
47f327e848 [Misc] Replaced const with constexpr where possible 2025-04-08 19:32:17 +02:00
Xphalnos
7479ccc292 [Misc] Fix Some Warnings on Clang Build with Windows + Adding constexpr 2025-03-27 17:52:18 +01:00
Xphalnos
5f918ef28d [Misc] Replaced const with constexpr where possible 2025-03-25 19:50:37 +01:00
nikolay-kyosev
9a0ed48168 A fix for the release build crash on linux. 2025-01-27 18:21:14 +01:00
The-Little-Wolf
3f196f4b62 [CPU/CPU_FLAGS] - Display known PVR values to user in config
- Add known PVR values to config.toml
2025-01-19 23:02:59 +01:00
Marco Rodolfi
8d841693ff [cpu] Fix System-V ABI guest to host and host to guest thunk emitters for Linux
Upstream changes made from xenia-project#1339 and xenia-project#2228 back to canary builds. This fixes various emulation crashes caused from different calling conventions on System-V ABI platforms compared to Windows standard.
2025-01-19 16:36:52 +01:00
The-Little-Wolf
b9be601fad [CPU/x64_sequences] - MAX_V128 fixs
- change e.vandps to e.vorps in MAX_V128 to ensure NaN instructions matches real hardware
2025-01-18 20:00:56 +01:00
Gliniak
09be7e874a [All] Fixed multiple issues during build on Linux
- Added some fixes introduced by RodoMa92 in PR198

- Lack of AVX2 extension (should be done differently in the future)
- Disable deprecated-volatile warning
- Added missing override in posix EventInfo, ImGui notification class and XContent class
- Removed not used XAudio2.h include in XMP
- Fixed missing switch-case in XObject
- Added fugly template in native_list.h
- Fixed multiple smaller issues
2025-01-10 21:41:45 +01:00
marko1616
34da168284 [XEX] Check if header exists during XexInfoCache init 2025-01-08 11:22:26 +01:00
Gliniak
7437c020d6 [Misc] Fixed some issues during compilation process on Linux 2025-01-07 22:54:16 +01:00
Gliniak
c3586bc165 [C++] Uplift version to C++20 2024-12-26 23:42:31 +01:00
Margen67
3acf3fdcd1 Never specify /O1
Leaving it as /O2 might improve performance.
Stops this from being spammed:
cl : command line  warning D9025: overriding '/O2' with '/O1' [D:\a\xenia-canary\xenia-canary\build\glslang-spirv.vcxproj]

/Os is implied by /O1;
https://learn.microsoft.com/en-us/cpp/build/reference/o1-o2-minimize-size-maximize-speed?view=msvc-170
2024-12-13 13:01:06 -08:00
Gliniak
a295ec1bbd [Base] Removed useless path_to_utf8 conversion while using fmt
Default filesystem::path formatter was added to fmt around 2022
2024-12-13 19:04:31 +01:00
Gliniak
3318ab5d4c [3PP] Uplifted FMT version and adjusted messages 2024-12-12 20:28:11 +01:00
Gliniak
3ac98ebfba [Static Analysis] Resolved some issues mentioned in Alexandr-u report 2024-11-02 19:08:34 +01:00
EmiGITs
0712132ed0 [CPU] Added disable_context_promotion option
This disable ContextPromotionPass that causes instability in some games
2024-10-20 20:08:56 +02:00
Margen67
90259bef6a [CPU] Add note to cpu option 2024-10-16 03:40:53 -07:00
Gliniak
edc829f3e6 [CPU] Check for modification of base_address during patch application 2024-09-15 17:13:04 +02:00
Gliniak
71de56416d [Kernel] Cleanup in TU applying code.
Externally it is still applied via: ApplyTitleUpdate
But internally it is splitted into:
 - FindTitleUpdate
 - LoadTitleUpdate
 - IsPatchSignatureProper
 - ApplyTitleUpdate

Added host window with warning about TU incompatibility
2024-09-07 18:26:00 +02:00
Gliniak
616dbfe34e [XEX] Fixed issue with patch applying failure for some executables 2024-09-04 21:04:47 +02:00
Gliniak
ed843f35f8 [GPU] Added janky(?) support for register: D1MODE_V_COUNTER
Put internal_display_resolution into graphics_system

Thanks Beeanyew for initial implementation
2024-08-31 23:37:21 +02:00
Gliniak
ec267c348a [LINT] Fixed lint issues after clang-format update 2024-06-13 20:56:56 +02:00
frazier_g
c01c06d19b Make guest debugger usable 2024-05-19 18:50:43 +02:00
Gliniak
2ca752ce07 Revert "Optimized CONVERT_I64_TO_F64 with neat overflow trick"
This reverts commit 3ad80810b5.

Fixes broken statue animation is 454108CF
2024-05-09 20:00:03 +02:00
Gliniak
a966143823 [Emulator] use filesystem::file_size instead of ftell where possible 2024-03-22 11:03:34 +01:00
Gliniak
b9061e6292 [LINT] Linted files + Added lint job to CI 2024-03-12 19:19:30 +01:00
Gliniak
354d42135d [CPU] Support for const value in src1 for OPCODE_PACK 2024-02-12 18:33:03 +01:00
Gliniak
c8ca077ec4 [Codacy] Fixed some issues found by codacy.
Added skipping shaders directory in scan
2024-01-20 13:19:37 +01:00
disjtqz
275454089e [Kernel] Implement ObCreateObject 2023-10-21 17:33:07 +02:00
none
d8aa14da73 Small fixes for better cross-platform compatibility (#200)
* Add ifdef check before the Microsoft-specific movsq in memory.cc

* Added ifdef before Microsoft-specific movsq and replaced with memcpy in other cases. In memory.cc

* Update image_sha_bytes_ from 16 to 20  xex_module.h

The value 16 is less than the expected value 20, causing a buffer overflow during sha1 finalization.

* Update image_sha_bytes_ loop from 16 to 20 iterations xex_module.cc

* Update mapped_memory_posix.cc: Must resize file to map_length.

* Should not map nullptr with MAP_FIXED flag. Update memory_posix.cc.
2023-10-21 17:07:29 +02:00
disjtqz
6a08208dc8 Proper misalignment for AllocatePool, add guest object table 2023-10-14 19:29:25 +02:00
disjtqz
a7b047b2a2 Implement kernel processes 2023-10-12 22:13:40 +02:00
disjtqz
43fd396db7 implement dynamically allocateable guest to host callbacks 2023-10-11 18:37:23 +02:00
disjtqz
b5ddd30572 moved xsemaphore to xthread.d
add typed guest pointer template
add X_KSPINLOCK, rework spinlock functions.
rework irql related code, use irql on pcr instead of on XThread
add guest linked list helper functions
renamed ProcessInfoBlock to X_KPROCESS
assigned names to many kernel structure fields
2023-10-11 17:43:59 +02:00
disjtqz
fe7dc26e3f place locals on backend pages 2023-10-02 09:50:13 +02:00
disjtqz
67f16c4e31 implement more accurately inaccurate frsqrte 2023-10-02 09:47:30 +02:00
disjtqz
79465708aa implement bit-perfect vrsqrtefp 2023-10-01 11:08:17 +02:00
Gliniak
ce9a82ccf8 Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental 2023-09-01 18:20:29 +02:00
Adrian
91f976e524 [Patcher] Plugin Loader
Added a plugin loader which can be enabled with allow_plugins in the config.
2023-08-06 21:36:49 +02:00
Gliniak
c5e6352c34 [CPU] Added constant propagation pass for: OPCODE_AND_NOT 2023-07-27 23:41:45 +03:00