Commit Graph

5893 Commits

Author SHA1 Message Date
Lioncash
11705857cd file_sys: std::move the vector in NCCHFile's constructor
Avoids making unnecessary copies of the source vector's data.
2017-12-09 14:33:09 -05:00
Lioncash
370d77f13a file_sys: std::move std::shared_ptr instances in constructors where applicable
By default, a regular copy requires an atomic increment and decrement. A
move avoids this from occurring, which makes sense when the constructor
is taking the shared_ptr by value.
2017-12-09 14:33:04 -05:00
James Rowe
a709e6528e
Merge pull request #3242 from Subv/extdata
HLE/FS: Always use 0x48000 as the high dword when opening the SharedExtData archive
2017-12-09 10:18:30 -07:00
Subv
8e9b55e939 NCCH: Load the "logo" file from the specified offset if it's present instead of the ExeFS.
This is "new" behavior as of firmware 5.0.0-11, older titles have the logo offset and size set to 0, indicating that the logo is stored in the ExeFS.
2017-12-09 12:17:02 -05:00
James Rowe
a5b7a1fa7a
Merge pull request #3247 from muemart/crash
Fix crash when loading an unsupported file
2017-12-09 09:49:24 -07:00
Subv
dd0bd5520d HLE/News: Stubbed GetTotalNotifications to always return 0 notifications.
This prevents an invalid read loop on games that call it.
2017-12-09 11:28:57 -05:00
wwylele
35b1306941 ir_user: convert to ServiceFramework 2017-12-09 18:14:51 +02:00
wwylele
4812e98e05 ir_rst: convert to ServiceFramework
also fix the wrong header in Shutdown
2017-12-09 18:14:51 +02:00
muemart
53741c6ebd Add translation support for button labels 2017-12-09 16:11:17 +01:00
muemart
bac776439b Fix crash when loading an unsupported file.
The telemetry stuff isn't properly initialized when loading fails, resulting in a crash.
2017-12-09 15:59:21 +01:00
wwylele
f3e41fe941 ir_u: convert to ServiceFramework 2017-12-09 12:34:23 +02:00
Subv
b54e278eeb FS/ExtData: Use the ExtSaveDataArchivePath structure instead of reinterpret_cast. 2017-12-09 00:17:43 -05:00
Subv
37cb18358b HLE/FS: Always use 0x48000 as the high dword when opening the SharedExtData archive
The FS module overrides whatever value was in the saveid high dword with 0x48000 when trying to open the archive.

This fixes the problem where the Home Menu would create a few SharedExtData archives with 0x48000 as the saveid high, but then try to open them with 0 as the high value and fail.
2017-12-09 00:16:51 -05:00
James Rowe
af45f2b2de
Merge pull request #3241 from wwylele/process-info-fix
svc: correct GetProcessInfo(20)
2017-12-08 13:13:26 -07:00
wwylele
5026480b36 svc: correct GetProcessInfo(20) 2017-12-08 21:28:48 +02:00
Sebastian Valle
69caf8c5dc
Merge pull request #3236 from Tilka/block_name
cfg: refer to ConsoleModelBlockID by name
2017-12-08 09:01:22 -05:00
Sebastian Valle
065ae0606b
Merge pull request #3238 from lioncash/svc-name
svc: Provide names for svc 0x59 and 0x5A
2017-12-08 09:00:36 -05:00
muemart
441a9b5622 Add button labels for sdl joystick mappings 2017-12-08 13:08:42 +01:00
wwylele
07acc6ceab cam: convert to ServiceFramework 2017-12-08 11:20:48 +02:00
Tillmann Karras
6752576de9 cfg: refer to ConsoleModelBlockID by name 2017-12-08 06:56:00 +00:00
Subv
e90daa6a4f Kernel/IPC: Add a small delay after each SyncRequest to prevent thread starvation.
In a real 3DS, threads that call svcSyncRequest are put to sleep until the server responds via svcReplyAndReceive. Our HLE services don't implement this mechanism and are effectively immediate from the 3DS's point of view. This commit makes it so that we at least simulate the IPC delay.

Specific HLE handlers might need to put their callers to sleep for a longer period of time to simulate IO timings. This is their responsibility but doing so is currently not implemented.

See https://gist.github.com/ds84182/4a7690c5376e045cab9129ca4185bbeb for a test that was not passing before this commit.
2017-12-07 22:40:15 -05:00
Lioncash
ff96c5dba0 svc: Provide names for svc 0x59 and 0x5A
Updated according to 3dbrew.
2017-12-07 22:14:55 -05:00
bunnei
040006fa6b
Merge pull request #3159 from FearlessTobi/really-fix-fullscreen
citra-qt : Fix a bug in our fullscreen implementation
2017-12-07 11:32:28 -05:00
wwylele
2b907dadf4 cro_helper: add todo about process handle 2017-12-07 16:20:15 +02:00
wwylele
9749a43cc4 ldr_ro: create per-client storage; pass process where needed 2017-12-07 16:01:01 +02:00
wwylele
8e4e663113 memory: add overload with process parameter for ZeroBlock and CopyBlock 2017-12-07 15:59:54 +02:00
wwylele
de8dbbf0b6 ldr_ro: convert to ServiceFramework 2017-12-07 15:59:54 +02:00
Merry
683bd0a852
Merge pull request #3231 from lioncash/header
dyncom: Remove unnecessary includes
2017-12-07 08:32:06 +00:00
Lioncash
088c8521bf dyncom: Remove unnecessary includes 2017-12-07 00:02:55 -05:00
bunnei
1f36472fff
Merge pull request #3229 from lioncash/decode
arm_dyncom_dec: Hide the decoding table from external view
2017-12-06 22:46:01 -05:00
bunnei
77493860ca
Merge pull request #3228 from lioncash/explicit
arm: Make CPU backend constructors explicit
2017-12-06 22:44:39 -05:00
bunnei
d8ba07a430
Merge pull request #3227 from MerryMage/cro
Allow for partial invalidation of instruction cache
2017-12-06 22:43:58 -05:00
bunnei
275ce3e55c
Merge pull request #3230 from lioncash/pragma
arm_dynarmic_cp15: Add missing header guard
2017-12-06 22:42:42 -05:00
Lioncash
ab857f5e45 arm_dyncom_dec: Hide the decoding table from external view
This isn't used externally anywhere (and really shouldn't be).
2017-12-06 20:55:52 -05:00
Lioncash
982039be95 arm_dynarmic_cp15: Add missing header guard 2017-12-06 19:51:46 -05:00
Lioncash
e960628a14 arm: Make CPU backend constructors explicit
Avoids implicit conversions
2017-12-06 19:37:56 -05:00
MerryMage
a9af4be363 ldr_ro: Use ranged instruction cache invalidation 2017-12-06 20:59:09 +00:00
MerryMage
647e553f64 ARM_Interface: Allow for partial invalidation of instruction cache 2017-12-06 20:57:55 +00:00
MerryMage
cdde8ddb04 externals: Update dynarmic to 4110494 2017-12-06 20:57:18 +00:00
Sebastian Valle
4b1253b51a
Merge pull request #3226 from Subv/arbiter_timeout
HLE/AddressArbiter: Remove threads that were awoken by timeout from an Arbiter's waitlist
2017-12-06 12:11:23 -05:00
Subv
8c16b90eae HLE/AddressArbiter: Remove threads that were awoken by timeout from the arbiter's waitlist when using WaitIfLessThanWithTimeout and DecrementAndWaitIfLessThanWithTimeout.
Fixes a regression introduced in #3096
2017-12-06 09:06:45 -05:00
Sebastian Valle
36a8bc6db0
Merge pull request #3225 from B3n30/applet_id
Applet: Print unknown AppletId on ASSERT
2017-12-06 08:02:55 -05:00
B3n30
b9db9af9e8 fixup! Applet: Print unknown AppletId on ASSERT 2017-12-06 13:52:21 +01:00
B3n30
ddc59e3881 Applet: Print unknown AppletId on ASSERT 2017-12-06 12:41:46 +01:00
muemart
e784434a25 Allow input configuration with SDL joysticks (#3116)
* Add infrastructure to poll joystick input and get ParamPackages

* Generalize the callbacks in configure_input.cpp and add buttons for analog sticks

* Use the polling classes in the input dialog

* Fix includes

* Formatting fix

* Include real header instead of forward declaring, to fix compiler error

* Split up pair and add deadzone for joystick configuration

* Pass ParamPackages by reference to callback

* fix formatting

* getPollers -> GetPollers

* Add forward declarations and simplify code a bit

* Update joysticks before opening them

* Fix mixup between joystick IDs and device indices
2017-12-05 23:26:29 -05:00
bunnei
e165b5bb94
Merge pull request #3184 from MerryMage/timing
core/arm: Improve timing accuracy before service calls in JIT
2017-12-05 23:12:24 -05:00
bunnei
959b1e4254
Merge pull request #3223 from lioncash/dyncom
dyncom: Convert the SPSR checking define to a function
2017-12-05 23:11:49 -05:00
Lioncash
8599b1e7cc dyncom: Convert the SPSR checking define to a function
Same thing, with less indirection hiding
2017-12-05 20:07:45 -05:00
Sebastian Valle
4835342032
Merge pull request #3193 from Tilka/nan_check
video_core: optimize NaN check
2017-12-05 19:08:58 -05:00
Tillmann Karras
1c2750d5bd video_core: optimize NaN check 2017-12-05 22:34:22 +00:00