bunnei
8bbe74a8dc
core: hle: Address various feedback & code cleanup.
...
- Should be no functional changes.
2020-04-17 00:59:36 -04:00
bunnei
37b79ebe85
service: ldr: Updates for new VMM.
...
- Includes removing some service impls. that are untested.
2020-04-17 00:59:35 -04:00
bunnei
77382ac2b2
service: pl_u: Update for new shared memory layout.
2020-04-17 00:59:33 -04:00
bunnei
67b3df683b
service: time: Update for new shared memory layout.
2020-04-17 00:59:33 -04:00
bunnei
8eca0f9cd2
service: hid: Update for new shared memory layout.
2020-04-17 00:59:33 -04:00
bunnei
8bbc38a7bd
service: irs: Update for new shared memory layout.
2020-04-17 00:59:32 -04:00
bunnei
4caff51710
core: memory: Move to Core::Memory namespace.
...
- helpful to disambiguate Kernel::Memory namespace.
2020-04-17 00:59:28 -04:00
Lioncash
e2d8be1ca2
General: Resolve warnings related to missing declarations
2020-04-16 23:43:34 -04:00
Lioncash
337f2dc11f
time_zone_manager: Resolve sign conversion warnings
...
ttis and ats will never exceed the length of INT32_MAX in our case, so
this is safe.
2020-04-16 22:23:59 -04:00
bunnei
79c1269f0f
Merge pull request #3673 from lioncash/extra
...
CMakeLists: Specify -Wextra on linux builds
2020-04-16 21:12:33 -04:00
Rodrigo Locatti
db67e017cb
Merge pull request #3659 from bunnei/time-calc-standard-user
...
service: time: Implement CalculateStandardUserSystemClockDifferenceByUser.
2020-04-16 02:51:57 -03:00
Lioncash
1c340c6efa
CMakeLists: Specify -Wextra on linux builds
...
Allows reporting more cases where logic errors may exist, such as
implicit fallthrough cases, etc.
We currently ignore unused parameters, since we currently have many
cases where this is intentional (virtual interfaces).
While we're at it, we can also tidy up any existing code that causes
warnings. This also uncovered a few bugs as well.
2020-04-15 21:33:46 -04:00
bunnei
eb676c343a
service: time: Implement CalculateStandardUserSystemClockDifferenceByUser.
...
- Used by Animal Crossing: New Horizons.
2020-04-14 22:28:41 -04:00
bunnei
598740f1dd
service: friend: Stub IFriendService::GetBlockedUserListIds.
...
- This is safe to stub, as there should be no adverse consequences from reporting no blocked users.
2020-04-14 16:20:51 -04:00
bunnei
a9f866264d
Merge pull request #3606 from ReinUsesLisp/nvflinger
...
service/vi: Partially implement BufferQueue disconnect
2020-04-12 11:44:48 -04:00
Fernando Sahmkow
486a42c45a
Buffer queue: Correct behavior of free buffer.
...
This corrects the behavior of free buffer after witnessing it in an
unrelated hardware test. I haven't found any games affected by it but in
name of better accuracy we'll correct such behavior.
2020-04-10 16:44:28 -04:00
ReinUsesLisp
8c0ba9c6fe
service/vi: Partially implement BufferQueue disconnect
2020-04-10 01:00:50 -03:00
Fernando Sahmkow
9d8886b1a4
Merge pull request #3563 from bunnei/fix-ldr-memstate
...
services: ldr: Fix MemoryState for read/write regions of NROs.
2020-04-03 10:14:56 -04:00
Morph
224a75d839
capsrv: Split Capture services into individual files and stub GetAlbumContentsFileListForApplication ( #3571 )
...
* Organize capture services into individual files
* Stub GetAlbumContentsFileListForApplication
* Address feedback
2020-03-31 19:16:36 -04:00
bunnei
2c9879d2eb
Merge pull request #3568 from bunnei/time-calcspan
...
services: time: Implement CalculateSpanBetween.
2020-03-29 00:03:55 -04:00
bunnei
ffe1e2b5ec
Merge pull request #3562 from perillamint/vrsvc
...
am: Implement VR related APIs
2020-03-28 13:32:52 -04:00
bunnei
8a6a25e4b6
services: hid: Stub InitializeSevenSixAxisSensor.
...
- Used by Super Smash Bros. Ultimate v7.0.0.
2020-03-27 10:48:01 -04:00
bunnei
a60f34a850
services: time: Implement CalculateSpanBetween.
...
- Used by Super Smash Bros. Ultimate.
2020-03-27 10:42:13 -04:00
perillamint
a429644672
am: Implement VR related APIs
...
Implement (and stub) VR related APIs in AM sysmodule.
This fixes issue #2938
2020-03-27 18:22:28 +09:00
bunnei
5228bd0bb9
services: ldr: Fix MemoryState for read/write regions of NROs.
...
- Fixes #3541 , used by Final Fantasy VIII Remastered.
2020-03-26 15:52:59 -04:00
FearlessTobi
4afebf26b6
sm/controller: Increase PointerBufferSize
...
This increases the PointerBufferSize as a lager one is required by some services.
This change is still not hw-accurate, but it is proven to work in Ryujinx.
Instead of using a hardcoded size, we should figure out the specific values for each service in the future. Some of them can be taken from Atmosphere: https://github.com/Atmosphere-NX/Atmosphere/search?q=PointerBufferSize .
2020-03-23 03:19:30 +01:00
bunnei
e731c4b991
Merge pull request #3477 from FearlessTobi/webapplet-shit
...
core/web_browser: Allow WebApplet to exit gracefully when an error occurs
2020-03-22 13:11:02 -04:00
FearlessTobi
977418c65b
core/web_browser: Allow WebApplet to exit gracefully when an error occurs
...
Currently, yuzu just freezes when an error occurs while Initializing the WebApplet.
From a user perspective, this obviously isn't great as the game just softlocks.
With this change, yuzu will call the Finalize method, so to the game it seems like as the user just exited the WebApplet normally.
This works around https://github.com/yuzu-emu/yuzu/issues/2852 .
2020-03-22 16:01:13 +01:00
Dan
06dea163fa
set: implement GetRegionCode
2020-03-19 10:37:42 +01:00
ReinUsesLisp
ac7ee21331
time_zone_content_manager: Fix out of bounds read
...
There were cases where raw_data didn't contain enough
space to hold the zero terminator.
This was caught with -fsanitize=address.
2020-03-18 19:06:16 -03:00
Fernando Sahmkow
95b804ff05
NVFlinger: Do the microprofile Flip after processing a valid frame.
2020-03-12 10:52:44 -04:00
Morph
e1efab1f51
AM/ICommonStateGetter: Stub SetLcdBacklighOffEnabled ( #3454 )
...
* Stub SetLcdBacklighOffEnabled
Used by Super Smash Bros. Ultimate
We require backlight services to be implemented to turn on/off the backlight.
* Address feedback
2020-02-27 17:49:23 +01:00
bunnei
01a05b48b7
Merge pull request #3431 from CJBok/npad-fix
...
InputCommon: analog_from_button get direction implementation
2020-02-25 21:39:26 -05:00
Brian Clinkenbeard
ad4e5c15fb
httplib compatibility
2020-02-18 18:04:33 -08:00
CJBok
23c4cc80e2
analog_from_button get direction implementation
2020-02-18 06:45:37 +01:00
bunnei
26006cbd2c
Merge pull request #3420 from namkazt/master2
...
nvhost_gpu: implement ChannelSetTimeslice
2020-02-17 00:31:11 -05:00
Nguyen Dac Nam
5257a83ebe
IUserLocalCommunicationService: add function Initialize2
2020-02-16 13:24:34 +07:00
Nguyen Dac Nam
6c0eb6026b
HLE: correct function name of IUserLocalCommunicationService
...
402: function name should be Initialize2 (7.0.0+) not SetOperationMode
Follow by: https://switchbrew.org/wiki/LDN_services#IUserLocalCommunicationService
2020-02-16 13:14:06 +07:00
namkazy
7fadc9c180
nvhost_gpu: implement ChannelSetTimeslice
2020-02-16 11:53:03 +07:00
bunnei
f552d553ba
Merge pull request #3401 from FernandoS27/synchronization
...
Set of refactors for Kernel Synchronization and Hardware Constants
2020-02-14 14:40:20 -05:00
bunnei
74feed372c
Merge pull request #3400 from makigumo/patch-1
...
update hwopus DecodeInterleaved for FW 7.0.0+
2020-02-13 21:26:13 -05:00
Lioncash
f00a54f508
bcat/backend: Make formatting of passphrase consistent in NullBackend::SetPassphrase()
...
Aligns the '=' to be consistent with the rest of the logs within this
source file.
2020-02-12 01:18:29 -05:00
Lioncash
eefd97e80d
bcat/backend: Prevent fmt exception in debug log within NullBackend::Clear()
...
A formatting specifier within Clear wasn't being used, which will cause
fmt to throw an exception. This fixes that.
2020-02-12 01:14:47 -05:00
Fernando Sahmkow
1e6f8aba04
Core: Set all hardware emulation constants in a single file.
2020-02-11 20:19:11 -04:00
makigumo
926ea5a16d
update hwopus DecodeInterleaved for FW 7.0.0+
...
trivial change,
see https://switchbrew.org/wiki/Audio_services#IHardwareOpusDecoder
2020-02-11 18:41:04 +01:00
bunnei
7b07e521ca
hle: services: Use std::shared_ptr instead of copy by value.
2020-02-07 23:02:26 -05:00
bunnei
aa3f9b9606
Merge pull request #3381 from bunnei/ipc-fix
...
hle: services: Fix prepo IPC, and add better error checking.
2020-02-07 16:25:42 -05:00
bunnei
3a0c1e79f8
am: Correct IPC object count mismatch.
2020-02-05 23:06:53 -05:00
bunnei
77da74e17a
services: am: Clear events on PopOutData and PopInteractiveOutData.
2020-02-05 23:06:52 -05:00
bunnei
84e895cdd6
am: Refactor IStorage interface.
2020-02-05 23:06:52 -05:00
bunnei
3557fa25d0
applets: software_keyboard: Signal state change on end of interactive session.
2020-02-05 23:06:51 -05:00
bunnei
be5fcffb89
applets: software_keyboard: Minor cleanup.
2020-02-05 23:06:50 -05:00
bunnei
2245c24e21
services: prepo: Fix IPC interface with SaveReport/SaveReportWithUser.
2020-02-05 22:52:35 -05:00
bunnei
69a6796de1
Merge pull request #3284 from CJBok/hid-fix
...
hid: Fix analog sticks directional states
2020-02-01 14:02:41 -05:00
bunnei
2a822f3378
bsd: Stub several more functions.
...
- Required for Little Town Hero to boot further.
2020-01-25 00:47:15 -05:00
bunnei
ed76c71319
service: time: Implement ToPosixTimeWithMyRule.
...
- Used by Pokemon Mystery Dungeon.
2020-01-22 23:20:19 -05:00
bunnei
7113236b30
time: Fix month off-by-one error.
...
- Fixes timestamp in ZLA and Astral Chain saves.
2020-01-20 14:20:32 -05:00
bunnei
8b9f433d95
Merge pull request #3271 from bunnei/time-rewrite
...
service: time: Rewrite implementation of glue services.
2020-01-19 22:45:05 -05:00
CJBok
635deb70d4
Moved analog direction logic to sdl_impl
2020-01-15 11:25:15 +01:00
CJBok
231d9c10f3
Corrected directional states sensitivity
2020-01-14 21:51:58 +01:00
CJBok
ae7fd01e38
hid: Fix analog sticks directional states
2020-01-09 02:40:55 +01:00
bunnei
319c4d2108
Merge pull request #3272 from bunnei/vi-close-layer
...
service: vi: Implement CloseLayer.
2020-01-07 12:45:34 -05:00
bunnei
89fc75d769
Merge pull request #3257 from degasus/no_busy_loops
...
video_core: Block in WaitFence.
2020-01-06 00:09:57 -05:00
bunnei
6fe51f398f
Merge pull request #2945 from FernandoS27/fix-bcat
...
nifm: Only return that there's an internet connection when there's a BCATServer
2020-01-05 02:17:16 -05:00
bunnei
be5c149d37
service: time: Implement GetStandardLocalSystemClock.
2020-01-04 22:18:54 -05:00
bunnei
361285add9
time: Remove overflow error checking (currently breaks ADO builds).
2020-01-04 13:48:31 -05:00
bunnei
a4e840181c
service: time: Implement GetClockSnapshotFromSystemClockContext.
2020-01-04 13:48:30 -05:00
bunnei
fab2607c6b
service: time: Implement IsStandardNetworkSystemClockAccuracySufficient.
2020-01-04 13:48:30 -05:00
bunnei
78f977c980
service: time: Rewrite implementation of glue services.
2020-01-04 13:48:29 -05:00
bunnei
5135b74179
core: Initialize several structs that make use of Common::UUID.
2020-01-04 13:29:55 -05:00
bunnei
64c5631579
service: vi: Implement CloseLayer.
...
- Needed for Undertale.
2020-01-04 00:45:06 -05:00
Markus Wick
cb9dd01ffd
video_core: Block in WaitFence.
...
This function is called rarely and blocks quite often for a long time.
So don't waste power and let the CPU sleep.
This might also increase the performance as the other cores might be allowed to clock higher.
2019-12-30 13:04:53 +01:00
Fernando Sahmkow
a5bb1ac6e3
NvServices: Correct Ioctl Remap.
...
This commit corrects a padding value in Ioctl Remap that was actually an
offset to the mapping address.
2019-12-25 14:37:28 -04:00
bunnei
c3d3b173d3
kernel: Implement a more accurate IPC dispatch.
2019-11-28 12:01:53 -05:00
bunnei
e3ee017e91
Merge pull request #3169 from lioncash/memory
...
core/memory: Deglobalize memory management code
2019-11-28 11:43:17 -05:00
bunnei
c47fc3301d
Merge pull request #3170 from lioncash/enum
...
file_sys/directory: Make EntryType an enum class
2019-11-27 23:23:01 -05:00
Lioncash
a3149536e2
file_sys/directory: Make EntryType an enum class
...
This can trivially be an enum class rather than a regular enum, making
it more strongly typed.
2019-11-27 05:11:02 -05:00
Lioncash
b05bfc6036
core/memory: Migrate over Read{8, 16, 32, 64, Block} to the Memory class
...
With all of the trivial parts of the memory interface moved over, we can
get right into moving over the bits that are used.
Note that this does require the use of GetInstance from the global
system instance to be used within hle_ipc.cpp and the gdbstub. This is
fine for the time being, as they both already rely on the global system
instance in other functions. These will be removed in a change directed
at both of these respectively.
For now, it's sufficient, as it still accomplishes the goal of
de-globalizing the memory code.
2019-11-26 21:55:39 -05:00
Lioncash
536fc7f0ea
core: Prepare various classes for memory read/write migration
...
Amends a few interfaces to be able to handle the migration over to the
new Memory class by passing the class by reference as a function
parameter where necessary.
Notably, within the filesystem services, this eliminates two ReadBlock()
calls by using the helper functions of HLERequestContext to do that for
us.
2019-11-26 21:55:37 -05:00
bunnei
ec0ce96c56
core_timing: Use better reference tracking for EventType. ( #3159 )
...
* core_timing: Use better reference tracking for EventType.
- Moves ownership of the event to the caller, ensuring we don't fire events for destroyed objects.
- Removes need for unique names - we won't be using this for save states anyways.
2019-11-26 21:48:56 -05:00
bunnei
50c7539108
Merge pull request #3094 from lioncash/tables
...
service: Update function tables
2019-11-24 20:30:58 -05:00
bunnei
9046d4a548
kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects. ( #3154 )
...
* kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects.
- See https://github.com/citra-emu/citra/pull/4710 for details.
2019-11-24 20:15:51 -05:00
bunnei
eedb048585
Merge pull request #3112 from lioncash/skip
...
service/am: Remove unnecessary Skip calls
2019-11-21 15:30:01 -05:00
bunnei
d7953b8ee5
Merge pull request #3111 from lioncash/query
...
am: Stub QueryApplicationPlayStatistics
2019-11-21 15:29:34 -05:00
bunnei
3e0e4f146b
Merge pull request #3091 from lioncash/core-conversion
...
core: Make most implicit type conversion warnings errors on MSVC
2019-11-15 12:08:50 -05:00
Lioncash
2c4c2b5eee
service/am: Remove unnecessary Skip calls
...
We can simplify these by wrapping the necessary members in structs and
then simply reading out the whole struct.
2019-11-14 16:31:52 -05:00
Lioncash
1cd8637bf0
am: Stub QueryApplicationPlayStatistics
...
Maintains implementation parity between QueryApplicationPlayStatistics
and QueryApplicationPlayStatisticsByUid.
These function the same behaviorally underneath the hood, with the only
difference being that one allows specifying a UID.
2019-11-14 16:02:39 -05:00
bunnei
885d88825e
Merge pull request #3089 from SciresM/play_statistics
...
Implement stub for IApplicationFunctions::QueryApplicationPlayStatisticsByUid
2019-11-14 13:54:29 -05:00
Lioncash
e21b6ff79d
service: Update function tables
...
Keeps the function tables up to date.
Updated based off information from Switchbrew.
2019-11-12 10:32:56 -05:00
Lioncash
e0c46e6879
core: Migrate off deprecated mbedtls functions
...
These functions are marked for deprecation and it's recommended that the
*_ret variants be used instead.
2019-11-12 08:45:56 -05:00
Lioncash
f11b87ebf1
service: Resolve sign conversion errors
...
These are fairly trivial to resolve and most of the changes entail
using RESULT_UNKNOWN over ResultCode(-1).
2019-11-12 07:55:39 -05:00
Michael Scire
b0b0786493
Implement stub for QueryApplicationPlayStatisticsByUid
2019-11-11 07:32:47 -08:00
Fernando Sahmkow
3c95e49c42
nifm: Only return that there's an internet connection when there's a BCATServer
...
This helps games that need internet for other purposes boot as the rest
of our internet infrastructure is incomplete.
2019-11-06 23:10:32 -05:00
bunnei
c1a3d19897
Merge pull request #3062 from bunnei/event-improve
...
kernel: Improve events
2019-11-06 10:05:50 -05:00
David
0e34f648f4
Merge pull request #2859 from Morph1984/hid
...
hid: Stub SetNpadJoyAssignmentModeSingle and GetNpadHandheldActivationMode
2019-11-06 12:48:07 +11:00
bunnei
1bdae0fe29
common_func: Use std::array for INSERT_PADDING_* macros.
...
- Zero initialization here is useful for determinism.
2019-11-03 22:22:41 -05:00
bunnei
b0ab803ce8
kernel: events: Remove ResetType::Automatic.
...
- This does not actually seem to exist in the real kernel - games reset these automatically.
# Conflicts:
# src/core/hle/service/am/applets/applets.cpp
# src/core/hle/service/filesystem/fsp_srv.cpp
2019-11-03 04:22:45 -05:00
FearlessTobi
832c138eff
core/am: Stub InitializeApplicationCopyrightFrameBuffer, SetApplicationCopyrightImage and SetApplicationCopyrightVisibility
...
These commands require Screenshots to be implemented anyway, so they are safe to stub for now.
2019-11-03 07:37:38 +01:00
bunnei
6fe89acf0d
Merge pull request #2991 from lioncash/npad
...
hid/npad: Minor cleanup
2019-10-22 19:51:24 -04:00
Lioncash
8d8e495248
hid/npad: Fix incorrect connection boolean value in ConnectAllDisconnectedControllers()
...
We should be setting the connection state to true, otherwise we aren't
actually making the controllers connected like the function name
indicates.
2019-10-17 18:19:47 -04:00
Lioncash
d076466f26
hid/npad: Add missing break in default case
...
While not an issue, it does prevent fallthrough from occurring if
anything is ever added after this case (unlikely to occur, but this
turns a trivial "should not cause issues" into a definite "won't cause
issues).
2019-10-17 18:17:42 -04:00
Lioncash
26c84718c8
hid/npad: Replace std::for_each with ranged for loops
...
Performs the same behavior, but is built into the core language itself.
No functional change.
2019-10-17 18:16:36 -04:00
Lioncash
e433e99191
hid/npad: Remove redundant non-const variant of IsControllerSupported()
...
The const qualified variant can also be called in non-const contexts, so
we can remove the non-const variant to eliminate a bit of code
duplication.
2019-10-17 18:11:41 -04:00
Lioncash
a71e8066a1
hid/npad: Move function declarations
...
Clearly separate these from the variable declarations to make them more
visible.
2019-10-17 18:09:08 -04:00
Lioncash
b77430df70
apm/controller: Make SetPerformanceConfiguration() use an array of pairs over a map
...
While a map is an OK way to do lookups (and usually recommended in most
cases), this is a map that lives for the entire duration of the program
and only deallocates its contents when the program terminates.
Given the total size of the map is quite small, we can simply use a
std::array of pairs and utilize std::find_if to perform the same
behavior without loss of performance.
This eliminates a static constructor and places the data into the
read-only segment.
While we're at it, we can also handle malformed inputs instead of
directly dereferencing the resulting iterator.
2019-10-17 16:13:14 -04:00
Lioncash
141d929929
apm/controller: Make GetCurrentPerformanceMode() a const member function
...
This doesn't modify instance state, so it can be made const qualified.
2019-10-17 15:58:25 -04:00
bunnei
ef9b31783d
Merge pull request #2912 from FernandoS27/async-fixes
...
General fixes to Async GPU
2019-10-16 10:34:48 -04:00
bunnei
2299950de1
Merge pull request #2972 from lioncash/system
...
{bcat, gpu, nvflinger}: Remove trivial usages of the global system accessor
2019-10-15 17:49:12 -04:00
Lioncash
cc1d7048b5
bcat: Remove use of global system accessors
...
Removes all uses of the global system accessor within the BCAT
interface.
2019-10-15 16:39:27 -04:00
Zach Hilman
1911f85391
pl_u: Fix mismatched rebase size error in font encryption
2019-10-13 13:46:27 -04:00
Zach Hilman
36d829c27b
pl_u: Use kernel physical memory
2019-10-13 13:46:27 -04:00
Zach Hilman
b3a8a094a5
pl_u: Remove excess static qualifier
2019-10-13 13:46:27 -04:00
Zach Hilman
40284c6868
pl_u: Use OSS system archives if real archives don't exist
2019-10-13 13:46:27 -04:00
Lioncash
574440d59f
nvflinger/buffer_queue: Remove use of a global system accessor
2019-10-12 09:17:56 -04:00
bunnei
e664c24355
Merge pull request #2921 from FreddyFunk/compiler-warnings-core
...
Services::ES fix casting warnings
2019-10-09 10:34:48 -04:00
bunnei
b9c831de62
Merge pull request #2654 from DarkLordZach/lm-log-rewrite
...
lm: Rewrite logger to use core reporting services
2019-10-08 20:23:13 -04:00
Morph
29e15601f3
hid: Implement DeactivateNpad
...
Makes use of the already existing DeactivateController function.
2019-10-07 04:44:09 -07:00
Morph
c1e9ca4c08
hid: Stub SetNpadJoyAssignmentModeSingle and reorganize service commands
2019-10-07 04:43:34 -07:00
Zach Hilman
5326d3cb3a
Merge pull request #2951 from lioncash/global
...
core: Remove Core::CurrentProcess()
2019-10-06 20:47:48 -04:00
Lioncash
0705ce0ed1
bcat/module: Silence truncation warnings
...
We need to perform explicit casts here, otherwise we're implicitly
truncating a 64-bit type to a 32-bit one.
2019-10-06 15:38:12 -04:00
Lioncash
7e77d1593f
bcat: Take std::function instance by value in NullBackend's constructor
...
Without this, the std::move within the constructor initializer list
won't be able to actually perform a move.
2019-10-06 15:38:12 -04:00
Lioncash
81adf46d1d
bcat: In-class initialize ProgressServiceBackend's impl member
...
Allows us to remove a constructor initializer list.
2019-10-06 15:38:12 -04:00
Lioncash
3fcd2180e4
bcat: Make ProgressServiceBackend's constructor take a std::string_view
...
Given the string is appended to another, we can make it a view so a
redundant full copy of the string isn't made.
2019-10-06 15:38:09 -04:00
Lioncash
f2fa16b609
bcat: Make ProgressServiceBackend's GetEvent() const
...
This member function doesn't modify internal member state, so it can be
marked const.
2019-10-06 14:03:18 -04:00
Lioncash
329081fcb7
boxcat: Silence an unused variable warning
...
On parse errors, we can log out the explanatory string indicating what
the parsing error was, rather than just ignoring the variable and
returning an overly broad error code.
2019-10-06 14:00:32 -04:00
Lioncash
69f16ba50e
hle/service: Replace global system instance calls with instance-based ones
...
Migrates the HLE service code off the use of directly accessing the
global system instance where trivially able to do so.
This removes all usages of Core::CurrentProcess from the service code,
only 8 occurrences of this function exist elsewhere. There's still quite
a bit of "System::GetInstance()" being used, however this was able to
replace a few instances.
2019-10-06 13:42:23 -04:00
Fernando Sahmkow
75395605d6
NvFlinger: Remove leftover from corrections and clang format.
2019-10-04 19:59:54 -04:00
Fernando Sahmkow
69fa2e6525
Nvdrv: Correct Event setup in Nvdrv
...
Events are supposed to be cleared on quering. This fixes that issue.
2019-10-04 19:59:52 -04:00
Fernando Sahmkow
782b7a0ca4
NVFlinger: Reverse the change that only signaled events on buffer acquire.
...
This has been hardware tested and it seems that NVFlinger will still
signal even if there are no buffers to present.
2019-10-04 19:59:51 -04:00
Fernando Sahmkow
ffc2ce89a0
Nvdrv: Do framelimiting only in the CPU Thread
2019-10-04 19:59:50 -04:00
Fernando Sahmkow
976d9ef43c
NvFlinger: Don't swap buffers if a frame is missing and always trigger event in sync gpu.
2019-10-04 19:59:49 -04:00
Fernando Sahmkow
5b5e60ffec
GPU_Async: Correct fences, display events and more.
...
This commit uses guest fences on vSync event instead of an articial fake
fence we had.
It also corrects to keep signaling display events while loading the game
as the OS is suppose to send buffers to vSync during that time.
2019-10-04 19:59:48 -04:00
Fernando Sahmkow
4e9f975935
Nvdrv: Correct Async regression and avoid signaling empty buffer vsyncs
2019-10-04 19:59:47 -04:00
ReinUsesLisp
25ee892d5e
audio/audout_u: Change formatting for old clang-format versions
2019-10-04 23:51:56 +00:00
ReinUsesLisp
8d0b1a957e
service/nvdrv: Silence -Wswitch
2019-10-04 23:41:22 +00:00
ReinUsesLisp
5c907f85fc
service/nfp: Silence -Wunused and -Wswitch
2019-10-04 23:41:22 +00:00
ReinUsesLisp
0759df0aff
service/hid: Silence -Wunused and -Wswitch
2019-10-04 23:41:22 +00:00
ReinUsesLisp
ab6f8d8a1e
service/am: Silence -Wreorder
2019-10-04 23:41:21 +00:00
ReinUsesLisp
634c6e24b0
service/hid: Remove unused system reference
2019-10-04 23:41:21 +00:00
ReinUsesLisp
1dbd22e695
service/friend: Remove unused field
2019-10-04 23:41:21 +00:00
ReinUsesLisp
99db7d23dd
service/filesystem: Silence -Wunused-variable
2019-10-04 23:41:21 +00:00
ReinUsesLisp
8566096794
service/bcat: Silence -Wreorder and -Wunused
2019-10-04 23:41:21 +00:00
ReinUsesLisp
87e7cc2d5a
service/audio: Silence -Wunused
2019-10-04 23:28:34 +00:00
ReinUsesLisp
aacb473aa2
service/apm: Silence -Wunused and -Wreorder
2019-10-04 23:28:34 +00:00
David
9aac7fbc22
Merge pull request #2539 from DarkLordZach/bcat
...
bcat: Implement BCAT service and connect to yuzu Boxcat server
2019-10-03 19:06:13 +10:00
Zach Hilman
e55d086cc9
qt: Add service dialog
2019-10-02 08:35:43 -04:00
Zach Hilman
5d86c52a3a
boxcat: Use updated game-asset API URL and tags
2019-10-01 09:13:31 -04:00
Zach Hilman
19c466dfb1
bcat: Add FSC accessors for BCAT data
...
Ports BCAT to use FSC interface
2019-10-01 09:13:09 -04:00
Zach Hilman
bcf1eafb8b
boxcat: Implement events global field
2019-09-30 17:28:23 -04:00
Zach Hilman
2d410ddf4d
bcat: Implement DeliveryCacheProgressImpl structure
...
Huge thanks to lioncash for re-ing this for me.
2019-09-30 17:27:23 -04:00
Zach Hilman
92b70a3bf9
boxcat: Use Etag header names for file digest
2019-09-30 17:27:23 -04:00
Zach Hilman
e8183f9ef0
boxcat: Add downloading and client for launch parameter data
2019-09-30 17:27:23 -04:00
Zach Hilman
b8ce87103d
bcat: Add backend function for BCAT Indirect (launch parameter)
...
Returns the data that should be returned by PopLaunchParameter kind=ApplicationSpecific.
2019-09-30 17:27:23 -04:00
Zach Hilman
ea17b294ea
bcat: Expose CreateBackendFromSettings helper function
2019-09-30 17:27:23 -04:00
Zach Hilman
fe8c7e66e2
am: Unstub PopLaunchParameter and add bcat connection for app-specific data
...
Previously we were simply returning the account-preselect structure all times but if passed with a different mode the game expects application-specific data. This also adds a hook for BCAT into this allowing us to send the launch parameter through bcat,
2019-09-30 17:27:23 -04:00
Zach Hilman
102db206e0
bcat: Implement cmd 90201 ClearDeliveryCacheStorage
...
Takes a title ID and simply deletes all the data for that title ID's bcat. Invokes the respective backend command.
2019-09-30 17:23:26 -04:00
Zach Hilman
1bde5a3c6a
bcat: Implement cmd 30100 SetPassphrase
...
Takes a title ID and passphrase (0x40 byte string) and passes it to the backend.
2019-09-30 17:23:26 -04:00
Zach Hilman
86773a7f08
bcat: Implement cmd RequestSyncDeliveryCache and variant
...
Variant also supports only updating a single directory. These just both invoke backend commands.
2019-09-30 17:23:26 -04:00
Zach Hilman
cb7c96b96a
bcat: Implement IDeliveryCacheProgressService commands
...
Used to query completion status and events for the current delivery task.
2019-09-30 17:23:26 -04:00
Zach Hilman
f352ad5c93
bcat: Implement IDeliveryCacheFileService commands
...
Used to read the contents of files and access their metadata.
2019-09-30 17:23:26 -04:00
Zach Hilman
8812018c1d
bcat: Implement IDeliveryCacheDirectoryService commands
...
Used to list and get directories at the root level.
2019-09-30 17:23:26 -04:00
Zach Hilman
862131ead9
bcat: Implement IDeliveryCacheStorageService commands
...
Used to create subclasses to manage files and directories and to list directories.
2019-09-30 17:23:26 -04:00
Zach Hilman
78d146f907
bcat: Add commands to create IDeliveryCacheStorageService
...
Used to access contents of download.
2019-09-30 17:23:26 -04:00
Zach Hilman
68658a8385
module: Create BCAT backend based upon Settings value on construction
2019-09-30 17:23:26 -04:00
Zach Hilman
2903f3524e
bcat: Add BCAT backend for Boxcat service
...
Downloads content from yuzu servers and unpacks it into the temporary directory provided. Fully supports all Backend features except passphrase.
2019-09-30 17:21:53 -04:00
Zach Hilman
2c0b75a744
bcat: Add backend class to generify the functions of BCAT
...
Provides the most abstract simplified functions of BCAT as functions. Also includes a NullBackend class which is just a no-op.
2019-09-30 17:21:53 -04:00
Zach Hilman
532ec459b8
nifm: Signal to applications that internet access is available
2019-09-30 17:21:53 -04:00
Zach Hilman
943662dc3c
applets: Add accessor for AppletFrontendSet
...
Allows other services to call applets without using LLE.
2019-09-30 17:20:49 -04:00
Zach Hilman
f2073217a4
filesystem: Add getter for BCAT temporary directory
2019-09-30 17:20:49 -04:00
FreddyFunk
7b93c4646a
Services::ES fix casting warnings
2019-09-29 22:45:09 +02:00
David Marcec
77fbf29047
Signal styleset changes at a better time
...
We should signal when a net controller is added and our event should be manual, not automatic.
2019-09-24 17:24:37 +10:00
Zach Hilman
6212df3beb
lm: Flush manager output on core shutdown
2019-09-22 12:34:55 -04:00
Zach Hilman
fa6531ab0f
lm: Rename Initialize to Log and implement with manager/reporter
...
Allows saving and clearer output of data.
2019-09-22 12:34:55 -04:00
Zach Hilman
ef9a7fa1f5
lm: Implement manager class to output to reporter
2019-09-22 12:34:55 -04:00
Zach Hilman
4153bd8d17
core: Add LM::Manager to system
...
Allows centralized control over logging mechanisms.
2019-09-22 12:34:55 -04:00
David
aaec1562f8
Merge pull request #2683 from DarkLordZach/lock-exit
...
am: Implement exit locking and self exit commands
2019-09-23 00:37:12 +10:00
Zach Hilman
b835d76311
Merge pull request #2876 from ogniK5377/AcquireNpadStyleSetUpdateEventHandle-fix
...
AcquireNpadStyleSetUpdateEventHandle should have a separate event for each controller type
2019-09-22 10:06:48 -04:00
David
e31c15606b
Merge pull request #2895 from FearlessTobi/debug-logs
...
service/acc: Lower log severity from INFO to DEBUG
2019-09-22 23:50:49 +10:00
Fernando Sahmkow
a755f24369
Merge pull request #2873 from ogniK5377/new-ioctls
...
Initial implementation of Ioctl2 & Ioctl3
2019-09-22 09:45:29 -04:00
David Marcec
59fd910355
removed comment
2019-09-22 23:42:52 +10:00
David Marcec
654427d4d0
Rebased
2019-09-22 23:42:41 +10:00
Fernando Sahmkow
4ace69de9c
Merge pull request #2884 from ogniK5377/deglobal-sys-services
...
Remove usage of System::CurrentInterface() from most services
2019-09-22 09:38:13 -04:00
FearlessTobi
82979296d2
service/acc: Lower log severity from INFO to DEBUG
...
According to ogniK, this should have always been Debug and not Info.
2019-09-22 15:15:07 +02:00
David Marcec
9513abbb0a
removed unneeded semicolon
2019-09-22 18:50:34 +10:00
David Marcec
d961d5479e
Revert "Merge pull request #2709 from DarkLordZach/oss-ext-fonts-1"
...
This reverts commit fa1c60c33e
, reversing
changes made to e34899067b
.
2019-09-22 17:47:25 +10:00
David Marcec
e73ac40eaa
Removed reference to core timing to nvflinger and used system instead
2019-09-22 16:55:15 +10:00
David Marcec
aed884d121
marked controller constructors as explicit
2019-09-22 16:41:38 +10:00
David Marcec
bd1c4ec9a0
Rebase
2019-09-22 16:41:34 +10:00
David Marcec
fcdbf0bc53
Rebase
2019-09-22 16:40:58 +10:00
David Marcec
4d220964df
Deglobalize System: Vi
2019-09-22 16:38:03 +10:00
David Marcec
2c6e4ce0ad
Deglobalize System: Time
2019-09-22 16:38:02 +10:00
David Marcec
36a97dd8a2
Rebase
2019-09-22 16:37:59 +10:00
David Marcec
d6e830d877
Deglobalize System: NvFlinger
2019-09-22 16:35:51 +10:00
David Marcec
f21ab654db
Rebase
2019-09-22 16:35:43 +10:00
David Marcec
8d3ff2b127
Deglobalize System: Nim
2019-09-22 16:30:34 +10:00
David Marcec
ad53dc0106
Deglobalize System: Nifm
2019-09-22 16:30:33 +10:00
David Marcec
8df2a98f75
Deglobalize System: NFP
2019-09-22 16:30:32 +10:00
David Marcec
482a03f8a5
Deglobalize System: LDR
2019-09-22 16:30:31 +10:00
David Marcec
07823b61a1
Deglobalize System: IRS
2019-09-22 16:30:30 +10:00
David Marcec
28181919a6
Deglobalize System: Hid
2019-09-22 16:30:29 +10:00
David Marcec
a9e9570d84
Deglobalize System: Friend
2019-09-22 16:30:27 +10:00
David Marcec
a40e5b2def
Deglobalize System: Fatal
2019-09-22 16:30:25 +10:00
David Marcec
c33faabb27
Deglobalize System: Btm
2019-09-22 16:30:24 +10:00
David Marcec
f2b61ff073
Deglobalize System: Btdrv
2019-09-22 16:30:20 +10:00
David Marcec
7da8e3f812
Deglobalize System: Aoc
2019-09-22 16:30:17 +10:00
David Marcec
2dbfac652e
Deglobalize System: Am
2019-09-22 16:30:14 +10:00
David
fa1c60c33e
Merge pull request #2709 from DarkLordZach/oss-ext-fonts-1
...
system_archive: Move shared font data to system_archive and fix extended font data
2019-09-22 16:09:22 +10:00
Zach Hilman
2a4730cbee
pl_u: Use kernel physical memory
2019-09-21 23:00:22 -04:00
Zach Hilman
60c2e9e675
qt: Prompt user for confirmation if exit lock is active
2019-09-21 22:46:57 -04:00
David Marcec
6325c3044c
server side clang format fix2
2019-09-22 12:26:03 +10:00
Zach Hilman
e58e3719d8
am: Implement ISelfController ExitLock commands
2019-09-21 22:25:18 -04:00
Zach Hilman
a7fda84902
am: Implement ISelfController Exit
...
Closes the current application.
2019-09-21 22:25:18 -04:00
Zach Hilman
4c1c8801a5
am: Add RequestExit event to AppletMessageQueue
...
Tested against libnx, signals to games to begin cleanup.
2019-09-21 22:24:10 -04:00
David Marcec
d3783fcc52
Use clang-format provided by build server
2019-09-22 12:21:07 +10:00
Zach Hilman
885ea2de2a
pl_u: Remove excess static qualifier
2019-09-21 22:17:30 -04:00
Zach Hilman
94afffe9e5
pl_u: Use OSS system archives if real archives don't exist
2019-09-21 21:50:41 -04:00
David
a1b8e5d09a
Merge pull request #2612 from DarkLordZach/prepo-new
...
prepo: Implement New, System, and Non-User variants of SaveReport
2019-09-22 11:49:36 +10:00
Zach Hilman
ae9604faba
pl_u: Expose method to encrypt TTF to BFTTF
2019-09-21 19:21:58 -04:00
Zach Hilman
8dd2e91427
prepo: Remove system global accessors
2019-09-21 19:17:45 -04:00
Zach Hilman
daf9cd9358
prepo: Implement SaveReport New and System variants
2019-09-21 19:17:08 -04:00
Zach Hilman
038bcec111
configure_debug: Move reporting option to logging
2019-09-21 18:43:20 -04:00
Zach Hilman
a49169e819
filesystem: Add const qualification to various accessors
2019-09-21 16:50:39 -04:00
Zach Hilman
c6ff4a6f4d
yuzu: Port old usages of Filesystem namespace to FilesystemController
2019-09-21 16:43:10 -04:00
Zach Hilman
4b91057688
services: Pass FileSystemController as reference to services that need it
2019-09-21 16:43:10 -04:00
Zach Hilman
1b04b72653
am: Unstub IApplicationFunctions EnsureSaveData (20)
...
Creates a default save data for the application given a user ID.
2019-09-21 16:43:10 -04:00
Zach Hilman
43af31836e
filesystem: Pass Size Getter functions to IFileSystem for sizes
2019-09-21 16:43:10 -04:00
Zach Hilman
8abbc619a1
filesystem: Add FileSystemController to deglobalize FS services
2019-09-21 16:43:10 -04:00
David Marcec
c2f966dbc1
Mark KickOffPb & SubmitGPFIFO as trace
...
These functions are not stubbed and are called fairly often. Due to the nature of how often they're called, we should keep them marked as LOG_TRACE instead of LOG_DEBUG or LOG_WARNING
2019-09-21 15:41:11 +10:00
David Marcec
0740758b25
disable clang-format temp
2019-09-20 10:25:12 +10:00
David Marcec
f9259c0383
Initial implementation of Ioctl2 & Ioctl3
...
Purpose of Ioctl2 and Ioctl3 is to prevent the passing of raw pointers through ioctls
2019-09-19 15:37:25 +10:00
bunnei
ddfdeea3af
Merge pull request #2667 from DarkLordZach/profile-editor
...
acc: Implement IProfileEditor interface and 'Store'/'StoreWithImage' commands
2019-09-14 00:46:18 -04:00
David
1487153e06
Merge pull request #2716 from lioncash/hle-global
...
service/am: Remove usages of global system accessors
2019-09-09 16:44:41 +10:00
David
14d8c1b594
Merge pull request #2418 from DarkLordZach/srv-es
...
es: Implement various ticket accessor commands from IEticketService
2019-09-05 12:13:14 +10:00
Lioncash
d1abe8e92a
service/am: Remove usages of global system accessors
...
Avoids the use of global accessors, removing the reliance on global
state. This also makes dependencies explicit in the interface, as
opposed to being hidden
2019-09-04 20:38:43 -04:00
David
d8e59a28ea
Merge pull request #2834 from Morph1984/audrenu_QueryAudioDeviceInputEvent
...
audren_u: Stub IAudioDevice::QueryAudioDeviceInputEvent
2019-09-05 09:51:50 +10:00
David
67bdd8ed58
Merge pull request #2836 from Morph1984/hid_vibration
...
hid: Implement PermitVibration and IsVibrationPermitted
2019-09-05 09:50:38 +10:00
David
0a4f0b6a5d
Merge pull request #2818 from MysticExile/fmt
...
externals: update fmt to 6.0.0
2019-09-05 09:50:17 +10:00
mailwl
a1d48b5f52
AM: Stub IApplicationFunctions::GetGpuErrorDetectedSystemEvent ( #2827 )
...
* AM: Implement IApplicationFunctions::GetGpuErrorDetectedSystemEvent
* Remove unneeded event clear
* Fix event name
2019-09-04 11:43:04 -04:00
bunnei
fe83ee102b
Merge pull request #2829 from Morph1984/audio
...
service/audio/audren_u: Stub IAudioDevice::GetAudioDeviceOutputVolume
2019-09-04 11:42:23 -04:00
Morph1984
cd81194fc0
ditto
...
Co-Authored-By: David <25727384+ogniK5377@users.noreply.github.com>
2019-09-04 10:16:22 -04:00
Morph1984
ef98828d40
IsVibrationEnabled() as a const member func
2019-09-04 10:15:49 -04:00
Morph1984
d6969fa7d4
clang-format
2019-09-04 10:06:38 -04:00
Morph1984
ee35f7adf7
Update npad.h
2019-09-04 02:43:17 -04:00
Morph1984
5130b8a6a9
Update npad.cpp
2019-09-04 02:42:58 -04:00
Morph1984
1559477740
Update hid.h
2019-09-04 02:42:42 -04:00
Morph1984
a83eb90a78
Update hid.cpp
2019-09-04 02:42:22 -04:00
Morph1984
84815fa879
Add Kernel::EventPair audio_input_device_switch_event;
2019-09-03 23:50:56 -04:00
Morph1984
ec95c73a12
remove <f32>
...
We can remove this since its already a f32 value
2019-09-03 23:20:19 -04:00
Morph1984
1449ed9dbf
audren_u: Stub IAudioDevice::QueryAudioDeviceInputEvent
2019-09-03 23:13:32 -04:00
David
e1981b8b8d
Merge pull request #2708 from DarkLordZach/mii-db-source-crash
...
mii: Handle logging of unknown database source
2019-09-04 13:07:10 +10:00
Morph1984
58783b8a46
explicitly represent 1 as a float (1.0f instead of 1)
2019-09-03 23:06:32 -04:00
bunnei
19af91434e
Merge pull request #2793 from ReinUsesLisp/bgr565
...
renderer_opengl: Implement RGB565 framebuffer format
2019-09-03 22:36:32 -04:00
Morph1984
b1ca56bed2
Change u32 -> f32
...
Volume is a f32 value. (SwIPC describes it as a u32, but it is actually f32 as corroborated by switchbrew docs and SetAudioDeviceOutputVolume)
```cpp
const f32 volume = rp.Pop<f32>();
```
2019-09-03 22:30:20 -04:00
Morph1984
ba661c8d9a
service/audio/audren_u: Stub IAudioDevice::GetAudioDeviceOutputVolume
2019-09-03 16:05:33 -04:00
Ethan
5adbe66ae8
accommodate for fmt update
2019-08-29 21:34:51 +02:00
bunnei
b4a8cfbd00
Merge pull request #2748 from FernandoS27/align-memory
...
VM_Manager: Align allocated host physical memory to 256bytes
2019-08-21 12:10:10 -04:00
ReinUsesLisp
9a76e94b3d
gpu: Change optional<reference_wrapper<T>> to T* for FramebufferConfig
2019-08-21 01:55:25 -03:00
bunnei
ef584f1a3a
Merge pull request #2747 from lioncash/audio
...
service/audren_u: Unstub ListAudioDeviceName
2019-08-18 09:08:25 -04:00
bunnei
52f54c728d
Merge pull request #2592 from FernandoS27/sync1
...
Implement GPU Synchronization Mechanisms & Correct NVFlinger
2019-07-26 14:26:44 -04:00
Fernando Sahmkow
9bede4eeed
VM_Manager: Align allocated memory to 256bytes
...
This commit ensures that all backing memory allocated for the Guest CPU
is aligned to 256 bytes. This due to how gpu memory works and the heavy
constraints it has in the alignment of physical memory.
2019-07-19 10:06:08 -04:00
Lioncash
16730c4c43
service/audren_u: Handle audio USB output revision queries in ListAudioDeviceName()
...
Audio devices use the supplied revision information in order to
determine if USB audio output is able to be supported. In this case, we
can only really handle using this revision information in
ListAudioDeviceName(), where it checks if USB audio output is supported
before supplying it as a device name.
A few other scenarios exist where the revision info is checked, such as:
- Early exiting from SetAudioDeviceOutputVolume if USB audio is
attempted to be set when that device is unsupported.
- Early exiting and returning 0.0f in GetAudioDeviceOutputVolume when
USB output volume is queried and it's an unsupported device.
- Falling back to AHUB headphones in GetActiveAudioDeviceName when the
device type is USB output, but is unsupported based off the revision
info.
In order for these changes to also be implemented, a few other changes
to the interface need to be made.
Given we now properly handle everything about ListAudioDeviceName(), we
no longer need to describe it as a stubbed function.
2019-07-19 07:55:27 -04:00
Lioncash
b9ebab71be
service/audren_u: Move revision testing code out of AudRenU
...
The revision querying facilities are used by more than just audren. e.g.
audio devices can use this to test whether or not USB audio output is
supported.
This will be used within the following change.
2019-07-19 07:55:23 -04:00
Lioncash
ed0485c599
service/audio: Remove global system accessors
...
Trims out the lingering reliance on global state out of the audio code.
2019-07-19 07:29:36 -04:00
Lioncash
7653e4babc
service/audren_u: Remove unnecessary return value from GetActiveAudioDeviceName()
...
This service function only ever returns a result and nothing more.
2019-07-19 06:57:31 -04:00
Lioncash
6ecbc6c557
service/audren_u: Report proper device names
...
AudioDevice and AudioInterface aren't valid device names on the Switch.
We should also be returning consistent names in
GetActiveAudioDeviceName().
While we're at it, we can also handle proper name output in
ListAudioDeviceName, by returning all the available devices on the
Switch.
2019-07-19 06:57:30 -04:00
David Marcec
ea5602b959
Clang format
2019-07-13 01:49:32 +10:00
David Marcec
73b37886c1
"AudioRenderer" thread should have a unique name
...
Creating multiple "AudioRenderer" threads cause the previous thread to be overwritten. The thread will name be renamed to AudioRenderer-InstanceX, where X is the current instance number.
2019-07-13 01:22:08 +10:00
bunnei
79c382fafd
Merge pull request #2717 from SciresM/unmirror_memory
...
Restore memory perms on svcUnmapMemory/UnloadNro
2019-07-11 14:57:20 -04:00
Lioncash
f4ae449f73
service/am: Implement IsAutoSleepDisabled
...
This simply queries whether or not auto-sleep facilities are disabled
and has no special handling. It's a basic getter function.
2019-07-11 13:34:55 -04:00
Lioncash
b81f6f67f5
service/am: Implement SetAutoSleepDisabled
...
Provides a basic implementation of SetAutoSleepDisabled. Until idle
handling is implemented, this is about the best we can do.
In the meantime, provide a rough documenting of specifics that occur
when this function is called on actual hardware.
2019-07-11 13:09:03 -04:00
Michael Scire
072a9796f5
Restore memory perms on svcUnmapMemory/UnloadNro
...
Prior to PR, Yuzu did not restore memory to RW-
on unmap of mirrored memory or unloading of NRO.
(In fact, in the NRO case, the memory was unmapped
instead of reprotected to --- on Load, so it was
actually lost entirely...)
This PR addresses that, and restores memory to RW-
as it should.
This fixes a crash in Super Smash Bros when creating
a World of Light save for the first time, and possibly
other games/circumstances.
2019-07-11 01:38:28 -07:00
bunnei
93eaea109d
Merge pull request #2700 from ogniK5377/GetFriendList
...
IFriendService::GetFriendList
2019-07-10 16:29:48 -04:00
bunnei
463af08bed
Merge pull request #2611 from DarkLordZach/pm-info-cmd
...
pm: Implement various pm commands for finding process and title IDs
2019-07-10 16:28:29 -04:00
bunnei
d707a12b9a
Merge pull request #2650 from DarkLordZach/mii-iface-ver
...
mii: Implement IDatabaseService SetInterfaceVersion
2019-07-10 16:26:23 -04:00
Zach Hilman
37a352e9d3
mii: Handle logging of unknown database source
2019-07-10 07:07:24 -04:00
David Marcec
0330f5d6f8
IFriendService::GetFriendList
...
We don't have any friends implemented in Yuzu yet so it doesn't make sense to return any friends. For now we'll be returning 0 friends however the information provided will allow a proper implementation of this cmd when needed.
2019-07-09 18:20:58 +10:00
Zach Hilman
6c3cceafdc
Merge pull request #2657 from ogniK5377/npad-assignments
...
hid:StartLrAssignmentMode, hid:StopLrAssignmentMode, hid:SwapNpadAssignment
2019-07-08 09:35:19 -04:00
David Marcec
5234e08a0d
addressed issues
2019-07-08 14:51:40 +10:00
bunnei
7b28f954c9
Merge pull request #2651 from DarkLordZach/apm-boost-mode-1
...
apm: Initial implementation of performance config and boost mode
2019-07-07 21:40:30 -04:00
bunnei
8f5aae3074
Merge pull request #2642 from DarkLordZach/fsp-log-2
...
fsp-srv: Implement Access Logging Functionality
2019-07-07 21:39:40 -04:00
Zach Hilman
50d5414075
key_manager: Convert Ticket union to std::variant
2019-07-07 21:38:33 -04:00
Zach Hilman
d9ef20e5a5
es: Populate/synthesize tickets on construction
2019-07-07 21:38:33 -04:00
Zach Hilman
f8718ae779
key_manager: Add structure for Ticket parsing
2019-07-07 21:38:33 -04:00
Zach Hilman
b294b13584
es: Implement ETicket GetPersonalizedTicketData (17)
...
Copies the raw personal ticket data into the buffer provided.
2019-07-07 21:38:33 -04:00
Zach Hilman
c6a32dc077
es: Implement ETicket GetCommonTicketData (16)
...
Copies the raw common ticket data for the specified rights ID into the buffer provided.
2019-07-07 21:38:33 -04:00
Zach Hilman
44b0c19f6a
es: Implement ETicket GetPersonalizedTicketSize (15)
...
Returns the size of the buffer needed to hold the personal ticket associated with the rights ID.
2019-07-07 21:38:33 -04:00
Zach Hilman
35b617b57f
es: Implement ETicket GetCommonTicketSize (14)
...
Returns the size of the buffer needed to hold the common ticket associated with the rights ID.
2019-07-07 21:38:33 -04:00
Zach Hilman
669a21babb
es: Implement ETicket ListPersonalizedTicket (12)
...
Returns an application-specific number of entries of personal tickets, starting at offset 0.
2019-07-07 21:38:33 -04:00
Zach Hilman
5d6bf75296
es: Implement ETicket ListCommonTicket (11)
...
Returns an application specified count of entries of common tickets, starting at offset 0.
2019-07-07 21:38:33 -04:00
Zach Hilman
11f45e6015
es: Implement ETicket CountPersonalizedTicket (10)
...
Returns the number of personalized (console/user-unique) tickets in the KeyManager.
2019-07-07 21:38:33 -04:00
Zach Hilman
71bc2182c2
es: Implement ETicket CountCommonTicket (9)
...
Returns the number of common (non-console-unique) tickets in the KeyManager.
2019-07-07 21:38:33 -04:00
Zach Hilman
475a7a4446
es: Implement ETicket GetTitleKey (8)
...
Takes a rights ID as input and returns the associated title key, if it exists.
2019-07-07 21:38:33 -04:00
Zach Hilman
f15f73a555
es: Implement ETicket ImportTicket (1)
...
Takes a ticket and certificate and installs it to the KeyManager.
2019-07-07 21:38:33 -04:00
Zach Hilman
a4ef86a021
mii: Implement IDatabaseService SetInterfaceVersion
...
Appears to set a member variable used to affect the API that games access, and the method used to store data.
2019-07-06 21:39:12 -04:00
Michael Scire
36259c01c2
clang-format fixes
2019-07-06 13:52:05 -07:00
Michael Scire
7fb7d3c218
am: Implement GetAccumulatedSuspendedTickValue
2019-07-06 12:13:34 -07:00
Fernando Sahmkow
0fc98958a3
NVServices: Correct delayed responses.
2019-07-05 15:49:35 -04:00
Fernando Sahmkow
8c91d5c166
Nv_Host_Ctrl: Correct difference calculation
2019-07-05 15:49:34 -04:00
Fernando Sahmkow
f3a39e0c9c
NVServices: Address Feedback
2019-07-05 15:49:33 -04:00
Fernando Sahmkow
d20ede40b1
NVServices: Styling, define constructors as explicit and corrections
2019-07-05 15:49:32 -04:00
Fernando Sahmkow
b391e5f638
NVFlinger: Correct GCC compile error
2019-07-05 15:49:31 -04:00
Fernando Sahmkow
0335a25d1f
NVServices: Make NVEvents Automatic according to documentation.
2019-07-05 15:49:29 -04:00
Fernando Sahmkow
b6844bec60
NVServices: Correct CtrlEventWaitSync to block the ipc until timeout.
2019-07-05 15:49:28 -04:00
Fernando Sahmkow
7d1b974bca
GPU: Correct Interrupts to interrupt on syncpt/value instead of event, mirroring hardware
2019-07-05 15:49:26 -04:00
Fernando Sahmkow
61697864c3
nvflinger: Make the force 30 fps still force 30 fps
2019-07-05 15:49:25 -04:00
Fernando Sahmkow
efdeab3a1d
nv_services: Fixes to event liberation.
2019-07-05 15:49:24 -04:00
Fernando Sahmkow
ea97589624
nvflinger: Acquire buffers in the same order as they were queued.
2019-07-05 15:49:23 -04:00
Fernando Sahmkow
24408cce9b
nv_services: Deglobalize NvServices
2019-07-05 15:49:22 -04:00
Fernando Sahmkow
0706d633bf
nv_host_ctrl: Make Sync GPU variant always return synced result.
2019-07-05 15:49:20 -04:00
Fernando Sahmkow
78add28aab
nvhost_ctrl: Corrections to event handling
2019-07-05 15:49:17 -04:00
Fernando Sahmkow
eef55f493b
Gpu: Mark areas as protected.
2019-07-05 15:49:16 -04:00
Fernando Sahmkow
a45643cb3b
nv_services: Stub CtrlEventSignal
2019-07-05 15:49:15 -04:00
Fernando Sahmkow
8942047d41
Gpu: Implement Hardware Interrupt Manager and manage GPU interrupts
2019-07-05 15:49:14 -04:00
Fernando Sahmkow
e0027eba85
nv_services: Implement NvQueryEvent, NvCtrlEventWait, NvEventRegister, NvEventUnregister
2019-07-05 15:49:13 -04:00
Fernando Sahmkow
7039ece0a0
nv_services: Create GPU channels correctly
2019-07-05 15:49:12 -04:00
Fernando Sahmkow
82b829625b
video_core: Implement GPU side Syncpoints
2019-07-05 15:49:11 -04:00
Fernando Sahmkow
737e978f5b
nv_services: Correct buffer queue fencing and GPFifo fencing
2019-07-05 15:49:10 -04:00
Fernando Sahmkow
ceb5f5079c
nvflinger: Implement swap intervals
2019-07-05 15:49:08 -04:00
bunnei
3c7eed16dc
Merge pull request #2658 from ogniK5377/QueryAudioDeviceOutputEvent
...
IAudioDevice::QueryAudioDeviceOutputEvent
2019-07-04 01:42:22 -04:00
bunnei
70b595a63b
Merge pull request #2638 from DarkLordZach/quest-flag
...
set: Implement GetQuestFlag with config option
2019-07-04 01:40:41 -04:00
Zach Hilman
beb3d77a79
Merge pull request #2613 from ogniK5377/InitalizeApplicationInfo
...
Implemented InitializeApplicationInfo & InitializeApplicationInfoRestricted
2019-07-03 20:23:56 -04:00
Zach Hilman
e86af37ecb
Merge pull request #2608 from ogniK5377/Time_GetSharedMemoryNativeHandle
...
Implement Time::GetSharedMemoryNativeHandle
2019-07-03 20:22:23 -04:00
Zach Hilman
471b2a4211
acc_su: Implement GetProfileEditor (205)
...
Takes a UUID of a user and provides and interface that allows RW access to user data/settings.
2019-07-03 07:57:41 -05:00
Zach Hilman
812fb30821
acc: Implement IProfileEditor-specific commands 'Store' and 'StoreWithImage'
...
Verified with IDA
2019-07-03 07:57:03 -05:00
Zach Hilman
02560d6482
profile_manager: Add setter for ProfileBase and ProfileData
...
Needed by IProfileEditor 'Store' and 'StoreWithImage'
2019-07-03 07:56:28 -05:00
Zach Hilman
39f6d57c34
acc: Add IProfileCommon for IProfile and IProfileEditor
...
Since 2/3 of the commands are shared, this is likely how its done on HW.
2019-07-03 07:55:54 -05:00
bunnei
58032e0085
Merge pull request #2604 from ogniK5377/INotificationService
...
Implemented INotificationService
2019-07-02 23:32:57 -04:00
Bakugo
b50557d1f0
file_sys: Rename other ContentRecordType members
2019-07-02 00:57:23 +01:00
David Marcec
965608e6d1
IAudioDevice::QueryAudioDeviceOutputEvent
...
The event should only be signaled when an output audio device gets changed. Example, Speaker to USB headset. We don't identify different devices internally yet so there's no need to signal the event yet.
2019-07-01 18:05:44 +10:00
David Marcec
472210bf72
hid:StartLrAssignmentMode, hid:StopLrAssignmentMode, hid:SwapNpadAssignment
...
StartLrAssignmentMode and StopLrAssignmentMode don't require any implementation as it's just used for showing the screen of changing the controller orientation if the user wishes to do so. Ever since #1634 this has not been needed as users can specify the controller orientation from the config and swap at any time. We store a private member just in case this gets used for anything extra in the future
2019-07-01 15:12:57 +10:00
Zach Hilman
7e5d7773cc
am: Implement SetCpuBoostMode in terms of APM
2019-06-28 22:46:51 -04:00
Zach Hilman
e52306ca60
apm: Implement SetCpuBoostMode
2019-06-28 22:46:00 -04:00
Zach Hilman
1c6e6305ea
apm: Add getters for performance config and mode
2019-06-28 22:45:31 -04:00
Zach Hilman
9175b00e7d
apm: Add apm:am service
...
8.0.0+ identical version of apm
2019-06-28 22:44:30 -04:00
Zach Hilman
65eb9cbb28
apm: Add Controller class to manage speed data and application
2019-06-28 22:43:51 -04:00
Zach Hilman
d40f38967e
fsp-srv: Implement GetAccessLogVersionInfo
...
Returns some misc. data about logging to help the game determine if it should log.
2019-06-28 21:05:42 -04:00
Zach Hilman
db2fdd0352
fsp-srv: Implement OutputAccessLogToSdCard
...
Allows games to log data to the SD.
2019-06-28 21:02:34 -04:00
Zach Hilman
f477c5dfdd
set: Implement GetQuestFlag
...
Simply returns a true/false value indicating if the system is a kiosk system. This has been mapped to a config option for the purposes of yuzu.
2019-06-28 18:38:47 -04:00
David Marcec
dfe4b3f723
Attemp clang format fix?
...
Seems to be an issue with clang format
2019-06-28 22:08:50 +10:00
David Marcec
c2146c4eef
Addressed issues
2019-06-28 15:29:38 +10:00
David Marcec
fd6549be73
Addressed issues
2019-06-28 15:19:51 +10:00
David Marcec
0b03e8a98f
Implemented InitializeApplicationInfo & InitializeApplicationInfoRestricted
...
InitializeApplicationInfoRestricted will need further implementation as it's checking for other user requirements about the game. As we're emulating, we're assuming the user owns the game so we skip these checks currently, implementation will need to be added further on
2019-06-27 16:44:42 +10:00
Zach Hilman
bce4bfffb6
pm: Implement pm:shell and pm:dmnt GetApplicationPid
...
Returns the process ID of the current application or 0 if no app is running.
2019-06-26 19:07:34 -04:00
Zach Hilman
354c254cde
pm: Implement pm:dmnt GetTitlePid
...
Takes a title ID and searches for a matching process, returning error if it doesn't exist, otherwise the process ID.
2019-06-26 19:06:51 -04:00
Zach Hilman
49af3bcdcb
pm: Implement pm:info GetTitleId
...
Searches the process list for a process with the specified ID, returning the title ID if it exists.
2019-06-26 19:05:04 -04:00
bunnei
5829ba1ccc
Merge pull request #2548 from DarkLordZach/applet-shopn
...
applets: Implement backend and default frontend for Parental Controls and EShop (ShopN) applets
2019-06-26 15:55:24 -04:00
David Marcec
f67039c067
Addressed issues
2019-06-26 16:52:34 +10:00
Zach Hilman
d10fc2d727
glue: Correct missing bytes in ApplicationLaunchParameter
2019-06-25 22:25:10 -04:00
David Marcec
19dc36ce06
Implement Time::GetSharedMemoryNativeHandle
...
This PR attempts to implement the shared memory provided by GetSharedMemoryNativeHandle. There is still more work to be done however that requires a rehaul of the current time module to handle clock contexts. This PR is mainly to get the basic functionality of the SharedMemory working and allow the use of addition to it whilst things get improved on.
Things to note:
Memory Barriers are used in the SharedMemory and a better solution would need to be done to implement this. Currently in this PR I’m faking the memory barriers as everything is sync and single threaded. They work by incrementing the counter and just populate the two data slots. On data reading, it will read the last added data.
Specific values in the shared memory would need to be updated periodically. This isn't included in this PR since we don't actively do this yet. In a later PR when time is refactored this should be done.
Finally, as we don't handle clock contexts. When time is refactored, we will need to update the shared memory for specific contexts. This PR does this already however since the contexts are all identical and not separated. We're just updating the same values for each context which in this case is empty.
Tiime:SetStandardUserSystemClockAutomaticCorrectionEnabled, Time:IsStandardUserSystemClockAutomaticCorrectionEnabled are also partially implemented in this PR. The reason the implementation is partial is because once again, a lack of clock contexts. This will be improved on in a future PR.
This PR closes issue #2556
2019-06-26 00:45:53 +10:00
David Marcec
192f1f7ebe
SizedNotificationInfo should be 0x10 bytes, user_uuid is incorrect, this should be the users account id
2019-06-25 15:19:37 +10:00