Billy Laws
524cd26649
Refactor HID services
...
Use the new service naming convention.
Tidy up some unused includes.
Move constants to service namespace.
2020-04-23 22:26:27 +05:30
Billy Laws
f4620dd992
Refactor settings services
...
Use the new service naming convention.
2020-04-23 22:26:27 +05:30
Billy Laws
c8846ca07b
Refactor service manager services
...
Use the new service naming convention.
Fix some small code style issues with {} on if statements
2020-04-23 22:26:27 +05:30
Billy Laws
ab33f692c6
Refactor time services
...
Use the new service naming convention.
Split out each sub-service into it's own file.
Fix some incorrect comments.
2020-04-23 22:26:27 +05:30
Billy Laws
bbe61e37f2
Add support for audio renderer services
...
Audren is used by many games and homebrews to make use of more advanced
audio features than audout.
2020-02-16 12:53:50 +00:00
Billy Laws
ddd1fc61ef
audio: Add support for resampling tracks
...
Uses the resampling algorithm derived from HOS by the Ryujinx team
to resample the stream on the fly to 48KHz.
It is currently used only in audout.
2020-02-16 12:53:50 +00:00
Billy Laws
93206d5a3c
Add support for audio playback via audout
...
Adds an audio manager to state to manage the creation of audio tracks and an audout service implementation that interfaces with it.
2020-02-16 12:53:50 +00:00
◱ PixelyIon
00cdc1fd6f
Refactor the memory implementation and add Regions
...
This commit does a major refactor of the memory implementation, it forms a memory map which is far cleaner than trying to access it through a handle table lookup. In addition, it creates a common interface for all memory kernel objects: KMemory from which all other kernel memory objects inherit. This allows doing resizing, permission change, etc without casting to the base memory type.
2020-02-15 10:25:14 +00:00
◱ PixelyIon
65018aedbc
Complete making the kernel thread-safe #2 + Fix Shared Memory Implementation
...
This commit makes the kernel completely thread-safe and fixes an issue that caused libNX games to not work due to an error with KSharedMemory. In addition, implement GroupMutex to allow the kernel threads to run in parallel but still allow them to not overlap with the JNI thread.
2020-02-15 10:25:14 +00:00
◱ PixelyIon
970dde8c27
Move from ptrace to junction branching and make kernel multithreaded
...
This commit is a huge step in the direction of better performance, as we move from ptrace to junction branching and have kernel call overhead similar to that of a native kernel call! In addition, this sets the base for the kernel to go fully multi-threaded. However, the kernel is currently not thread-safe and therefore this commit currently causes a crash.
2020-02-15 10:25:14 +00:00
◱ PixelyIon
3e9bfaec0e
Introduce Basic Junction Patching
...
This commit introduces basic junction patching or patching code to jump to a junction then execute intermediate functions and jump back.
2020-02-15 10:25:14 +00:00
◱ PixelyIon
c5dce22a8c
Fix JNI Race Condition, Fix Release Builds and Fix Searching
...
This commit fixes JNI race conditions by usage of a mutex, fixes a bug in release builds due to ProGuard member obfuscation and fix searching by fixing the HeaderAdapter filter.
2019-12-11 17:31:12 +00:00
◱ PixelyIon
c005d7df74
Framebuffer and NativeActivity
...
What was added:
* Framebuffer
* NativeActivity
* NV Services
* IOCTL Handler
* NV Devices:
* * /dev/nvmap - 0xC0080101, 0xC0080103, 0xC0200104, 0xC0180105, 0xC00C0109, 0xC008010E
* * /dev/nvhost-as-gpu
* * /dev/nvhost-channel - 0x40044801, 0xC0104809, 0xC010480B, 0xC018480C, 0x4004480D, 0xC020481A, 0x40084714
* * /dev/nvhost-ctrl
* * /dev/nvhost-ctrl-gpu - 0x80044701, 0x80284702, 0xC0184706, 0xC0B04705, 0x80084714
* SVCs:
* * SetMemoryAttribute
* * CreateTransferMemory
* * ResetSignal
* * GetSystemTick
* Addition of Compact Logger
What was fixed:
* SVCs:
* * SetHeapSize
* * SetMemoryAttribute
* * QueryMemory
* A release build would not set CMAKE_BUILD_TYPE to "RELEASE"
* The logger code was simplified
2019-11-15 19:30:04 +00:00
◱ PixelyIon
19eae34315
libNX FS Initalization (v0.3)
...
What was added:
* libNX FS initalization
What was fixed:
* Release builds
2019-10-18 16:22:38 +05:30
◱ PixelyIon
e44809355c
libNX Time Initalization
...
What was added:
* Time service
* CNTPCT_EL0 redirected to CNTVCT_EL0
2019-10-17 01:53:35 +05:30
◱ PixelyIon
ec71735ece
Fixes and Additions for HID support
...
The following things were fixed:
* KSharedMemory
* KSyncObject (and how waiting on them works)
* Inclusion of Headers
What was added:
* Transfer Memory
* svcSleepThread
2019-10-13 13:34:47 +05:30
◱ PixelyIon
f7effe86ae
libNX Applet Manager Initalization
...
This commit completes the 'am' initialization for libNX
2019-09-27 21:39:56 +05:30
◱ PixelyIon
7ad2e11705
Milestone 3 - Services API
...
This commit adds the Services API and implements some services. It also changes the name of the application to Skyline and replaces the icon.
2019-09-25 02:28:25 +05:30
◱ PixelyIon
a54f5ff578
Milestone 2 - Memory & IPC Marshalling
...
This commit introduces a new memory model that supports true shared memory with separate permissions for remote and local processes, implements svcQueryMemory and completes svcGetInfo further, adds IPC support with the IpcRequest and IpcResponse classes.
2019-09-25 02:28:25 +05:30
◱ PixelyIon
9e1e06c64b
Milestone 1 - Processes & Threads
...
Reworks the API a fair bit and adds documentation to almost everything.
2019-09-25 02:28:25 +05:30
◱ PixelyIon
da55a1d9ba
Rearrange OS folder
2019-08-21 17:07:43 +05:30
◱ PixelyIon
92c1491a84
Native Code Execution (NCE)
...
It's finally here, we're executing code completely natively. This is something that would completely break the project if it wasn't possible.
2019-08-17 04:34:37 +05:30
◱ PixelyIon
696ebde527
Rewrite C++ parts and UI update
...
This update took way way too long to create. However, it was worthwhile. :)
2019-07-25 01:49:43 +05:30
Ryan Teal
4cd7c985f0
IPC Episode 1 - Prologue
2019-07-09 22:35:51 +01:00
Ryan Teal
1e057cb5f9
Add hos/kernel/kernel.cpp to CMake
2019-07-05 13:48:18 +01:00
Ryan Teal
ffbcf0fb33
Add as include directory
2019-07-02 21:00:57 +01:00
Ryan Teal
2f24f28084
An actual memory implementation
2019-06-30 15:39:56 +01:00
Ryan Teal
1142e397c6
Implement NRO loader
2019-06-30 14:26:57 +01:00
◱ PixelyIon
8839bfaaf4
push communist agenda
2019-06-29 22:09:23 +05:30
Starlet Leonhart
faad5a7c72
push some bullcrap
2019-06-29 12:13:36 -04:00
Starlet Leonhart
48338f9459
another minor change
2019-06-29 09:56:13 -04:00
Starlet Leonhart
b4c04b016a
minor cmakelists change to improve the overall user experience
2019-06-29 09:53:37 -04:00
◱ PixelyIon
875fe194f6
Structure Code and Link libunicorn
2019-06-29 19:05:24 +05:30
Starlet Leonhart
2e5d107f5d
add files, cannot figure out why native lib is broken
2019-06-28 20:35:14 -04:00