Commit graph

225 commits

Author SHA1 Message Date
bunnei
26495098a9 service: Add empty interface for pctl:a. 2017-12-28 23:44:39 -05:00
bunnei
8331a996d6 kernel: Add basic support for Domain object. 2017-12-28 23:30:21 -05:00
bunnei
8fdafee314 kernel: Add SyncObject primitive, use it for ClientSession. 2017-12-28 23:12:28 -05:00
bunnei
f9d160c819 service: Add empty interface for aoc:u. 2017-12-28 15:24:05 -05:00
bunnei
5e11c12766 core: Refactor MakeMagic usage and remove dead code. 2017-10-15 00:11:38 -04:00
bunnei
9ce5a90aa6 hle: Add service stubs for apm and appletOE. 2017-10-14 22:50:04 -04:00
bunnei
2ea8867549 hle: Initial implementation of NX service framework and IPC. 2017-10-14 22:18:42 -04:00
bunnei
877d4c71d3 Remove more 3DS-specific code. 2017-10-12 21:45:06 -04:00
bunnei
e36d959e34 Remove more 3DS-specific code. 2017-10-12 21:29:53 -04:00
bunnei
dd4ffef0a2 hle: Remove a large amount of 3ds-specific service code. 2017-10-10 17:32:14 -04:00
bunnei
775cf60729 Merge remote-tracking branch 'upstream/master' into nx
# Conflicts:
#	src/core/CMakeLists.txt
#	src/core/arm/dynarmic/arm_dynarmic.cpp
#	src/core/arm/dyncom/arm_dyncom.cpp
#	src/core/hle/kernel/process.cpp
#	src/core/hle/kernel/thread.cpp
#	src/core/hle/kernel/thread.h
#	src/core/hle/kernel/vm_manager.cpp
#	src/core/loader/3dsx.cpp
#	src/core/loader/elf.cpp
#	src/core/loader/ncch.cpp
#	src/core/memory.cpp
#	src/core/memory.h
#	src/core/memory_setup.h
2017-10-09 23:56:20 -04:00
bunnei
90cc352a37 loader: Add support for NRO, as well as various fixes and shared linker. 2017-10-05 23:30:08 -04:00
shinyquagsire23
f6564f232e file_sys: add class for Title Metadata (TMD) 2017-10-01 10:53:45 -06:00
bunnei
0e04a4ffd6 loader: Add support for loading an NSO. 2017-09-30 14:32:53 -04:00
bunnei
f4b1216c81 externals: Add lz4. 2017-09-30 14:30:04 -04:00
Max Thomas
042b389b57 Loader/NCCH: Add support for loading application updates (#2927)
* loader/ncch: split NCCH parsing into its own file

* loader/ncch: add support for loading update NCCHs from the SD card

* loader/ncch: fix formatting

* file_sys/ncch_container: Return a value for OpenFile

* loader/ncch: cleanup, always instantiate overlay_ncch to base_ncch

* file_sys/ncch_container: better encryption checks, allow non-app NCCHs to load properly and for the existence of NCCH structures to be checked

* file_sys/ncch_container: pass filepath as a const reference
2017-09-25 08:17:38 +02:00
Yuri Kunde Schlesner
defb247fff Merge pull request #2906 from Subv/ns_new_framework
Services/NS: Port ns:s to the new service framework.
2017-09-16 21:13:51 +02:00
Subv
891916efff Services/NS: Port ns:s to the new service framework. 2017-09-16 10:52:45 -05:00
Weiyi Wang
312e762696 Merge pull request #2831 from Subv/uds_auth
Services/UDS: Handle beacon frames and the basic AP connection sequence frames.
2017-09-05 15:03:56 +03:00
Subv
44350f7ea1 Services/UDS: Add functions to generate 802.11 auth and assoc response frames. 2017-08-27 10:48:09 -05:00
James Rowe
35e185309b Merge pull request #2839 from Subv/global_kernel_lock
Kernel/HLE: Use a mutex  to synchronize access to the HLE kernel state between the cpu thread and any other possible threads that might touch the kernel (network thread, etc).
2017-08-23 18:17:44 -06:00
Subv
9cf64ca2cf Kernel/HLE: Use a mutex to synchronize access to the HLE kernel state between the cpu thread and any other possible threads that might touch the kernel (network thread, etc).
This mutex is acquired in SVC::CallSVC, ie, as soon as the guest application enters the HLE kernel, and should be acquired by the aforementioned threads before modifying kernel structures.
2017-08-22 09:30:55 -05:00
James Rowe
df206639cf Merge pull request #2861 from wwylele/motion-refactor
Refactor MotionEmu into a InputDevice
2017-08-19 23:43:01 -06:00
B3n30
95fd4a5e9d Added missing parts in libnetwork (#2838)
* Network: Set and send the game information over enet

Added Callbacks for RoomMember and GetMemberList to Room in preparation for web_services.
2017-08-19 11:14:33 -06:00
wwylele
d500f79b8e move MotionEmu from core/frontend to input_common as a InputDevice 2017-08-11 11:05:08 +03:00
Weiyi Wang
b5e42d338d Merge pull request #2784 from wwylele/font-archive
load shared font from system archive
2017-07-16 20:12:55 +03:00
bunnei
7927c9b28f web_service: Add CMake flag to enable. 2017-07-11 18:33:41 -04:00
bunnei
061f10e286 web_service: Add skeleton project. 2017-07-10 00:15:40 -04:00
wwylele
e93f183170 apt: load shared font from system archive 2017-06-26 01:38:12 +03:00
Subv
2761536b1d UDS: Stub SendTo to generate the unencrypted data frame with the right headers. 2017-06-15 12:08:53 -05:00
Yuri Kunde Schlesner
0a7f4f531f Service: Add new ServiceFramework framework for writing HLE services
The old "Interface" class had a few problems such as using free
functions (Which didn't allow you to write the service handler as if it
were a regular class.) which weren't very extensible. (Only received one
parameter with a pointer to the Interface object.)

The new ServiceFramework aims to solve these problems by working with
member functions and passing a generic context struct as parameter. This
struct can be extended in the future without having to update all
existing service implementations.
2017-06-08 00:11:37 -07:00
Yuri Kunde Schlesner
0e3e091a0d Service: Make service registration part of the sm implementation
Also enhances the GetServiceHandle implementation to be more accurate.
2017-06-06 02:57:04 -07:00
Yuri Kunde Schlesner
c17330e05f Service: Move SRV interface to a new sm/ subdirectory
This will contain the implementation of the sm (Service Manager) system
module.
2017-06-06 02:57:04 -07:00
Yuri Kunde Schlesner
41a3feea66 HLE: Move SessionRequestHandler from Service:: to Kernel::
Most of the code that works with this is or will be in the kernel, so
it's a more appropriate place for it to be.
2017-06-05 23:40:11 -07:00
bunnei
11b66db774 Merge pull request #2739 from yuriks/kernel-reorg
Split-up kernel.h
2017-05-31 19:46:15 -04:00
Yuri Kunde Schlesner
ecfda5317e Kernel: Move HandleTable to a separate file 2017-05-29 17:34:39 -07:00
Yuri Kunde Schlesner
6f662625d3 Kernel: Move WaitObject to a separate file
Now that HandleTable doesn't directly depend on WaitObject anymore, this
can be separated from the main kernel.h header.
2017-05-29 16:16:46 -07:00
Yuri Kunde Schlesner
49ef9a6270 CMake: Remove unnecessary include_directories for dynarmic
Dynarmic already adds the correct include paths to the library target.
2017-05-27 22:19:37 -07:00
Yuri Kunde Schlesner
dfd2db3e37 CMake: Add cryptopp include path to target property 2017-05-27 22:16:57 -07:00
Yuri Kunde Schlesner
97f922e583 CMake: Use IMPORTED target for Boost 2017-05-27 20:44:51 -07:00
Yuri Kunde Schlesner
b78ce2bce5 CMake: Correct inter-module dependencies and library visibility
Modules didn't correctly define their dependencies before, which relied
on the frontends implicitly including every module for linking to
succeed.

Also changed every target_link_libraries call to specify visibility of
dependencies to avoid leaking definitions to dependents when not
necessary.
2017-05-27 18:41:24 -07:00
Yuri Kunde Schlesner
b868036561 Move screen size constants from video_core to core
video_core didn't even properly use them, and they were the source of
many otherwise-unnecessary dependencies from core to video_core.
2017-05-27 18:41:24 -07:00
Yuri Kunde Schlesner
e6dc5926fb Move framebuffer_layout from Common to Core
This removes a dependency inversion between core and common. It's also
the proper place for the file since it makes screen layout decisions
specific to the 3DS.
2017-05-27 16:10:25 -07:00
bunnei
030121014f Merge pull request #2716 from yuriks/decentralized-result
Decentralize ResultCode
2017-05-26 11:59:57 -04:00
Yuri Kunde Schlesner
467545ed48 Kernel: Centralize error definitions in errors.h 2017-05-24 21:06:00 -07:00
bunnei
e65f4cc882 core: Keep track of telemetry for the current emulation session. 2017-05-24 19:16:22 -04:00
Yuri Kunde Schlesner
464dc927af Merge pull request #2406 from Subv/session_disconnect
Kernel: Properly update port counters on session disconnection.
2017-05-21 17:18:16 -07:00
bunnei
fa45d8a35e Merge pull request #2661 from Subv/uds5
Services/UDS: Generate 802.11 beacon frames when a network is open.
2017-05-19 11:04:34 -04:00
Subv
b722ca78a2 Services/UDS: Generate the UDS beacons when the beacon callback fires. 2017-05-15 13:05:15 -05:00
Subv
9c496013b3 Kernel: Use a Session object to keep track of the status of a Client/Server session pair.
Reduce the associated port's connection count when a ServerSession is destroyed.
2017-05-15 11:22:15 -05:00