Morph
e828c5a559
core: Enforce C4242
2021-06-28 14:20:25 -04:00
Morph
e4318a1914
hle: api_version: Add HLE API version constants
2021-06-16 01:46:45 -04:00
Morph
faf11fe46d
spl: Add SPL types
2021-06-16 01:46:45 -04:00
Morph
95f203b7c7
spl: Add SPL result codes
2021-06-16 01:07:58 -04:00
Lioncash
9a07ed53eb
core: Make variable shadowing a compile-time error
...
Now that we have most of core free of shadowing, we can enable the
warning as an error to catch anything that may be remaining and also
eliminate this class of logic bug entirely.
2021-05-16 03:43:16 -04:00
bunnei
4b03e6e776
hle: kernel: Migrate to KHandleTable.
2021-05-05 16:40:53 -07:00
bunnei
2a7eff57a8
hle: kernel: Rename Process to KProcess.
2021-05-05 16:40:52 -07:00
bunnei
bf380b8584
hle: kernel: Remove deprecated Object class.
2021-05-05 16:40:52 -07:00
bunnei
626f746971
hle: kernel: Migrate KPort, KClientPort, and KServerPort to KAutoObject.
2021-05-05 16:40:52 -07:00
bunnei
7a06864100
hle: kernel: Migrate KServerPort to KAutoObject.
2021-05-05 16:40:52 -07:00
bunnei
0297448fbc
hle: kernel: Migrate KClientPort to KAutoObject.
2021-05-05 16:40:52 -07:00
bunnei
c7d8b7421c
hle: kernel: Migrate KTransferMemory to KAutoObject.
2021-05-05 16:40:51 -07:00
bunnei
7444963bbb
hle: kernel: Migrate KSession, KClientSession, and KServerSession to KAutoObject.
2021-05-05 16:40:51 -07:00
bunnei
da7e9553de
hle: kernel: Migrate more of KThread to KAutoObject.
2021-05-05 16:40:50 -07:00
bunnei
d3d0f2f451
hle: kernel: Add initial impl. of slab setup.
2021-05-05 16:40:50 -07:00
bunnei
66f2ad716b
hle: kernel: Add initial impl. of KLinkedList.
2021-05-05 16:40:49 -07:00
bunnei
f93d939426
hle: kernel: Add initial impl. of KSlabAllocated.
2021-05-05 16:40:49 -07:00
bunnei
34ce1dd7c7
hle: kernel: Add initial impl. of KAutoObjectWithListContainer.
2021-05-05 16:40:49 -07:00
bunnei
b8751630e2
hle: kernel: Add initial impl. of KAutoObject.
2021-05-05 16:40:49 -07:00
bunnei
922b0d9933
Merge pull request #6226 from german77/sevensix
...
hid: Implement SevenSixAxis and ConsoleSixAxisSensor
2021-04-29 22:06:57 -07:00
german77
a02c4686c3
glue: Add ectx:aw placeholder
2021-04-24 10:50:25 -05:00
german77
c19ad21ae8
hid: Implement SevenSixAxis and ConsoleSixAxisSensor
2021-04-23 22:12:41 -05:00
Morph
5bc9f15c6d
applets/swkbd: Implement the Normal and Inline Software Keyboard Applet
2021-04-15 01:53:17 -04:00
bunnei
a4c6712a4b
common: Move settings to common from core.
...
- Removes a dependency on core and input_common from common.
2021-04-14 16:24:03 -07:00
bunnei
1063e0be48
Merge pull request #6172 from degasus/cmake_opus
...
externals: Search for shared opus installation.
2021-04-10 02:27:02 -07:00
Markus Wick
5096ed5e0a
externals: Search for shared opus installation.
...
We had used conan for opus before, but there was a bug in the AVX detection.
However we still had the Findopus.cmake file within the repository, but not used.
This patch reenables the Findopus helper and prefer the system wide installation of opus.
2021-04-08 23:49:32 +02:00
bunnei
343eaecd38
hle: kernel: k_memory_layout: Derive memory regions based on board layout.
2021-03-21 14:45:13 -07:00
bunnei
10265ad0e4
hle: kernel: board: Add secure_monitor module.
2021-03-21 14:45:03 -07:00
bunnei
f2e1441567
hle: kernel: Add k_trace module.
2021-03-21 14:45:02 -07:00
bunnei
5762517728
hle: kernel: KSystemControl: Update to reflect board-specific behavior.
2021-03-21 14:45:02 -07:00
bunnei
541b4353e4
hle: kernel: Add initial KMemoryRegionType module.
2021-03-21 14:45:02 -07:00
bunnei
778e0f8ec1
hle: kernel: Move KMemoryRegion to its own module and update.
2021-03-21 14:45:02 -07:00
bunnei
93e20867b0
hle: kernel: Migrate PageHeap/PageTable to KPageHeap/KPageTable.
2021-02-18 16:16:25 -08:00
bunnei
b1e27890e8
hle: kernel: Migrate MemoryManager to KMemoryManager.
2021-02-18 16:16:25 -08:00
bunnei
93109c870e
hle: kernel: Migrate PageLinkedList to KPageLinkedList.
2021-02-18 16:16:25 -08:00
bunnei
65e0178cc0
hle: kernel: Migrate to KMemoryBlock, KMemoryBlockManager, and others.
2021-02-18 16:16:25 -08:00
bunnei
9e520e8f12
hle: kernel: Migrate SlabHeap to KSlabHeap.
2021-02-18 16:16:25 -08:00
bunnei
1d162f28d1
hle: kernel: Migrate MemoryLayout to KMemoryLayout.
2021-02-18 16:16:25 -08:00
bunnei
7ed5dd0d62
hle: kernel: Migrate AddressSpaceInfo to KAddressSpaceInfo.
2021-02-18 16:16:25 -08:00
bunnei
f7a008d77f
hle: kernel: KSystemControl does not belong in Memory namespace.
2021-02-18 16:16:24 -08:00
bunnei
a02566136c
hle: kernel: Add KPageBitmap class.
2021-02-18 16:16:24 -08:00
bunnei
6da91da08e
hle: kernel: Add KSpinLock implementation.
2021-02-18 16:16:24 -08:00
bunnei
0d62f30b00
hle: kernel: Rename SharedMemory to KSharedMemory.
2021-02-18 16:16:12 -08:00
bunnei
f3345e84ad
core: core_timing_util: Optimize core timing math.
...
- Avoids a lot of unnecessary 128-bit math for imperceptible accuracy.
2021-02-15 14:54:06 -08:00
Morph
48cfc47050
core/CMakeLists: Add web_types.h
2021-02-15 09:40:30 -05:00
bunnei
51c13606d6
hle: service: ldn: IUserLocalCommunicationService: Indicate that LDN is disabled.
...
- Fixes crash on Pokemon Sword/Shield when pressing 'Y'.
2021-02-13 20:11:26 -08:00
ameerj
5fa6b15215
kernel: KScopedReservation implementation
...
This implements KScopedReservation, allowing resource limit reservations to be more HW accurate, and release upon failure without requiring too many conditionals.
2021-02-12 18:57:34 -05:00
Chloe
37939482fb
kernel: Unify result codes ( #5890 )
...
* kernel: Unify result codes
Drop the usage of ERR_NAME convention in kernel for ResultName. Removed seperation between svc_results.h & errors.h as we mainly include both most of the time anyways.
* oops
* rename errors to svc_results
2021-02-12 15:43:01 -08:00
lat9nq
68f718943e
core: Add -fsized-dealloction as a Clang flag
...
Prevents a operator delete error when compiling with Clang 11.
2021-02-09 21:27:12 -05:00
bunnei
6bf80dfee0
hle: kernel: Implement KEvent.
2021-02-05 14:00:36 -08:00
bunnei
3f942c01f0
hle: kernel: Rename WritableEvent to KWritableEvent.
2021-02-05 14:00:36 -08:00
bunnei
e86a7e3691
hle: kernel: Rename ReadableEvent to KReadableEvent.
2021-02-05 14:00:36 -08:00
Chloe Marcec
3be1a565f8
kernel: Rewrite resource limit to be more accurate
...
Matches closer to hardware
2021-01-30 20:40:49 +11:00
bunnei
5a4fc4a529
core: hle: kernel: Implement KLightLock.
2021-01-28 21:42:26 -08:00
bunnei
97129bc742
core: hle: kernel: Implement KThreadQueue.
2021-01-28 21:42:25 -08:00
bunnei
c0d3aef28c
core: hle: kernel: Rename Thread to KThread.
2021-01-28 21:42:25 -08:00
Chloe Marcec
83f8c1a25e
lm: Recode LM service
...
Rework the service to spit out to logs instead of a seperate file as well as fix any crashes caused by lm.
2021-01-20 18:25:15 +11:00
ReinUsesLisp
5f517e3e16
core/cmake: Enforce Wclass-memaccess
...
Treat -Wclass-memaccess as an error.
2021-01-15 16:31:19 -03:00
ReinUsesLisp
fb99446f24
core/cmake: Remove Werror flags already defined code-base wide
2021-01-15 03:39:24 -03:00
bunnei
912dd50146
core: hle: Integrate new KConditionVariable and KAddressArbiter implementations.
2021-01-11 14:23:16 -08:00
bunnei
952d1ac487
core: hle: kernel: Update KAddressArbiter.
2021-01-11 14:23:16 -08:00
bunnei
b4e6d6c385
core: hle: kernel: Update KConditionVariable.
2021-01-11 14:23:16 -08:00
bunnei
1212fa60b6
core: hle: kernel: Begin moving common SVC defintions to its own header.
2021-01-11 14:23:16 -08:00
bunnei
35c3c078e3
core: hle: kernel: Update KSynchronizationObject.
2021-01-11 14:23:16 -08:00
bunnei
1ae883435d
core: hle: kernel: Begin moving common SVC results to its own header.
2021-01-11 14:23:16 -08:00
ReinUsesLisp
43d9f417ae
core: Enforce C4715 (not all control paths return a value)
2021-01-05 04:18:40 -03:00
bunnei
87d6588cb5
hle: service: bsd: Update to work with service threads, removing SleepClientThread.
2020-12-28 16:33:48 -08:00
bunnei
28281ae250
core: hle: server_session: Use separate threads for each service connection.
2020-12-28 16:33:47 -08:00
bunnei
29ccc7673f
Merge pull request #5042 from Morph1984/project-aether
...
Project Aether: Reimplementation of the Web Browser Applet
2020-12-21 23:47:10 -08:00
bunnei
1279c7ce7a
Merge pull request #5131 from bunnei/scheduler-rewrite
...
Rewrite Kernel scheduler based on Atmosphere
2020-12-20 20:57:54 -08:00
Morph
f9653a4417
frontend/input_interpreter: Add InputInterpreter API
...
The InputInterpreter class interfaces with HID to retrieve button press states. Input is intended to be polled every 50ms so that a button is considered to be held down after 400ms has elapsed since the initial button press and subsequent repeated presses occur every 50ms.
Co-authored-by: Chloe <25727384+ogniK5377@users.noreply.github.com>
2020-12-18 10:33:28 -05:00
Morph
0eb6c6cd83
file_sys: Consolidate common Title ID operations
2020-12-08 08:19:05 -05:00
bunnei
ccce6cb3be
hle: kernel: Migrate to KScopedSchedulerLock.
2020-12-06 00:03:24 -08:00
bunnei
4756cb203e
hle: kernel: Separate KScopedSchedulerLockAndSleep from k_scheduler.
2020-12-06 00:03:24 -08:00
bunnei
8d3e06349e
hle: kernel: Separate KScheduler from GlobalSchedulerContext class.
2020-12-06 00:03:24 -08:00
bunnei
9e29e36a78
hle: kernel: Rewrite scheduler implementation based on Mesopshere.
2020-12-06 00:03:24 -08:00
bunnei
7e5d0f1fe3
hle: kernel: Port KAbstractSchedulerLock from Mesosphere.
2020-12-06 00:03:24 -08:00
bunnei
a3ccac3eb7
common: Port KPriorityQueue from Mesosphere.
2020-12-06 00:03:24 -08:00
bunnei
e18ee8d681
hle: kernel: Port KAffinityMask from Mesosphere.
2020-12-06 00:03:24 -08:00
Lioncash
5bc4eabe36
core: Eliminate remaining usages of the global system instance
...
Removes all remaining usages of the global system instance. After this,
migration can begin to migrate to being constructed and managed entirely
by the various frontends.
2020-11-27 11:40:45 -05:00
bunnei
6e37676482
hle: service: Stub OLSC Initialize and SetSaveDataBackupSettingEnabled functions.
...
- Used by Animal Cross: New Horizons v1.6.0 update, minimal stub gets this update working.
2020-11-19 12:36:09 -08:00
bunnei
af477fb8c5
Merge pull request #4888 from lioncash/unicorn-remove
...
core: Remove usage of unicorn
2020-11-06 22:39:05 -08:00
Lioncash
fc6db97a09
core: Remove usage of unicorn
...
Unicorn long-since lost most of its use, due to dynarmic gaining support
for handling most instructions. At this point any further issues
encountered should be used to make dynarmic better.
This also allows us to remove our dependency on Python.
2020-11-03 20:22:05 -05:00
bunnei
d567b7e841
hle: service: nvdrv: Implement SyncpointManager, to manage syncpoints.
2020-11-01 01:51:54 -07:00
ameerj
eb67a45ca8
video_core: NVDEC Implementation
...
This commit aims to implement the NVDEC (Nvidia Decoder) functionality, with video frame decoding being handled by the FFmpeg library.
The process begins with Ioctl commands being sent to the NVDEC and VIC (Video Image Composer) emulated devices. These allocate the necessary GPU buffers for the frame data, along with providing information on the incoming video data. A Submit command then signals the GPU to process and decode the frame data.
To decode the frame, the respective codec's header must be manually composed from the information provided by NVDEC, then sent with the raw frame data to the ffmpeg library.
Currently, H264 and VP9 are supported, with VP9 having some minor artifacting issues related mainly to the reference frame composition in its uncompressed header.
Async GPU is not properly implemented at the moment.
Co-Authored-By: David <25727384+ogniK5377@users.noreply.github.com>
2020-10-26 23:07:36 -04:00
Lioncash
e408bd3b7c
core: Fix clang build pt.2
...
Resolves the clang build issue in a more unintrusive way.
2020-10-20 22:16:03 -04:00
bunnei
3d592972dc
Revert "core: Fix clang build"
2020-10-20 19:07:39 -07:00
LC
88d5140cf2
Merge pull request #4796 from lioncash/clang
...
core: Fix clang build
2020-10-20 19:19:12 -04:00
Lioncash
0ab7bfdfce
core: Add boxcat sources with target_sources
...
Same behavior, minus a script variable.
2020-10-18 08:09:06 -04:00
Lioncash
be1954e04c
core: Fix clang build
...
Recent changes to the build system that made more warnings be flagged as
errors caused building via clang to break.
Fixes #4795
2020-10-17 19:50:39 -04:00
Lioncash
39c8d18feb
core/CMakeLists: Make some warnings errors
...
Makes our error coverage a little more consistent across the board by
applying it to Linux side of things as well. This also makes it more
consistent with the warning settings in other libraries in the project.
This also updates httplib to 0.7.9, as there are several warning
cleanups made that allow us to enable several warnings as errors.
2020-10-13 13:16:49 -04:00
bunnei
03179ecafe
Merge pull request #4597 from Morph1984/mjolnir-p2
...
Project Mjölnir: Part 2 - Controller Applet
2020-09-10 19:28:23 -04:00
Morph
5219615418
Project Mjölnir: Part 2 - Controller Applet
...
Co-authored-by: Its-Rei <kupfel@gmail.com>
2020-09-04 12:23:25 -04:00
ReinUsesLisp
5692c48ab7
service/sockets: Add worker abstraction to execute blocking calls asynchronously
...
This abstraction allows executing blocking functions (like recvfrom on a
socket configured for blocking) without blocking the service thread.
It is intended to be used with SleepClientThread.
2020-07-28 01:47:03 -03:00
ReinUsesLisp
80b4bd3583
service/sockets: Add translate functions
...
These functions translate from Network enumerations/structures to guest
enumerations/structures and viceversa.
2020-07-28 01:47:03 -03:00
ReinUsesLisp
51817f6e59
core/network: Add network abstraction
...
This commit adds a network abstraction designed to implement bsd:s but
at the same time work as a generic abstraction to implement any
networking code we have to use from core.
This is implemented on top of BSD sockets on Unix systems and winsock on
Windows. The code is designed around winsocks having compatibility
definitions to support both BSD and Windows sockets.
2020-07-19 04:12:40 -03:00
Lioncash
311f500753
core/CMakeLists: Add missing physical_memory.h header file
...
Allows this header file to show up in IDE CMake generators.
2020-07-16 22:56:31 -04:00
bunnei
e706501c8d
hle: service: mii: Rewrite service to properly support creation of random and default miis.
2020-07-11 21:34:59 -04:00
David Marcec
d5dfe34c49
externals: Track opus as submodule instead of using conan
...
Supersedes #4068 see for details.
2020-07-01 15:09:33 +10:00
Fernando Sahmkow
b8df61c642
ARM: Update Dynarmic and Setup A32 according to latest interface.
2020-06-27 11:36:26 -04:00