Commit Graph

205 Commits

Author SHA1 Message Date
James Rowe d8b458c398 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 dfb58f1941 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 78d01dd905 Merge pull request #2861 from wwylele/motion-refactor
Refactor MotionEmu into a InputDevice
2017-08-19 23:43:01 -06:00
B3n30 e317c51cbd 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 88451a0b73 move MotionEmu from core/frontend to input_common as a InputDevice 2017-08-11 11:05:08 +03:00
Weiyi Wang 4bf8c56b48 Merge pull request #2784 from wwylele/font-archive
load shared font from system archive
2017-07-16 20:12:55 +03:00
bunnei 6c8c5bbcb7 web_service: Add CMake flag to enable. 2017-07-11 18:33:41 -04:00
bunnei 8f3ac83ce4 web_service: Add skeleton project. 2017-07-10 00:15:40 -04:00
wwylele 456ccc24ea apt: load shared font from system archive 2017-06-26 01:38:12 +03:00
Subv 24bc07c5f3 UDS: Stub SendTo to generate the unencrypted data frame with the right headers. 2017-06-15 12:08:53 -05:00
Yuri Kunde Schlesner a3e8b28d50 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 09bf937a86 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 5d6dd7e702 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 2578ce5423 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 9ff59befbb Merge pull request #2739 from yuriks/kernel-reorg
Split-up kernel.h
2017-05-31 19:46:15 -04:00
Yuri Kunde Schlesner cb8ac60e40 Kernel: Move HandleTable to a separate file 2017-05-29 17:34:39 -07:00
Yuri Kunde Schlesner f3c29bc01b 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 6132c6e992 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 7f161a2dc3 CMake: Add cryptopp include path to target property 2017-05-27 22:16:57 -07:00
Yuri Kunde Schlesner 896bb090ec CMake: Use IMPORTED target for Boost 2017-05-27 20:44:51 -07:00
Yuri Kunde Schlesner 4a5d297fe7 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 466433f753 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 65ed1a0a71 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 ca32a47bb0 Merge pull request #2716 from yuriks/decentralized-result
Decentralize ResultCode
2017-05-26 11:59:57 -04:00
Yuri Kunde Schlesner fd8aeacfa1 Kernel: Centralize error definitions in errors.h 2017-05-24 21:06:00 -07:00
bunnei 184c66a1ee core: Keep track of telemetry for the current emulation session. 2017-05-24 19:16:22 -04:00
Yuri Kunde Schlesner 17ff984981 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 baf412faf4 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 fc0b30d3f5 Services/UDS: Generate the UDS beacons when the beacon callback fires. 2017-05-15 13:05:15 -05:00
Subv d21789195d 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
Yuri Kunde Schlesner 13d1aa5c83 Dyncom: Remove disassembler code
Had licensing issue around it, in addition to several bugs.

Closes #1632, #1280
2017-05-07 15:33:46 -07:00
Yuri Kunde Schlesner c4406dea79 Remove unused symbols code 2017-05-07 15:33:39 -07:00
wwylele bfa4f6c052 ir: implement circle pad pro 2017-05-03 09:44:00 +03:00
wwylele 8b46139770 Input: remove unused stuff & clean up
1. removed zl, zr and c-stick from HID::PadState. They are handled by IR, not HID
2. removed button handling in EmuWindow
3. removed key_map
4. cleanup #include
2017-03-01 23:30:57 +02:00
wwylele 63ec35d7e1 Input: add device and factory template 2017-03-01 23:30:57 +02:00
Yuri Kunde Schlesner 92daf89e17 Merge pull request #2587 from yuriks/status-bar
Replace built-in Profiler with indicators in status bar
2017-02-26 17:51:15 -08:00
Yuri Kunde Schlesner 7572bf7839 Add performance statistics to status bar 2017-02-26 17:22:03 -08:00
bunnei 46a89a007d Merge pull request #2569 from wwylele/wrap-unwrap
APT: implemented Wrap and Unwrap
2017-02-25 00:12:33 -05:00
wwylele 76af744434 HW: add AES engine & implement AES-CCM 2017-02-21 23:57:31 +02:00
wwylele 6467b1ebb1 core: add missing errors.h in CMakeLists.txt 2017-02-15 15:49:07 +02:00
Weiyi Wang d36b8791b2 Core: add cryptopp library (#2412) 2017-02-13 12:03:55 -08:00
wwylele d47ad55315 loader: use self NCCH archive 2017-02-13 13:57:38 +02:00
wwylele 8c0e40246d file_sys: add Self NCCH archive 2017-02-13 13:57:38 +02:00
Weiyi Wang 302ce06d1e Merge pull request #2027 from Lectem/ipcrefactor
IPC helper
2017-02-05 10:22:13 +02:00
Yuri Kunde Schlesner 123e3fd03d Merge pull request #2518 from MerryMage/coproc
arm_dynarmic: Coprocessor support
2017-02-03 18:22:28 -08:00
MerryMage 733b01ffa3 arm_dynarmic: CP15 support 2017-02-03 17:32:47 +00:00
mailwl ce820166b9 HLE/Applets: Stub Mint (eShop) Applet (#2463)
This allows Phoenix Wright - Dual Destinies to boot.
2017-01-31 01:16:58 -08:00
Yuri Kunde Schlesner f69bb47213 Merge pull request #2368 from wwylele/camera-2
CAM: build the service framework with a dummy implementation
2017-01-29 22:16:39 -08:00
bunnei 9f5e091632 Merge pull request #2308 from mailwl/ac-i
Service/AC: add ac:i service
2017-01-12 10:12:46 -05:00
wwylele ddca31fb3e CAM: implement basic camera functions with a blank camera 2017-01-11 11:46:44 +02:00