Sebastian Valle
9a52d72362
Merge pull request #3042 from Subv/releasemutex
...
Kernel/SVC: Don't let svcReleaseMutex release a mutex owned by another thread
2017-11-04 12:57:44 -05:00
bunnei
5885ca4503
Merge pull request #3067 from Hexagon12/wsacleanup-soc-fix
...
Removed duplicate calls of WSACleanup in soc_u.
2017-11-04 13:39:09 -04:00
James Rowe
c14f802381
Merge pull request #2992 from Subv/ac_srvframework
...
Services/AC: Converted the ac:i and ac:u services to the new service framework.
2017-11-04 10:42:09 -06:00
Sebastian Valle
3fe9b332bc
Merge pull request #2989 from B3n30/sendTo_PullPacket_Bind
...
Service/UDS: Implement Bind, Unbind, SendTo, PullPacket, and GetNodeInformation
2017-11-04 10:58:49 -05:00
Hexagon12
695ff7cff3
Clang pls (again)
2017-11-04 17:41:20 +02:00
Hexagon12
81e36150d3
Clang pls
2017-11-04 17:32:12 +02:00
Subv
68dba11805
Kernel/SVC: Don't let svcReleaseMutex release a mutex owned by another thread.
...
This behavior was reverse engineered from the 3DS kernel.
2017-11-04 10:05:18 -05:00
B3n30
ed9db735a2
Service/UDS: Updated BeginHostingNetwork
2017-11-04 15:41:54 +01:00
B3n30
f6d16c3f87
Service/UDS: Implement Unbind and GetNodeInformation
2017-11-04 15:41:54 +01:00
B3n30
230ea063a5
Service/UDS: Implement SendTo, PullPacket, HandleSecureData, and Bind
2017-11-04 15:41:27 +01:00
Hexagon12
4ded138139
Update soc_u.cpp
2017-11-04 16:30:48 +02:00
Hexagon12
5d123144ff
Removed all instances of WSACleanup();.
2017-11-04 15:03:04 +02:00
wwylele
499508389c
core: clear format warnings
2017-11-01 12:35:32 +02:00
wwylele
47c0c87c47
video_core: clean format warnings
2017-11-01 12:35:32 +02:00
Mohit Sahu
1f6da9fbc5
Capitalize the first word in a comment ( #3059 )
...
* Correct spelling of searchfield in comment
2017-10-28 12:38:56 -05:00
Alexandre Paré
d65983515f
Correcting word order of a comment in memory.cpp
2017-10-28 13:23:58 -04:00
Sebastian Valle
79852d3707
Merge pull request #3048 from shinyquagsire23/am-patch
...
Services/AM: Implement GetPatchTitleInfos, Misc Cleanup
2017-10-27 20:10:56 -05:00
Subv
95df4e674a
Services/AC: Converted the ac:i and ac:u services to the new service framework.
2017-10-27 19:39:19 -05:00
James Rowe
edfc8d133a
Merge pull request #3044 from Dragios/wnarrowing
...
Get rid of narrowing conversion warning (-Wnarrowing)
2017-10-27 15:55:14 -06:00
James Rowe
465e619cbb
Merge pull request #3053 from wwylele/debug-build-please
...
file_sys: Add missing header for PRIU64
2017-10-27 14:47:11 -06:00
wwylele
2bcbd565b8
Add missing header for PRIU64
2017-10-27 18:52:50 +03:00
Mohit Sahu
f75dd34747
Correct spelling of searchfield in comment ( #3052 )
...
Correct spelling of searchfield in comment
2017-10-27 15:43:22 +00:00
shinyquagsire23
2e38ea7a33
Services/AM: Implement GetPatchTitleInfos, correct error codes/returns, misc fixes
2017-10-26 21:06:29 -06:00
Dragios
3e26b0dee5
swrasterizer folder minor edit
2017-10-27 09:44:45 +08:00
Dragios
9b3eb69973
Utilize vector function instead
2017-10-26 23:50:20 +08:00
James Rowe
b36f748acd
Merge pull request #3046 from MerryMage/sdl-disallow-device-changes
...
sdl2_sink: Disallow audio device from changing any parameter other than the frequency
2017-10-24 09:22:28 -06:00
James Rowe
b4c1c26511
Merge pull request #3028 from MerryMage/fix-3023
...
citra_qt: Remove use of QKeySequence::Cancel
2017-10-24 09:21:27 -06:00
MerryMage
211cc5e28f
sdl2_sink: Disallow audio device from changing any parameter other than the frequency
...
We currently do not handle the cases when channel number or channel format differ from what we expect.
2017-10-24 14:03:34 +01:00
Dragios
84054b7cd8
Get rid of narrowing conversion warning
2017-10-24 00:02:46 +08:00
Sebastian Valle
aee8bf680c
Merge pull request #3032 from Dragios/errno
...
Remove some errno constants as it was already defined
2017-10-23 10:30:18 -05:00
Merry
68943acd67
Merge pull request #3030 from Dragios/rename-class
...
citra-qt: Rename derivative class name
2017-10-22 18:10:41 +01:00
Merry
6f5f09b6c2
Merge pull request #3031 from Dragios/cryptopp-weak
...
externals: Remove Crypto++ weak algorithm warning
2017-10-22 18:10:22 +01:00
Dragios
520929dd6d
Fix typo for -Wunused-local-typedefs
2017-10-22 15:56:50 +08:00
Dragios
eb671d8513
Remove some errno constants as it was already defined
2017-10-22 14:22:27 +08:00
Dragios
e46f66a5fa
Remove Crypto++ weak algorithm warning
2017-10-22 13:56:59 +08:00
Dragios
a88185b5d6
citra-qt: Rename derivative class name
2017-10-22 09:33:23 +08:00
MerryMage
1e4bd67a12
citra_qt: Remove use of QKeySequence::Cancel
...
Closes #3023 . QKeySequence::Cancel requires Qt 5.6, which our buildbots do not support.
2017-10-21 23:58:18 +01:00
MerryMage
f5be3258f2
hle/lock: Remove #pragma once in cpp file
2017-10-21 13:59:14 +01:00
James Rowe
dcb48840c3
Merge pull request #2993 from shinyquagsire23/am-and-archive-ncch-rework
...
AM Service and NCCH Archive Rework
2017-10-20 22:59:38 -06:00
James Rowe
f47bf6c8c9
Merge pull request #3001 from Styleoshin/qt_fullscreen
...
citra-qt : Adding fullscreen mode
2017-10-19 15:30:55 -06:00
shinyquagsire23
1ac5137655
file_sys/archive_ncch: Use AM to get title content path, add ExeFS support and support for additional content indexes
2017-10-18 21:19:40 -06:00
shinyquagsire23
a4af750759
loader/ncch: Use AM to get update title path
2017-10-18 21:19:40 -06:00
shinyquagsire23
b9fc359e7e
Services/AM: Add title scanning, move to ipc_helper.h, implement most stubbed service calls
2017-10-18 21:19:34 -06:00
Yacine
e3d9e6c802
citra-qt : Adding fullscreen mode
2017-10-11 20:21:09 +02:00
Dragios
83e5f639e6
Change command header in nwm::UDS Initialize function
2017-10-09 09:10:48 +08:00
Sebastian Valle
20e19a340c
Merge pull request #2991 from Subv/getpointer
...
Remove more usages of GetPointer.
2017-10-08 10:11:12 -05:00
shinyquagsire23
8b448dc277
file_sys/title_metadata: extend accessible content chunk data
2017-10-06 11:28:29 -06:00
Sebastian Valle
74d4050924
Merge pull request #2975 from shinyquagsire23/archive-ncch-container-and-override
...
file_sys/archive_ncch: use NCCHs/.apps instead of .romfs files, NCCH section override
2017-10-06 12:19:20 -05:00
Sebastian Valle
84c344b9b1
Merge pull request #2953 from Subv/applet_launch
...
HLE/APT: Always set up the APT parameter when starting a library applet.
2017-10-04 15:01:58 -05:00
Subv
97f262c1f5
SVC: Removed GetPointer usage in the GetResourceLimit functions.
2017-10-04 14:04:27 -05:00
Subv
46fc7595b4
SVC: Remove GetPointer usage in CreatePort.
2017-10-04 14:04:03 -05:00
Subv
7b09b30ef1
SVC: Replace GetPointer usage with ReadCString in ConnectToPort.
2017-10-04 14:03:59 -05:00
Subv
3c0113632d
SVC: Replace GetPointer usage with ReadBlock in OutputDebugString.
2017-10-04 12:30:33 -05:00
Subv
0cfb231e00
SVC: Replace GetPointer usage with Read32 in ReplyAndReceive.
2017-10-04 12:30:33 -05:00
Subv
b863d6c860
SVC: Replace GetPointer usage with Read32 in WaitSynchronizationN.
2017-10-04 12:30:32 -05:00
Subv
7772fc0731
Memory: Remove all GetPointer usages from the GDB stub.
2017-10-04 11:33:32 -05:00
Huw Pascoe
b3b34a1e76
Extracted the attribute setup and draw commands into their own functions
2017-10-04 01:08:29 +01:00
bunnei
15c7641bef
Merge pull request #2977 from Subv/shmem_create
...
SharedMemory: Don't take over and unmap the source memory block when creating a shared memory, just reference it
2017-10-03 16:21:49 -04:00
Subv
b18589ecf7
Kernel/SharedMemory: Don't take over and unmap the source memory block when creating a shared memory, just reference it.
...
Also reference the right offset into the backing block for the requested address.
2017-10-02 15:16:16 -05:00
Sebastian Valle
30fabc41c6
Merge pull request #2971 from Subv/per_process_memops
...
Memory: Add overloads for ReadBlock and WriteBlock that operate on a specific process.
2017-10-01 14:44:06 -05:00
Subv
1f2de7501b
Memory: Make WriteBlock take a Process parameter on which to operate
2017-10-01 14:18:36 -05:00
Subv
811c01e5fe
Memory: Make ReadBlock take a Process parameter on which to operate
2017-10-01 14:18:36 -05:00
Subv
8217ed7acb
Kernel/Thread: Added a helper function to get a thread's command buffer VAddr.
2017-10-01 14:18:35 -05:00
Sebastian Valle
9c123c29a6
Merge pull request #2974 from Subv/nim_event
...
Services/NIM: Implement CheckForSysUpdateEvent.
2017-10-01 14:16:14 -05:00
shinyquagsire23
4887d18591
file_sys, loader: add support for reading TMDs to determine app paths
2017-10-01 10:54:02 -06:00
shinyquagsire23
8e10c9bb2e
file_sys: add class for Title Metadata (TMD)
2017-10-01 10:53:45 -06:00
shinyquagsire23
e21f2348e7
file_sys/ncch_container: add RomFS, ExeFS override to allow for backward compatibility with existing .romfs system archive dumps
2017-10-01 10:53:18 -06:00
shinyquagsire23
c93e5ecfe6
file_sys/archive_ncch: use NCCHContainer instead of loading .romfs files
2017-10-01 10:53:04 -06:00
Subv
5bae5a48b9
Services/NIM: Implement CheckForSysUpdateEvent.
...
Implementation verified by reverse engineering.
This lets the Home Menu boot without crashing on startup.
2017-09-30 13:21:45 -05:00
Huw Pascoe
529f4a0131
Moved down_count to CoreTiming
2017-09-30 17:38:14 +01:00
B3n30
afb1012bcd
Services/UDS: Handle the rest of the connection sequence. ( #2963 )
...
Services/UDS: Handle the rest of the connection sequence.
2017-09-30 18:18:45 +02:00
Sebastian Valle
7056b9c46a
Merge pull request #2946 from Subv/home_menu_apt
...
Implement PrepareToStartNewestHomeMenu and fixed an APT regression.
2017-09-30 10:47:42 -05:00
Sebastian Valle
db752b52e8
Merge pull request #2967 from Subv/thread_wakeup_callbacks
...
Kernel/Threads: When putting a thread to wait, specify a function to execute when it is awoken
2017-09-30 09:12:18 -05:00
Huw Pascoe
a13ab958cb
Fixed type conversion ambiguity
2017-09-30 09:34:35 +01:00
bunnei
b07af7dda8
Merge pull request #2961 from Subv/load_titles
...
Loaders: Don't automatically set the current process every time we load an application.
2017-09-29 14:58:42 -04:00
mailwl
8883dca514
Service/PTM: Stub GetStepHistory function
2017-09-29 15:34:41 +03:00
Subv
8432749db7
Kernel/Threads: When putting a thread to wait, specify a function to execute when it is awoken.
...
This change makes for a clearer (less confusing) path of execution in the scheduler, now the code to execute when a thread awakes is closer to the code that puts the thread to sleep (WaitSynch1, WaitSynchN). It also allows us to implement the special wake up behavior of ReplyAndReceive without hacking up WaitObject::WakeupAllWaitingThreads.
If savestates are desired in the future, we can change this implementation to one similar to the CoreTiming event system, where we first register the callback functions at startup and assign their identifiers to the Thread callback variable instead of directly assigning a lambda to the wake up callback variable.
2017-09-28 11:53:32 -05:00
Sebastian Valle
0d42706a7b
Merge pull request #2907 from Subv/warnings3
...
Disable unary operator- on Math::Vec2/Vec3/Vec4 for unsigned types.
2017-09-27 15:45:38 -05:00
Subv
a321bce378
Disable unary operator- on Math::Vec2/Vec3/Vec4 for unsigned types.
...
It is unlikely we will ever use this without first doing a Cast to a signed type.
Fixes 9 "unary minus operator applied to unsigned type, result still unsigned" warnings on MSVC2017.3
2017-09-27 09:06:41 -05:00
Subv
7f48aa8d25
Loaders: Don't automatically set the current process every time we load an application.
...
The loaders will now just create a Kernel::Process, construct it and return it to the caller, which is responsible for setting it as the current process and configuring the global page table.
2017-09-26 18:17:47 -05:00
James Rowe
5620327e03
Merge pull request #2954 from Subv/cache_unmapped_mem
...
Memory/RasterizerCache: Ignore unmapped memory regions when caching physical regions
2017-09-26 16:55:47 -06:00
Subv
3165466b66
Kernel/Thread: Allow specifying which process a thread belongs to when creating it.
...
Don't automatically assume that Thread::Create will only be called when the parent process is currently scheduled. This assumption will be broken when applets or system modules are loaded.
2017-09-26 17:40:49 -05:00
Subv
a8d2f5787f
Tests: Added Memory::IsValidVirtualAddress tests.
2017-09-26 17:31:50 -05:00
Subv
c102e3ae28
Tests: Fixed ARM VFP tests
2017-09-26 17:29:06 -05:00
Subv
35da7f57ef
Memory: Allow IsValidVirtualAddress to be called with a specific process parameter.
...
There is still an overload of IsValidVirtualAddress that only takes the VAddr and will default to the current process.
2017-09-26 17:27:44 -05:00
Merry
0c20da7fde
Merge pull request #2958 from Subv/audio_buffer_datatype
...
Audio: Use std::deque instead of std::vector for the audio buffer type (StereoBuffer16)
2017-09-26 08:47:37 +01:00
Subv
e27ae04696
HLE/APT: Always set up the APT parameter when starting a library applet.
...
Only use the HLE interface if an HLE applet with the desired id was started.
This commit reorganizes the APT code surrounding parameter creation and delivery to make it easier to support LLE applets in the future.
As future work, the HLE applet interface can be reworked to utilize the same facilities as the LLE interface.
2017-09-25 23:47:50 -05:00
Subv
41f6c9f87f
Memory/RasterizerCache: Ignore unmapped memory regions when caching physical regions.
...
Not all physical regions need to be mapped into the address space of every process, for example, system modules do not have a VRAM mapping.
This fixes a crash when loading applets and system modules.
2017-09-25 19:37:45 -05:00
Subv
d7459354f5
Audio: Use std::deque instead of std::vector for the audio buffer type (StereoBuffer16).
...
The current code inserts and deletes elements from the beginning of the audio buffer, which is very inefficient in an std::vector.
Profiling was done using VisualStudio2017's Performance Analyzer in Super Mario 3D Land.
Before this change: AudioInterp::Linear had 14.14% of the runtime (inclusive) and most of that time was spent in std::vector's insert implementation.
After this change: AudioInterp::Linear has 0.36% of the runtime (inclusive)
2017-09-25 18:31:37 -05:00
Subv
774e7deae8
HLE/Archives: Allow multiple loaded applications to access their SelfNCCH archive independently.
...
The loaders now register each loaded ROM with the SelfNCCH factory, which keeps the data around for the duration of the emulation session.
When opening the SelfNCCH archive, the factory queries the current program's programid and uses that as a key to the map that contains the NCCHData structure (RomFS, Icon, Banner, etc).
3dsx files do not have a programid and will use a default of 0 for this value, thus, only 1 3dsx file with RomFS is loadable at the same time.
2017-09-25 09:45:02 -05:00
B3n30
d881dee818
Merge pull request #2952 from MerryMage/page-tables
...
Switchable Page Tables
2017-09-25 08:29:32 +02:00
B3n30
dc6a365337
Merge pull request #2951 from huwpascoe/perf-4
...
Optimized Morton
2017-09-25 08:28:55 +02:00
B3n30
78022b5a79
Merge pull request #2949 from wwylele/fix-tr
...
citra-qt: fix some untranslated strings
2017-09-25 08:23:04 +02:00
B3n30
a21b9deb98
Merge pull request #2948 from Subv/register_service
...
HLE/SRV: Implemented RegisterService.
2017-09-25 08:22:05 +02:00
Max Thomas
c91ccbd0ba
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
B3n30
d673d508dd
Services/UDS: Added a function to send EAPoL-Start packets ( #2920 )
...
* Services/UDS: Added a function to generate the EAPoL-Start packet body.
* Services/UDS: Added filter for beacons.
* Services/UDS: Lock a mutex when accessing connection_status from both the emulation and network thread.
* Services/UDS: Handle the Association Response frame and respond with the EAPoL-Start frame.
* fixup: make use of current_node, changed received_beacons into a list, mutex and assert corrections
* fixup: fix damn clang-format
2017-09-25 08:16:27 +02:00
Huw Pascoe
903906da3b
Optimized Float<M,E> multiplication
...
Before:
ucomiss xmm1, xmm1
jp .L9
pxor xmm2, xmm2
mov edx, 1
ucomiss xmm0, xmm2
setp al
cmovne eax, edx
test al, al
jne .L9
.L3:
movaps xmm0, xmm2
ret
.L9:
ucomiss xmm0, xmm0
jp .L10
pxor xmm2, xmm2
mov edx, 1
ucomiss xmm1, xmm2
setp al
cmovne eax, edx
test al, al
je .L3
After:
movaps xmm2, xmm1
mulss xmm2, xmm0
ucomiss xmm2, xmm2
jnp .L3
ucomiss xmm1, xmm0
jnp .L11
.L3:
movaps xmm0, xmm2
ret
.L11:
pxor xmm2, xmm2
jmp .L3
2017-09-25 00:54:02 +01:00
MerryMage
67a70bd9e1
ARM_Interface: Implement PageTableChanged
2017-09-24 23:08:25 +01:00
MerryMage
4e5eb2044a
memory: Remove GetCurrentPageTablePointers
2017-09-24 22:43:28 +01:00
MerryMage
c02bbb7030
memory: Add GetCurrentPageTable/SetCurrentPageTable
...
Don't expose Memory::current_page_table as a global.
2017-09-24 22:42:42 +01:00