Yuri Kunde Schlesner
f68fd997cd
Service: Remove unnecessary includes from service.h
This has a huge fallout in terms of needing to fix other files because
all service implementations included that file.
9 years ago
Yuri Kunde Schlesner
0e3e091a0d
Service: Make service registration part of the sm implementation
Also enhances the GetServiceHandle implementation to be more accurate.
9 years ago
Yuri Kunde Schlesner
d9e7be32de
Service/sm: Use an actual semaphore for the notification semaphore
An Event was used way back then when we didn't have proper working
semaphores. Our Semaphore implementation is good enough now.
9 years ago
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.
9 years ago
Yuri Kunde Schlesner
8a35f3634e
Kernel: Add a dedicated SetHleHandler method to ServerPort/ServerSession
This allows attaching a HLE handle to a ServerPort at any point after it
is created, allowing port/session creation to be generic between HLE and
regular services.
9 years ago
Yuri Kunde Schlesner
9dd1fd5b9e
ResultVal: Add more convenience utils for creating and cascading results
9 years ago
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.
9 years ago
TheKoopaKingdom
e0f8f75f43
Addressed Bunnei's review comments, and made some other tweaks:
- Deleted GetStatus() because it wasn't used anywhere outside of Core::System.
- Fixed design flaw where the message bar status could be set despite the game being stopped.
9 years ago
TheKoopaKingdom
fa11f957f4
Switched to the ERROR_NOT_FOUND constant from errors.h.
9 years ago
TheKoopaKingdom
af0a2f11d9
Moved whitelist checks from FS_User to the Archive_NCCH handler.
9 years ago
TheKoopaKingdom
b817071212
Created a whitelist of system archives to prevent false positives creating dialogs.
9 years ago
TheKoopaKingdom
4799017aec
Optimized messages that were repetitive and added ability for core errors to specify more details optionally.
9 years ago
TheKoopaKingdom
cee9b78a15
Made some changes from review comments:
- Made LoadKernelSystemMode return a pair consisting of a system mode and a result code (Could use review).
- Deleted ErrorOpenGL error code in favor of just having ErrorVideoCore.
- Made dialog messages more clear.
- Compared archive ID in fs_user.cpp to ArchiveIdCode::NCCH as opposed to hex magic.
- Cleaned up some other stuff.
9 years ago
TheKoopaKingdom
3a32a33fde
Added system for handling core errors in citra-qt.
9 years ago
TheKoopaKingdom
1b9c3436ab
Fixed encrypted ROM error messages.
9 years ago
Yuri Kunde Schlesner
ecfda5317e
Kernel: Move HandleTable to a separate file
9 years ago
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.
9 years ago
Yuri Kunde Schlesner
ddbf9cec1b
Kernel: Removed HandleTable::GetWaitObject
This isn't necessary anymore since plain Get works correctly for
WaitObjects.
9 years ago
Yuri Kunde Schlesner
74aa9efe3e
Kernel: Extract dynamic Object pointer cast into its own function
9 years ago
Yuri Kunde Schlesner
49ef9a6270
CMake: Remove unnecessary include_directories for dynarmic
Dynarmic already adds the correct include paths to the library target.
9 years ago
Yuri Kunde Schlesner
dfd2db3e37
CMake: Add cryptopp include path to target property
9 years ago
Yuri Kunde Schlesner
97f922e583
CMake: Use IMPORTED target for Boost
9 years ago
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.
9 years ago
Yuri Kunde Schlesner
7d74a5daf0
Remove some unnecessary inclusions of video_core.h
9 years ago
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.
9 years ago
Yuri Kunde Schlesner
7b560a8b81
Core: Fix some out-of-style includes
9 years ago
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.
9 years ago
wwylele
3342bb1fa9
fixup!cam: use IPCHelper
9 years ago
Yuri Kunde Schlesner
782c6b1923
FS: Remove unused result definition
9 years ago
Yuri Kunde Schlesner
467545ed48
Kernel: Centralize error definitions in errors.h
9 years ago
Yuri Kunde Schlesner
6210a1aaf3
GSP_GPU: Move error codes from result.h to local file
9 years ago
Yuri Kunde Schlesner
2d147a1c0d
FileSys: Move all result description to errors.h
9 years ago
Yuri Kunde Schlesner
f2e65b5cbc
result: Make error description a generic integer
It is now known that result code description vary depending on the
module, and so they're best defined on a per-module basis. To support
this, allow passing in an arbitrary integer instead of limiting to the
ones in the ErrorDescription enum. These will be gradually migrated to
their individual users, but a few will be kept as "common" codes shared
by all modules.
9 years ago
Yuri Kunde Schlesner
a786199c4b
Make BitField and ResultCode constexpr-initializable
9 years ago
bunnei
68100e88e0
telemetry: Log a few simple data fields throughout core.
9 years ago
bunnei
e65f4cc882
core: Keep track of telemetry for the current emulation session.
9 years ago
wwylele
3b34518bcf
cam: move u32->u8 trancation to IPCHelper
9 years ago
wwylele
e82ac2e80f
cam: use IPCHelper
9 years ago
Subv
c67cd54049
fixup! Dyncom/VFP: Convert denormal outputs into 0 when the FTZ flag is enabled.
9 years ago
Subv
8e4b05c22a
Kernel/Sessions: Remove the ClientSession::Create function.
It is not meant to be used by anything other than CreateSessionPair.
9 years ago
emmaus
603f9246e1
use IPCHelper for PTM services
9 years ago
Subv
56031253c4
Services/UDS: Use the new IPC helper functions.
9 years ago
Subv
2472e71eb0
Services/UDS: Implement RecvBeaconBroadcastData.
This allows the applications to retrieve 802.11 beacon frames from nearby UDS networks.
Note that the networks are still not announced anywhere.
9 years ago
Subv
b722ca78a2
Services/UDS: Generate the UDS beacons when the beacon callback fires.
9 years ago
Subv
f98eb7d315
Kernel: Remove a now unused enum and variable regarding a session's status.
9 years ago
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.
9 years ago
Subv
8533b511e8
Dyncom/VFP: Perform flush-to-zero on the second operand of vsub before sending it to vadd.
Previously we were letting vadd flush the value to positive 0, but there are cases where this behavior is wrong, for example,
vsub: -0 - +0 = -0
vadd: -0 + +0 = +0
Now we'll flush the value to +0 inside vsub, and then negate it.
9 years ago
Yuri Kunde Schlesner
2668c26a68
Kernel: Map special regions according to ExHeader
This replaces the hardcoded VRAM/DSP mappings with ones made based on
the ExHeader ARM11 Kernel caps list. While this has no visible effect
for most applications (since they use a standard set of mappings) it
does improve support for system modules and n3DS exclusives.
9 years ago
Yuri Kunde Schlesner
03ad0ec0e5
DSP: Create backing memory for entire DSP RAM
Also move address space mapping out of video_core.
9 years ago
Yuri Kunde Schlesner
2af0a2a4b7
Memory: Add constants for the n3DS additional RAM
This is 4MB of extra, separate memory that was added on the New 3DS.
9 years ago