Commit Graph

4749 Commits (53bff5379144c22532affdfa8952690a5f0d5fd1)

Author SHA1 Message Date
Zach Hilman 96535c13a5 software_keyboard: Use correct offset for inital text string 7 years ago
Lioncash 233e495c14 kernel/shared_memory: Make Map() and Unmap() take the target process by reference rather than as a pointer
Both member functions assume the passed in target process will not be
null. Instead of making this assumption implicit, we can change the
functions to be references and enforce this at the type-system level.
7 years ago
Lioncash fb5d4b17de kernel/shared_memory: Add a const qualified member function overload for GetPointer()
Given this doesn't mutate instance state, we can provide a
const-qualified variant as well.
7 years ago
Lioncash 2d37ca3726 kernel/shared_memory: Use 64-bit types for offset and size in CreateForApplet
Keeps the interface consistent with the regular Create() function.
7 years ago
Lioncash 76ac234bf6 kernel/shared_memory: Make GetPointer() take a std::size_t instead of a u32
Makes the interface nicer to use in terms of 64-bit code, as it makes it
less likely for one to get truncation warnings (and also makes sense in
the context of the rest of the interface where 64-bit types are used for
sizes and offsets
7 years ago
Lioncash f472232705 kernel/shared_memory: Make data members private
Rather than allow unfettered access to the class internals, we hide all
members by default and create and API that other code can operate
against.
7 years ago
Lioncash 43e7c6cf49 ldr: Clean up error codes
The separate enum isn't particularly necessary here, and the values can
just be directly put into the ResultCode instances, given the names are
also self-documenting here.
7 years ago
Zach Hilman c3becdbca7 filesystem: Clear registered union paths on factory creation 7 years ago
Zach Hilman 3a6cd5b3c8 hid: Use player-defined controller type as PREFERRED_CONTROLLER 7 years ago
Zach Hilman 55ded706d6 hid/npad: Update NPad to use player controller bindings and type 7 years ago
Zach Hilman e9145c3e16 hid/touchscreen: Update Touchscreen to use advanced parameters
Including finger ID, diamater x/y, and angle. Additionally, checks if the touchscreen is enabled.
7 years ago
Zach Hilman 3b25426bd9 hid: Add controller bindings for Mouse controller 7 years ago
Zach Hilman 0fd45e78f4 hid: Add keyboard bindings for Keyboard controller 7 years ago
Zach Hilman 06cf050c0a hid: Add controller bindings for DebugPad controller
Used by developers to test games, not present on retail systems. Some games are known to respond to DebugPad input though, for example Kirby Star Allies.
7 years ago
Zach Hilman c77454b9d0 settings: Add settings for multiple players and controllers
Uses the PlayerInput struct to represent all of the data that constitutes a player.
7 years ago
Zach Hilman fd5fa48674 settings: Add Native type for keyboard 7 years ago
Zach Hilman 152422bab1 settings: Add Native type for mouse buttons 7 years ago
David Marcec 0c3e7b7086 Added missing start/end touch attributes to touchscreen 7 years ago
David Marcec f66c6fe554 Added debugpad skeleton 7 years ago
David Marcec 362b28d052 Added controller helper funcs 7 years ago
David Marcec a69b9d73f5 Changed polling rate of hid and Right joycon rotation 7 years ago
David Marcec 7fbe2c83a7 Left joycon rotation button remapping 7 years ago
David Marcec b9c1e4b0e7 Added automatic npad switch based on supported stylesets 7 years ago
David Marcec beab38601b Added multi-input support and controller assignment at any port 7 years ago
David Marcec 60fecee1ec Removed hard coded values for width and height 7 years ago
Zach Hilman ea680bea60 software_keyboard: Check for UTF-8 config flag 7 years ago
bunnei e34d47e6e3
Merge pull request #1620 from DarkLordZach/ldr-ro
ldr_ro: Complete LDR:RO implementation
7 years ago
bunnei f08b4cbbc8
Merge pull request #1718 from ogniK5377/lets-go-softlock
Implemented CalculateStandardUserSystemClockDifferenceByUser
7 years ago
bunnei 611141e09f
Merge pull request #1671 from DarkLordZach/vi-disconnect
vi: Implement TransactParcel for Disconnect and DetachBuffer
7 years ago
Mat M 9a1bac840e
Merge pull request #1728 from FearlessTobi/reset-signal
svc: ResetSignal is not stubbed
7 years ago
Tobias 13f79cc5bd
svc: ResetSignal is not stubbed
https://user-images.githubusercontent.com/20753089/48677874-b8e01c80-eb7b-11e8-8043-b99faa29022c.PNG
7 years ago
Zach Hilman 02e6602baa software_keyboard: Push all data over all channels on dialog completion 7 years ago
Zach Hilman 4ee087fb3c applet: Use std::queue instead of std::vector for storage stack 7 years ago
Zach Hilman 19b2571aec applet: Add operation completed callback 7 years ago
Zach Hilman 6209fe0c27 software_keyboard: Push buffer size to offset 0x4 in output data 7 years ago
Zach Hilman 8b433beff3 software_keyboard: Make GetText asynchronous
a
7 years ago
Zach Hilman 7cfb29de23 am: Allow applets to push multiple and different channels of data 7 years ago
Zach Hilman 3cf7246e37 am: Implement ILibraryAppletAccessor IsCompleted and GetResult 7 years ago
Zach Hilman fed6ab14c3 am: Implement text check software keyboard mode
Allows the game to verify and send a message to the frontend.
7 years ago
Zach Hilman e696ed1f4d am: Deglobalize software keyboard applet 7 years ago
Zach Hilman a81645400f qt/main: Register Qt Software Keyboard frontend with AM
Allows using Qt provider over default.
7 years ago
Zach Hilman 48fcb43585 am: Construct and use proper applets with ILibraryAppletAccessor
Allows use of software keyboard applet and future applets to be easily added by adding enum ID and a switch case.
7 years ago
Zach Hilman de16c1e453 am/applets: Add connector between frontend and AM applet classes
Provides a middleman between the Frontend provider class and the expected AM::Applets::Applet class needed by ILibraryAppletAccessor
7 years ago
Zach Hilman ae53b84efd frontend/applets: Add frontend software keyboard provider and default
Default implementation will return "yuzu" for any string. GUI clients (or CLI) can implement the Frontend::SoftwareKeyboardApplet class and register an instance to provide functionality.
7 years ago
Zach Hilman 5b95de0c9c am/applets: Add Applet superclass to describe a generic applet
Adds an Initialize and Execute methods which are used by the ILibraryAppletAccessor to start and control the applet.
7 years ago
Zach Hilman 731b4bd691 am: Unstub ILibraryAppletAccessor::Start
Now starts the applet provided in constructor.
7 years ago
Zach Hilman ba03bfa430 am: Implement PopInteractiveOutData and PushInteractiveInData
Used by software keyboard applet for data transfer.
7 years ago
Zach Hilman 5ce6b8fea7 am: Convert storage stack to vector
std::stack was no longer suitable for non-trivial operations
7 years ago
Zach Hilman 0682a908c0 am: Move AM::IStorage to header
Needs to be accessible by applet files.
7 years ago
Zach Hilman c7b6c9de9c am: Move IStorageAccessor to header and update backing buffer
Writes to an AM::IStorage object through an IStorageAccessor will now be preserved once the accessor is destroyed.
7 years ago
Zach Hilman 76d515327b am: Implement CreateTransferMemoryStorage
Creates an AM::IStorage object with the contents of the transfer memory located at the handle provided.
7 years ago
Zach Hilman 7901de2b75 svc: Implement svcCreateTransferMemory
Seems to be used and created identically to SharedMemory, so just reuse that.
7 years ago
Zach Hilman 51af996854 ldr_ro: Add error check for memory allocation failure 7 years ago
Zach Hilman c91dc417d5 vi: Implement TransactParcel for Disconnect and DetachBuffer
Used by homebrew on exit. According to switchbrew, returns an empty response parcel with one zero in it.
7 years ago
MysticExile 03f274d8c1 Stubbed am:EnableApplicationCrashReport 7 years ago
bunnei 0149b4245c
Merge pull request #1711 from ogniK5377/bluetooth-lets-go
Added various bluetooth based cmds for palma
7 years ago
bunnei 6552d75be1
Merge pull request #1719 from bunnei/hwopus-fix
hwopus: DecodeInterleavedWithPerformance: Fix ordering of output parameters.
7 years ago
bunnei 585e6fd426 hwopus: DecodeInterleavedWithPerformance: Fix ordering of output parameters.
- Fixes audio issues with Pokemon: Let's Go Pikachu & Eevee.
7 years ago
David Marcec c440e8b8e1 Implemented CalculateStandardUserSystemClockDifferenceByUser
Seems pokemon calls this sometimes and it caused "random crashes"
7 years ago
Lioncash d21b2164e9 kernel/errors: Clean up error codes
Similar to PR 1706, which cleans up the error codes for the filesystem
code, but done for the kernel error codes. This removes the ErrCodes
namespace and specifies the errors directly. This also fixes up any
straggling lines of code that weren't using the named error codes where
applicable.
7 years ago
Mat M 14cede1a0c
Merge pull request #1638 from FreddyFunk/SetMemoryPermission-Stubbed
Implement SetMemoryPermission
7 years ago
bunnei 5b8f70ea2e
Merge pull request #1632 from DarkLordZach/keys-manager-optimizations
game_list: Optimize game list refresh
7 years ago
bunnei 238bc4a077
Merge pull request #1706 from lioncash/file-err
file_sys/errors: Clean up error code values
7 years ago
David Marcec e8899e7027 Added various bluetooth based cmds for palma
It seems palma is done through bluetooth, we need this for pokemon go however more research needs to be done when we actually get palma working. This is presumably used for transfering data between the controller and the console, it does not seem for actual input as far as I know.
7 years ago
David Marcec e658118aa9 Added SetIsPalmaAllConnectable, SetPalmaBoostMode
Currently unclear what these do yet, will be researched at a later time when we want to implement palma.
7 years ago
David Marcec 9359655712 Report resolution scaling support for vi and am
Specifying an internal resolution in yuzu now will report the scaled changes to vi and am.
7 years ago
Lioncash 5c9c33e8ad file_sys/errors: Remove currently unused filesystem error codes
Rather than keeping around unused values, we can just introduce them as
needed.
7 years ago
Lioncash edd5b6f12f file_sys/errors: Get rid of the ErrCodes namespace
There's no real point to keeping the separate enum around, especially
given the name of the error code itself is supposed to document what the
value actually represents.
7 years ago
Lioncash b725d1fdf7 file_sys/errors: Extract FS-related error codes to file_sys/errors.h
Keeps filesystem-related error codes in one spot.
7 years ago
David 87eca5b209 Fixed priority switching edge case for handheld (#1675)
* Fixed priority switching edge case for handheld

We accidently used controller index instead of npad id

* Moved NPadIdToIndex
7 years ago
bunnei 75640c9c71
Merge pull request #1699 from DarkLordZach/deterministic-rng-3
csrng: Use random integer distribution instead of raw engine
7 years ago
Zach Hilman 8cb2e7d881 csrng: Use random integer distribution instead of raw engine
Prevents returning the same value every single call.
7 years ago
bunnei f7319b0d3c
Merge pull request #1687 from lioncash/deduplication
kernel/thread: Deduplicate scheduler switching code
7 years ago
bunnei 97605e36f7
Merge pull request #1618 from DarkLordZach/dump-nso
patch_manager: Add support for dumping uncompressed NSOs
7 years ago
bunnei 98060c6f7b
Merge pull request #1691 from lioncash/audren
service/audren_u: Forward RequestUpdateAuto through the same function as RequestUpdate
7 years ago
Zach Hilman c0a9abc3e1 ldr_ro: Implement UnloadNro (command 1)
Includes actual unmapping and address error checking.
7 years ago
Zach Hilman 056fa43dcd ldr_ro: Fully Implement LoadNro (command 0)
Includes NRO and BSS error checking, maximum loaded NRO check, NRR hash check, and proper remapping of BSS data.
7 years ago
Zach Hilman 5e8e7b6019 ldr_ro: Implement UnloadNrr (command 3)
Includes initialization check, proper address check, alignment check, and actual unloading of a loaded NRR.
7 years ago
Zach Hilman 6cd504feb9 ldr_ro: Fully implement LoadNrr (command 2)
Includes parameter error checking, hash enforcement, initialization check, and max NRR load check.
7 years ago
Zach Hilman 0276761a1e process: Make MirrorMemory take state to map new memory as
Credits to Subv
7 years ago
Zach Hilman 8aa17f0480 pl_u: Resize buffers in shared font data getter to what game requests
Fixes unmapped spam in SMP and buffer size errors in some other games
7 years ago
bunnei c6c74248fe
Merge pull request #1697 from lioncash/acc
acc/profile_manager: Minor cleanup-related changes
7 years ago
bunnei 0478308094
Merge pull request #1696 from lioncash/acc-cond
service/acc: Correct error case within TrySelectUserWithoutInteraction()
7 years ago
Lioncash cd47af8af0 service/acc: Correct error case within TrySelectUserWithoutInteraction()
empty() in this case will always return false, since the returned
container is a std::array. Instead, check if all given users are invalid
before returning the error code.
7 years ago
Lioncash 9761936e02 profile_manager: Replace iterative loop with a ranged-for loop in ParseUserSaveFile() 7 years ago
Lioncash 1af13e0802 profile_manager: Move UUID Format function definitions into the cpp file
Avoids relying on fmt always being indirectly included.
7 years ago
bunnei c681690358
Merge pull request #1690 from lioncash/nfp
nfp: Correct erroneous sizeof expression within GetTagInfo()
7 years ago
bunnei 7384b33c4f
Merge pull request #1689 from lioncash/break
hid/npad: Add missing break in switch statement within Controller_NPad::OnUpdate
7 years ago
bunnei c95ded3a4a
Merge pull request #1688 from lioncash/unused
service: Mark MakeFunctionString with the [[maybe_unused]] attribute.
7 years ago
bunnei e1ea8cc721
Merge pull request #1679 from DarkLordZach/deterministic-rng-2
svc: Use proper random entropy generation algorithm
7 years ago
Lioncash b4f63db04e nfp: Correct erroneous sizeof expression within GetTagInfo()
The previous expression would copy sizeof(size_t) amount of bytes (8 on
a 64-bit platform) rather than the full 10 bytes comprising the uuid
member.

Given the source and destination types are the same, we can just use an
assignment here instead.
7 years ago
Lioncash 3619b31fc0 service/audren_u: Forward RequestUpdateAuto through the same function as RequestUpdate
Based off RE, they both currently go through the same codepath with no
difference in behavior.
7 years ago
Lioncash fcde356f15 hid/npad: Add missing break in switch statement within Controller_NPad::OnUpdate() 7 years ago
Lioncash 958fa15a4c service: Mark MakeFunctionString with the [[maybe_unused]] attribute.
When yuzu is compiled in release mode this function is unused, however,
when compiled in debug mode, it's used within a LOG_TRACE statement.
This prevents erroneous compilation warnings about an unused function
(that isn't actually totally unused).
7 years ago
Lioncash f9db75fe40 kernel/thread: Deduplicate scheduler switching code
The code in both places was the same verbatim, so we can extract it to a
function to deduplicate the logic.
7 years ago
bunnei 70f189d7af
Merge pull request #1680 from lioncash/mem
kernel/process: Migrate heap-related memory management out of the process class and into the vm manager
7 years ago
bunnei a80467db57
Merge pull request #1682 from lioncash/audio
hle/audren_u: Implement Get/SetRenderingTimeLimit
7 years ago
bunnei 9b12623743
Merge pull request #1608 from DarkLordZach/save-data-reader
[ns|fsp_srv]: Implement various functions to boot Checkpoint
7 years ago
Lioncash 454cf1dc09 hle/audren_u: Implement Get/SetRenderingTimeLimit
These appear to be a basic getter and setter pair, so these are fairly
trivial to implement and get out of the way.
7 years ago
Lioncash 004277477a vm_manager: Unstub GetTotalHeapUsage()
Now that we've moved all of the heap-related stuff to the VMManager
class, we can unstub this function, as the necessary members are visible
now.
7 years ago