Commit Graph

185 Commits

Author SHA1 Message Date
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
mailwl 497acff923 Service/AC: add ac:i service 2016-12-30 09:20:11 +03:00
Lectem fc24e04e89 IPC helpers 2016-12-26 14:07:29 +01:00
wwylele 753865ecfb Frontend: emulate motion sensor 2016-12-26 10:52:16 +02:00
MerryMage f587cb1402 core: Move emu_window and key_map into core
* Removes circular dependences (common should not depend on core)
2016-12-23 13:42:39 +00:00
mailwl fe91382e49 Service/NWM: add nwm services 2016-12-22 22:51:27 +03:00
bunnei c5f21efe18 core: Remove HLE module, consolidate code & various cleanups. 2016-12-21 23:48:13 -05:00
bunnei d4f9119dba core: Consolidate core and system state, remove system module & cleanups. 2016-12-21 23:29:13 -05:00
Yuri Kunde Schlesner 20bc04479e Merge pull request #2320 from mailwl/cecd-update
Service/CECD: Add cecd:ndm service
2016-12-15 21:01:51 -08:00
bunnei 98565c461c Merge pull request #2314 from mailwl/account
Service/ACT: move ACT services to folder
2016-12-15 13:51:29 -05:00
mailwl 81c3e204a7 Service/CECD: Add cecd:ndm service 2016-12-15 09:52:40 +03:00
Yuri Kunde Schlesner dce4b9e969 Merge pull request #2249 from Subv/sessions_v3
Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
2016-12-14 20:35:33 -08:00
mailwl 5eb01485be Service/ACT: move ACT services to folder 2016-12-14 09:05:46 +03:00
Lioncash 91eba9b44b service: Add cfg:nor service 2016-12-09 05:07:41 -05:00
Subv 41e5e714d5 Use std::move where appropriate. 2016-12-08 11:06:19 -05:00
Lioncash b891179e09 service: Add ptm::gets and ptm::sets services 2016-12-08 05:43:08 -05:00
Lioncash e334f81333 service: Add mvd and qtm services
Adds the two New3DS-only modules.

3dbrew was used for command information.
2016-12-08 04:34:03 -05:00
Lioncash 491b177fc0 service: Add nfc services
3dbrew was used for the command information.
2016-12-08 03:24:41 -05:00
Subv 0d2f2880b9 Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
All handles obtained via srv::GetServiceHandle or svcConnectToPort are references to ClientSessions.
Service modules will wait on the counterpart of those ClientSessions (Called ServerSessions) using svcReplyAndReceive or svcWaitSynchronization[1|N], and will be awoken when a SyncRequest is performed.

HLE Interfaces are now ClientPorts which override the HandleSyncRequest virtual member function to perform command handling immediately.
2016-11-30 23:02:05 -05:00
wwylele f4b483015d FileSys: Implement OtherSaveData 2016-11-29 23:50:00 +02:00
wwylele 341660cf46 FileSys: abstract SD save data archive source 2016-11-29 23:50:00 +02:00