Zach Hilman
1bf2d163e3
am: Return StubApplet instead of nullptr when AppletId not found
7 years ago
Zach Hilman
e66f2db880
debug_pad: Avoid loading input for nonexistent buttons (Home and Screenshot)
Prevents memory exceptions when the debug pad is enabled.
7 years ago
bunnei
985ee6c596
audout_u: Add support for multiple IAudioOut streams.
- Used by Undertale.
7 years ago
Zach Hilman
1a72e1681c
scheduler: Add explanations for YieldWith and WithoutLoadBalancing
7 years ago
Zach Hilman
9217befd9f
applets: Add StubApplet
This will log all data it receives, log all calls to its methods and push dummy data into both channels on execution.
7 years ago
Lioncash
f1a863e583
kernel/handle_table: Move private static functions into the cpp file
These don't depend on class state, and are effectively implementation
details, so they can go into the cpp file .
7 years ago
Lioncash
6fac9e5b31
kernel/handle_table: Restrict handle table size to 1024 entries
The previous handle table size is a holdover from Citra. The actual
handle table construct on Horizon only allows for a maximum of 1024
entries.
7 years ago
Lioncash
6c9a6a08ee
kernel/handle_table: Default destructor in the cpp file
We don't need to potentially inline the teardown logic of all of the
handle instances.
7 years ago
bunnei
a9b2d1bb73
nvhost_ctrl_gpu: Implement IoctlGetGpuTime.
- Used by Undertale.
7 years ago
Lioncash
4bf9e0d35d
am: Correct build failure
The interface for shared memory was changed, but another commit was
merged that relied on the (previously public) internals of SharedMemory.
This amends that discrepancy.
7 years ago
Lioncash
7bdf580058
kernel/process: Move <random> include to the cpp file
<random> isn't necesary directly within the header and can be placed in
the cpp file where its needed. Avoids propagating random generation
utilities via a header file.
7 years ago
Lioncash
323618c33b
am/applets: Make the applet data broker part of the applet itself.
The accessor should be doing just that, accessing, rather than retaining
the lifetime of the data broker as well.
7 years ago
Lioncash
646c9eeca5
am/applets: Replace includes with forward declarations where applicable
Also resolve places where includes should have been provided, but
weren't.
7 years ago
Lioncash
e784b733d9
am/applets: Relocate comments above the relevant data member in AppletDataBroker
Avoids wonky wrapping and makes it nicer to read.
7 years ago
Lioncash
fa7a76d1e0
kernel/resource_limit: Clean up interface
Cleans out the citra/3DS-specific implementation details that don't
apply to the Switch. Sets the stage for implementing ResourceLimit
instances properly.
While we're at it, remove the erroneous checks within CreateThread() and
SetThreadPriority(). While these are indeed checked in some capacity,
they are not checked via a ResourceLimit instance.
In the process of moving out Citra-specifics, this also replaces the
system ResourceLimit instance's values with ones from the Switch.
7 years ago
Lioncash
5508ceb0eb
lm: Implement SetDestination by doing nothing
This service function was likely intended to be a way to redirect where
the output of a log went. e.g. Firing a log over a network, dumping over
a tunneling session, etc.
Given we always want to see the log and not change its output. It's one
of the lucky service functions where the easiest implementation is to
just do nothing at all and return success.
7 years ago
Zach Hilman
a52a226ded
software_keyboard: Fix erroneous extra PushNormalData
7 years ago
Zach Hilman
3b90729c00
software_keyboard: Return correct result code on user cancel operation
7 years ago
Zach Hilman
0660384309
applet: Add AppletDataBroker to manage HLE to AM service interaction
This cleans up most of the callbacks and such in the Applets::Applet interface, while also properly implementing all four data channels.
7 years ago
Zach Hilman
0e6547f499
software_keyboard: Use correct offset for inital text string
7 years ago
Lioncash
0067bc137f
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
a356495312
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
ee329d2bdf
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
5833b84689
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
d997cf19e0
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
93babd2c2f
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
b1c19bc88f
svc: Implement yield types 0 and -1
7 years ago
Zach Hilman
51e18706a9
filesystem: Clear registered union paths on factory creation
7 years ago
Zach Hilman
2d8a5a4e9b
hid: Use player-defined controller type as PREFERRED_CONTROLLER
7 years ago
Zach Hilman
8e4125d25f
hid/npad: Update NPad to use player controller bindings and type
7 years ago
Zach Hilman
651d96479a
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
1abee80ce3
hid: Add controller bindings for Mouse controller
7 years ago
Zach Hilman
701c23ec92
hid: Add keyboard bindings for Keyboard controller
7 years ago
Zach Hilman
ba768cfdc7
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
David Marcec
d59c9bc684
Added missing start/end touch attributes to touchscreen
7 years ago
David Marcec
a15c3d6b27
Added debugpad skeleton
7 years ago
David Marcec
8ed0216784
Added controller helper funcs
7 years ago
David Marcec
2c23ad1189
Changed polling rate of hid and Right joycon rotation
7 years ago
David Marcec
7a38294b38
Left joycon rotation button remapping
7 years ago
David Marcec
086c24e4ed
Added automatic npad switch based on supported stylesets
7 years ago
David Marcec
e9cf16c9ac
Added multi-input support and controller assignment at any port
7 years ago
David Marcec
1f4564eef3
Removed hard coded values for width and height
7 years ago
Zach Hilman
74cf9c3aa3
software_keyboard: Check for UTF-8 config flag
7 years ago
Tobias
66be135276
svc: ResetSignal is not stubbed
https://user-images.githubusercontent.com/20753089/48677874-b8e01c80-eb7b-11e8-8043-b99faa29022c.PNG
7 years ago
Zach Hilman
b9c0661453
software_keyboard: Push all data over all channels on dialog completion
7 years ago
Zach Hilman
6874ed4531
applet: Use std::queue instead of std::vector for storage stack
7 years ago
Zach Hilman
948e1b2f42
applet: Add operation completed callback
7 years ago
Zach Hilman
b9caffe103
software_keyboard: Push buffer size to offset 0x4 in output data
7 years ago
Zach Hilman
f0d2246b6a
software_keyboard: Make GetText asynchronous
a
7 years ago
Zach Hilman
04bc2fafbc
am: Allow applets to push multiple and different channels of data
7 years ago