Commit Graph

47 Commits

Author SHA1 Message Date
Exzap
414aa9d6b3 GX2+Latte: Rework GX2CopySurface 2026-04-29 18:24:29 +02:00
Emma
1c2b7d787e
build: Add ENABLE_LIBUSB option (#1886) 2026-04-26 21:24:57 +02:00
GaryOderNichts
c16936d381
build: Link zstd explicitly (#1860) 2026-04-04 16:32:12 +02:00
Exzap
a5ae41fdbe build: Remove unnecessary includes to improve compile times
Also revert PCH reuse for everything but MSVC. Other compilers/platforms have limitations that make reused PCH a bit too fragile. I got it to work but only after forcing certain flags globally (like -pthread) and I dont think its a good idea to do that
2026-03-24 04:15:28 +01:00
Exzap
8e2e2c44bb build: Generate precompiled header only once (msvc only) 2026-03-24 04:15:28 +01:00
Exzap
c5913fe8cb refactor/rpl: Treat HLE libs more like RPL modules
HLE modules now have a unified interface via which they can get notified when mapped into the process or when loaded/unloaded.

We also always call the unload functions when stopping emulation to give the module implementations a chance to reset all state (although many of them are still missing proper cleanup code for now)
2026-01-07 02:46:49 +01:00
SamoZ256
26e40a4bce
Add Metal backend (#1287)
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2025-12-06 17:14:25 +01:00
oltolm
1382ee0381
build/cmake: Clean up target_link_libraries (#1726)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-11-21 01:50:52 +01:00
Exzap
4fa0df6dcf nn_boss: Reimplementation
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
This is a full rewrite of our nn_boss (SpotPass) implementation. The previous code was based on a lot of incorrect guesswork so rather than updating that it made more sense to redo it all.

In short what changed:
- More API implemented than before, but nn_boss is very complex so we are still missing stuff (e.g. PlayReports and Task scheduling)
- Avoids redownloading nbdl files if they are already present locally (matches IOSU behavior)
- The API should be more robust in general and file hashes are now verified
- Emulated IOSU interface is compatible with nn_boss.rpl
- Added an UI option to clear the SpotPass cache
2025-10-30 16:24:09 +01:00
SSimco
67de63bed6
UI+build: Isolate wxWidgets code from non-GUI code (#1633) 2025-07-15 04:28:41 +02:00
qurious-pixel
35ecfa3f54
build: Fix glslang dependency for Fedora 42 (#1622) 2025-07-01 05:00:11 +02:00
Exverge
00ff5549d9
General aarch64 improvements & Apple Silicon support (#1255) 2025-06-18 10:36:05 +02:00
SSimco
081ebead5f
Add AArch64 recompiler backend (#1556)
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2025-05-09 12:47:22 +02:00
Exzap
de542410c2
PPCRec: Rework floating point instructions (#1554)
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2025-05-08 03:48:22 +02:00
gamerbross
33d5c6d490
nsyshid: Add Skylander Xbox 360 Portal support (#1550)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2025-05-04 21:44:46 +02:00
Exzap
b089ae5b32
PowerPC recompiler rework (#641)
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2025-04-26 17:59:32 +02:00
Joshua de Reeper
0a59085021
nsyshid: Make Libusb the Windows backend (#1471) 2025-01-12 14:33:24 +01:00
Jeremy Kescher
80a6057512
build: Fix linker failure with glslang 15.0.0 (#1436)
Some checks are pending
Build check / build (push) Waiting to run
Generate translation template / generate-pot (push) Waiting to run
2024-12-02 01:01:22 +01:00
Joshua de Reeper
ca2e0a7c31
nsyshid: Add support for emulated Dimensions Toypad (#1371)
Some checks failed
Build check / build (push) Has been cancelled
Generate translation template / generate-pot (push) Has been cancelled
2024-11-11 08:58:01 +01:00
Exzap
f1685eab66
h264: Use asynchronous decoding when possible (#1257) 2024-07-26 05:48:42 +02:00
Joshua de Reeper
a1c1a608d7
nsyshid: Emulate Infinity Base (#1246) 2024-07-23 03:18:48 +02:00
Joshua de Reeper
93b58ae6f7
nsyshid: Add infrastructure and support for emulating Skylander Portal (#971) 2024-06-28 00:55:20 +02:00
GaryOderNichts
1c6b209692 Add initial ntag and nfc implementation 2024-05-18 20:37:37 +02:00
goeiecool9999
dc480ac00b
Add support for WUHB file format (#1190) 2024-05-05 02:35:01 +02:00
Maschell
efbf712305
nn_sl: Stub GetDefaultWhiteListAccessor__Q2_2nn2slFv to avoid crash in Wii U Menu when an online account is used (#1159) 2024-04-08 19:15:49 +02:00
Exzap
223833cac4 Update libraries 2024-01-13 22:36:04 +01:00
GaryOderNichts
4405116324
GDBStub: Support watchpoints on linux (#1030)
* GDBStub: Support watchpoints on linux
* GDBStub: Use `TCP_NODELAY`
2023-12-23 15:25:01 -08:00
Simon
98b5a8758a
nsyshid: Add backends for cross platform USB passthrough support (#950) 2023-09-19 01:27:40 +02:00
Exzap
0d96255bae nn_olv: More work on post API 2023-08-03 20:31:12 +02:00
Exzap
2200cc0ddf
Initial support for title switching + better Wii U menu compatibility (#907) 2023-07-21 13:54:07 +02:00
Rambo6Glaz
a8d157d310
nn_olv: Added community related API (#873)
- Initialize
- Download communities (self-made / favorites / officials)
- Upload communities (create subcommunity)
- Upload favorite status (Add/Delete favorite to a subcommunity)

Enough for support of Mario Kart 8 tournaments
2023-06-24 14:51:41 +02:00
Colin Kinloch
4ae5b4f8b8
Wayland: Use viewporter (#836) 2023-05-28 02:04:24 +02:00
Crementif
6d75776b28
Add GDB stub for debugging (#657)
* Implement GDB stub debugger

Can be enabled by using the "--enable-gdbstub" option (and the debugger GUI, although that's untested) which'll pause any game you launch at start-up. Will start at port 1337 although it'll eventually be user-editable. The code is a bit weirdly sorted and also just needs a general cleanup, so expect that eventually too. And uses egyptian braces but formatting was easier to do at the end, so that's also something to do.

It has been tested to work with IDA Pro, Clion and the standalone interface for now, but I plan on writing some instructions in the PR to follow for people who want to use this. Memory breakpoints aren't possible yet, only execution breakpoints.

This code was aimed to be decoupled from the existing debugger to be able to be ported to the Wii U for an equal debugging experience. That's also why it uses the Cafe OS's thread sleep and resuming functions whenever possible instead of using recompiler/interpreter controls.

* Add memory writing and floating point registers support

* Reformat code a bit

* Format code to adhere to Cemu's coding style

* Rework GDB Stub settings in GUI

* Small styling fixes

* Rework execution breakpoints

Should work better in some edge cases now. But this should also allow for adding access breakpoints since it's now more separated.

* Implement access breakpoints

* Fix some issues with breakpoints

* Fix includes for Linux

* Fix unnecessary include

* Tweaks for Linux compatibility

* Use std::thread instead of std::jthread to fix MacOS support

* Enable GDB read/write breakpoints on x86 only

* Fix compilation for GCC compilers at least

The thread type varies on some platforms, so supporting this is hell... but let's get it to compile on MacOS first.

* Disable them for MacOS due to lack of ptrace

---------

Co-authored-by: Exzap <13877693+Exzap@users.noreply.github.com>
2023-02-19 15:41:49 +01:00
Exzap
f3ff919be2
Code clean up + replace some wstring instances with utf8 (#640) 2023-01-29 13:53:31 +01:00
SSimco
fcab8f8f1a
Linux: Add CMake find module for wayland + make wayland optional (#572) 2022-12-15 08:44:14 +01:00
goeiecool9999
348d86648f
Vulkan: Refactor swapchain code (#399) 2022-11-04 15:22:29 +01:00
Exzap
52cc7c5996
Follow imgui recommendation and streamline build dependencies (#355) 2022-10-11 01:43:15 +02:00
Tillsunset
41dcd48048
Fix a small regression when building in Macos (#262) 2022-09-17 13:52:12 +02:00
Maximilian Downey Twiss
4a3d02db55
Properly list files in CMakeLists instead of using GLOB (#249) 2022-09-17 03:24:57 +02:00
Exzap
4ed38a28b9
Merge pull request #112 from Tachi107/build-minor-fixes
build: minor refactoring and fixes
2022-09-02 19:22:19 +02:00
Tom Lally
f5972dfbb0
Per-function target attribute on clang and GCC. (#152) 2022-09-02 19:10:41 +02:00
Andrea Pappacoda
719ee90b27
build: minor refactoring and fixes
- Fix target_precompile_headers() usage; the CemuCommon target exposes
  the src/Common/precompiled.h precompiled header as part of its public
  interface with
  target_precompile_headers(CemuCommon PUBLIC precompiled.h), so all the
  other targets wanting to use the precompiled header have to link to
  the CemuCommon target with
  target_precompile_headers(TargetName PRIVATE CemuCommon).
- Set the project version to 2.0
- Set RUNTIME_OUTPUT_DIRECTORY instead of only their _DEBUG and _RELEASE
  variants, fixing the compilation when neither build types are defined
- Use a consistent indentation style (tabs, like in the .cpp files)
- Use "modern" variants of some functions, e.g. add_definitions ->
  add_compile_definitions
2022-09-02 13:05:15 +02:00
Tom Lally
d3a7b3b5a6
Misc. Linux improvements and bug fixes. (#121)
Co-authored-by: Tom Lally <tomlally@protonmail.com>
2022-09-01 20:46:20 +02:00
Marcin Chojnacki
527ee3aea5
Initial implementation of macOS Vulkan renderer over MoltenVK (#124) 2022-08-30 19:02:56 +02:00
Andrea Pappacoda
f51a51df3b
build: improve the Linux aspect of things (#75)
Improved, fixed and streamlined cmake files. Optionally use system libraries instead of vcpkg (-DENABLE_VCPKG=OFF)
2022-08-29 07:19:48 +02:00
Tom Lally
454b587e36
Fix compilation on GCC and other Linux fixes (#80) 2022-08-28 15:29:15 +02:00
Exzap
d60742f52b Add all the files 2022-08-22 22:21:23 +02:00