wwylele
71fac7bd72
FS: convert to service framework
2018-02-15 23:02:09 +02:00
wwylele
e8c95a9a41
ipc_helpers: add PopPID; remove PushCurrentPIDHandle
...
It doesn't make sense for a service to tell its own PID to a client, and there is no such use case. Also the name "handle" is misleading as the PID is not a handle
2018-02-15 11:16:41 +02:00
wwylele
19d7324075
fs/archive: convert Directory to ServiceFramework
2018-02-14 21:47:08 +02:00
wwylele
4935dcaf56
fs/archive: remove dead code
...
the std::hash bug is fixed in gcc 6.1, and we are now targeting 7.0 , so the workaround is no longer needed
2018-02-14 19:49:54 +02:00
Weiyi Wang
775fb388c2
Merge pull request #3429 from Cuyler36/fs_user-stub-secure-value-functions
...
Service/FS_User: Stub Secure Value Functions
2018-02-14 17:32:26 +02:00
bunnei
b9963e131c
Merge pull request #3421 from wwylele/apt-new-framework-2
...
Service/APT: convert to ServiceFramework
2018-02-14 10:06:49 -05:00
wwylele
c4db298a7d
HLE/IPC: remove assertion on empty buffer.
...
Some service functions do require to push an empty buffer in some cases. See APT:ReceiveParameter/GlanceParameter
2018-02-11 00:09:52 +02:00
wwylele
66141ed004
apt: fix doc format
2018-02-09 18:10:46 +02:00
Weiyi Wang
3c03da12c8
Merge pull request #3069 from B3n30/announce_room_webservice
...
Announce room webservice
2018-02-08 18:46:10 +02:00
Cuyler36
71c7dddac4
Service/FS_User: Stub Secure Value Functions
...
Stubbing these functions results in save loading fixes in games which require a secure value.
An example is shown here with Animal Crossing: New Leaf:
[Before](https://puu.sh/zidZC/f1523e81cb.png )
[After](https://puu.sh/zifeT/57026eae44.png )
2018-02-06 19:31:22 -05:00
wwylele
8970e28031
APT: convert to ServiceFramework
2018-02-03 19:40:22 +02:00
MerryMage
ab3d53131a
audio_core: Remove global state
2018-02-03 15:15:17 +00:00
bunnei
dca5fd291f
Merge pull request #3272 from MerryMage/dynarmic
...
core/arm: Backend-specific context implementations
2018-02-02 12:27:52 -08:00
bunnei
40b9e55e60
Merge pull request #3408 from wwylele/apt-new-framework
...
APT/Applet: move applet management into its own class
2018-02-02 12:15:57 -08:00
bunnei
ee0bd3a8db
Merge pull request #3367 from wwylele/y2r-new-framework
...
Service/Y2R: convert to ServiceFramework
2018-02-02 12:12:47 -08:00
James Rowe
b002511df0
citra-qt: Add customizable speed limit target ( #3353 )
...
citra-qt: Add customizable speed limit target
* Update SDL config for the new frame_limit option
* Made max lag time a function of target speed percent.
* Added a checkbox to enable/disable frame limiter
* UI: Prevent frame_limit from under/overflowing
* UI: Hide target speed percent when frame limiter is off
* Disable frame limit spin box when framelimit isn't enabled
2018-01-25 22:24:40 -07:00
wwylele
92f0064b47
APT/Applet: move applet managing into its own class
2018-01-25 22:20:08 +02:00
B3n30
33b0b5163f
Merge pull request #3136 from Subv/mem_aliasing1
...
Kernel/Memory: Added a function to change the memory state of an address range
2018-01-24 10:17:25 +01:00
Subv
a7a5c5aa0d
Kernel/IPC: Partially implement MappedBuffer translation.
...
Right now only MappedBuffers that only span a single page and are not aligned are implemented.
MappedBuffers are unmapped during the reply part of ReplyAndReceive. Only unmapping of ReadOnly buffers is currently implemented.
2018-01-23 08:27:00 -05:00
Subv
928202f744
Kernel/VMManager: Added a function to map a block of memory into the first available address after a given base.
2018-01-23 08:24:15 -05:00
Subv
e4f35f70ac
Memory: Added a function to change the memory state of an address range.
...
This will be useful when implementing memory aliasing operations.
2018-01-23 08:19:47 -05:00
James Rowe
44d07574b1
Merge pull request #2882 from danzel/movie-squash
...
Movie (Game Inputs) recording and playback
2018-01-23 01:03:37 -07:00
James Rowe
0e8c25fdfa
Merge pull request #3361 from wwylele/ptm-new-framework
...
Service/PTM: convert to ServiceFramework
2018-01-22 11:57:44 -07:00
wwylele
f42f7dfcab
Service/Y2R: convert to ServiceFramework
2018-01-12 13:38:20 +02:00
Weiyi Wang
9b647d459b
Merge pull request #3324 from Subv/gspgpu
...
Services: Keep track of per-session data in GSPGPU
2018-01-11 20:03:46 +02:00
wwylele
9be3ce83db
Service/PTM: convert to ServiceFramework
2018-01-10 14:23:35 +02:00
Emmanuel Gil Peyrot
7f9fae5f7c
Telemetry: Disable CPU detection on ¬x86_64
2018-01-08 19:21:21 +01:00
Emmanuel Gil Peyrot
e5a3dc2956
Core: Disable the JIT when dynarmic is not available
2018-01-08 19:13:58 +01:00
Emmanuel Gil Peyrot
2cd2a7491c
CMakeLists: Disable dynarmic on ¬x86_64
2018-01-08 17:58:00 +01:00
Subv
34685f48dc
GSP: Allow the signaling of the PDC0/1 interrupts even if the GPU right hasn't been acquired.
...
This was verified with a hwtest.
2018-01-06 13:51:33 -05:00
Weiyi Wang
a66e4585a0
Merge pull request #3304 from wwylele/hid-new-framework
...
HID: convert to ServiceFramework
2018-01-04 11:04:57 +02:00
Subv
aa90198ec5
Services: Make SessionDataBase's destructor virtual.
2018-01-03 10:52:46 -05:00
Subv
75f68c4860
Services/GSP: Mark the thread ids as unused when a GSP session is destroyed.
...
This fixes the games that call RegisterInterruptRelayQueue and UnregisterInterruptRelayQueue frequently.
2018-01-02 12:10:58 -05:00
Subv
d17f148e48
Services/GSP: Assign a thread id to each connected session when the session is created.
...
Most applications call AcquireRight before calling RegisterInterruptRelayQueue so we can't assign the thread id there.
This fixes the bug with LLE applets not launching properly.
2018-01-02 12:07:26 -05:00
Weiyi Wang
3f7f2b42c0
Merge pull request #3257 from tgsm/y2r-ipc
...
y2r: convert some functions to use IPC helper
2018-01-02 12:55:56 +02:00
tgsm
ee779a5a4d
y2r: convert some functions to use IPC helper
2018-01-01 22:46:34 -05:00
wwylele
7daa2a51d7
Kernel/SVC: fix typo in GetResourceLimitLimitValues
2017-12-30 23:42:32 +02:00
Subv
fbef978b98
GSP: Return the correct result code if AcquireRight is called multiple times from the same thread.
2017-12-24 12:15:01 -05:00
Subv
68fc3b36e6
HLE/GSP: Only trigger GSP interrupts for the current active GSP thread.
...
This is true for all interrupts except PDC0 and PDC1, which should be triggered for all registered threads.
TODO: The real GSP module seems to only trigger PDC0 after updating the screens (both top and bottom). PDC1 doesn't seem to be triggered at all.
2017-12-24 12:15:00 -05:00
Subv
05a44ed353
HLE/GSP: Keep track of the thread that currently has the GPU right.
...
This thread is the only one for which the GSP interrupts should be signaled, except for the PDC0/1 interrupts.
2017-12-24 12:14:59 -05:00
Subv
aabb07cca4
HLE/GSP: Make RegisterInterruptRelayQueue work in a per-session basis.
...
The registered interrupt event is unique to each session that calls RegisterInterruptRelayQueue, and only that event should be reset when UnregisterInterruptRelayQueue is called.
2017-12-24 12:14:58 -05:00
James Rowe
1c4d1d1ace
Move trasnfer_framebuffer to a member of RasterCache. Address review comments
2017-12-23 16:10:32 -07:00
James Rowe
10fb9242ae
Fix clang format
2017-12-23 16:10:32 -07:00
James Rowe
13606a6d0b
Memory: Remove count of cached pages and add InvalidateRegion
...
In a future commit, the count of cached pages will be reintroduced in
the actual surface cache. Also adds an Invalidate only to the cache
which marks a region as invalid in order to try to avoid a costly flush
from 3ds memory
2017-12-23 16:10:25 -07:00
James Rowe
c821c14908
Settings: Change resolution scaling to an integer instead of a float
2017-12-23 16:10:25 -07:00
Sebastian Valle
c3c684cd2b
Merge pull request #3301 from Subv/exitprocess2
...
Kernel/SVC: Partially implemented svcExitProcess.
2017-12-23 10:49:36 -05:00
wwylele
bf23f8d542
HID: convert to ServiceFramework
2017-12-22 12:41:41 +02:00
Sebastian Valle
ae42267cc7
Merge pull request #3307 from Subv/gsp_new_frame
...
HLE: Convert GSP_GPU to ServiceFramework.
2017-12-21 10:31:41 -05:00
Subv
3652809408
HLE: Convert GSP_GPU to ServiceFramework.
...
The only functional change is the error handling of GSP_GPU::ReadHWRegs function. We previously didn't return error codes (not even for success). The new returns were found by reverse engineering the GSP module.
2017-12-21 10:30:22 -05:00
MerryMage
19814d68c1
gdbstub: Correct typo
...
Constructing and destructing a Core::System instance for the
GetInstance() call isn't the smartest thing to do.
2017-12-20 18:47:06 +00:00
Merry
3f37976fd3
Merge pull request #3309 from wwylele/cro-session-slot
...
ldr_ro: use ServiceFramework's session slot for client slot
2017-12-18 18:22:39 +00:00
Merry
32b2d5bdfe
Merge pull request #3253 from lioncash/mic-ipc
...
mic_u: Migrate to the new service framework
2017-12-18 14:34:47 +00:00
danzel
0238e0c5e7
Convert Movie to a class with a static instance, and other fixes based on B3n30 feedback.
2017-12-17 17:55:56 +13:00
danzel
04541150b1
Movie (recorded inputs) playback and recording. SDL has command lines to control it.
2017-12-17 16:43:09 +13:00
wwylele
eeec04fcaa
ldr_ro: use ServiceFramework's session slot for client slot
2017-12-17 01:43:12 +02:00
Subv
f4b595331f
GSP/GPU: Make FrameBufferInfo::active_fb use the entire u32 instead of just one bit.
...
The GSP module reads the entire 32 bit word from this field to determine the framebuffer.
2017-12-16 13:33:42 -05:00
Sebastian Valle
125f5d1e68
Merge pull request #3284 from Subv/session_data
...
HLE/Services: Allow specifying a SessionData template parameter to ServiceFramework.
2017-12-16 09:14:34 -05:00
Lioncash
d613c6f74f
mic_u: Migrate to the new service framework
2017-12-15 19:22:58 -05:00
Subv
1856aa7b32
Kernel/SVC: Partially implemented svcExitProcess.
...
Terminating processes with ready threads is not currently implemented and will assert. It is currently unknown how the 3DS kernel stops ready threads or threads running in another core.
2017-12-15 15:47:33 -05:00
Sebastian Valle
4fd28e715e
Merge pull request #3252 from Subv/fs_user
...
HLE/FS: Converted some functions to use IPCHelpers
2017-12-15 15:40:36 -05:00
Sebastian Valle
4b4e1861c7
Merge pull request #3265 from Subv/getappletinfo
...
HLE/APT: Implement GetAppletInfo for LLE applets.
2017-12-15 10:29:53 -05:00
Subv
9a22e8d9ed
HLE/APT: Implement GetAppletInfo for LLE applets.
...
Calling this function for AppletId::Application is not yet implemented because we don't support launching applications from APT.
2017-12-14 19:30:12 -05:00
Subv
674bd550a4
HLE/APT: Stubbed FinishPreloadingLibraryApplet.
...
An applet is considered "loaded" when the parent application calls this function.
2017-12-14 19:30:11 -05:00
Sebastian Valle
542f14d3c5
Merge pull request #3249 from Subv/logo
...
NCCH: Load the "logo" file from the specified offset if it's present instead of the ExeFS.
2017-12-14 18:30:19 -05:00
Subv
b5bfaaae29
HLE/FS: Use the SessionData parameter of ServiceFramework in the File class.
2017-12-14 18:24:03 -05:00
Subv
daecd812b0
HLE/Services: Allow specifying a SessionData template parameter to ServiceFramework.
...
Some services can have multiple clients at the same time, and they identify the different clients using the server session as a key.
This parameter (if present) should be a structure that contains the per-session data for each service.
The data can be retrieved using ServiceFramework::GetSessionData(session)
2017-12-14 18:24:02 -05:00
B3n30
a5e63a8c35
Use Common::Event
2017-12-14 12:36:37 +01:00
B3n30
eba2351f9e
Announce-Service: Add conditional variable for the wait in the announce thread
2017-12-14 12:36:37 +01:00
B3n30
93742f17b3
fixup! fixup! Add a service to announce multiplayer rooms to web service; Add the abiltiy to receive a list of all announced rooms from web service
2017-12-14 12:36:37 +01:00
B3n30
1485093fd9
fixup! Add a service to announce multiplayer rooms to web service; Add the abiltiy to receive a list of all announced rooms from web service
2017-12-14 12:36:37 +01:00
B3n30
0432fc17eb
Add a service to announce multiplayer rooms to web service; Add the abiltiy to receive a list of all announced rooms from web service
2017-12-14 12:36:37 +01:00
bunnei
4b8a7eb1ca
Merge pull request #3192 from wwylele/cro-new-frame
...
ldr_ro: convert to ServiceFramework
2017-12-13 22:30:03 -05:00
bunnei
c23c39132a
Merge pull request #3239 from wwylele/cam-new-frame
...
cam: convert to ServiceFramework
2017-12-13 22:27:58 -05:00
bunnei
9b598d936d
Merge pull request #3248 from wwylele/ir-new-frame
...
ir: convert to ServiceFramework
2017-12-13 22:24:51 -05:00
Subv
2552efac01
HLE/FS: Use PopEnum in OpenFile.
2017-12-13 19:51:36 -05:00
Subv
d790ac465c
HLE/FS: Use IPCHelper in CreateFile.
2017-12-13 19:51:21 -05:00
Subv
92e71aff57
HLE/FS: Use IPCHelper in DeleteDirectoryRecursively.
2017-12-12 17:48:15 -05:00
Subv
67382e46c0
HLE/FS: Use IPCHelper in DeleteDirectory.
2017-12-12 17:48:12 -05:00
Subv
b631f77d11
HLE/FS: Use IPCHelper in RenameFile.
2017-12-12 17:48:10 -05:00
Subv
a6c69bfca0
HLE/FS: Use IPCHelper in DeleteFile.
2017-12-12 17:48:07 -05:00
Subv
e9a70ce2fc
HLE/FS: Use IPCHelper in OpenFileDirectly.
2017-12-12 17:48:03 -05:00
Subv
90fdc8dcbf
FS: Make LowPathType a strongly typed enum.
2017-12-12 17:48:00 -05:00
Sebastian Valle
6afd091c37
Merge pull request #3235 from Subv/dlp3
...
HLE/FS: Implemented FSFile::OpenSubFile.
2017-12-12 17:01:18 -05:00
bunnei
4695f12a08
Merge pull request #3264 from lioncash/cmake-target
...
CMakeLists: Derive the source directory grouping from targets themselves
2017-12-12 14:34:51 -05:00
MerryMage
fb2d34997e
core/arm: Backend-specific context implementations
2017-12-12 19:12:03 +00:00
MerryMage
7d5c3b00a8
dynarmic: Update to d1d4705
2017-12-12 19:08:53 +00:00
Subv
c9ddd5b0ae
HLE/FS: Implemented FSFile::OpenSubFile.
...
The File class now holds a list of connected sessions along with data unique to each session.
A subfile is a window into an existing file. They have a few limitations compared to normal files:
* They can't be written to.
* They can't be flushed.
* Their size can not be changed.
* New subfiles can't be created from another subfile.
2017-12-12 13:34:02 -05:00
Sebastian Valle
b4bb74a101
Merge pull request #3268 from lioncash/ipc-enum
...
ipc_helpers: Add member functions for pushing and popping strongly typed enums
2017-12-12 12:52:02 -05:00
Lioncash
ab021d163e
CMakeLists: Derive the source directory grouping from targets themselves
...
Removes the need to store to separate SRC and HEADER variables,
and then construct the target in most cases.
2017-12-11 21:11:52 -05:00
MerryMage
533feb42d1
core: Don't Shutdown before we've even Init-ed
2017-12-12 00:30:46 +00:00
Merry
5c802d35ef
Merge pull request #3262 from lioncash/warn
...
common/core: Silence initialization order warnings
2017-12-11 19:52:53 +00:00
Sebastian Valle
1e3113b1b2
Merge pull request #3251 from Subv/fs_numseeds
...
HLE/FS: Stubbed GetNumSeeds to always return 0 seeds.
2017-12-11 14:13:10 -05:00
Sebastian Valle
4a3d7863fa
Merge pull request #3250 from Subv/news_notifications
...
HLE/News: Stubbed GetTotalNotifications to always return 0 notifications.
2017-12-11 14:12:22 -05:00
Lioncash
eb58dbda32
ncch: Add missing return statement in ReadUpdateRomFs
2017-12-11 01:33:08 -05:00
Lioncash
91a804707b
ipc_helpers: Add member functions for pushing and popping strongly typed enums
...
Alleviates the need to static_cast to an enum type at the call sites of the Push and Pop calls.
We only allow strongly typed enums, as they have a defined type of int
by default if an underlying type isn't explicitly specified, whereas
with regular enums, if an underlying type isn't specified, an
implementation-defined type is used that can fit all the enumeration
values.
2017-12-10 23:10:00 -05:00
Lioncash
c31f932afe
common/core: Silence initialization order warnings
2017-12-10 19:50:45 -05:00
B3n30
2146311ad1
Merge pull request #3091 from Subv/hle_request_delat
...
Kernel/IPC: Add a small delay after each SyncRequest to prevent thread starvation.
2017-12-10 19:59:19 +01:00
Subv
0ac82af50f
HLE/FS: Stubbed GetNumSeeds to always return 0 seeds.
...
We don't yet implement the SEEDDB store.
This number is supposed to be modified by the AddSeed function (0x087A0180) but there's too little info about it on 3dbrew.
2017-12-10 13:08:04 -05:00
Subv
98e3872353
Kernel/IPC: Use 39 microseconds for the SendSyncRequest delay approximation.
...
As measured by the time it takes for to return when performing the SetLcdForceBlack IPC request to the GSP:GPU service in a n3DS with firmware 11.6
See https://gist.github.com/ds84182/ecdbbd25b56a29bd4e5b32a7544b8e92 for the source code of the test.
2017-12-10 13:00:05 -05:00
Sebastian Valle
c72262d7e3
Merge pull request #3246 from Steveice10/pxidev
...
HLE: Add pxi:dev stub.
2017-12-10 12:21:35 -05:00