Commit Graph

4240 Commits

Author SHA1 Message Date
5f6d9f1915 Kernel/IPC: use MemorySystem from parameter 2019-02-14 14:04:46 -05:00
20f47583f6 Kernel: replace usage of Core::System::GetInstance().PrepareReschedule() with callback 2019-02-14 14:04:46 -05:00
eb050b8403 Kernel: replace usage of Core::System::GetInstance()::Timing() 2019-02-14 14:04:46 -05:00
276ca88c9e kernel/thread: replace usage of Core::CPU() 2019-02-14 14:04:46 -05:00
b9f6bd9278 ldr_ro: replace usage of Core::CPU() 2019-02-14 14:04:46 -05:00
8f2c35d7b6 Merge pull request #4614 from wwylele/nwm-uds-global
NWM_UDS: move states into the class
2019-02-14 11:44:28 -05:00
1995e8ff32 service/soc_u: address review comments 2019-02-10 18:49:18 +08:00
08bf899d70 service/soc_u: Implement getaddrinfo and getnameinfo 2019-02-09 20:12:09 +08:00
687fa0134d Merge pull request #4609 from wwylele/nuke-zmq
Reimplement scripting over plain UDP
2019-02-08 18:38:21 -05:00
7074dab2da Memory: don't lock hle mutex in memory read/write
The comment already invalidates itself: neither MMIO nor rasterizer cache belongsHLE kernel state. This mutex has a too large scope if MMIO or cache is included, which is prone to dead lock when multiple thread acquires these resource at the same time. If necessary, each MMIO component or rasterizer should have their own lock.
2019-02-08 10:43:06 -05:00
cd21abe50f sdl: add GLES support 2019-02-03 15:58:09 -06:00
a6d9baa05a FS: pass down program ID for archive operation
To eliminate System::GetInstance usage. Archive type like SelfNCCH and SaveData changes the actual reference path for different client, so archive backend interface should accept client information from the service interface. Currently we only pass the program ID as the client information.
2019-02-02 20:44:13 -05:00
008197a569 Remove scripting switch in cmake 2019-02-02 15:25:23 -05:00
6347b5cbb4 Remove libzmq submodule 2019-02-02 15:25:23 -05:00
d765a73a53 Scripting: reimplement protocol over plan UDP using boost::asio 2019-02-02 15:25:23 -05:00
573036b38e core/cheats: Add and change a few functions
Added a few interfaces for adding/deleting/replacing/saving cheats. The cheats list is guarded by a std::shared_mutex, and would only need a exclusive lock when it's being updated.

I marked the `Execute` function as `const` to avoid accidentally changing the internal state of the cheat on execution, so that execution can be considered a "read" operation which only needs a shared lock.

Whether a cheat is enabled or not is now saved by a special comment line `*citra_enabled`.
2019-02-02 08:15:23 +08:00
ae57d72b33 Merge pull request #4603 from DimitriPilot3/gdbstub-watchpoint-fix1
gdbstub: only let Execute breakpoints write/restore BKPT opcodes into memory
2019-02-01 10:49:09 -05:00
6382d9bfc3 NWM_UDS: move states into the class 2019-01-31 15:42:45 -05:00
3a7a686fa9 Kernel/SharedMemory: make owner_process a raw pointer
To break a circular reference formed by process->handle_table->shared_memory->process. Since SharedMemory uses its owner process in the destructor, which is not kept alive by SharedMemory any more, we need to make sure that the lifetime of process is longer than the shared memory. To partially resolve this, Process now explicitly releases shared memory first in its destructor. This is with the assumtion that there is no inter-process reference to shared memory on exit, which is not true when we introduce more multi-process emulation. A TODO is left there for this, as more RE needs to be done on how 3DS handles this situation
2019-01-29 11:18:51 -05:00
104829ae58 remove all occurance of specifying endianness inside BitField
This commit it automatically generated by command in zsh:
sed -i -- 's/BitField<\(.*\)_le>/BitField<\1>/g' **/*(D.)

BitField is now aware to endianness and default to little endian. It expects a value representation type without storage specification for its template parameter.
2019-01-28 22:09:43 -05:00
602334cb1e Fix mouse touchscreen in SBS 3D mode.
You can now click or drag on either eye's touchscreen.
2019-01-27 16:25:42 +10:30
d388fe58f7 gdbstub: only let Execute breakpoints write/restore BKPT opcodes into target memory 2019-01-26 22:08:39 +01:00
054a97c08b Merge pull request #4579 from xperia64/3d_slider
Change 3D Slider in-game
2019-01-23 20:23:55 -05:00
306ce6416a vfp_helper: Remove accidental use of the comma operator in vfp_single_unpack()
Makes the line of code slightly easier to read properly.
2019-01-22 18:30:34 -05:00
1302c9c1e7 frontend: Remove V-Sync option from UI
The V-Sync option is fundamentally broken in Citra, so let's do the same as yuzu and remove it entirely for SDL2 and at least from the frontend for QT.
(It was also only used by 7.3% of users)
2019-01-19 17:43:44 +01:00
c1ac39f058 Actually fix the race condition 2019-01-18 16:32:16 -05:00
5f5646c850 Fix types 2019-01-18 15:24:39 -05:00
6f2eb2a418 Do 3D slider updating in the HID module 2019-01-17 23:48:50 -05:00
81f4cef201 Revert "Change 3D slider in-game"
This reverts commit bb9a972e35.

Needs to be completely redone in the HID HLE service module.
2019-01-17 23:33:24 -05:00
95a57a2fe3 Merge pull request #4538 from valentinvanelslande/profiles
Add multiple input profile support
2019-01-17 22:32:24 -05:00
bb9a972e35 Change 3D slider in-game 2019-01-17 22:18:15 -05:00
Ben
4f23d5d69e Merge pull request #4490 from wwylele/teakra-new
audio: implement DSP LLE
2019-01-11 16:45:00 +01:00
62b40e9155 Merge branch 'master' into profiles 2019-01-07 10:39:44 -05:00
707bc48440 Added new buttons to movie system 2018-12-29 08:19:59 -06:00
5a14af5f38 address some comments 2018-12-29 08:27:06 -05:00
ec7a3fb72c Update src/core/settings.h
Co-Authored-By: valentinvanelslande <valentinvanelslandeacnl@gmail.com>
2018-12-28 23:33:40 -05:00
8e614c3eb0 clang-format; address one comment 2018-12-28 23:31:55 -05:00
39140bbff8 another fix 2018-12-28 21:24:01 -05:00
16ebb38b4a more fixes 2018-12-28 21:23:43 -05:00
bf93b94658 fixes 2018-12-28 21:13:57 -05:00
90965525ac Apply suggestions from code review
Co-Authored-By: valentinvanelslande <valentinvanelslandeacnl@gmail.com>
2018-12-28 21:00:09 -05:00
7c95032e3a Add multiple input profile support
Only supported in the Qt frontend.
2018-12-28 20:28:45 -05:00
6ad609a539 Added GPIO14 button and UI config buttons 2018-12-28 17:13:37 -06:00
446b614409 Removed unnecessary debug key abbreviations 2018-12-28 13:33:54 -06:00
403d2f0058 Added Debug Button 2018-12-28 12:47:50 -06:00
432e847c24 core/memory: Remove unnecessary memory zeroing in MemorySystem::Impl
std::make_unique for arrays is equivalent to doing:

std::unique_ptr<T>(new typename std::remove_extent<T>::type[size]())

(note the ending () after the array size specifier). This means that the
default value within memory for the constructed types will be whatever
the default constructor for that type does. Given the built-in
type for std::uint8_t doesn't have a constructor, this is equivalent to
forcing zero-initialization, so the memory will already be zeroed out on
construction. Because of that, there's no need to zero it out again.
2018-12-27 00:35:53 -05:00
443f4b964d DSP/LLE: add multithread mode 2018-12-21 20:49:24 -05:00
05c372bf6c Update teakra to fix macos issue; address comment feedbacks 2018-12-21 20:49:23 -05:00
67213ca855 audio_core/lle: link ahbm and audio callback 2018-12-21 20:49:22 -05:00
21da135cc6 Configuration: add option to use DSP LLE 2018-12-21 20:49:22 -05:00