Lioncash
2a7a2b739b
memory: Make prototype parameter names match their definitions
...
Keeps the code consistent.
2018-08-05 21:39:09 -04:00
Lioncash
4aa31b0618
memory: Correct prototype of ZeroBlock
...
Previously, the prototype wasn't matching the definition, which has a
Processor parameter before the destination address.
2018-08-05 21:39:06 -04:00
Lioncash
2fc5c783ed
memory: Remove unnecessary const qualifiers in prototypes
...
These aren't necessary, as value-wise const only matters in the
definition.
2018-08-05 21:38:22 -04:00
Lioncash
6edd828101
core_timing: Convert typedef into a type alias
...
Makes the alias a little more readable from left-to-right.
2018-08-05 21:27:14 -04:00
Lioncash
d9815b523b
core_timing: Use transparent functors where applicable
...
Gets rid of the need to hardcode the type in multiple places. This will
now be deduced automatically, based off the elements in the container
being provided to the algorithm.
2018-08-05 21:19:24 -04:00
Zach Hilman
7f9430f7ae
loader: Make AppLoader_NCA rely on directory loading code
...
Eliminates duplicate code shared between their Load methods, after all the only difference is how the romfs is handled.
2018-08-05 18:28:15 -04:00
Lioncash
00f7e584ce
gdbstub: Use type alias for breakpoint maps
...
Rather than having to type out the full std::map type signature, we can
just use a straightforward alias. While we're at it, rename
GetBreakpointList to GetBreakpointMap, which makes the name more
accurate. We can also get rid of unnecessary u64 static_casts, since
VAddr is an alias for a u64.
2018-08-05 16:41:22 -04:00
Lioncash
89c076b4b1
gdbstub: Move all file-static variables into the GDBStub namespace
...
Keeps everything under the same namespace. While we're at it, enclose
them all within an inner anonymous namespace.
2018-08-05 16:41:18 -04:00
bunnei
c0af42d6eb
Merge pull request #912 from lioncash/global-var
...
video_core: Eliminate the g_renderer global variable
2018-08-05 16:37:39 -04:00
Lioncash
7a77d0a71e
address_arbiter: Return by value from GetThreadsWaitingOnAddress()
...
In all cases the vector being supplied is empty, so we can just return
by value in these instances.
2018-08-05 16:29:17 -04:00
Lioncash
ca96f8db4e
gdbstub: Replace PAddr alias with VAddr
...
In all cases, a virtual address is being passed in, not a physical one.
2018-08-05 15:56:01 -04:00
bunnei
b46df98e93
audio_core: Implement audren_u audio playback.
2018-08-04 21:54:30 -04:00
bunnei
a0a605df06
Merge pull request #924 from lioncash/arp
...
service: Add arp services
2018-08-04 21:20:26 -04:00
bunnei
cd96c04339
Merge pull request #921 from lioncash/view
...
core/crypto: Minor changes
2018-08-04 21:17:10 -04:00
bunnei
1dee8ceda1
audio_core: Use s16 where possible for audio samples.
2018-08-04 18:22:58 -04:00
bunnei
f1cb3903ac
audio_core: Port codec code from Citra for ADPCM decoding.
2018-08-04 18:22:58 -04:00
Lioncash
de72956181
service: Add arp services
...
Adds the basic skeleton of the arp services based off the information
provided by Switch Brew.
2018-08-04 18:01:12 -04:00
Lioncash
df51207ed2
service: Remove redundant #pragma once directives
...
These don't do anything within .cpp files (we don't include cpp files,
so...)
2018-08-04 17:39:08 -04:00
Lioncash
0d04ee97dc
aes_util: Add static assertion to Transcode() and XTSTranscode() to ensure well-defined behavior
...
These functions should only be given trivially-copyable types.
2018-08-04 17:30:52 -04:00
Lioncash
64c8212ae1
aes_util: Make CalculateNintendoTweak() an internally linked function
...
This function doesn't directly depend on class state, so it can be
hidden entirely from the interface in the cpp file.
2018-08-04 17:30:48 -04:00
Lioncash
b25468b498
aes_util: Make Transcode() a const member function
...
This doesn't modify member state, so it can be made const.
2018-08-04 16:49:42 -04:00
Lioncash
8da651ac4d
core/crypto: Remove unnecessary includes
2018-08-04 16:44:07 -04:00
Lioncash
c1f76abfaf
key_manager: Use regular std::string instead of std::string_view
...
The benefit of std::string_view comes from the idea of avoiding copies
(essentially acting as a non-owning view), however if we're just going
to copy into a local variable immediately, there's not much benefit
gained here.
2018-08-04 16:37:30 -04:00
Zach Hilman
2cc962e171
content_archive: Add support for titlekey cryptography
2018-08-04 14:57:21 -04:00
bunnei
9f846d3aa4
audio_core: Streams need unique names for CoreTiming.
2018-08-04 14:34:12 -04:00
bunnei
2b06301dbf
Merge pull request #849 from DarkLordZach/xci
...
XCI and Encrypted NCA Support
2018-08-04 14:33:11 -04:00
Lioncash
2665457f4a
renderer_base: Make Rasterizer() return the rasterizer by reference
...
All calling code assumes that the rasterizer will be in a valid state,
which is a totally fine assumption. The only way the rasterizer wouldn't
be is if initialization is done incorrectly or fails, which is checked
against in System::Init().
2018-08-04 02:36:58 -04:00
Lioncash
6030c5ce41
video_core: Eliminate the g_renderer global variable
...
We move the initialization of the renderer to the core class, while
keeping the creation of it and any other specifics in video_core. This
way we can ensure that the renderer is initialized and doesn't give
unfettered access to the renderer. This also makes dependencies on types
more explicit.
For example, the GPU class doesn't need to depend on the
existence of a renderer, it only needs to care about whether or not it
has a rasterizer, but since it was accessing the global variable, it was
also making the renderer a part of its dependency chain. By adjusting
the interface, we can get rid of this dependency.
2018-08-04 02:36:57 -04:00
bunnei
b0129489ea
Merge pull request #913 from lioncash/unused-func
...
memory: Remove unused GetSpecialHandlers() function
2018-08-04 02:17:44 -04:00
bunnei
206f2e3436
Merge pull request #914 from lioncash/codeset
...
kernel/process: Use accessors instead of class members for referencing segment array
2018-08-04 02:17:25 -04:00
Lioncash
e93fa7f2cc
kernel/thread: Fix potential crashes introduced in 26de4bb521
...
This amends cases where crashes can occur that were missed due to the
odd way the previous code was set up (using 3DS memory regions that
don't exist).
2018-08-03 23:49:10 -04:00
Lioncash
e649db8c6b
kernel/process: Use std::array where applicable
2018-08-03 14:46:30 -04:00
Lioncash
2beda7c2b3
kernel/process: Use accessors instead of class members for referencing segment array
...
Using member variables for referencing the segments array increases the
size of the class in memory for little benefit. The same behavior can be
achieved through the use of accessors that just return the relevant
segment.
2018-08-03 14:45:45 -04:00
Lioncash
59b04c0df6
memory: Remove unused GetSpecialHandlers() function
...
This is just unused code, so we may as well get rid of it.
2018-08-03 14:20:50 -04:00
bunnei
40e63ede6d
Merge pull request #908 from lioncash/memory
...
core/memory: Get rid of 3DS leftovers
2018-08-03 14:07:49 -04:00
Lioncash
26de4bb521
core/memory: Get rid of 3DS leftovers
...
Removes leftover code from citra that isn't needed.
2018-08-03 11:22:47 -04:00
David
c1d54f4aea
Added ability to change username & language code in the settings ui. Added IProfile::Get and SET::GetLanguageCode for libnx tests ( #851 )
2018-08-03 11:02:55 -04:00
bunnei
40e78b9a89
Merge pull request #898 from lioncash/mig
...
service: Add migration services
2018-08-03 11:00:27 -04:00
bunnei
00ba704a7f
Merge pull request #892 from lioncash/global
...
video_core: Make global EmuWindow instance part of the base renderer …
2018-08-03 00:31:32 -04:00
bunnei
4c3c608d59
Merge pull request #894 from lioncash/object
...
kernel: Move object class to its own source files
2018-08-03 00:28:43 -04:00
bunnei
4b84d5bcec
Merge pull request #904 from lioncash/static
...
kernel/thread: Minor changes
2018-08-03 00:19:29 -04:00
bunnei
61ed68f3d0
Merge pull request #905 from lioncash/vma
...
kernel/vm_manager: Minor changes
2018-08-02 23:18:03 -04:00
bunnei
291ccf7257
Merge pull request #903 from lioncash/copy
...
vfs_vector: Minor changes
2018-08-02 23:01:19 -04:00
bunnei
4de18e054b
Merge pull request #899 from lioncash/unused
...
hw: Remove unused files
2018-08-02 14:58:01 -04:00
bunnei
e79e967151
Merge pull request #891 from lioncash/ns
...
service/ns: Add missing ns services
2018-08-02 14:57:24 -04:00
Lioncash
d94a173877
kernel/vm_manager: Convert loop into std::any_of()
2018-08-02 12:46:15 -04:00
Lioncash
c4e0c3d76c
kernel/vm_manager: Use const where applicable
...
Makes our immutable state explicit.
2018-08-02 12:21:46 -04:00
Lioncash
ce5ad45278
kernel/vm_manager: Use the VAddr type alias in CarveVMA()
...
These two variables correspond to address ranges.
2018-08-02 12:15:50 -04:00
Lioncash
6058c84b79
kernel/thread: Make GetFreeThreadLocalSlot()'s loop indices size_t
...
Avoids using a u32 to compare against a range of size_t, which can be a
source of warnings. While we're at it, compress a std::tie into a
structured binding.
2018-08-02 12:01:25 -04:00
Lioncash
fac0e42b2f
kernel/thread: Make GetFreeThreadLocalSlot() reference parameter a const reference
...
This function only reads the data being referenced, it doesn't modify
it, so we can turn the reference into a const reference.
2018-08-02 11:56:11 -04:00
Lioncash
9a50a4f2cc
kernel/thread: Make GetFreeThreadLocalSlot() internally linked
...
This function isn't used outside of this translation unit, so we can
make it internally linked.
2018-08-02 11:54:23 -04:00
Lioncash
42a4c6b79e
vfs_vector: Remove unused variable in FindAndRemoveVectorElement()
...
This wasn't being used for anything, so it can be removed.
2018-08-02 11:40:24 -04:00
Lioncash
cec9e9b811
vfs_vector: Avoid unnecessary copies where applicable
...
The lambda elements should be taken by const reference here, and we can
move the virtual directory passed to ReplaceFileWithSubdirectory()
2018-08-02 11:37:39 -04:00
Lioncash
c6db1c390b
hw: Remove unused files
...
None of these files are used in any meaningful way. They're just
leftovers from citra. Also has the benefit of getting rid of an unused
global variable.
2018-08-02 10:23:10 -04:00
Lioncash
7469e26e5e
service: Add migration services
...
Adds the basic skeleton for the mig:usr service based off information
provided by Switch Brew.
2018-08-02 10:09:45 -04:00
Lioncash
bf45092c61
kernel: Move object class to its own source files
...
General moving to keep kernel object types separate from the direct
kernel code. Also essentially a preliminary cleanup before eliminating
global kernel state in the kernel code.
2018-08-01 23:34:42 -04:00
Lioncash
5233040ab4
service: Add psc services
...
Adds the basic skeleton for the psc services based off the information
provided by Switch Brew.
2018-08-01 23:31:27 -04:00
Lioncash
0f2ac928f2
video_core: Make global EmuWindow instance part of the base renderer class
...
Makes the global a member of the RendererBase class. We also change this
to be a reference. Passing any form of null pointer to these functions
is incorrect entirely, especially given the code itself assumes that the
pointer would always be in a valid state.
This also makes it easier to follow the lifecycle of instances being
used, as we explicitly interact the renderer with the rasterizer, rather
than it just operating on a global pointer.
2018-08-01 21:40:30 -04:00
bunnei
746d7d4d28
Merge pull request #888 from lioncash/caps
...
service: Add capture services
2018-08-01 21:34:28 -04:00
bunnei
9bb8720289
Merge pull request #890 from lioncash/logger
...
lm: Amend name of ILogger
2018-08-01 21:33:11 -04:00
bunnei
16b2fd9fc8
Merge pull request #889 from lioncash/fsp
...
service/filesystem: Add fsp:ldr and fsp:pr services
2018-08-01 21:32:54 -04:00
Lioncash
48acb764a4
service/ns: Add missing ns services
...
Implements the basic skeleton of ns:am2, ns:ec, ns:rid, ns:rt, ns:su,
ns:vm, and ns:web based off the information provided by Switch Brew and
SwIPC.
2018-08-01 18:02:18 -04:00
Lioncash
f77cfab516
lm: Amend name of ILogger
...
Previously this was being registered with the name "Logger". While we're
at it, also change the name of the class to match it.
2018-08-01 17:08:44 -04:00
Lioncash
208a457909
service/filesystem: Add fsp:ldr and fsp:pr services
...
Adds the basic skeleton for the remaining fsp services based off
information provided by Switch Brew.
2018-08-01 17:01:29 -04:00
Lioncash
e39294c267
service: Add capture services
...
Adds the basic skeleton for the capture services based off information
provided by Switch Brew.
2018-08-01 16:45:51 -04:00
Lioncash
d109279543
service: Add bpc and pcv services
...
Adds the basic skeleton for the remaining pcv-related services based off
information on Switch Brew.
2018-08-01 16:13:04 -04:00
bunnei
703663d761
Merge pull request #882 from lioncash/unused
...
kernel/thread: Remove unimplemented function prototype
2018-07-31 22:25:49 -07:00
Zach Hilman
13cdf1f159
Add missing parameter to files.push_back()
2018-08-01 00:16:54 -04:00
Zach Hilman
0497bb5528
Fix merge conflicts with opus and update docs
2018-08-01 00:16:54 -04:00
Zach Hilman
187d8e215f
Use more descriptive error codes and messages
2018-08-01 00:16:54 -04:00
Zach Hilman
9d59b96ef9
Use static const instead of const static
2018-08-01 00:16:54 -04:00
Zach Hilman
a9c921a41d
Use ErrorEncrypted where applicable and fix no keys crash
2018-08-01 00:16:54 -04:00
Zach Hilman
03149d3e4a
Add missing includes and use const where applicable
2018-08-01 00:16:54 -04:00
Zach Hilman
150527ec19
Allow key loading from %YUZU_DIR%/keys in addition to ~/.switch
2018-08-01 00:16:54 -04:00
Zach Hilman
239a3113e4
Make XCI comply to review and style guidelines
2018-08-01 00:16:54 -04:00
Zach Hilman
22342487e8
Extract mbedtls to cpp file
2018-08-01 00:16:54 -04:00
Zach Hilman
83c3ae8be8
Add missing string.h include
2018-08-01 00:16:54 -04:00
Zach Hilman
c54a10cb4f
Update mbedtls and fix compile error
2018-08-01 00:16:54 -04:00
Zach Hilman
df5b75694f
Remove files that are not used
2018-08-01 00:16:54 -04:00
bunnei
d2ad279a32
Merge pull request #871 from bunnei/audio-config
...
audio_core: Add configuration settings.
2018-07-31 21:04:26 -07:00
Lioncash
49e198b20d
kernel/thread: Remove unimplemented function prototype
...
Given there's no implementation, we may as well remove the code
entirely.
2018-07-31 23:21:38 -04:00
bunnei
ff2c1b0a94
Merge pull request #877 from lioncash/remove
...
kernel: Remove unused object_address_table.cpp/.h
2018-07-31 20:11:39 -07:00
bunnei
98af269415
Merge pull request #880 from lioncash/audio
...
service/audio: Add missing services
2018-07-31 20:11:04 -07:00
bunnei
ca84b530a3
audio_core: Add configuration settings.
2018-07-31 22:38:42 -04:00
bunnei
f5efac3442
Merge pull request #876 from lioncash/include
...
kernel: Remove unnecessary includes
2018-07-31 19:16:05 -07:00
Lioncash
bba63b33a1
service/audio: Add missing services
...
Adds the missing audctl service, as well as the :a and :d services for
audin, audout, audrec, and audren.
2018-07-31 21:58:30 -04:00
bunnei
da07faebfe
Merge pull request #879 from lioncash/audio
...
audout_u: Remove std::move in OpenAudioOutImpl()
2018-07-31 16:49:56 -07:00
bunnei
3575c076cb
Merge pull request #869 from Subv/ubsan
...
Corrected a few error cases detected by asan/ubsan
2018-07-31 09:24:13 -07:00
bunnei
fd020ad52a
Merge pull request #875 from lioncash/fgm
...
service: Add fgm services
2018-07-31 09:23:17 -07:00
bunnei
3a2581cc7d
Merge pull request #874 from lioncash/am
...
service/am: Add missing am services
2018-07-31 09:22:56 -07:00
Lioncash
369f6e58aa
kernel: Remove unused object_address_table.cpp/.h
...
These source files were entirely unused throughout the rest of the
codebase. This also has the benefit of getting rid of a global variable
as well.
2018-07-31 11:03:08 -04:00
Lioncash
1ced7bbea5
audout_u: Remove std::move in OpenAudioOutImpl()
...
Previously the code was using the values from params further below after
it was std::moved. Thankfully, given AudoutParams is a trivially
copyable struct, the values would have simply been copied in this
instance and not invalidated to garbage values.
2018-07-31 10:24:38 -04:00
Lioncash
a2304fad16
kernel: Remove unnecessary includes
...
Removes unnecessary direct dependencies in some headers and also gets
rid of indirect dependencies that were being relied on to be included.
2018-07-31 10:15:17 -04:00
bunnei
b79362b9da
Merge pull request #870 from lioncash/init
...
arm_dynarmic: Correct initializer list order
2018-07-31 07:12:54 -07:00
Lioncash
7da8f15461
service/am: Add missing am services
...
Adds the basic skeleton for missing am services idle:sys, omm, and spsm
based off the information provided by Switch Brew.
2018-07-31 08:02:20 -04:00
Lioncash
268eeeb406
service: Add fgm services
...
Adds the basic skeleton for the fgm services based off the information
provided by Switch Brew.
2018-07-31 08:01:19 -04:00
Lioncash
f08c0520a4
arm_dynarmic: Make SetTlsAddress() prototype and definition consistent
...
Makes the definition use the same type aliases as in its prototype.
2018-07-31 07:58:26 -04:00
Lioncash
9d6aa7bff7
arm_dynarmic: Remove unnecessary qualifying of ThreadContext
...
Given the ARM_Dynarmic class inherits from ARM_Interface, we don't need
to qualify here.
2018-07-31 07:56:59 -04:00
Lioncash
444a01afa6
arm_dynarmic: Correct initializer list order
...
Amends the initializer list to be in the same order that each variable
would be initialized in. We also do this to ensure we don't use a bogus
uninitialized instance of the exclusive monitor within MakeJit()
We can also remove the jit member from the initializer list as this is
initialized by PageTableChanged()
2018-07-31 07:54:58 -04:00
Lioncash
e373027a73
service: Add the pcie service
...
Adds the basic skeleton of the pcie service based off information on
Switch Brew.
2018-07-31 06:40:21 -04:00
Subv
e119e17d18
nvhost_gpu: Added checks to ensure we don't read past the end of the entries when handling a GPU command list.
2018-07-30 20:09:13 -05:00
Subv
2482aca7c3
nvhost_ctrl_gpu: Only read the input parameters if they are actually there.
...
Passing nullptr to memcpy is undefined behavior.
2018-07-30 20:08:36 -05:00
bunnei
eaf66b4c9f
audio_core: Move to audout_u impl.
...
- This is necessary so streams are created on the same thread.
2018-07-30 18:44:16 -04:00
David
a483e5e28d
Implemented various hwopus functions ( #853 )
2018-07-30 15:42:20 -07:00
bunnei
45d1438530
Merge pull request #858 from lioncash/cast
...
partition_filesystem: Remove dynamic_cast in PrintDebugInfo()
2018-07-30 10:09:36 -07:00
bunnei
c5fa3560a6
Merge pull request #857 from lioncash/wlan
...
service: Add wlan services
2018-07-30 10:06:52 -07:00
bunnei
2c4bb11015
Merge pull request #856 from lioncash/btm
...
service: Add btm services
2018-07-30 10:06:34 -07:00
Hexagon12
fd797e2424
Add some HID commands ( #843 )
...
* Added some HID commands
* Addressed comments
2018-07-30 10:06:21 -07:00
Lioncash
57c4d7aa00
partition_filesystem: Remove dynamic_cast in PrintDebugInfo()
...
We shouldn't be upcasting our file instances. Given a
PartitionFilesystem is currently designed to accept any arbitrary
VfsFile instances, casting to a more specific type than that is just bad
design, and shows an interface design issue.
2018-07-29 06:16:59 -04:00
Lioncash
6ea416091e
service: Add wlan services
...
Adds the basic skeleton for the wlan services based off the information
on Switch Brew.
2018-07-28 21:54:55 -04:00
Lioncash
7ce6858086
service/btm: Add basic implementation of GetCoreImpl()
...
Based off information on SwIPC and Switch Brew.
2018-07-28 21:09:07 -04:00
Lioncash
ca7655be3a
service: Add btm services
...
Adds the skeleton for the btm services based off the information on
Switch Brew.
2018-07-28 21:09:07 -04:00
bunnei
458fdda700
Merge pull request #847 from lioncash/ncm
...
service: Add ncm services
2018-07-28 10:46:09 -07:00
bunnei
d00dcdb1be
Merge pull request #846 from lioncash/mii
...
service: Add mii services
2018-07-28 10:45:31 -07:00
bunnei
e1d66ea794
Merge pull request #842 from bunnei/audio-core
...
Initial implementation of Audio Core
2018-07-27 20:25:32 -07:00
bunnei
f1c519f2cb
audout: Implement IAudioOut interface with AudioCore.
2018-07-27 22:55:39 -04:00
bunnei
2a742229ee
core: Add AudioCore to global state.
2018-07-27 22:33:37 -04:00
bunnei
ab756fd068
audio_core: Add initial code for keeping track of audout state.
2018-07-27 22:33:31 -04:00
Zach Hilman
906d785c73
RomFS Extraction
2018-07-27 18:14:03 -04:00
Lioncash
7931cc0ceb
service: Add ncm services
...
Adds the basic skeleton for the ncm services based off information on
Switch Brew.
2018-07-27 17:38:30 -04:00
bunnei
0191a1e526
Merge pull request #845 from lioncash/nfc
...
service: Add nfc services
2018-07-27 14:29:27 -07:00
bunnei
833ebbb626
Merge pull request #844 from lioncash/lbl
...
service: Add the lbl service
2018-07-27 13:06:11 -07:00
bunnei
d2749ef0ed
Merge pull request #841 from lioncash/btdrv
...
service: Add the btdrv service
2018-07-27 13:05:36 -07:00
Lioncash
f46bfdd77d
service: Add mii services
...
Adds the skeleton for the mii services based off information provided by
Switch Brew
2018-07-27 16:01:29 -04:00
Lioncash
50dadc33e3
service/nfc: Implement Create[x]Interface functions
...
These simply return the respective interface.
2018-07-27 15:12:08 -04:00
Lioncash
04d144aa40
service: Add nfc services
...
Adds the skeleton of the nfc service based off the information provided
on Switch Brew.
2018-07-27 14:50:24 -04:00
Lioncash
ea8dd8b650
service/lbl: Implement EnableVrMode, DisableVrMode and GetVrMode
...
Implements these functions according to the information available on
Switch Brew.
2018-07-27 14:20:42 -04:00
Lioncash
c2c543e8f7
service: Add the lbl service
...
Adds the skeleton of the lbl service based off the information provided
by Switch Brew.
2018-07-27 14:20:07 -04:00
bunnei
dc4e5f9159
Merge pull request #837 from lioncash/priv
...
kernel/timer: Make data members private where applicable
2018-07-27 07:18:50 -07:00
Lioncash
f49248437e
service: Add the btdrv service
...
Adds the skeleton for the btdrv service based off the information provided by Switch Brew
2018-07-26 18:06:17 -04:00
Lioncash
1121622dc1
service/hid: Add the hidbus, hid:dbg, hid:sys, and hid:tmp services
2018-07-26 15:05:42 -04:00
Lioncash
7550c2c866
service/hid: Add the xcd:sys service
2018-07-26 15:05:42 -04:00
Lioncash
82cb5f030d
service/hid: Add irs services
2018-07-26 15:05:24 -04:00
bunnei
8440b814bc
Merge pull request #834 from lioncash/grc
...
service: Add the grc:c service
2018-07-26 12:03:30 -07:00
bunnei
41d7b020a8
Merge pull request #832 from lioncash/nim
...
service: Add the nim services
2018-07-26 12:02:29 -07:00
bunnei
e4191b624c
Merge pull request #831 from lioncash/ldn
...
service: Add ldn services
2018-07-26 11:52:42 -07:00
bunnei
40eb243f86
Merge pull request #830 from lioncash/socket
...
service/sockets: Add missing socket services
2018-07-26 11:51:11 -07:00
Lioncash
b28af1f6c9
service: Add the grc:c service
...
Adds the basic skeleton for the grc:c service based off the information
provided by Switch Brew.
2018-07-26 09:53:58 -04:00
Lioncash
0cd843151f
kernel/timer: Make data members private where applicable
...
Instead, we can just expose functions that return the queryable state
instead of letting anything modify it.
2018-07-26 09:51:44 -04:00
Lioncash
f916611e32
service: Add the nim services
...
Adds the skeleton for the nim services based off information from Switch
Brew.
2018-07-26 02:47:06 -04:00
Lioncash
8781beaf0d
service: Add ldn services
...
Adds ldn services based off information provided by Switch Brew.
2018-07-26 01:48:06 -04:00
bunnei
57cd80c410
Merge pull request #827 from lioncash/log
...
service/lm: Minor changes
2018-07-25 22:30:43 -07:00
Lioncash
3f5dfc4d96
service/sockets: Add ethc:c and ethc:i services
2018-07-26 01:07:21 -04:00
Lioncash
165e7645e1
service/sockets: Add missing bsdcfg socket service
2018-07-26 01:00:15 -04:00
Sebastian Valle
1958d07d7d
Merge pull request #828 from lioncash/ldr
...
service: Add ldr services
2018-07-25 23:44:13 -05:00
Sebastian Valle
8ac52c6b56
Merge pull request #826 from lioncash/erpt
...
service: Add erpt and eupld services
2018-07-25 23:43:47 -05:00
Sebastian Valle
0e05f98be2
Merge pull request #823 from lioncash/nifm
...
service/nifm: Deduplicate interface code
2018-07-25 23:43:03 -05:00
Lioncash
3fb124961e
service: Add ldr services
...
Adds the skeleton for the ldr-related services based off the information
provided on Switch Brew.
2018-07-25 23:11:03 -04:00
Lioncash
91d86df920
lm: Move LM's class declaration into the cpp file
...
This isn't used directly outside of this translation unit, so we can
hide it from external use.
2018-07-25 22:40:16 -04:00
Lioncash
6f4d3d8163
lm: Amend names of Initialize() in Logger and Initialize() in LM
...
Amends these to match the information on Switch Brew.
2018-07-25 22:39:39 -04:00
Lioncash
8650be1020
lm: Add missing function entry to Logger's function table
2018-07-25 22:26:32 -04:00
Lioncash
7458e71f24
service: Add eupld services
...
Adds the skeleton for the eupld services based off information on Switch
Brew.
2018-07-25 22:13:43 -04:00
Lioncash
821f2c03cb
service: Add the erpt services
...
Adds the basic skeleton of the erpt service based off information on
Switch Brew.
2018-07-25 22:13:39 -04:00
bunnei
b0adb9a3d9
Merge pull request #824 from lioncash/nvdrv
...
service/nvdrv: Minor changes
2018-07-25 19:02:08 -07:00
bunnei
851089b482
Merge pull request #822 from lioncash/pm
...
service: Add pm services
2018-07-25 19:01:28 -07:00
Lioncash
f9951352f6
service/nvdrv: Take std::string in Open() by const reference
...
Avoids copies from being made, since the string is only ever used for
lookup, the data is never transfered anywhere.
Ideally, we'd use a std::string_view here, but devices is a
std::unordered_map, not a std::map, so we can't use heterogenous lookup
here.
2018-07-25 17:37:43 -04:00
Lioncash
a2cd07d094
service/nvdrv: Use std::move where applicable
...
Avoids unnecessary reference count increments and decrements.
In one case, we don't need to make a shared_ptr copy at all,
just to call a member function.
2018-07-25 17:31:08 -04:00
Lioncash
85ed42a1d2
service/nifm: Deduplicate interface code
...
Rather than having the same code for each nifm service variant, we can
centralize it on one class and get rid of a bit of extra code.
2018-07-25 17:18:41 -04:00
Lioncash
c664f8a257
service: Add pm services
...
Adds the skeleton for the process management services based off
information on Switch Brew.
2018-07-25 16:57:16 -04:00
Lioncash
4175712976
service: Add the es service
...
Adds the skeleton for the ETicket service based off the information on
Switch Brew
2018-07-25 15:36:55 -04:00
Mat M
1e4935c3a0
Merge pull request #801 from lioncash/time
...
time: Add the time:a service
2018-07-25 15:08:33 -04:00
Mat M
d3fd0351a7
Merge pull request #804 from lioncash/log
...
svc: Log parameters in SetMemoryAttribute()
2018-07-25 14:43:24 -04:00
Lioncash
3c1cb3b11e
time: Add the time:a service
...
Given we already have time:s and time:u, we should also have time:a
2018-07-25 14:42:04 -04:00
bunnei
657bd113e3
Merge pull request #803 from MerryMage/core_timing_util
...
core_timing: Split off utility functions into core_timing_util
2018-07-25 11:09:31 -07:00
bunnei
5c42cadbc9
Merge pull request #800 from lioncash/set
...
set_sys: Implement SetColorSetId()
2018-07-25 10:25:29 -07:00
bunnei
340771ccd7
Merge pull request #806 from lioncash/friend
...
friend: Deduplicate interfaces
2018-07-24 17:42:16 -07:00
bunnei
ea0bc8c002
Merge pull request #805 from lioncash/sign
...
svc: Resolve sign comparison warnings in WaitSynchronization()
2018-07-24 12:50:03 -07:00
Lioncash
4cf2185e81
deconstructed_rom_directory: Remove unused FindRomFS() function
2018-07-24 10:54:07 -04:00
Lioncash
07c2d057bd
friend: Add friend:m, friend:s, and friend:v services
...
Given we already have friend:a and friend:u, we should add the remaining
services as well.
2018-07-24 10:26:01 -04:00
Lioncash
9539a1eadd
friend/interface: Add missing CreateDaemonSuspendSessionService() to the function handler table
2018-07-24 10:24:16 -04:00
Lioncash
77daef44b0
friend: Deduplicate interfaces
2018-07-24 10:21:51 -04:00
Lioncash
c73410bf2c
svc: Resolve sign comparison warnings in WaitSynchronization()
...
The loop's induction variable was signed, but we were comparing against
an unsigned variable.
2018-07-24 09:55:17 -04:00
Lioncash
8e8e906432
svc: Log parameters in SetMemoryAttribute()
...
Provides slightly more context than only logging out the address value.
2018-07-24 09:46:46 -04:00
bunnei
316c994f55
Merge pull request #798 from lioncash/const
...
arm_dynarmic: Make MakeJit() a const member function
2018-07-24 04:48:06 -07:00
bunnei
23e85b6b9f
Merge pull request #797 from lioncash/explicit
...
core: Make converting constructors explicit where applicable
2018-07-24 04:47:26 -07:00
bunnei
1cbf7ac6ea
Merge pull request #795 from lioncash/decl
...
apm/interface: Remove redundant declaration of InstallInterfaces()
2018-07-24 04:46:41 -07:00
bunnei
d092ea0870
Merge pull request #794 from lioncash/ref
...
mutex: Pass SharedPtr to GetHighestPriorityMutexWaitingThread() by reference
2018-07-24 04:45:34 -07:00
Lioncash
a61124a9e7
time: Simplify interface creation
...
We can use one instance of the interface instead of duplicating code.
2018-07-24 06:21:27 -04:00
MerryMage
44646e2ea0
core_timing: Split off utility functions into core_timing_util
2018-07-24 11:03:24 +01:00
MerryMage
b8459d2778
CMakeLists: Sort filenames
2018-07-24 11:02:53 +01:00
Lioncash
63c605c04a
set_sys: Implement SetColorSetId()
2018-07-24 00:48:16 -04:00
Lioncash
76f191ce36
ipc_helper: Add helper member function for popping enum values to RequestParser
2018-07-24 00:47:51 -04:00
bunnei
2f029577c7
Merge pull request #793 from lioncash/priv
...
ipc_helpers: Make member variables of ResponseBuilder private
2018-07-23 21:23:27 -07:00
bunnei
bc5b65a1b0
Merge pull request #785 from lioncash/fs
...
partition_filesystem: Use std::move where applicable
2018-07-23 20:36:59 -07:00
Lioncash
7d124ec82b
arm_dynarmic: Make MakeJit() a const member function
...
This functions doesn't modify instance state, so it can be a made a
const member function.
2018-07-23 23:19:37 -04:00
Lioncash
1d755abce4
core: Make converting constructors explicit where applicable
...
Avoids unwanted implicit conversions. Thankfully, given the large amount
of cleanup in past PRs, only this tiny amount is left over to cover.
2018-07-23 23:13:22 -04:00
Lioncash
8b83adfed6
apm/interface: Remove redundant declaration of InstallInterfaces()
...
This is already declared in apm/apm.h
2018-07-23 23:01:04 -04:00
Lioncash
42b5158c96
mutex: Pass SharedPtr to GetHighestPriorityMutexWaitingThread() by reference
...
The pointed to thread's members are simply observed in this case, so we
don't need to copy it here.
2018-07-23 22:54:35 -04:00
Zach Hilman
59cb258409
VFS Regression and Accuracy Fixes ( #776 )
...
* Regression and Mode Fixes
* Review Fixes
* string_view correction
* Add operator& for FileSys::Mode
* Return std::string from SanitizePath
* Farming Simulator Fix
* Use != With mode operator&
2018-07-23 19:40:35 -07:00
Lioncash
22fd3f0026
hle_ipc: Make constructors explicit where applicable
2018-07-23 22:40:24 -04:00
Lioncash
2a1daf8f83
ipc_helpers: Make member variables of ResponseBuilder private
...
These aren't used externally at all, so they can be made private.
2018-07-23 22:29:07 -04:00
bunnei
25635907a2
Merge pull request #786 from lioncash/exclusive
...
exclusive_monitor: Use consistent type alias for u64
2018-07-23 19:11:05 -07:00
bunnei
84cc5dd35d
Merge pull request #784 from lioncash/loader
...
loader: Minor cleanup
2018-07-23 19:08:12 -07:00
bunnei
1ce5e04be8
Merge pull request #783 from lioncash/linker
...
linker: Remove unused parameter from WriteRelocations()
2018-07-23 19:07:22 -07:00
bunnei
10dd03dec5
Merge pull request #782 from lioncash/file
...
loader/nro: Minor changes
2018-07-23 19:06:30 -07:00
bunnei
52ec1840f5
Merge pull request #780 from lioncash/move
...
vi: Minor changes
2018-07-23 18:29:11 -07:00
bunnei
e0b6771e25
Merge pull request #779 from lioncash/shared
...
hle: Remove unused config_mem and shared_page source files
2018-07-23 18:28:45 -07:00
Lioncash
e12c84d5c5
exclusive_monitor: Use consistent type alias for u64
...
Uses the same type aliases we use for virtual addresses, and converts
one lingering usage of std::array<uint64_t, 2> to u128 for consistency.
2018-07-23 20:54:57 -04:00
Lioncash
db48ebb9c9
partition_filesystem: Use std::move where applicable
...
Avoids copying a std::string instance and avoids unnecessary atomic
reference count incrementing and decrementing.
2018-07-23 20:27:11 -04:00
Lioncash
a147fa5825
loader: Remove unnecessary constructor call in IdentifyFile()
...
RealVfsFile inherits from VfsFile, the instance from std::make_shared is
already compatible with the function argument type, making the copy
constructor call unnecessary.
2018-07-23 17:44:58 -04:00
Lioncash
184c516182
linker: Remove unused parameter from WriteRelocations()
...
is_jump_relocation is never used within the function, so we can just
remove it.
2018-07-23 17:40:12 -04:00
Lioncash
1b4d0ac20e
nro: Replace inclusion with a forward declaration
...
It's sufficient to use a forward declaration instead of a direct
inclusion here.
2018-07-23 17:29:02 -04:00
Lioncash
2b497e5830
nro: Make bracing consistent
...
Makes the code more uniform, and also braces cases where the body of an
unbraced conditional travels more than one line.
2018-07-23 17:24:29 -04:00
Lioncash
ac8133b9ee
nro: Make constructor explicit
...
Makes it consistent with the other Apploader constructors, and prevents
implicit conversions.
2018-07-23 17:20:33 -04:00
Lioncash
1c16700372
nro: Remove unused forward declaration
...
This isn't used anywhere in the header.
2018-07-23 17:19:42 -04:00
bunnei
07e5319d55
Merge pull request #695 from DarkLordZach/nro-asset
...
NRO Assets and NACP File Format
2018-07-23 14:14:11 -07:00
Lioncash
1432912ae8
vi: Add std::is_trivially_copyable checks to Read and Write functions
...
It's undefined behavior to memcpy an object that isn't considered
trivially copyable, so put a compile-time check in to make sure this
doesn't occur.
2018-07-23 14:53:54 -04:00
Lioncash
344a0c91f2
vi: std::move std::vector in constructors where applicable
...
Allows avoiding unnecessary copies of the vector depending on the
calling code.
While we're at it, remove a redundant no-parameter base constructor call
2018-07-23 14:49:54 -04:00
Lioncash
cbe841c9c9
hle: Remove config_mem.h/.cpp
...
This is just an unused hold-over from citra, so we can get rid of this
to trim off an exposed global, among other things.
2018-07-23 12:57:34 -04:00
Lioncash
1f3889a290
hle: Remove shared_page.h/.cpp
...
This is a holdover from citra that's essentially unused.
2018-07-23 12:53:07 -04:00
Lioncash
e85308cd90
set: Add missing log call in GetAvailableLanguageCodeCount()
...
Forgot to include this in 22f448b632
2018-07-23 12:37:42 -04:00
Zach Hilman
e8f641a52d
NRO Assets and NACP file format
...
Cleanup
Review fixes
2018-07-23 12:34:26 -04:00
bunnei
a85366a40c
Merge pull request #777 from lioncash/lang
...
set: Amend return value of GetAvailableLanguageCodes()
2018-07-23 09:34:08 -07:00
Lioncash
22f448b632
set: Implement GetAvailableLanguageCodeCount()
...
This just returns the size of the language code buffer.
2018-07-23 00:29:40 -04:00
Lioncash
37aeecd29f
set: Correct return code size of value in GetAvailableLanguageCodes()
...
The return code should be 32-bit in size.
2018-07-23 00:29:22 -04:00
bunnei
a4b2af7382
Merge pull request #774 from Subv/atomic_signal
...
Kernel/SVC: Perform atomic accesses in SignalProcessWideKey as per the real kernel.
2018-07-22 12:26:03 -07:00
bunnei
5ee4c49c30
Merge pull request #768 from lioncash/string-view
...
file_util, vfs: Use std::string_view where applicable
2018-07-22 11:32:28 -07:00
Subv
7841447cf0
Kernel/SVC: Perform atomic accesses in SignalProcessWideKey as per the real kernel.
2018-07-22 12:27:24 -05:00
MerryMage
0b1c2e5505
Implement exclusive monitor
2018-07-22 15:55:17 +01:00
Lioncash
0081252d31
vfs: Correct file_p variable usage within InterpretAsDirectory()
...
ReplaceFileWithSubdirectory() takes a VirtualFile and a VirtualDir, but
it was being passed a string as one of its arguments. The only reason
this never caused issues is because this template isn't instantiated
anywhere yet.
This corrects an issue before it occurs.
2018-07-22 03:22:28 -04:00
Lioncash
398444e676
file_util, vfs: Use std::string_view where applicable
...
Avoids unnecessary construction of std::string instances where
applicable.
2018-07-22 03:22:21 -04:00
Lioncash
0ba7fe4ab1
file_util: Use a u64 to represent number of entries
...
This avoids a truncating cast on size. I doubt we'd ever traverse a
directory this large, however we also shouldn't truncate sizes away.
2018-07-21 22:42:08 -04:00
bunnei
9533875eeb
Merge pull request #760 from lioncash/path
...
file_util: Use an enum class for GetUserPath()
2018-07-21 18:30:04 -07:00
Subv
5c49e56d41
GPU: Implement the NVGPU_IOCTL_CHANNEL_KICKOFF_PB ioctl2 command.
...
This behaves quite similarly to the SubmitGPFIFO command. Referenced from Ryujinx.
Many thanks to @gdkchan for investigating this!
2018-07-21 15:50:02 -05:00
Lioncash
d66b43dadf
file_util: Use an enum class for GetUserPath()
...
Instead of using an unsigned int as a parameter and expecting a user to
always pass in the correct values, we can just convert the enum into an
enum class and use that type as the parameter type instead, which makes
the interface more type safe.
We also get rid of the bookkeeping "NUM_" element in the enum by just
using an unordered map. This function is generally low-frequency in
terms of calls (and I'd hope so, considering otherwise would mean we're
slamming the disk with IO all the time) so I'd consider this acceptable
in this case.
2018-07-21 16:21:19 -04:00
bunnei
0f20fa5a1e
Merge pull request #754 from lioncash/part
...
partition_filesystem, vfs_real: Minor changes
2018-07-21 11:38:52 -07:00
bunnei
de7cb91995
Merge pull request #750 from lioncash/ctx
...
arm_interface: Remove unused tls_address member of ThreadContext
2018-07-21 11:38:16 -07:00
bunnei
89cc8c1617
Merge pull request #755 from lioncash/ctor
...
file_sys/errors: Remove redundant object constructor calls
2018-07-21 10:53:53 -07:00
bunnei
fe2498a650
Merge pull request #751 from Subv/tpidr_el0
...
CPU: Save and restore the TPIDR_EL0 system register on every context switch
2018-07-21 10:48:30 -07:00
bunnei
3d938b8c60
Merge pull request #753 from lioncash/const
...
vfs: Minor changes
2018-07-21 10:44:08 -07:00
bunnei
d85cfc94e2
Merge pull request #752 from Subv/vfs_load
...
Loader: Only print the module names and addresses if they actually exist.
2018-07-20 22:57:18 -07:00
Lioncash
459e158340
file_sys/errors: Remove redundant object constructor calls
...
Given we're already constructing the error code, we don't need to call
the constructor inside of it.
2018-07-20 22:37:54 -04:00
Lioncash
b46c0ed1fa
vfs_real: Remove redundant copying of std::vector instances in GetFiles() and GetSubdirectories()
...
We already return by value, so we don't explicitly need to make the
copy.
2018-07-20 22:30:22 -04:00
Lioncash
ec71915ede
partition_filesystem, vfs_real: Add missing standard includes
2018-07-20 22:28:35 -04:00
Lioncash
d36e327ba6
partition_filesystem, vfs_real: Use std::move in ReplaceFileWithSubdirectory() where applicable
...
Avoids unnecessary atomic increment and decrement operations.
2018-07-20 22:23:58 -04:00
Lioncash
2b91386e15
partition_filesystem, vfs_real: Use std::distance() instead of subtraction
...
This is a little bit more self-documenting on what is being done here.
2018-07-20 22:19:17 -04:00
Lioncash
3e0727df1b
vfs_offset: Simplify TrimToFit()
...
We can simply use std::clamp() here, instead of using an equivalent
with std::max() and std::min().
2018-07-20 22:04:37 -04:00
Lioncash
894b0de0f2
vfs: Make WriteBytes() overload taking a std::vector pass the std::vector by const reference
...
Given the data is intended to be directly written, there's no need to
take the std::vector by value and copy the data.
2018-07-20 21:51:30 -04:00
Lioncash
dd09439fee
vfs: Use variable template variants of std::is_trivially_copyable
...
Provides the same behavior, but with less writing
2018-07-20 21:47:19 -04:00
Lioncash
05231d8b08
vfs: Amend constness on pointers in WriteBytes() and WriteArrays() member functions to be const qualified
...
These functions don't modify the data being pointed to, so these can be
pointers to const data
2018-07-20 21:40:15 -04:00
Subv
966874e357
Loader: Only print the module names and addresses if they actually exist.
2018-07-20 19:59:15 -05:00
Subv
d84eb9dac6
CPU: Save and restore the TPIDR_EL0 system register on every context switch.
...
Note that there's currently a dynarmic bug preventing this register from being written.
2018-07-20 19:57:45 -05:00
Lioncash
ae09adfcb3
arm_interface: Remove unused tls_address member of ThreadContext
...
Currently, the TLS address is set within the scheduler, making this
member unused.
2018-07-20 18:57:40 -04:00
bunnei
2b7d862366
Merge pull request #742 from bunnei/misc-apm
...
apm: Improve stub for GetPerformanceConfiguration.
2018-07-20 15:01:19 -07:00
bunnei
dffd154d6d
apm: Improve stub for GetPerformanceConfiguration.
2018-07-20 15:20:01 -04:00
Lioncash
0a0b3c4b9f
ipc_helpers: Add PushEnum() member function to ResponseBuilder
...
Allows pushing strongly-typed enum members without the need to always
cast them at the call sites.
Note that we *only* allow strongly-typed enums in this case. The reason
for this is that strongly typed enums have a guaranteed defined size, so
the size of the data being pushed is always deterministic. With regular
enums this can be a little more error-prone, so we disallow them.
This function simply uses the underlying type of the enum to determine
the size of the data. For example, if an enum is defined as:
enum class SomeEnum : u16 {
SomeEntry
};
if PushEnum(SomeEnum::SomeEntry); is called, then it will push a
u16-size amount of data.
2018-07-20 15:00:58 -04:00
bunnei
c1c9ab31e8
Merge pull request #740 from Subv/acc_crash
...
HLE/ACC: Stub IManagerForApplication::GetAccountId to return an error.
2018-07-20 09:47:47 -07:00
bunnei
ffbd51e207
Merge pull request #737 from lioncash/move
...
filesys/loader: std::move VirtualFile instances in constructors where applicable
2018-07-20 09:21:15 -07:00
bunnei
701c7cb85c
Merge pull request #736 from lioncash/null
...
audout_u/audren_u: Ensure null terminators are written out in ListAudioOutsImpl(), ListAudioDeviceName(), and GetActiveAudioDeviceName()
2018-07-20 09:17:07 -07:00
bunnei
741cae1e1d
Merge pull request #734 from lioncash/thread
...
thread: Convert ThreadStatus into an enum class
2018-07-20 09:15:52 -07:00
bunnei
a1805ceb0b
Merge pull request #733 from lioncash/dirs
...
partition_filesystem: Return pfs_dirs member variable within GetSubdirectories()
2018-07-20 09:15:16 -07:00
bunnei
86d1649b32
Merge pull request #732 from lioncash/unused
...
nso: Minor changes
2018-07-20 09:14:10 -07:00
Subv
9c7321fe6d
HLE/ACC: Stub IManagerForApplication::GetAccountId to return an error.
...
And make IManagerForApplication::CheckAvailability always return false.
Returning a bogus id from GetAccountId causes games to crash on boot.
We should investigate this with a hwtest and either stub it properly or implement it.
2018-07-20 11:02:25 -05:00
Lioncash
8874d0e657
loader/{nca, nro}: std::move VirtualFile in the constructors where applicable
...
This avoids unnecessary atomic reference count increments and decrements
2018-07-20 00:10:24 -04:00
Lioncash
0e9d58e82a
vfs_offset: std::move file and name parameters of OffsetVfsFile
...
Avoids potentially unnecessary atomic reference count incrementing and
decrementing, as well as string copying.
2018-07-20 00:04:54 -04:00
Lioncash
40c9c5a55c
audren_u: Use a std::array instead of std::string for holding the audio interface/device name
...
std::string doesn't include the null-terminator in its data() + size()
range. This ensures that the null-terminator will also be written to the buffer
2018-07-19 23:15:27 -04:00
Lioncash
c20cea118b
audout_u: Use a std::array instead of std::string for holding the audio interface name
...
Uses a type that doesn't potentially dynamically allocate, and ensures
that the name of the interface is properly null-terminated when writing
it to the buffer.
2018-07-19 23:15:00 -04:00
Lioncash
dbfe82773d
thread: Convert ThreadStatus into an enum class
...
Makes the thread status strongly typed, so implicit conversions can't
happen. It also makes it easier to catch mistakes at compile time.
2018-07-19 22:08:56 -04:00
Lioncash
bbd6429ecb
partition_filesystem: Return pfs_dirs member variable within GetSubdirectories()
...
This should be returned here, otherwise pfs_dirs is effectively only
ever added to, but never read.
2018-07-19 21:08:50 -04:00
Lioncash
364b950515
nso: Silence implicit sign conversion warnings
2018-07-19 20:51:15 -04:00
Lioncash
a25c5b982a
nso: Remove unused function ReadSegment()
2018-07-19 20:49:27 -04:00
Lioncash
1bdb67440b
pl_u: Simplify WriteBuffer() calls in GetSharedFontInOrderOfPriority()
...
With the new overload, we can simply pass the container directly.
2018-07-19 19:50:30 -04:00
bunnei
d3cfaf95c8
Merge pull request #726 from lioncash/overload
...
hle_ipc: Introduce generic WriteBuffer overload for multiple container types
2018-07-19 16:18:38 -07:00
bunnei
0b13ce1435
Merge pull request #725 from lioncash/bytes
...
pl_u: Specify correct size for buffers in GetSharedFontInOrderOfPriority()
2018-07-19 16:16:30 -07:00
bunnei
af08034c71
Merge pull request #728 from Subv/acc_profile
...
HLE/ACC: Change the default user id and small improvements to the way we handle profiles
2018-07-19 16:15:01 -07:00
bunnei
2aeb3355e4
Merge pull request #727 from Subv/acc_users
...
HLE/ACC: Write a single whole user id in ListAllUsers and ListOpenUsers.
2018-07-19 16:13:45 -07:00
bunnei
c6352ffc58
Merge pull request #724 from lioncash/printf
...
pl_u: Remove printf specifier in log call in a log call in GetSharedFontInOrderOfPriority()
2018-07-19 16:13:07 -07:00
bunnei
ec468c990d
Merge pull request #723 from lioncash/gdb
...
gdbstub: Get rid of a few signed/unsigned comparisons
2018-07-19 16:12:40 -07:00
bunnei
f43d8ea523
Merge pull request #722 from lioncash/signed
...
hid: Resolve a signed/unsigned comparison warning
2018-07-19 16:12:15 -07:00
bunnei
2194308245
Merge pull request #721 from lioncash/svc
...
svc: Correct always true assertion case in SetThreadCoreMask
2018-07-19 16:11:40 -07:00
bunnei
b5c77313de
Merge pull request #719 from lioncash/docs
...
loader: Amend Doxygen comments
2018-07-19 16:11:09 -07:00
bunnei
dd0446ff43
Merge pull request #718 from lioncash/read
...
loader/nso: Check if read succeeded in IdentifyFile() before checking magic value
2018-07-19 16:10:29 -07:00
bunnei
31413f0d2f
Merge pull request #717 from lioncash/explicit
...
hle/service: Make constructors explicit where applicable
2018-07-19 16:08:07 -07:00
Subv
05549e45c5
HLE/ACC: Return an IProfile that is consistent with what was requested.
...
The default username for now is "yuzu".
We should eventually allow the creation of users in the emulator and have the ability to modify their parameters.
2018-07-19 16:53:42 -05:00
Subv
50e2777724
HLE/ACC: Change the default user id to be consistent with what we tell games on startup.
...
In IApplicationFunctions::PopLaunchParameter we tell the games that they were launched as user id 1.
2018-07-19 16:51:55 -05:00
Subv
b102815f1f
HLE/ACC: Write a single whole user id in ListAllUsers and ListOpenUsers.
...
We only emulate a single user id for now.
2018-07-19 16:19:46 -05:00
bunnei
7244671137
Merge pull request #716 from lioncash/construct
...
nvflinger: Emplace Display instances directly
2018-07-19 14:18:29 -07:00
Lioncash
ff500a7b68
hle_ipc: Introduce generic WriteBuffer overload for multiple container types
...
This introduces a slightly more generic variant of WriteBuffer().
Notably, this variant doesn't constrain the arguments to only accepting
std::vector instances. It accepts whatever adheres to the
ContiguousContainer concept in the C++ standard library.
This essentially means, std::array, std::string, and std::vector can be
used directly with this interface. The interface no longer forces you to
solely use containers that dynamically allocate.
To ensure our overloads play nice with one another, we only enable the
container-based WriteBuffer if the argument is not a pointer, otherwise
we fall back to the pointer-based one.
2018-07-19 17:05:12 -04:00
bunnei
eb9b55eafe
Merge pull request #715 from lioncash/const-ref
...
nvdrv: Take std::string by const reference in GetDevice()
2018-07-19 13:27:48 -07:00
Sebastian Valle
78dd1cd441
Merge pull request #720 from Subv/getentrytype_root
...
Filesystem: Return EntryType::Directory for the root directory.
2018-07-19 15:23:32 -05:00
Lioncash
df001e83b1
pl_u: Specify correct size for buffers in GetSharedFontInOrderOfPriority()
...
This WriteBuffer overload expects its size argument to be in bytes, not
elements.
2018-07-19 15:57:58 -04:00
Lioncash
b879fb84a2
svc: Correct always true assertion case in SetThreadCoreMask
...
The reason this would never be true is that ideal_processor is a u8 and
THREADPROCESSORID_DEFAULT is an s32. In this case, it boils down to how
arithmetic conversions are performed before performing the comparison.
If an unsigned value has a lesser conversion rank (aka smaller size)
than the signed type being compared, then the unsigned value is promoted
to the signed value (i.e. u8 -> s32 happens before the comparison). No
sign-extension occurs here either.
An alternative phrasing:
Say we have a variable named core and it's given a value of -2.
u8 core = -2;
This becomes 254 due to the lack of sign. During integral promotion to
the signed type, this still remains as 254, and therefore the condition
will always be true, because no matter what value the u8 is given it
will never be -2 in terms of 32 bits.
Now, if one type was a s32 and one was a u32, this would be entirely
different, since they have the same bit width (and the signed type would
be converted to unsigned instead of the other way around) but would
still have its representation preserved in terms of bits, allowing the
comparison to be false in some cases, as opposed to being true all the
time.
---
We also get rid of two signed/unsigned comparison warnings while we're
at it.
2018-07-19 15:46:17 -04:00
Lioncash
68c1ffdd1c
pl_u: Remove printf specifier in log call in a log call in GetSharedFontInOrderOfPriority()
...
This can just use the fmt specifiers and be type-agnostic.
2018-07-19 15:44:04 -04:00
Sebastian Valle
7eace8f512
Merge pull request #714 from lioncash/index
...
hle_ipc: Amend usage of buffer_index within one of HLERequestContext's WriteBuffer() overloads
2018-07-19 14:36:34 -05:00
bunnei
38b35e752b
Merge pull request #712 from lioncash/fsp
...
fsp_srv: Misc individual changes
2018-07-19 12:31:33 -07:00
Lioncash
c945226973
gdbstub: Get rid of a few signed/unsigned comparisons
...
Ensures both operands in comparisons are the same signedness.
2018-07-19 15:27:01 -04:00
Lioncash
a37a47448d
hid: Use a ranged-for loops in UpdatePadCallback
...
Modernizes the loops themselves while also getting rid of a signed/unsigned
comparison in a loop condition.
2018-07-19 15:11:08 -04:00
Lioncash
95103a1b7b
hid: Use HID_NUM_LAYOUTS constant for indicating size of the layouts array
...
Gets rid of the use of a magic constant
2018-07-19 15:07:36 -04:00
bunnei
427fc4ac6b
Merge pull request #713 from lioncash/filesys
...
filesystem: Minor changes
2018-07-19 11:49:06 -07:00
bunnei
1034bcc742
Merge pull request #694 from lioncash/warn
...
loader/{nro, nso}: Resolve compilation warnings
2018-07-19 11:43:14 -07:00
Subv
e5c916a27c
Filesystem: Return EntryType::Directory for the root directory.
...
It is unknown if this is correct behavior, but it makes sense and fixes a regression with Stardew Valley.
2018-07-19 13:11:09 -05:00
Lioncash
50d08beed2
loader: Amend Doxygen comments
...
These weren't adjusted when VFS was introduced
2018-07-19 14:04:33 -04:00
Lioncash
9b22f856c2
loader/nso: Check if read succeeded in IdentifyFile() before checking magic value
...
We should always assume the filesystem is volatile and check each IO
operation. While we're at it reorganize checks so that early-out errors
are near one another.
2018-07-19 12:43:21 -04:00
Lioncash
c061c2bf3c
hle/service: Make constructors explicit where applicable
...
Prevents implicit construction and makes these lingering non-explicit
constructors consistent with the rest of the other classes in services.
2018-07-19 12:25:02 -04:00
Lioncash
f3daecafeb
nvflinger: Emplace Display instances directly
...
We can use emplace_back to construct the Display instances directly,
instead of constructing them separately and copying them, avoiding the
need to copy std::string and std::vector instances that are part of the
Display struct.
2018-07-19 11:50:12 -04:00
bunnei
f1d7486eac
Merge pull request #703 from lioncash/const
...
savedata_factory: Make SaveDataDescriptor's DebugInfo() function a const member function
2018-07-19 08:46:15 -07:00
bunnei
b0334af05b
Merge pull request #702 from lioncash/initialize
...
partition_filesystem: Ensure all class members of PartitionFilesystem are initialized
2018-07-19 08:45:54 -07:00
bunnei
1bf7ae79c8
Merge pull request #701 from lioncash/moving
...
content_archive: Minor changes
2018-07-19 08:41:42 -07:00
Lioncash
dc35c3f9d7
nvdrv: Take std::string by const reference in GetDevice()
...
This is only ever used as a lookup into the device map, so we don't need to
take the std::string instance by value here.
2018-07-19 11:40:36 -04:00
Lioncash
af2698dcea
hle_ipc: Amend usage of buffer_index within one of HLERequestContext's WriteBuffer() overloads
...
Previously, the buffer_index parameter was unused, causing all writes to
use the buffer index of zero, which is not necessarily what is wanted
all the time.
Thankfully, all current usages don't use a buffer index other than zero,
so this just prevents a bug before it has a chance to spring.
2018-07-19 11:10:16 -04:00
Lioncash
6c1ba02e0c
fsp_srv: Remove unnecessary vector construction in IFile's Write() function
...
We can avoid constructing a std::vector here by simply passing a pointer
to the original data and the size of the copy we wish to perform to the
backend's Write() function instead, avoiding copying the data where it's
otherwise not needed.
2018-07-19 11:01:07 -04:00
Lioncash
3e9b79e088
fsp_srv: Remove unnecessary std::vector construction in IDirectory's Read() function
...
We were using a second std::vector as a buffer to convert another
std::vector's data into a byte sequence, however we can just use
pointers to the original data and use them directly with WriteBuffer,
which avoids copying the data at all into a separate std::vector.
We simply cast the pointers to u8* (which is allowed by the standard,
given std::uint8_t is an alias for unsigned char on platforms that we
support).
2018-07-19 10:46:54 -04:00
bunnei
758c357868
Merge pull request #699 from lioncash/vfs
...
vfs: Deduplicate accumulation code in VfsDirectory's GetSize()
2018-07-19 07:38:45 -07:00
Lioncash
5da4c78c6a
filesystem: std::move VirtualDir instance in VfsDirectoryServiceWrapper's constructor
...
Avoids unnecessary atomic reference count incrementing and decrementing
2018-07-19 10:34:11 -04:00
Lioncash
abbf038191
filesystem: Use std::string's empty() function instead of comparing against a literal
...
This is simply a basic value check as opposed to potentially doing
string based operations (unlikely, but still, avoiding it is free).
2018-07-19 10:32:23 -04:00
Lioncash
2cc0ef83cf
filesystem: Remove pragma disabling global optimizations
...
This was just an artifact missed during PR review.
2018-07-19 10:30:53 -04:00
Lioncash
f317080f40
fsp_srv: Make IStorage constructor explicit
...
Prevents implicit conversions.
2018-07-19 10:04:16 -04:00
Lioncash
910ad2e110
fsp_srv: Add missing includes
...
Gets rid of relying on indirect inclusions.
2018-07-19 10:03:17 -04:00
Lioncash
6be342118a
fsp_srv: Resolve sign-mismatch warnings in assertion comparisons
2018-07-19 09:58:32 -04:00
Lioncash
d6e9b96e2f
fsp_srv: Respect write length in Write()
...
Previously we were just copying the data whole-sale, even if the length
was less than the total data size. This effectively makes the
actual_data vector useless, which is likely not intended.
Instead, amend this to only copy the given length amount of data.
At the same time, we can avoid zeroing out the data before using it by
passing iterators to the constructor instead of a size.
2018-07-19 09:57:48 -04:00
bunnei
368e1d25be
Merge pull request #692 from lioncash/assign
...
address_arbiter: Correct assignment within an assertion statement in WakeThreads()
2018-07-18 20:56:28 -07:00
bunnei
85421f3406
Merge pull request #690 from lioncash/move
...
core/memory, core/hle/kernel: Use std::move where applicable
2018-07-18 20:55:55 -07:00
Lioncash
88ba94e8a2
savedata_factory: Make SaveDataDescriptor's DebugInfo() function a const member function
...
This function doesn't alter class state.
2018-07-18 23:50:07 -04:00
Lioncash
9abc5763b6
partition_filesystem: Ensure all class members of PartitionFilesystem are initialized
...
Previously is_hfs and pfs_header members wouldn't be initialized in the
constructor, as they were stored in locals instead. This would result in
things like GetName() and PrintDebugInfo() behaving incorrectly.
While we're at it, initialize the members to deterministic values as
well, in case loading ever fails.
2018-07-18 23:45:22 -04:00
Lioncash
4790bb907d
content_archive: Make IsDirectoryExeFS() take a shared_ptr as a const reference
...
There's no need to take this by value when it's possible to avoid
unnecessary copies entirely like this.
2018-07-18 23:19:28 -04:00
Lioncash
87a9bb392b
content_archive: Add missing standard includes
2018-07-18 23:18:59 -04:00
Lioncash
0b566f43a1
content_archive: std::move VirtualFile in NCA's constructor
...
Gets rid of unnecessary atomic reference count incrementing and
decrementing.
2018-07-18 23:13:25 -04:00
Lioncash
5e626c774f
vfs: Deduplicate accumulation code in VfsDirectory's GetSize()
...
We can just use a generic lambda to avoid writing the same thing twice.
2018-07-18 23:03:27 -04:00
bunnei
1371e2fb6a
Merge pull request #691 from lioncash/guard
...
service/prepo: Add missing header guard
2018-07-18 19:46:14 -07:00
Lioncash
55ab369043
loader/nro: Resolve sign mismatch warnings
2018-07-18 22:27:22 -04:00
Lioncash
1831b5ef62
loader/nso: Remove unnecessary vector resizes
...
We can just initialize these vectors directly via their constructor.
2018-07-18 22:26:41 -04:00
Lioncash
e3a30ccc7c
loader/nso: Resolve sign mismatch warnings
2018-07-18 22:26:37 -04:00
bunnei
90ce935f3d
Merge pull request #688 from lioncash/comma
...
vm_manager: Add missing commas to string literal array elements in GetMemoryStateName()
2018-07-18 18:59:09 -07:00
bunnei
3f93279047
Merge pull request #693 from lioncash/unused
...
core/memory: Remove unused function GetSpecialHandlers() and an unused variable in ZeroBlock()
2018-07-18 18:57:13 -07:00
bunnei
49b0966003
Merge pull request #687 from lioncash/instance
...
core: Don't construct instance of Core::System, just to access its live instance
2018-07-18 18:55:58 -07:00
Zach Hilman
29aff8d5ab
Virtual Filesystem 2: Electric Boogaloo ( #676 )
...
* Virtual Filesystem
* Fix delete bug and documentate
* Review fixes + other stuff
* Fix puyo regression
2018-07-18 18:07:11 -07:00
Lioncash
72207577b2
core/memory: Remove unused function GetSpecialHandlers() and an unused variable in ZeroBlock()
2018-07-18 19:55:46 -04:00
Lioncash
2cd3141c30
address_arbiter: Correct assignment within an assertion statement in WakeThreads()
...
This was introduced within 4f81bc4e1b
, and
considering there's no comment indicating that this is intentional, this
is very likely a bug.
2018-07-18 19:46:46 -04:00
Lioncash
296e68fd43
service/prepo: Add missing header guard
2018-07-18 19:43:28 -04:00
Lioncash
93cba6f699
vm_manager: Add missing commas to string literal array elements in GetMemoryStateName()
...
Without these, this would perform concatenation, which is definitely not
what we want here.
2018-07-18 19:37:19 -04:00
Lioncash
46458e7284
core/memory, core/hle/kernel: Use std::move where applicable
...
Avoids pointless copies
2018-07-18 19:34:31 -04:00
Lioncash
10d2ab8098
core: Make System's default constructor private
...
This makes it a compilation error to construct additional instances of
the System class directly, preventing accidental wasteful constructions
over and over.
2018-07-18 18:18:27 -04:00
Lioncash
3a4841e403
core: Don't construct instance of Core::System, just to access its live instance
...
This would result in a lot of allocations and related object
construction, just to toss it all away immediately after the call.
These are definitely not intentional, and it was intended that all of
these should have been accessing the static function GetInstance()
through the name itself, not constructed instances.
2018-07-18 18:18:27 -04:00
Zach Hilman
c337272ca9
Fill in more fields in TouchScreenEntryTouch
2018-07-18 16:33:11 -04:00
Zach Hilman
f2f368014e
Single touch support
2018-07-18 14:06:33 -04:00
bunnei
49e5de9f03
vi: Change TransactionId::CancelBuffer to LOG_CRITICAL.
2018-07-17 22:47:35 -04:00
bunnei
0d1a99edf6
vi: Fix size for ListDisplays default display.
2018-07-17 22:18:14 -04:00
bunnei
c3dd456d51
vi: Partially implement buffer crop parameters.
2018-07-17 20:13:17 -04:00
Zach Hilman
69bfe075b5
General Filesystem and Save Data Fixes ( #670 )
2018-07-17 12:42:15 -07:00
bunnei
88a3140c9b
Merge pull request #671 from MerryMage/clear-exclusive-state
...
scheduler: Clear exclusive state when switching contexts
2018-07-17 07:33:32 -07:00
bunnei
519035db3d
Merge pull request #672 from SciresM/to_address_fix
...
svc:: Fix bug in svcWaitForAddress
2018-07-17 07:32:42 -07:00
bunnei
170e19d4ea
nvflinger: Fix for BufferQueue event handling.
2018-07-17 00:26:23 -04:00
Michael Scire
3b885691a1
Kernel/Arbiter: Fix bug in WaitIfLessThan
2018-07-16 20:55:53 -06:00
MerryMage
56cc1c11ec
scheduler: Clear exclusive state when switching contexts
2018-07-16 11:24:00 +01:00
James Rowe
7d209b3c9f
HID: Update controllers less often
2018-07-15 13:47:41 -06:00
bunnei
c324a378ac
Merge pull request #663 from Subv/bsd
...
Services/BSD: Corrected the return for StartMonitoring according to SwIPC
2018-07-14 19:40:34 -07:00
bunnei
fd1f5c5414
Merge pull request #662 from Subv/delete_file
...
FileSys: Append the requested path to the filesystem base path in DeleteFile
2018-07-14 13:11:58 -07:00
Subv
b07f4d6afb
Services/BSD: Corrected the return for StartMonitoring according to SwIPC.
2018-07-14 12:34:07 -05:00
Subv
7e5e4f8d7a
FileSys: Append the requested path to the filesystem base path in DeleteFile.
...
We were trying to delete things in the current directory instead of the actual filesystem directory. This may fix some savedata issues in some games.
2018-07-14 10:57:22 -05:00
David Marcec
a7d6c0d6ea
No need to use ASSERT_MSG with an empty message
2018-07-14 23:13:16 +10:00
Hedges
e066bc75b9
More improvements to GDBStub ( #653 )
...
* More improvements to GDBStub
- Debugging of threads should work correctly with source and assembly level stepping and modifying registers and memory, meaning threads and callstacks are fully clickable in VS.
- List of modules is available to the client, with assumption that .nro and .nso are backed up by an .elf with symbols, while deconstructed ROMs keep N names.
- Initial support for floating point registers.
* Tidy up as requested in PR feedback
* Tidy up as requested in PR feedback
2018-07-12 20:22:59 -07:00
David Marcec
8bd8d1e3da
We only need to alert for memory pool changes
2018-07-13 10:36:28 +10:00
David Marcec
6642011706
initialized voice status and unused sizes in the update data header
2018-07-13 10:35:44 +10:00
bunnei
4f41ffdd41
Merge pull request #648 from ogniK5377/no-net
...
Let games/application know that we're offline
2018-07-12 06:44:15 -07:00
David Marcec
706892de7d
Audout "Auto" functions
...
Audout autos are identical to their counterpart except for the buffer type which yuzu already handles for us.
2018-07-12 16:57:31 +10:00
David Marcec
3d68f6ba6c
Added IsWirelessCommunicationEnabled, IsEthernetCommunicationEnabled, IsAnyInternetRequestAccepted
...
Since we have no socket implementation we should be returning 0 to indicate we're currently offline.
2018-07-12 16:40:17 +10:00
bunnei
7230ceb584
Merge pull request #559 from Subv/mount_savedata
...
Services/FS: Return the correct error code when trying to mount a nonexistent savedata.
2018-07-11 20:21:52 -07:00
bunnei
12a6996262
hid: Fix timestamps and controller type.
...
- This fixes user input in SMO.
2018-07-10 22:55:13 -04:00
bunnei
379a935016
Merge pull request #644 from ogniK5377/getconfig-err
...
NvOsGetConfigU32 production impl
2018-07-10 15:44:23 -07:00
bunnei
3e966be6fc
Merge pull request #642 from bunnei/create-save-dir
...
savedata_factory: Always create a save directory for games.
2018-07-10 09:09:58 -07:00
David Marcec
0944bfe3cb
NvOsGetConfigU32 production impl
...
Settings are only used when RMOS_SET_PRODUCTION_MODE is set to 0.
If production mode is set, the error code 0x30006 is returned instead
2018-07-10 14:10:17 +10:00
bunnei
eb6cbfdbd8
savedata_factory: Always create a save directory for games.
2018-07-08 17:05:13 -04:00
bunnei
1b3dd30ba8
nvhost_ctrl: Fix NvOsGetConfigU32 for Snipper Clips.
2018-07-08 17:01:46 -04:00
bunnei
913896cbd9
Revert "Virtual Filesystem ( #597 )"
...
This reverts commit 77c684c114
.
2018-07-07 20:24:51 -07:00
Zach Hilman
77c684c114
Virtual Filesystem ( #597 )
...
* Add VfsFile and VfsDirectory classes
* Finish abstract Vfs classes
* Implement RealVfsFile (computer fs backend)
* Finish RealVfsFile and RealVfsDirectory
* Finished OffsetVfsFile
* More changes
* Fix import paths
* Major refactor
* Remove double const
* Use experimental/filesystem or filesystem depending on compiler
* Port partition_filesystem
* More changes
* More Overhaul
* FSP_SRV fixes
* Fixes and testing
* Try to get filesystem to compile
* Filesystem on linux
* Remove std::filesystem and document/test
* Compile fixes
* Missing include
* Bug fixes
* Fixes
* Rename v_file and v_dir
* clang-format fix
* Rename NGLOG_* to LOG_*
* Most review changes
* Fix TODO
* Guess 'main' to be Directory by filename
2018-07-06 10:51:32 -04:00
David
3dab0e284b
Update AudioRenderer Voice Sections ( #614 )
...
* voice section updating
* fixed slight offset miscalculation
* fixed overflow
2018-07-03 13:09:10 -04:00
James Rowe
0d46f0df12
Update clang format
2018-07-02 21:45:47 -04:00
James Rowe
638956aa81
Rename logging macro back to LOG_*
2018-07-02 21:45:47 -04:00
Subv
6c0c81dfdc
GPU: Remove a surface from the cache when its backing memory is being unmapped from the GPU's MMU.
2018-07-01 10:50:06 -05:00
Subv
a093feca62
nvmap: Return the address of the nvmap object when Freeing it for the last time.
...
This behavior is confirmed by reverse engineering.
2018-07-01 10:48:50 -05:00
bunnei
50ef2beb58
Merge pull request #595 from bunnei/raster-cache
...
Rewrite the OpenGL rasterizer cache
2018-06-29 14:07:28 -04:00
bunnei
da2bdbc0d7
Merge pull request #588 from mailwl/hwopus
...
Service/Audio: add hwopus service, stub GetWorkBufferSize function
2018-06-27 21:57:21 -04:00
bunnei
1bbbd26563
settings: Add a configuration for use_accurate_framebuffers.
2018-06-27 00:08:04 -04:00
David
c9e821e93e
Send the correct RequestUpdateAudioRenderer revision in the output header ( #587 )
...
* We should be returning our revision instead of what is requested.
Hardware test on a 5.1.0 console
* Added sysversion comment
2018-06-25 10:34:41 -04:00
mailwl
11fb17054e
Service/Audio: add hwopus service, stub GetWorkBufferSize function
2018-06-25 16:44:17 +03:00
David
838724c588
Removed duplicate structs, changed AudioRendererResponse -> UpdateDataHeader ( #583 )
...
* Removed duplicate structs, changed AudioRendererResponse -> UpdateDataHeader
According to game symbols(SMO), there's references to UpdateDataHeader which seems to be what AudioRendererResponse actually is
* oops
* AudioRendererParameters should be AudioRendererParameter according to SMO
2018-06-23 20:46:29 -04:00
David
81f24f5685
Fixed RequestUpdateAudioRenderer deadlocks and calculated section sizes properly ( #580 )
...
* Fixed RequestUpdateAudioRenderer deadlocks and calculated section sizes properly
This fixes RequestUpdateAudioRenderer deadlocks in games like Puyo Puyo Tetris and games which require a proper section size in games such as Retro City Rampage. This fixes causes various games to start rendering or trying to render
2018-06-22 22:22:33 -04:00
bunnei
6d7941042b
Merge pull request #579 from SciresM/master
...
svc: Fully implement svcSignalToAddress and svcWaitForAddress
2018-06-22 12:08:39 -04:00
mailwl
a27befe456
IPC: skip empty buffer write
...
prevent yuzu crash, if games, like Axiom Verge, trying to read 0 bytes from file
2018-06-22 11:28:10 +03:00
Michael Scire
067ac434ba
Kernel/Arbiters: Fix casts, cleanup comments/magic numbers
2018-06-22 00:47:59 -06:00
Michael Scire
5f8aa02584
Add additional missing format.
2018-06-21 21:09:51 -06:00
Michael Scire
08d454e30d
Run clang-format on PR.
2018-06-21 21:05:34 -06:00
bunnei
b7162c32a4
Merge pull request #577 from mailwl/audren-update
...
Service/Audio: update audren:u service
2018-06-21 22:40:37 -04:00
Michael Scire
dc70a87af1
Kernel/Arbiters: HLE is atomic, adjust code to reflect that.
2018-06-21 20:25:57 -06:00
Zach Hilman
63f26d5c40
Add support for decrypted NCA files ( #567 )
...
* Start to add NCA support in loader
* More nca stuff
* More changes to nca.cpp
* Now identifies decrypted NCA cont.
* Game list fixes and more structs and stuff
* More updates to Nca class
* Now reads ExeFs (i think)
* ACTUALLY LOADS EXEFS!
* RomFS loads and games execute
* Cleanup and Finalize
* plumbing, cleanup and testing
* fix some things that i didnt think of before
* Preliminary Review Changes
* Review changes for bunnei and subv
2018-06-21 11:16:23 -04:00
Michael Scire
8f8fe62a19
Kernel/Arbiters: Initialize arb_wait_address in thread struct.
2018-06-21 05:13:06 -06:00
Michael Scire
62bd1299ea
Kernel/Arbiters: Clear WaitAddress in SignalToAddress
2018-06-21 04:20:39 -06:00
Michael Scire
4f81bc4e1b
Kernel/Arbiters: Mostly implement SignalToAddress
2018-06-21 04:10:11 -06:00
Michael Scire
9d71ce88ce
Kernel/Arbiters: Implement WaitForAddress
2018-06-21 01:40:29 -06:00
mailwl
c06d6b27f3
Service/Audio: update audren:u service
2018-06-21 10:26:24 +03:00
Michael Scire
7e191dccc1
Kernel/Arbiters: Add stubs for 4.x SignalToAddress/WaitForAddres SVCs.
2018-06-21 00:49:43 -06:00
Subv
a3d82ef5d9
Build: Fixed some MSVC warnings in various parts of the code.
2018-06-20 11:39:10 -05:00
greggameplayer
be1f5dedfb
Implement GetAvailableLanguageCodes2 ( #575 )
...
* Implement GetAvailableLanguageCodes2
* Revert "Implement GetAvailableLanguageCodes2"
This reverts commit caadd9eea3497ae2a13382aecb8ca29e1c02c5af.
* Implement GetAvailableLanguageCodes2
* Implement GetAvailableLanguageCodes2
2018-06-19 11:29:04 -04:00
bunnei
0d8ae773f1
Merge pull request #561 from DarkLordZach/fix-odyssey-input-crash
...
Avoid initializing single-joycon layouts with handheld controller
2018-06-18 22:06:11 -04:00
Subv
5f57a70a7d
Services/FS: Return the correct error code when trying to mount a nonexistent savedata.
2018-06-18 19:26:01 -05:00
bunnei
4ac4b308e4
Merge pull request #572 from Armada651/user-except-stub
...
svc: Add a stub for UserExceptionContextAddr.
2018-06-18 11:37:13 -04:00
Jules Blok
bf4e2b2f0b
svc: Add a stub for UserExceptionContextAddr.
2018-06-18 09:29:11 +02:00
Zach Hilman
ac88d3e89f
Narrow down filter of layout configs
2018-06-13 20:03:12 -04:00
Zach Hilman
a353322b58
Move loop condition to free function
2018-06-13 13:44:46 -04:00
Zach Hilman
50153a1cb2
Avoid initializing single-joycon layouts with handheld controller
2018-06-13 13:01:05 -04:00
shinyquagsire23
2f9c0e7c7e
hid: Update all layouts and only show handheld as connected, fixes libnx input for P1_AUTO
2018-06-11 19:41:29 -06:00
mailwl
a2efb1dd48
Common/string_util: add StringFromBuffer function
...
convert input buffer (std::vector<u8>) to string, stripping zero chars
2018-06-07 09:59:47 +03:00
bunnei
ee1eb8cfdf
Merge pull request #522 from mailwl/mm-u
...
Service/MM: add service and stub some functions
2018-06-07 02:00:04 -04:00
bunnei
9f21f20d7c
Merge pull request #503 from mailwl/nfp-stubs
...
Service/nfp:user : stub some functions.
2018-06-06 22:36:53 -04:00
mailwl
61fbf5c8e6
Stub IUser::AttachAvailabilityChangeEvent
2018-06-06 19:05:11 +03:00
greggameplayer
be09dfeed9
nvdrv/devices/nvidia_ctrl_gpu : add IoctlCommands with their params ( #524 )
...
* add IoctlCommands with their params in nvidia_ctrl_gpu.h
* add function related to the changes done previously
* fix clang-format
* delete trailing whitespace
* correct mistake
2018-06-06 08:31:17 -05:00
Sebastian Valle
2f842a86fe
Merge pull request #529 from bunnei/am-nifm-stubs
...
Stub SetConnectionConfirmationOption, GetPseudoDeviceId
2018-06-06 08:29:12 -05:00
mailwl
a776464a55
Remove unused header files
2018-06-06 09:10:48 +03:00
Hedges
39fb3e362c
GDB Stub Improvements ( #508 )
...
* GDB Stub should work now.
* Applied clang-format.
* Replaced htonll with swap64.
* Tidy up.
2018-06-06 00:20:47 -04:00
bunnei
c5684411a0
nifm: Stub out IRequest::SetConnectionConfirmationOption.
2018-06-05 23:54:13 -04:00
bunnei
2abe5e39fc
am: Stub out IApplicationFunctions::GetPseudoDeviceId.
2018-06-05 23:54:02 -04:00
mailwl
62cd19e4ae
Small fixes
2018-06-05 15:34:01 +03:00
mailwl
7e3d746b06
Service/MM: add service and stub some functions
2018-06-05 12:19:29 +03:00
greggameplayer
4fad069870
Nvdrv/devices/nvhost_gpu : Add some IoctlCommands with their params ( #511 )
...
* Add some IoctlCommand with their params to nvhost_gpu
* fix clang-format
* delete trailing whitespace
* fix some clang-format
* delete one other trailing whitespace
* last clang-format fix
2018-06-04 16:12:02 -04:00
mailwl
bb081dd1d2
Correct function results
2018-06-04 14:43:02 +03:00
mailwl
019778707d
Service/nfp:user : stub some functions.
...
Used by Zelda: BoTW
2018-06-04 12:39:43 +03:00
bunnei
afdd2f4cad
am: Implement ILibraryAppletAccessor::PopOutData.
2018-06-03 23:44:23 -04:00
bunnei
df4336a85e
am: ISelfController:LaunchableEvent should be sticky.
2018-06-03 23:44:22 -04:00
bunnei
51d8a2c322
am: Stub out ILibraryAppletAccessor Start and GetResult methods.
2018-06-03 23:44:22 -04:00
bunnei
876b805e50
am: Implement ILibraryAppletAccessor::PushInData.
2018-06-03 22:10:06 -04:00
bunnei
2dcb98226b
am: Implement IStorageAccessor::Write.
2018-06-03 22:10:06 -04:00
bunnei
9fedfbe141
am: Cleanup IStorageAccessor::Read.
2018-06-03 22:10:06 -04:00
bunnei
d73c22bf4d
am: Implement ILibraryAppletCreator::CreateStorage.
2018-06-03 22:10:05 -04:00
bunnei
41faeeeb03
Merge pull request #484 from mailwl/nvhost-nvdec
...
Services/nvdrv: add '/dev/nvhost-nvdec' device
2018-06-03 11:18:00 -04:00
Subv
9cd87a6352
Kernel/Threads: A thread waking up by timeout from a WaitProcessWideKey may already have an assigned lock owner.
...
This situation may happen like so:
Thread 1 with low priority calls WaitProcessWideKey with timeout.
Thread 2 with high priority calls WaitProcessWideKey without timeout.
Thread 3 calls SignalProcessWideKey
- Thread 2 acquires the lock and awakens.
- Thread 1 can't acquire the lock and is put to sleep with the lock owner being Thread 2.
Thread 1's timeout expires, with the lock owner still being set to Thread 2.
2018-06-02 14:06:35 -05:00
mailwl
11568c2ea3
Service/time: implement posix time to calendar conversion
2018-06-01 09:40:28 +03:00
bunnei
bdd68fc210
Merge pull request #488 from Subv/thread_masks
...
Kernel/SVC: Corrected the behavior of svcSetThreadCoreMask for core values -2 and -3.
2018-05-31 18:22:18 -04:00
Subv
c02d7c8ce7
Kernel/Thread: Corrected a typo that caused the affinity mask to never be changed.
2018-05-30 21:36:29 -05:00
Subv
3957b0c34e
Kernel/SVC: Support special core values -2 and -3 in svcSetThreadCoreMask.
...
Also added some proper error handling.
2018-05-30 21:36:29 -05:00
greggameplayer
94fecef137
add IPC CommandType & Some HID FunctionInfo ( #487 )
...
* add some CommandType
* add some hid FunctionInfo
* add some other HID FunctionInfo
* delete non useful comments
2018-05-30 14:09:21 -04:00
Subv
d1f9c750a6
Kernel/Thread: Corrected a typo in an assert about the processor id.
2018-05-30 11:32:46 -05:00
mailwl
9a273bb23b
Services/nvdrv: add '/dev/nvhost-nvdec' device
2018-05-30 12:49:28 +03:00
bunnei
6306655665
nvhost_ctrl: Stub out IocCtrlEventRegister.
2018-05-29 22:39:31 -04:00
bunnei
0658973a4e
nvhost_ctrl: Stub out IocCtrlEventWaitAsyncCommand.
2018-05-29 22:35:41 -04:00
mailwl
7757cc1a7f
Service/BCAT: add module and services
2018-05-28 16:46:56 +03:00
bunnei
7029daa32e
Merge pull request #475 from ogniK5377/nvos-getconfig
...
NvOsGetConfigU32 should return null instead of 0 for default output value
2018-05-27 12:10:07 -04:00
David Marcec
6138075df0
NvOsGetConfigU32 should return null instead of 0 for default output
2018-05-26 17:48:09 -07:00
bunnei
0d681f7a7a
am: Stub IApplicationFunctions GetDisplayVersion.
2018-05-26 00:21:59 -04:00
greggameplayer
b16e5c6a81
Add & correct miscellaneous things ( #470 )
...
* add some InfoType
* correct OpenApplicationProxy cmd number
* add IDisplayController functions
* fix clang-format
* add more system languages
2018-05-25 22:31:54 -04:00
bunnei
87f21657f8
Merge pull request #466 from mailwl/nv-timeout
...
Stub NVGPU_IOCTL_CHANNEL_SET_TIMEOUT
2018-05-25 22:31:06 -04:00
David
e6df4b37db
GetAudioRendererWorkBufferSize impl ( #465 )
...
* GetAudioRendererWorkBufferSize impl
Impl of GetAudioRendererWorkBufferSize based on RE, if this can be cleaned up, please contribute!
* Naming conventions
* Removed unneeded placeholder
* lioncache changes
* fixed const
* switched to Common::AlignUp
2018-05-25 22:30:02 -04:00
David
e3a92b09ba
Stubbed NVGPU_GPU_IOCTL_ZBC_SET_TABLE ( #463 )
...
We have no clue on what this actually does yet so stubbing it since it's just input only should be fine for now
2018-05-24 18:36:12 -04:00
mailwl
e6a87428ae
Stub NVGPU_IOCTL_CHANNEL_SET_TIMEOUT
...
Used in Nintendo Labo ToyCon 1&2
2018-05-24 16:49:34 +03:00
David Marcec
c74d24f841
Fix deadlocks caused from HID having too many layouts
...
Games such as SMO deadlock if we have more than 2 layouts
2018-05-23 16:00:25 -07:00
bunnei
4cb92b776c
Merge pull request #460 from greggameplayer/patch-6
...
Add & correct some error modules
2018-05-23 17:13:18 -04:00
bunnei
a55f112cb1
Merge pull request #459 from greggameplayer/patch-5
...
Add ioctl commands with their params and size check
2018-05-23 17:12:56 -04:00
bunnei
3825b703fa
Merge pull request #454 from Subv/signal_processwide
...
Kernel/SVC: Signal the highest priority threads first in svcSignalProcessWideKey
2018-05-23 10:28:23 -04:00
greggameplayer
1efb81a61d
Add & correct some error modules
2018-05-23 14:22:42 +02:00
greggameplayer
3c26b7179d
change some functions
...
according to the changes made previously
2018-05-23 14:09:24 +02:00
greggameplayer
8c648b59cd
correct placement and add size check
2018-05-23 12:34:42 +02:00
greggameplayer
f217d6c66f
Add ioctl commands with their params and size check
2018-05-23 12:32:37 +02:00
David
58d9078742
Implemented NVHOST_IOCTL_CHANNEL_GET_WAITBASE ( #440 )
...
* Implemented NVHOST_IOCTL_CHANNEL_GET_WAITBASE
struct + 4 seems to be hard coded at 0 and struct + 0 seems to be ignored?
* IocGetWaitbase -> IocChannelGetWaitbaseCommand
* Added super late fixes
2018-05-22 17:41:19 -04:00
bunnei
58857b9f46
Merge pull request #456 from Subv/unmap_buffer
...
Implemented nvhost-as-gpu's UnmapBuffer and nvmap's Free ioctls.
2018-05-20 23:54:50 -04:00
greggameplayer
c6eaf0b2cf
Correct audio command numbers & add or rename some functions ( #455 )
...
* Add unknown function at the number command 2
* correct audout:u commands numbers
* correct audrec:u cmd number & add Unknown function
* correct IAudioDevice command numbers
* correct codecctl cmd numbers & rename the 8 function
* correct place of unknown function & fix clang-format
2018-05-20 23:48:44 -04:00
bunnei
693f78e6c2
Merge pull request #457 from Subv/mutex_waiters
...
Mutex: Do not assert when the mutex waiting threads list isn't empty on mutex release.
2018-05-20 23:44:44 -04:00
bunnei
ff54287a73
Merge pull request #445 from greggameplayer/patch-2
...
Properly rename functions of Fatal Module & add ThrowFatal to this module
2018-05-20 23:42:57 -04:00
Subv
fd500d3da6
Mutex: Do not assert when the mutex waiting threads list isn't empty on mutex release.
...
A thread may own multiple mutexes at the same time, and only release one of them while other threads are waiting for the other mutexes.
2018-05-20 14:41:58 -05:00
Subv
525492428d
GPU: Implemented the nvmap Free ioctl.
...
It releases a reference to an nvmap object
2018-05-20 14:25:57 -05:00
Subv
72b5c448cf
GPU: Implemented nvhost-as-gpu's UnmapBuffer ioctl.
...
It removes a mapping previously created with the MapBufferEx ioctl.
2018-05-20 14:25:56 -05:00
Sebastian Valle
353e1dd7e4
Merge pull request #443 from ogniK5377/ipc-500
...
Added IPC RequestWithContext & ControlWithContext
2018-05-19 17:03:30 -05:00
greggameplayer
a215f63235
Add and correct some Error Modules ( #444 )
...
* Add and correct some Error Modules
2018-05-19 17:02:24 -05:00
Subv
2a35a36251
Kernel/SVC: Signal the highest priority threads first in svcSignalProcessWideKey.
2018-05-19 16:58:30 -05:00
Subv
c74f2555b6
Kernel/Threads: Reschedule the proper core when operating on that core's threads.
2018-05-19 16:57:44 -05:00
Subv
fab3dd98fe
SVC: Removed unused WaitSynchronization1 function
2018-05-19 16:56:33 -05:00
greggameplayer
abe79b2724
rename fatal:u functions & add ThrowFatal
2018-05-18 23:32:22 +02:00
greggameplayer
536cfb13e6
Properly update fatal.h void name
2018-05-18 23:30:56 +02:00
greggameplayer
e35cfc1b03
Properly rename fatal module functions
2018-05-18 23:28:30 +02:00
David Marcec
fd86cdb2e2
Added RequestWithContext & ControlWithContext
2018-05-17 14:03:52 -07:00
Hexagon12
0984e9d601
Updated nfp with more service names
2018-05-13 13:08:58 +03:00
bunnei
1b5c02fc37
Merge pull request #436 from bunnei/multi-core
...
Initial support for multi-core
2018-05-11 12:59:23 -04:00
David Marcec
e7b0e8a3cc
More accurate GetTPCMasks impl
2018-05-10 21:01:39 -07:00
bunnei
811dae12f9
core: Add several missing docstrings.
2018-05-10 19:34:54 -04:00
bunnei
46ec9a9bc9
thread: Rename mask to affinity_masks.
2018-05-10 19:34:53 -04:00
bunnei
edc52250b8
core: Run all CPU cores separately, even in single-thread mode.
2018-05-10 19:34:53 -04:00
bunnei
fbd7afefaa
thread: Support core change on ResumeFromWait and improve ChangeCore.
2018-05-10 19:34:53 -04:00
bunnei
91af2f94e8
scheduler: Protect scheduling functions with a global mutex.
2018-05-10 19:34:52 -04:00
bunnei
4822765fef
thread: Initialize ideal_core and mask members.
2018-05-10 19:34:52 -04:00
bunnei
8aa5d25f82
threading: Reschedule only on cores that are necessary.
2018-05-10 19:34:52 -04:00
bunnei
d6e3cd9a17
svc: Implement GetThreadCoreMask and SetThreadCoreMask.
2018-05-10 19:34:51 -04:00
bunnei
6ea8b3ef60
thread: Implement ChangeCore function.
2018-05-10 19:34:50 -04:00
bunnei
1c36f2a798
svc: SignalProcessWideKey should apply to all cores.
2018-05-10 19:34:49 -04:00
bunnei
6a890023e9
svc: Implement GetCurrentProcessorNumber.
2018-05-10 19:34:49 -04:00
bunnei
9bf2a428f9
core: Add a configuration setting for use_multi_core.
2018-05-10 19:34:47 -04:00
bunnei
cba69fdcd4
core: Support session close with multicore.
2018-05-10 19:34:47 -04:00
bunnei
a434fdcb10
core: Implement multicore support.
2018-05-10 19:34:46 -04:00
bunnei
9776ff9179
core: Create a thread for each CPU core, keep in lock-step with a barrier.
2018-05-10 19:34:46 -04:00
bunnei
5590245930
core: Move common CPU core things to its own class.
2018-05-10 19:34:46 -04:00
Hexagon12
5e9c547952
Stubs for QLaunch ( #428 )
...
* Stubs for QLaunch
* Wiped unrelated stuff
* Addressed comment
* Dropped GetPopFromGeneralChannelEvent
2018-05-07 11:27:30 -04:00
Max Thomas
266703b50e
hid: Tweaks, Analog Sticks ( #435 )
...
* hid: Update mouse/keyboard state
* hid: Working analog sticks
* hid: Nits
* hid: Nits
* hid: Update mystery sections
* hid: Tweaks
2018-05-07 11:06:02 -04:00
bunnei
9eccb5de9d
Merge pull request #434 from lioncash/vdtor
...
memory_hook: Default virtual destructor in the cpp file
2018-05-03 15:09:14 -04:00
Lioncash
732a77d0e8
memory_hook: Default virtual destructor in the cpp file
...
Prevents creating multiple copies of the vtable in every translation unit that uses the class.
Also silences a -Wweak-vtables warning
2018-05-03 08:12:16 -04:00
Lioncash
9f3641755e
core_timing: Don't include the log header in core timing's header
...
Avoids propagating logging macros and facilities to files that may not need them.
This also allows hiding an internal constant.
2018-05-03 08:00:15 -04:00
bunnei
1147db9dd1
Merge pull request #431 from lioncash/fmt
...
general: Make formatting of logged hex values more straightforward
2018-05-02 15:24:41 -04:00
Lioncash
7c9644646f
general: Make formatting of logged hex values more straightforward
...
This makes the formatting expectations more obvious (e.g. any zero padding specified
is padding that's entirely dedicated to the value being printed, not any pretty-printing
that also gets tacked on).
2018-05-02 09:49:36 -04:00
bunnei
fadab1d5f3
ipc: Add support for PopIpcInterface() method.
...
- This can be used for domain objects as inputs to service functions.
2018-05-01 21:57:44 -04:00
bunnei
8262aeeac8
Merge pull request #429 from Subv/ioctl_corruption
...
GPU: Don't write to invalid memory locations when handling ioctls that don't have an output.
2018-05-01 16:28:54 -04:00
David
ff2f0d980a
GetSharedFontInOrderOfPriority ( #381 )
...
* GetSharedFontInOrderOfPriority
* Update pl_u.cpp
* Ability to use ReadBuffer and WriteBuffer with different buffer indexes, fixed up GetSharedFontInOrderOfPriority
* switched to NGLOG
* Update pl_u.cpp
* Update pl_u.cpp
* language_code is actually language code and not index
* u32->u64
* final cleanups
2018-05-01 16:28:36 -04:00
Subv
0c8b7c00e8
GPU: Don't write to invalid memory locations when handling ioctls that don't have an output.
2018-05-01 14:54:15 -05:00
Lioncash
0197e28cc9
core_timing: Namespace all functions and constants in core_timing's header
...
All of these variables and functions are related to timings and should be within the namespace.
2018-04-30 03:32:59 -04:00
Lioncash
3abba08080
string_util: Remove StringFromFormat() and related functions
...
Given we utilize fmt, we don't need to provide our own functions for formatting anymore
2018-04-29 18:52:33 -04:00
bunnei
334e859ab1
am: Fix GetDesiredLanguage implementation.
2018-04-29 11:07:07 -04:00
bunnei
17b16cf6f6
set: Fix GetAvailableLanguageCodes implementation.
2018-04-29 11:07:06 -04:00
Lioncash
843dd62c81
core: Replace usages of LOG_GENERIC with new fmt-capable equivalents
2018-04-27 11:57:52 -04:00
Lioncash
8475496630
general: Convert assertion macros over to be fmt-compatible
2018-04-27 10:04:02 -04:00
bunnei
3c40496409
Merge pull request #380 from ogniK5377/service-impl
...
Implemented some useful interfaces needed for games.
2018-04-27 00:49:40 -04:00
David Marcec
abc23416e8
Switched to NGLOG_WARNING
2018-04-26 20:03:12 -07:00
David Marcec
7391741a20
Merge branch 'master' of https://github.com/yuzu-emu/yuzu into service-impl
2018-04-26 14:28:54 -07:00
David Marcec
f1f7f2cba9
Added PREPO to logging backend, Removed comments from SaveReportWithUser
2018-04-26 14:19:34 -07:00
Lioncash
c33755e2b9
core: Replace remaining old non-generic logger usages with fmt-capable equivalents
...
LOG_GENERIC usages will be amended in a follow-up to keep API changes separate from
interface changes, as it will require removing a parameter from the relevant function
in the VMManager class.
2018-04-26 15:37:16 -04:00
Lioncash
623d772476
core/gdbstub: Move logging macros to new fmt-compatible ones
2018-04-26 12:04:50 -04:00
Lioncash
08da0b7acc
core/hw: Move logging macros over to fmt-capable ones
2018-04-26 09:32:45 -04:00
bunnei
dd6c67c627
Merge pull request #398 from lioncash/kernel
...
kernel: Migrate logging macros to fmt-compatible ones
2018-04-25 22:42:34 -04:00
bunnei
42d43ea741
Merge pull request #387 from Subv/maxwell_2d
...
GPU: Partially implemented the 2D surface copy engine
2018-04-25 20:40:17 -04:00
bunnei
d0825c9519
Merge pull request #395 from lioncash/file-sys
...
file-sys: Move logging macros over to the new fmt-capable ones
2018-04-25 20:39:08 -04:00
Lioncash
1913cf4783
kernel/shared_memory: Remove unnecessary semicolon at end of ConvertPermissions()
...
Functions don't need to be terminated by semicolons.
2018-04-25 20:32:16 -04:00
Lioncash
40dee76c57
kernel: Migrate logging macros to fmt-compatible ones
2018-04-25 20:32:09 -04:00
bunnei
23d68a07dc
Merge pull request #390 from mailwl/pctl-module
...
Service/PCTL: convert to module, add services, stub
2018-04-25 15:51:43 -04:00
Subv
5ab597041f
Memory: Added a missing shortcut for Memory::CopyBlock for the current process.
2018-04-25 11:55:30 -05:00
Lioncash
3f78a61f09
file-sys: convert a StringFromFormat call into fmt::format in GetFullPath()
...
Lessens the amount to read and gets rid of the PRIX64 macro, allowing us to use a single string
for the whole path, making it easier to read.
2018-04-25 12:35:37 -04:00
Lioncash
5aafc83cc9
file-sys: Move logging macros over to the new fmt-capable ones
2018-04-25 12:35:33 -04:00
Lioncash
6d00780045
core/memory: Amend address widths in asserts
...
Addresses are 64-bit, these formatting specifiers are simply holdovers from citra. Adjust them to be the correct width.
2018-04-25 12:17:26 -04:00
Lioncash
59dae03dbe
core/memory: Move logging macros over to new fmt-capable ones
...
While we're at it, correct addresses to print all 64 bits where applicable, which were holdovers from citra.
2018-04-25 12:16:33 -04:00
mailwl
2ba4e2263c
Service/PCTL: convert to module, add services, stub
...
PCTL::CreateServiceWithoutInitialize and IParentalControlService::Initialize, required by Kirby Star Allies
2018-04-25 09:02:27 +03:00
bunnei
ea3151f475
Merge pull request #388 from bunnei/refactor-rasterizer-cache
...
Refactor rasterizer cache
2018-04-24 23:22:24 -04:00
bunnei
4415e00181
gl_rasterizer_cache: Update to be based on GPU addresses, not CPU addresses.
2018-04-24 22:31:45 -04:00
Lioncash
cc2e14ec2a
loader: Move old logging macros over to new fmt-capable ones
2018-04-24 20:22:32 -04:00
Lioncash
d08cfb55fe
service: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:32 -04:00
Lioncash
88eb612718
vi: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:31 -04:00
Lioncash
bd9c2aa51f
time: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:31 -04:00
Lioncash
bfe49edb2a
ssl: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:31 -04:00
Lioncash
82413a6c89
spl: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:31 -04:00
Lioncash
62c69f4a1e
sockets: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:31 -04:00
Lioncash
2a3f3bf977
sm: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:31 -04:00
Lioncash
32ece18bb6
set: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:30 -04:00
Lioncash
13f9cf2bd0
pctl: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:30 -04:00
Lioncash
72b497e876
nvflinger: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:30 -04:00
Lioncash
285d8d8b7d
nvdrv: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:27 -04:00
Lioncash
022fc59dcd
ns: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:56 -04:00
Lioncash
47054327c2
nifm: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:56 -04:00
Lioncash
28b92db7fd
nfp: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:56 -04:00
Lioncash
dabfd90dfe
lm: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:56 -04:00
Lioncash
9cd7485cd7
hid: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:56 -04:00
Lioncash
8fc4003dab
friend: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:56 -04:00
Lioncash
b5b613ea29
filesystem: Move logging macros over to new fmt-compatible ones
2018-04-24 12:00:52 -04:00
Lioncash
c6a740d7c2
fatal: Move logging macros over to new fmt-compatible ones
2018-04-24 10:18:58 -04:00
Lioncash
8d32bf9a96
audio: Move logging macros over to new fmt-compatible ones
2018-04-24 10:18:09 -04:00
Lioncash
d652e41365
apm: Move logging macros over to new fmt-compatible ones
2018-04-24 10:16:03 -04:00
Lioncash
e74dbfc572
aoc: Move logging macros over to new fmt-compatible ones
2018-04-24 10:14:52 -04:00
Lioncash
5483c08b44
am: Move logging macros over to new fmt-compatible ones
2018-04-24 10:14:11 -04:00
Lioncash
f85d880ac6
acc: Move logging macros over to new fmt-compatible ones
2018-04-24 10:04:22 -04:00
mailwl
a0179e5ca5
Service/FS: implement IFileSystem::RenameFile
2018-04-24 10:56:05 +03:00
bunnei
0214351f4f
Merge pull request #370 from Subv/sync_primitives
...
Kernel: Reworked the new kernel synchronization primitives.
2018-04-23 16:33:00 -04:00
bunnei
bf25299272
Merge pull request #384 from Subv/nvhost-remap
...
Nvdrv/nvhost-as-gpu: Implemented the ioctl REMAP command.
2018-04-23 15:23:55 -04:00
Subv
46572d027d
Kernel: Implemented mutex priority inheritance.
...
Verified with a hwtest and implemented based on reverse engineering.
Thread A's priority will get bumped to the highest priority among all the threads that are waiting for a mutex that A holds.
Once A releases the mutex and ownership is transferred to B, A's priority will return to normal and B's priority will be bumped.
2018-04-23 11:23:44 -05:00
Subv
0d6eafe11a
NvDrv/nvhost-as-gpu: Ensure that the object passed to MapBufferEx has already been allocated.
...
Also added a consistency check and a comment for the case when the object id is different than its handle. The real nvservices doesn't make a distinction between ids and handles, each object gets an unique handle which doubles as its id.
2018-04-23 11:21:46 -05:00
Subv
e4bd0bddea
Nvdrv/nvhost-as-gpu: Implemented the ioctl REMAP command.
...
It takes a previously-reserved (AllocateSpace) GPU memory address and maps it to the address of the nvmap object passed to Remap.
2018-04-23 11:21:46 -05:00
Subv
e862c50a70
Nvdrv: Assert when receiving an unimplemented ioctl in the nv* handlers.
2018-04-23 11:13:53 -05:00
David Marcec
27650499bc
GetIUserInterface->CreateUserInterface, Added todos and stub logs. Playreport->PlayReport.
2018-04-22 19:02:18 -07:00
David
df669bc540
lioncash proposed changes
2018-04-22 00:07:55 -07:00
David Marcec
f3137d3bc1
Implemented GetIUserInterface properly, Playreport and SSL::SetInterfaceVersion. Fixed ipc issues with IAudioDevice(wrong ids)
2018-04-21 22:04:24 -07:00
Subv
a70ed9c8ae
Kernel: Use 0x2C as default main thread priority for homebrew and lone NRO/NSOs
2018-04-20 21:04:35 -05:00
Subv
013778aa21
Qt: Update the WaitTree widget to show info about the current mutex of each thread.
2018-04-20 21:04:34 -05:00
Subv
be155f4d9d
Kernel: Remove unused ConditionVariable class.
2018-04-20 21:04:33 -05:00
Subv
5fdfbfe25a
Kernel: Remove old and unused Mutex code.
2018-04-20 21:04:32 -05:00
Subv
b18ccf9399
Kernel: Properly implemented svcWaitProcessWideKey and svcSignalProcessWideKey
...
They work in tandem with guest code to provide synchronization primitives along with svcArbitrateLock/Unlock
2018-04-20 21:04:27 -05:00
Subv
e81a2080eb
Kernel: Corrected the implementation of svcArbitrateLock and svcArbitrateUnlock.
...
Switch mutexes are no longer kernel objects, they are managed in userland and only use the kernel to handle the contention case.
Mutex addresses store a special flag value (0x40000000) to notify the guest code that there are still some threads waiting for the mutex to be released. This flag is updated when a thread calls ArbitrateUnlock.
TODO:
* Fix svcWaitProcessWideKey
* Fix svcSignalProcessWideKey
* Remove the Mutex class.
2018-04-20 21:04:25 -05:00
bunnei
1723b4d8d4
Merge pull request #372 from lioncash/enum
...
resource_limit: Make ResourceTypes an enum class
2018-04-20 21:26:54 -04:00
Lioncash
659a612368
core: Relocate g_service_manager to the System class
...
Converts the service manager from a global into an instance-based
variable.
2018-04-20 19:44:32 -04:00
Lioncash
bec05db746
resource_limit: Make ResourceTypes an enum class
...
Prevents enum identifiers from leaking into the surrounding scope.
2018-04-20 19:41:45 -04:00
bunnei
1df3a7710e
Merge pull request #340 from mailwl/vi-update
...
Service/VI: stub SetLayerVisibility, fix GetDisplayResolution output
2018-04-20 16:23:15 -04:00
bunnei
326b044c19
Merge pull request #367 from lioncash/clamp
...
math_util: Remove the Clamp() function
2018-04-20 14:18:03 -04:00
Lioncash
fae2dd0344
math_util: Remove the Clamp() function
...
C++17 adds clamp() to the standard library, so we can remove ours in
favor of it.
2018-04-20 10:14:13 -04:00
bunnei
b11f6f90e7
Merge pull request #360 from lioncash/namespaces
...
service: Use nested namespace specifiers where applicable
2018-04-20 09:44:40 -04:00
bunnei
701dd649e6
Merge pull request #363 from lioncash/array-size
...
common_funcs: Remove ARRAY_SIZE macro
2018-04-20 09:43:02 -04:00
Lioncash
d9e316e353
common_funcs: Remove ARRAY_SIZE macro
...
C++17 has non-member size() which we can just call where necessary.
2018-04-19 22:36:52 -04:00
Lioncash
ccca5e7c28
service: Use nested namespace specifiers where applicable
...
Tidies up namespace declarations
2018-04-19 22:20:28 -04:00
bunnei
2ef04f69b2
Merge pull request #358 from lioncash/explicit
...
disk_filesystem: Minor changes
2018-04-19 22:16:55 -04:00
Lioncash
3990da488b
vi: Remove redundant initializers in the constructors
2018-04-19 21:34:36 -04:00
Lioncash
80982748c8
disk_filesystem: Remove unused total_entries_in_directory member from Disk_Directory
2018-04-19 21:28:56 -04:00
Lioncash
e61a4dd485
disk_filesystem: Remove redundant initializer in Disk_Directory's constructor
2018-04-19 21:28:07 -04:00
Lioncash
b05f8ea5b5
disk_filesystem: Make constructors explicit where applicable
2018-04-19 21:27:43 -04:00
bunnei
de18592179
nvflinger: Call MicroProfileFlip on NVFlinger::Compose.
2018-04-18 20:28:50 -04:00
bunnei
5b9bcbf438
Merge pull request #341 from shinyquagsire23/pfs-hfs-impl
...
file_sys: Add HFS/PFS helper component
2018-04-17 14:39:20 -04:00
mailwl
5922f2c46d
Service/VI: stub SetLayerVisibility, fix GetDisplayResolution output
...
both SetLayerVisibility() functions used in Lego games, GetDisplayResolution()
fixed according switchbrew.org
2018-04-17 19:42:14 +03:00
shinyquagsire23
de580ccdd5
file_sys: Use NGLOG
2018-04-17 09:55:29 -06:00
Hexagon12
e52a87b98a
Various service name fixes - part 2 (rebased) ( #322 )
...
* Updated ACC with more service names
* Updated SVC with more service names
* Updated set with more service names
* Updated sockets with more service names
* Updated SPL with more service names
* Updated time with more service names
* Updated vi with more service names
2018-04-17 11:37:43 -04:00
shinyquagsire23
83aa38b239
file_sys: tweaks
2018-04-16 06:51:59 -06:00
shinyquagsire23
c03795300a
file_sys: Add HFS/PFS helper component
2018-04-16 04:36:25 -06:00
bunnei
44e09ba807
Merge pull request #338 from bunnei/unrequire-shared-font
...
pl_u: Use empty shared font if none is available.
2018-04-15 16:54:36 -04:00
bunnei
ac628f139d
pl_u: Use empty shared font if none is available.
...
- Makes games work in lieu of shared_font.bin.
2018-04-15 16:15:34 -04:00
bunnei
bddad50dd4
fsp_srv: Implement DeleteFile.
...
- Used by Binding of Isaac.
2018-04-15 13:15:18 -04:00
bunnei
2b9a6b3281
Merge pull request #332 from bunnei/fix-total-mem-usage
...
vm_manager: Increase GetTotalMemoryUsage value.
2018-04-14 22:29:19 -04:00
bunnei
43f0f163e1
vm_manager: Increase GetTotalMemoryUsage value.
...
- Gets Binding of Isaac running.
2018-04-14 22:04:10 -04:00
bunnei
9cab6809f2
fsp_srv: Implement IFile::Flush.
2018-04-14 19:46:09 -04:00
bunnei
c6ab2c94d9
Merge pull request #323 from Hexagon12/stub-hid
...
Service/HID: Stubbed out GetPlayerLedPattern
2018-04-13 10:58:03 -04:00
Hexagon12
e10248f308
Fixed normal params in GetDisplayResolution
2018-04-13 17:47:01 +03:00
Hexagon12
56d2958aaf
Stubbed out GetPlayerLedPattern
2018-04-13 17:05:03 +03:00
bunnei
b7369f99ec
Merge pull request #319 from Hexagon12/service-name-fix
...
Various service name fixes - part 1
2018-04-13 00:25:32 -04:00
mailwl
39f75350bb
Service/SSL: update service according switchbrew
2018-04-11 19:17:18 +03:00
Hexagon12
cc89b7bfcb
Various fixes and clang
2018-04-11 14:48:56 +03:00
Hexagon12
a155d3b7ff
Decimal change
2018-04-10 21:21:00 +03:00
Hexagon12
88f1fe79c6
Updated pctl:a with new service names.
2018-04-10 21:03:23 +03:00
Hexagon12
177bdb94df
Updated nvmemp with new service names.
2018-04-10 20:28:15 +03:00
Hexagon12
4d1a2509df
Updated nvdrv with more service names.
2018-04-10 20:26:49 +03:00
Hexagon12
ac50d2cd60
Updated pl:u with more service names.
2018-04-10 20:23:21 +03:00
Hexagon12
2d2de1422e
Updated hid with more service names.
2018-04-10 20:17:22 +03:00
Hexagon12
9e2f30ab4a
Updated friend:u with more service names.
2018-04-10 20:02:11 +03:00
Hexagon12
be50a6ceef
Updated the unknown name
2018-04-10 20:01:33 +03:00
Hexagon12
7788178f01
Updated friend:a with more service names.
2018-04-10 20:00:36 +03:00
Hexagon12
ae5e2d07c6
Updated fsp-srv with more service names.
2018-04-10 19:30:27 +03:00
Hexagon12
ee3ca32fa3
Updated CodecCtl with more service names.
2018-04-10 18:58:14 +03:00
Hexagon12
ed2da0ef70
Updated audren with more service names.
2018-04-10 18:56:57 +03:00
Hexagon12
c0011fdacd
Updated audrec with more service names.
2018-04-10 18:53:33 +03:00
Hexagon12
a886e3bc2a
Updated audout with more service names.
2018-04-10 18:51:50 +03:00
Hexagon12
4cf4a5ecdc
Updated audin with more service names.
2018-04-10 18:47:52 +03:00
Hexagon12
c79c9755b4
Updated AOC with more service names.
2018-04-10 18:42:28 +03:00
Hexagon12
434cffa37d
Updated AppletOE with more service names.
2018-04-10 18:41:17 +03:00
Hexagon12
0cc2e7d81d
Updated AppletAE with more service names.
2018-04-10 18:39:46 +03:00
Hexagon12
84d39530cf
Updated AM with more service names.
2018-04-10 18:36:00 +03:00
mailwl
3769a80fac
Service/ACC: convert to module, add acc:aa, acc:su, acc:u1 services
2018-04-10 10:18:52 +03:00
James Rowe
f16eb90b8f
Fix spelling of Initialize
2018-04-07 07:23:21 -06:00
N00byKing
358050cfc6
core, main.h: Abort on 32Bit ROMs ( #309 )
...
* core, main.h: Abort on 32Bit ROMs
* main.cpp: Fix Grammar
2018-04-06 11:06:32 -04:00
bunnei
40bccd74d3
svc: Stub out SetThreadActivity, GetThreadContext.
2018-04-02 23:51:01 -04:00
bunnei
4c0cf3d5ff
audren_u: Stub out GetActiveAudioDeviceName.
2018-04-02 23:51:00 -04:00
bunnei
3d4dfefaec
audout_u: Implement GetAudioOutState.
2018-04-02 23:51:00 -04:00
bunnei
910b02d74b
nifm: GetResult does not return a data field.
2018-04-02 23:50:59 -04:00
bunnei
9d08a11c1d
vi: Implement GetDisplayResolution.
2018-04-02 23:50:59 -04:00
bunnei
99ae9dbf49
shared_memory: Remove incorrect 3ds-specific check.
2018-04-02 23:50:58 -04:00
bunnei
9eb485702f
service: Add friend:u interface.
2018-04-02 23:50:57 -04:00
bunnei
6cd1482354
Merge pull request #276 from N00byKing/acctoyuzu
...
Change Telemetry Names to yuzu and remove links to citra
2018-04-02 18:30:04 -04:00
bunnei
c82a4df000
Merge pull request #304 from daniellimws/fix-openbsd
...
Fix build on OpenBSD
2018-04-02 18:27:19 -04:00
N00byKing
1aafb0f3a3
deconstructed_rom_directory.cpp: Fix Typo
2018-04-03 00:20:35 +02:00
Daniel Lim Wee Soong
c9845c486e
externals: Update fmt to 4d35f94
...
Versions prior to this didn't compile on OpenBSD due to unconditional
use of the non-standard strtod_l() function.
The fmt::MemoryWriter API has been removed in the intervening
versions, so replace its use with fmt::memory_buffer and fmt::format_to.
The library also no longer provides the fmt::fmt ALIAS, so define
it in externals/CMakeLists.txt.
2018-04-03 02:49:58 +08:00
bunnei
6022bc8394
Merge pull request #297 from bunnei/hid-touch-state
...
hid: Write empty touch screen state.
2018-04-02 13:05:34 -04:00
bunnei
72b90494e7
hid: Write empty touch screen state.
2018-04-01 00:12:07 -04:00
bunnei
f4ba523992
hle_ipc, fsp_srv: Cleanup logging.
2018-03-31 23:30:00 -04:00
bunnei
b6b7d78ded
hid: Stub out GetSupportedNpadStyleSet.
2018-03-31 16:06:46 -04:00
bunnei
eef097bdc7
hle_ipc: Do not ensure write buffer size.
2018-03-31 16:06:46 -04:00
bunnei
88582b84a5
fsp_srv: Implement GetSize and SetSize.
2018-03-31 16:06:45 -04:00
bunnei
b27ab46bde
memory: Fix stack region.
2018-03-31 16:06:45 -04:00
bunnei
86095e62cc
audren_u: Stub QueryAudioDeviceSystemEvent and GetActiveChannelCount.
2018-03-29 21:23:24 -04:00
bunnei
f6893969b3
svc: Stub GetThreadCoreMask.
2018-03-29 21:23:15 -04:00
bunnei
deaf6f9e35
service: Add NFP module interface.
...
service: Initialize NFP service.
Log: Add NFP service as a log subtype.
2018-03-29 21:22:44 -04:00
Lioncash
36e60c217a
result: Check against self-assignment in ResultVal's copy assignment operator
...
Avoids doing work that doesn't need to be done.
2018-03-28 18:02:44 -04:00
N00byKing
98f0352728
telemetry_session.h: Reword Documentation Comment from citra to yuzu
2018-03-27 11:16:59 +02:00
N00byKing
8004af0d05
Change Telemetry Names to yuzu
2018-03-27 11:16:59 +02:00
bunnei
212a6ab937
settings: Remove unused CpuCore class.
2018-03-26 23:14:44 -04:00
bunnei
94f4009c3b
config: Use simplified checkbox (from Citra) for CPU JIT.
2018-03-26 23:02:37 -04:00
bunnei
5ecf152c8e
config: Rename is_docked to use_docked_mode to be consistent with other config bools.
2018-03-26 23:02:36 -04:00
bunnei
12b05c719e
config: Add setting for whether the system is docked or not.
2018-03-26 23:02:35 -04:00
bunnei
d4fb8a887c
memory: Fix cast for ReadBlock/WriteBlock/ZeroBlock/CopyBlock.
2018-03-26 21:17:01 -04:00
bunnei
d732142b66
memory: Add RasterizerMarkRegionCached code and cleanup.
2018-03-26 21:16:57 -04:00
bunnei
8c8da93693
Merge pull request #280 from bunnei/misc-service-fixes
...
Minor changes to VI, PL, HID, and AUDREN
2018-03-25 17:07:06 -04:00
bunnei
e9315ace9f
Merge pull request #273 from Subv/textures
...
GPU: Added code to unswizzle textures and ported the surface viewer from citra
2018-03-25 16:28:24 -04:00
mailwl
692639e9b7
Service/sockets: add bsd:s, nsd:a, nsd:u services
2018-03-25 12:41:00 +03:00
bunnei
6f27edccb2
audren_u: Fix GetAudioDevice.
2018-03-25 03:24:20 -04:00
bunnei
bde3e667be
hid: Stub out SetNpadJoyAssignmentModeDual.
2018-03-25 03:24:05 -04:00
bunnei
868f7f18b9
pl_u: Add RequestLoad.
2018-03-25 03:23:52 -04:00
Subv
0ce52b1da2
GPU: Make the debug_context variable a member of the frontend instead of a global.
2018-03-24 23:35:06 -05:00
MerryMage
88c9608eac
arm_dynarmic: Fix timing
2018-03-24 09:02:19 +00:00
bunnei
a10baacf9e
Merge pull request #265 from bunnei/tegra-progress-2
...
Tegra progress 2
2018-03-23 23:30:48 -04:00
bunnei
a397a9e9a4
Merge pull request #255 from Subv/sd_card
...
FS: Implemented access to the SD card
2018-03-23 20:48:26 -04:00
bunnei
054393917e
renderer_opengl: Fixes for properly flushing & rendering the framebuffer.
2018-03-23 15:49:04 -04:00
bunnei
b5f3e7951b
memory: Fix typo in RasterizerFlushVirtualRegion.
2018-03-23 15:46:21 -04:00
Subv
4c06d55a81
FS: Move the file open mode calculation to a separate function.
2018-03-23 14:27:07 -05:00
bunnei
1a158dfcd6
memory: RasterizerFlushVirtualRegion should also check process image region.
2018-03-23 15:10:02 -04:00
bunnei
11047d7fd5
rasterizer: Flush and invalidate regions should be 64-bit.
2018-03-23 15:01:45 -04:00
bunnei
ec4e1a3685
renderer_opengl: Better handling of framebuffer transform flags.
2018-03-23 14:58:27 -04:00
mailwl
9ee33350de
Service/SSL: add ssl service
2018-03-23 09:32:50 +03:00
bunnei
e12c2cf8c6
nvdisp_disp0: Always flush and invalidate framebuffer region.
...
- Workaround for texture forwarding until we have a better place.
2018-03-22 23:18:04 -04:00
bunnei
63d3924b5b
memory: Port RasterizerFlushVirtualRegion from Citra.
2018-03-22 22:56:41 -04:00
bunnei
bfe45774f1
video_core: Move FramebufferInfo to FramebufferConfig in GPU.
2018-03-22 21:04:30 -04:00
N00byKing
8afdbf6a1f
Remove more N3DS References
2018-03-22 21:25:06 +01:00
mailwl
95e747cd06
Service/spl: add module and services
2018-03-22 09:55:14 +03:00
Subv
eff3f60b73
FS: Implemented IFileSystem::CreateDirectory.
2018-03-21 09:55:59 -05:00
mailwl
6673ed1274
Service/vi: convert services to module
2018-03-21 13:09:40 +03:00
mailwl
dca7cfb9cf
Service: add fatal:u, fatal:p services
2018-03-20 16:59:02 +03:00
Subv
0485ee499f
FS: Implemented IFileSystem's OpenDirectory function.
...
Note that the filter parameter is not yet implemented.
2018-03-19 23:02:30 -05:00
Subv
21bac2d7d7
FS: Added the IDirectory IPC interface and implemented its two functions.
2018-03-19 23:01:47 -05:00
Subv
6d90d99d12
FS: Implement DiskFileSystem's OpenDirectory interface.
2018-03-19 23:00:37 -05:00
Subv
e1d7b9fc2c
FS: Implement DiskFileSystem::GetEntryType for existing files/directories.
2018-03-19 22:59:38 -05:00
Subv
a9ba2c2000
FS: Updated the Directory Entry structure to match the Switch.
2018-03-19 22:58:55 -05:00
Subv
fc44261dd1
FS: Support the file Append open mode.
2018-03-19 22:57:34 -05:00
Subv
808704c78c
FS: Implement MountSdCard.
2018-03-19 21:21:49 -05:00
Subv
c4ca802b9d
FS: Added an SDMC archive factory and registered it to the SDMC archive on startup.
2018-03-19 21:17:15 -05:00
N00byKing
1d8b6ad13b
Clang Fixes
2018-03-19 17:53:35 +01:00
N00byKing
d16e08454d
oops
2018-03-19 17:43:04 +01:00
N00byKing
0e72d0d826
More Warning cleanups
2018-03-19 17:27:04 +01:00
N00byKing
ef875d6a35
Clean Warnings (?)
2018-03-19 17:07:08 +01:00
bunnei
23a0d2d7b7
Merge pull request #193 from N00byKing/3184_2_robotic_boogaloo
...
Implement Pull #3184 from citra: core/arm: Improve timing accuracy before service calls in JIT (Rebased)
2018-03-18 22:35:47 -04:00
bunnei
c1c92c30f9
vi: Remove DequeueBuffer and wait until next available buffer.
2018-03-18 20:56:35 -04:00
bunnei
c86af6939c
hle_ipc: Add SleepClientThread to block current thread within HLE routines.
2018-03-18 20:56:34 -04:00
bunnei
2faa83ca13
hle_ipc: Use shared_ptr instead of unique_ptr to allow copies.
2018-03-18 20:56:33 -04:00
bunnei
019f1a0cf0
hle_ipc: Remove GetPointer(..) usage with WriteToOutgoingCommandBuffer.
2018-03-18 20:56:33 -04:00
bunnei
e353b9fb3d
thread: Add THREADSTATUS_WAIT_HLE_EVENT, remove THREADSTATUS_WAIT_ARB.
2018-03-18 20:56:32 -04:00
bunnei
494275fd38
nvflinger: Remove superfluous buffer format check.
2018-03-16 20:11:50 -04:00
bunnei
cc6f22e0e4
process: MirrorMemory should use MemoryState::Mapped.
2018-03-16 19:24:54 -04:00
bunnei
e9a857ce82
process: Unmap previously allocated heap.
2018-03-16 18:32:25 -04:00
bunnei
403f8e79ea
arm_interface: Support unmapping previously mapped memory.
2018-03-16 18:32:24 -04:00
bunnei
34a29ad051
svc: Use more correct values for GetInfo MapRegion and NewMapRegion.
2018-03-16 18:32:23 -04:00
bunnei
8581404482
kernel: Move stack region outside of application heap.
2018-03-16 18:32:23 -04:00
bunnei
69ee9edd8d
memory: Add regions for map region, "new" map region, etc.
2018-03-16 18:32:22 -04:00
bunnei
3923b0f589
process: Fix stack memory state.
2018-03-16 18:32:21 -04:00
bunnei
8be7131033
MemoryState: Add additional memory states and improve naming.
2018-03-16 18:32:21 -04:00
mailwl
fbfa7ddd62
IGeneralService: fix function list
2018-03-16 16:34:12 +03:00
mailwl
9289255314
Service/NIFM: stub cancel function
2018-03-16 11:08:22 +03:00
mailwl
ec030a542f
Service/NIFM: convert to module
2018-03-16 11:00:29 +03:00
bunnei
7d6653268f
core: Move process creation out of global state.
2018-03-14 18:42:19 -04:00
bunnei
80562aaf64
Merge pull request #229 from Subv/ensuresavedata_impl
...
FS: Make EnsureSaveData create the save data if it doesn't already exist.
2018-03-04 15:49:42 -05:00
Subv
84e1c0a430
FS: Use the correct error code when trying to open files that don't exist.
2018-03-04 14:34:48 -05:00
Subv
e4b7a1d160
FS: Stubbed CreateSaveData. It currently does nothing.
2018-03-04 14:31:57 -05:00
Subv
0eefe6e4d1
FS: Make EnsureSaveData create the savedata folder when called for the first time.
2018-03-04 14:30:07 -05:00
Subv
248881fa7f
CoreTiming: Unschedule the pending events when an Interface is destroyed.
2018-03-04 10:34:25 -05:00
bunnei
7e7110b3b9
Merge pull request #226 from Subv/buffer_queue_event
...
Vi: Signal the BufferQueue's Native Handle right after ReleaseBuffer is called
2018-03-03 12:38:18 -05:00
Subv
656e7aab29
Vi: Signal the BufferQueue's Native Handle right after ReleaseBuffer is called.
...
This prevents a thread starvation issue in Puyo Puyo Tetris.
We should hwtest this behavior and figure out where exactly this event is signaled.
2018-03-03 11:51:36 -05:00
mailwl
28669872d9
Service/Set: add more services
2018-03-03 09:03:49 +03:00
bunnei
46fc7d8502
Merge pull request #216 from Subv/savedata
...
Implemented the SaveData archive and MountSaveData.
2018-03-01 22:14:31 -05:00
Subv
3209cff530
SaveData: Use the current titleid when opening the savedata archive.
2018-03-01 19:03:54 -05:00
Subv
827f8ca3c7
Kernel: Store the program id in the Process class instead of the CodeSet class.
...
There may be many CodeSets per Process, so it's wasteful and overcomplicated to store the program id in each of them.
2018-03-01 19:03:53 -05:00
Subv
cc6e4ae6cf
FS: Implement MountSaveData and some of the IFile interface.
2018-03-01 19:03:53 -05:00
Subv
d140c8ecf7
Filesystem: Added a SaveData Factory and associated Disk_FileSystem.
2018-03-01 19:03:52 -05:00
Jules Blok
c74af07c49
thread: Clear the process list on shutdown.
2018-02-27 17:13:39 +01:00
Subv
6e38081165
ResultCode: Mark any error code that isn't 0 as an error.
2018-02-27 09:44:35 -05:00
bunnei
926604fc14
Merge pull request #207 from mailwl/duplicatesession
...
IPC: add domain header to response if only it exists in request
2018-02-26 20:52:56 -08:00
bunnei
f1beb69899
Merge pull request #215 from N00byKing/umapsharedmmry
...
UnmapSharedMemory
2018-02-25 21:04:24 -08:00
shinyquagsire23
e29710818f
file_sys: Style tweaks
...
Asdf
2018-02-25 16:34:29 -07:00
shinyquagsire23
487f8bc018
loader: Check error on NPDM load, use TID for CodeSet
2018-02-25 07:41:36 -07:00
shinyquagsire23
fd3806fd30
loader: Use NPDM information when loading NSOs
2018-02-25 07:02:47 -07:00
shinyquagsire23
2b28fd7809
file_sys: Add support for parsing NPDM files
2018-02-25 07:02:39 -07:00
N00byKing
08c6ac02cf
(Hopefully) Fix MinGW Build
2018-02-25 13:40:22 +01:00
N00byKing
bc88cae0c7
Implements citra-emu/citra#3184
2018-02-25 11:44:21 +01:00
N00byKing
2b41c6e573
Add UnmapSharedMemory
...
C++11 requires spaces on the Identifier
Add inttypes include
clang
2018-02-25 11:38:06 +01:00
bunnei
c45173c9a6
Merge pull request #212 from mailwl/stubs
...
Stub some functions
2018-02-23 21:09:56 -08:00
bunnei
32c509b82d
Merge pull request #217 from shinyquagsire23/time-s-missing
...
time: Add missing time:s functions, used for libnx
2018-02-23 08:52:37 -08:00
bunnei
6bf7108545
Merge pull request #210 from MerryMage/f/dynarmic/sysreg
...
arm_dynarmic: Implement system registers and provide more hooks
2018-02-23 08:51:52 -08:00
shinyquagsire23
a63d4fa5b4
time: Add missing time:s functions, used for libnx
2018-02-23 00:34:15 -07:00
mailwl
e4f94ee30b
Stub more functions
2018-02-22 17:28:15 +03:00
mailwl
910198a29a
Stub am::SetScreenShotPermission, and bsd::StartMonitoring functions
2018-02-22 13:04:23 +03:00
bunnei
7f0ecbf859
Merge pull request #211 from shinyquagsire23/time_local
...
time: Add GetStandardLocalSystemClock, used by libnx
2018-02-22 01:09:01 -05:00
shinyquagsire23
944132dbe5
time: Add GetStandardLocalSystemClock, used by libnx
2018-02-21 18:43:05 -07:00
MerryMage
32d127ad3e
dynarmic: Update to 6b4c6b0
...
6b4c6b0 impl: Update PC when raising exception
7a1313a A64: Implement FDIV (vector)
b2d781d system: Raise exception for YIELD, WFE, WFI, SEV, SEVL
b277bf5 Correct FPSR and FPCR
7673933 A64: Implement USHL
8d0e558 A64: Implement UCVTF (vector, integer), scalar variant
da9a4f8 A64: Partially implement FCVTZU (scalar, fixed-point) and FCVTZS (scalar, fixed-point)
7479684 A64: Implement system register TPIDR_EL0
0fd75fd A64: Implement system registers FPCR and FPSR
31e370c A64: Implement system register CNTPCT_EL0
9a88fd3 A64: Implement system register CTR_EL0
1d16896 A64: Implement NEG (vector)
3184edf IR: Add IR instruction ZeroVector
31f8fbc emit_x64_floating_point: Add maybe_unused to preprocess parameter
567eb1a A64: Implement FMINNM (scalar)
c6d8fa1 A64: Implement FMAXNM (scalar)
616056d constant_pool: Add frame parameter
a3747cb A64: Implement ADDP (scalar)
5cd5d9f reg_alloc: Only exchange GPRs
dd0452a A64: Implement DUP (element), scalar variant
e5732ea emit_x64_floating_point: Correct FP{Max,Min}{32,64} implementations for -0/+0
40eb9c3 A64: Implement FMAX (scalar), FMIN (scalar)
7cef39b fuzz_with_unicorn: QEMU's implementation of FCVT is incorrect
826dce2 travis: Switch unicorn repository
9605f28 a64/config: Allow NaN emulation accuracy to be set
e9435bc a64_emit_x64: Add conf to A64EmitContext
30b596d fuzz_with_unicorn: Explicitly test floating point instructions
be292a8 A64: Implement FSQRT (scalar)
3c42d48 backend_x64: Accurately handle NaNs
4aefed0 fuzz_with_unicorn: Print AArch64 disassembly
2018-02-21 21:39:07 +00:00
MerryMage
e8b9731af3
arm_dynarmic: LOG_INFO on unicorn fallback
2018-02-21 21:39:07 +00:00
MerryMage
cc368de1a0
memory: LOG_ERROR when falling off end of page table
2018-02-21 21:39:07 +00:00
MerryMage
1cdc74c5e9
core: Fix scheduler-shutdown related crash
2018-02-21 16:38:18 +00:00
mailwl
1289a3c3c1
Add warning if Domain request has no domain message header
2018-02-20 22:51:54 +03:00
mailwl
827152d1fd
Fix: change check for domain order and existance of domain message header
2018-02-20 21:59:58 +03:00
mailwl
1572c45aa0
IPC: add domain header to response if only it exists in request
2018-02-20 19:27:49 +03:00
bunnei
6a2197806e
Merge pull request #206 from mailwl/aoc-listaddoncontent
...
Service/AOC: stub ListAddOnContent function
2018-02-20 10:45:50 -05:00
mailwl
46931a9566
Service/AOC: stub ListAddOnContent function
2018-02-20 10:30:12 +03:00
bunnei
678574972a
acc_u0: Stub ListOpenUsers service function.
2018-02-19 17:39:41 -05:00
bunnei
7bee3427d0
service: Add Friend service interface.
2018-02-19 17:34:02 -05:00
bunnei
23fe6f5be3
Merge pull request #202 from bunnei/scheduler-cleanup
...
Scheduler cleanup
2018-02-19 17:23:05 -05:00
bunnei
8db80d8389
scheduler: Cleanup based on PR feedback.
2018-02-19 16:46:42 -05:00
Subv
5ab285f1f9
AM: Corrected the response in EnsureSaveData.
...
The values are still unknown and the function is still considered a stub.
Puyo Puyo Tetris now tries to call fsp-srv:MountSaveData.
2018-02-18 18:09:52 -05:00
bunnei
ac81c02ed9
kernel: Use Scheduler class for threading.
2018-02-18 15:17:16 -05:00
bunnei
c78d495161
kernel: Add Scheduler, which encapsulates the scheduling loading from Thread module.
2018-02-18 14:58:40 -05:00
bunnei
2d4a6883bc
core: Use shared_ptr for cpu_core.
2018-02-18 14:52:09 -05:00
bunnei
cec0d4f191
kernel: Remove unused address_arbiter code.
2018-02-18 14:46:11 -05:00
bunnei
ec39c9eb32
Merge pull request #201 from Subv/ipc_delay_
...
Kernel/IPC: Add a small delay after each SyncRequest to prevent thread starvation.
2018-02-18 14:11:34 -05:00
bunnei
5babad5de5
Merge pull request #200 from Subv/bufferproducerfence
...
Make the fence handling in Vi a little less of a hack.
2018-02-18 14:11:04 -05:00
Subv
94ee8fc97b
Kernel/IPC: Add a small delay after each SyncRequest to prevent thread starvation.
...
Ported from citra PR #3091
The delay specified here is from a Nintendo 3DS, and should be measured in a Nintendo Switch.
This change is enough to prevent Puyo Puyo Tetris's main thread starvation.
2018-02-18 13:25:48 -05:00
Subv
416f692f6e
nvmap: Make IocFromId return the same existing handle instead of creating a new one.
...
Games like Puyo Puyo Tetris and BOTW seem to depend on the buffer always having the same handle
2018-02-17 14:01:01 -05:00
Subv
d758332425
Parcel: Ensure we don't read past the end of the parcels in Vi.
2018-02-17 14:00:44 -05:00
Subv
2662de6e52
Vi: Mark all fences as NO_FENCE in the DequeueBuffer response parcel.
2018-02-17 14:00:30 -05:00
Subv
1b64160d83
Vi: Always write the IGBPBuffer in the RequestBuffer response parcel.
...
This may break libnx homebrew due to a bug in libnx but is required by official games since they always assume that the buffer will be there.
2018-02-17 13:59:45 -05:00
mailwl
6797d4a907
Service/hid: stub some functions
2018-02-16 06:15:05 +03:00
Subv
7a1917e0fd
nvhost-ctrl: Stub NVHOST_IOCTL_CTRL_EVENT_WAIT.
2018-02-14 22:57:57 -05:00
Subv
35d0d06885
Vi: Mark the fences as valid in the DequeueBuffer response parcel.
2018-02-14 22:57:56 -05:00
Subv
d18446f63a
Vi: Added a missing u32 in the DequeueBuffer response parcel.
2018-02-14 22:57:56 -05:00
Subv
b78ffc4abf
Vi: Don't write the IGBPBuffer in the IGBPRequestBufferResponseParcel.
2018-02-14 22:57:55 -05:00
Subv
8dee5663b3
Vi: Properly write the BufferProducerFence object in the DequeueBuffer response parcel.
2018-02-14 22:57:54 -05:00
bunnei
df008a159b
shared_memory: Remove some checks.
2018-02-14 22:24:06 -05:00
bunnei
42c062c620
pl_u: Implement basic shared font loading from RAM dump.
2018-02-14 22:22:41 -05:00
bunnei
e017184445
hid: Stub GetVibrationDeviceInfo and SendVibrationValues.
2018-02-14 21:16:27 -05:00
bunnei
db873a232c
Merge pull request #188 from bunnei/refactor-buffer-descriptor
...
Refactor IPC buffer descriptor interface
2018-02-14 18:31:53 -05:00
bunnei
88bfec37ce
hle_ipc: Remove const from WriteBuffer size.
2018-02-14 14:21:10 -05:00
James Rowe
61c39f0fdd
Fix fps counter to correctly measure frame end when there was no frame to draw
2018-02-14 10:16:39 -07:00
Lioncash
fe0775d2f4
memory: Silence formatting sepecifier warnings
2018-02-14 01:54:54 -05:00
Lioncash
e6bf72877f
nso: Silence formatting specifier warnings
2018-02-14 01:52:55 -05:00
Lioncash
2ade136ff4
deconstructed_rom_directory: Silence formatting specifier warnings
2018-02-14 01:52:55 -05:00
Lioncash
eba57fce88
nvdrv/interface: Silence formatting specifier warnings
2018-02-14 01:52:55 -05:00
Lioncash
ee170cbcea
nvmap: Silence formatting specifier warnings
2018-02-14 01:52:55 -05:00
Lioncash
983777a317
nvhost_gpu: Silence formatting specifier warnings
2018-02-14 01:52:55 -05:00
Lioncash
2d388a75f0
nvhost_ctrl: Silence formatting specifier warnings
2018-02-14 01:52:54 -05:00
Lioncash
ce1fe0387f
nvhost_ctrl_gpu: Silence formatting specifier warnings
2018-02-14 01:52:54 -05:00
Lioncash
dc97117a0b
nvhost_as_gpu: Silence formatting specifier warnings
2018-02-14 01:52:49 -05:00
Lioncash
c1146d2a5f
thread: Silence formatting specifier warnings
2018-02-14 01:50:14 -05:00
Lioncash
1e33db8573
vm_manager: Silence formatting specifier warnings
2018-02-14 01:50:14 -05:00
Lioncash
51ce224a96
gdbstub: Silence formatting specifier warnings
2018-02-14 01:50:01 -05:00
bunnei
6fd19f05f1
hle_ipc: Add GetReadBufferSize and check write buffer size.
2018-02-14 00:14:17 -05:00
bunnei
516a95721c
service: Remove remaining uses of BufferDescriptor*.
2018-02-13 23:54:13 -05:00
bunnei
d6e52581ac
audio: Use WriteBuffer instead of BufferDescriptorB.
2018-02-13 23:54:12 -05:00
bunnei
f16bb1dfcf
vi: Eliminate direct usage of BufferDescriptorB.
2018-02-13 23:54:12 -05:00
bunnei
d42e77797e
nvdrv: Use ReadBuffer/WriteBuffer functions for Ioctl.
2018-02-13 23:54:12 -05:00
bunnei
8f84665775
vi: Use ReadBuffer/WriteBuffer functions for TransactParcel.
2018-02-13 23:54:11 -05:00
bunnei
fc1b425520
hle_ipc: Add helper functions for reading and writing buffers.
2018-02-13 23:54:07 -05:00
bunnei
1ce6fff064
hle_ipc: Add helper functions for reading and writing buffers.
2018-02-13 23:26:03 -05:00
bunnei
4f8ee5e456
vi: Fix TransactParcelAuto to support both buffer formats.
2018-02-13 23:26:01 -05:00
bunnei
0a55eb588b
audren_u: Schedule reoccuring event. ( #183 )
...
* audren_u: Schedule reoccuring event.
* audren_u: Stub GetAudioRenderersProcessMasterVolume, and misc. changes.
2018-02-13 20:47:33 -05:00
bunnei
826e9c9782
Merge pull request #181 from bunnei/vi-fixes-2
...
VI cleanup and add a hack for booting games
2018-02-13 19:17:27 -05:00
bunnei
87c3c93464
Merge pull request #184 from mailwl/lm
...
Service/lm: add support to multiline logs
2018-02-13 10:29:33 -05:00
mailwl
55de13efcc
Service/lm: add support to multiline logs
2018-02-13 09:44:53 +03:00
bunnei
91e19deb39
vi: Add FENCE_HACK, which is useful for booting BOTW.
2018-02-12 21:24:40 -05:00
bunnei
a9e4e8294a
vi: Stub TransactParcel CancelBuffer.
2018-02-12 21:24:39 -05:00
bunnei
4f969e2271
TransactParcel: Move WriteBlock to narrowest scope.
2018-02-12 21:24:38 -05:00
MerryMage
6085d32cf5
arm_dynarmic: Support direct page table access
2018-02-12 21:53:32 +00:00
bunnei
ce8006e851
Merge pull request #179 from gdkchan/audren_stubs
...
Stub RequestUpdateAudioRenderer, StartAudioRenderer and StopAudioRenderer
2018-02-12 16:33:30 -05:00
gdkchan
3160f83607
Add RequestUpdateAudioRenderer, StartAudioRenderer and StopAudioRenderer stubs to audren:u
2018-02-12 17:44:55 -03:00
bunnei
be5ba4d952
Merge pull request #178 from Subv/command_buffers
...
GPU: Added a command processor to decode the GPU pushbuffers and forward the commands to their respective engines
2018-02-12 13:51:52 -05:00
Subv
6cddf9d88e
Make a GPU class in VideoCore to contain the GPU state.
...
Also moved the GPU MemoryManager class to video_core since it makes more sense for it to be there.
2018-02-11 23:44:12 -05:00
Subv
e01a8f2187
GPU: Added a command processor to decode the GPU pushbuffers and forward the commands to their respective engines.
2018-02-11 22:42:48 -05:00
Subv
ba2426aa3f
nvdrv: Make the GPU memory manager available to nvhost-gpu.
2018-02-11 21:30:23 -05:00
bunnei
6fce1414c3
vi: Parse IGBPQueueBufferRequestParcel params and expose buffer flip vertical.
2018-02-11 21:00:41 -05:00
bunnei
068744db1b
vi: Fix OpenLayer and CreateStrayLayer.
2018-02-11 17:28:07 -05:00
bunnei
8e7da73214
fsp_srv: Stub MountSdCard.
2018-02-09 23:33:50 -05:00
bunnei
0532de6559
apm: Refactor service impl. to support multiple ports.
2018-02-09 23:33:49 -05:00
bunnei
c83a1b2320
vi: Implement TransactParcelAuto.
2018-02-09 23:33:49 -05:00
bunnei
725304094e
nvflinger: (Hack) Use first available buffer if none are found.
2018-02-09 23:33:49 -05:00
bunnei
63de56ee0f
IGBPQueueBufferRequestParcel: Don't enforce buffer length.
...
- Another fix for libnx.
2018-02-09 23:33:49 -05:00
bunnei
309276a317
IGBPRequestBufferResponseParcel: Fix response for libnx.
2018-02-09 23:33:43 -05:00
bunnei
1add3b20c4
Merge pull request #171 from bunnei/libnx-fixes
...
Various fixes for libnx, etc.
2018-02-09 15:51:43 -05:00
bunnei
22caeee64f
nvdrv: Fix QueryEvent for libnx.
2018-02-09 00:56:45 -05:00
bunnei
576f0cf027
IApplicationDisplayService::CloseDisplay: Fix response params size.
2018-02-08 23:20:23 -05:00
bunnei
ca99063600
nvhost_ctrl_gpu: Implement ZCullGetInfo.
2018-02-08 23:17:59 -05:00
MerryMage
d3bbed5e78
dynarmic: Update to 41ae12263
...
Changes: Primarily implementing more A64 instructions
2018-02-09 00:29:36 +00:00
bunnei
dc0a137e5b
acc_u0: Implement ListAllUsers.
2018-02-08 18:59:23 -05:00
bunnei
a39a65cbe0
nvhost_as_gpu: Implement AllocateSpace and MapBufferEx.
2018-02-07 23:31:28 -05:00
bunnei
c711253798
nvdrv: Add MemoryManager class to track GPU memory.
2018-02-07 23:31:26 -05:00
bunnei
196f8dff08
nvmap: Refactor to expose nvmap objects.
2018-02-07 22:55:12 -05:00
bunnei
703880c9ab
nvhost_as_gpu: Add nvmap as a class member.
2018-02-07 22:55:09 -05:00
mailwl
335096e19a
Service: stub some functions in am, audio, time, vi services
2018-02-07 15:11:17 +03:00
mailwl
8d300b2d7e
Service/hid: stub SetNpadHandheldActivationMode
2018-02-06 10:47:00 +03:00
bunnei
1cd9438945
Merge pull request #165 from bunnei/puyo-fixes
...
Stubs for HID, AM, and a mutex fix
2018-02-05 20:14:40 -08:00
bunnei
903beb43a8
mutex: Update hasWaiters on release.
2018-02-05 21:54:10 -05:00
bunnei
1963222933
hid: Stub ActivateTouchScreen and SetNpadJoyHoldType.
2018-02-05 21:53:11 -05:00
David
d129905a66
Extra nvdrv support ( #162 )
...
* FinishInitalize needed for 3.0.1+ games
* nvdrv:s and nvdrv:t both use NVDRV
* Most settings return 0 on hardware, disabled NV_MEMORY_PROFILER for now.
NVN_THROUGH_OPENGL & NVRM_GPU_PREVENT_USE are a few interesting settings to look at. Carefully choosing settings can help with drawing graphics later on
* Initial /dev/nvhost-gpu support
* ZCullBind
* Stubbed SetErrorNotifier
* Fixed SetErrorNotifier log, Added SetChannelPriority
* Allocate GPFIFO Ex2, Allocate Obj Ctx, Submit GPFIFO
* oops
* Fixed up naming/structs/enums. Used vector instead of array for "gpfifo_entry"
* Added missing fixes
* /dev/nvhost-ctrl-gpu
* unneeded struct
* Forgot u32 in enum class
* Automatic descriptor swapping for ioctls, fixed nvgpu_gpu_get_tpc_masks_args being incorrect size
* nvdrv#QueryEvent
* Renamed logs for nvdrv
* Refactor ioctl so nv_result isn't needed
* /dev/nvhost-as-gpu
* Fixed Log service naming, CtxObjects now u32, renamed all structs, added static_asserts to structs, used INSERT_PADDING_WORDS instead of u32s
* nvdevices now uses "Ioctl" union,
* IoctlGpfifoEntry now uses bit field
* final changes
2018-02-05 18:19:31 -08:00
bunnei
c83f69841f
IApplicationFunctions: Stub out EnsureSaveData.
2018-02-05 20:58:11 -05:00
bunnei
294b2b2c17
Merge pull request #164 from ogniK5377/libnx_sm_fix
...
Don't call UNIMPLEMENTED for 'empty services', just return error code
2018-02-05 14:01:46 -08:00
David Marcec
22bc951d7e
Dont call UNIMPLEMENTED for 'empty services', just return error code
2018-02-05 02:03:22 -08:00
David Marcec
f9ba5a7e11
Changed .istorage to .romfs
2018-02-05 00:01:10 -08:00
bunnei
1d51b25ed1
set: GetAvailableLanguageCodes should not return lang_codes size.
2018-02-04 23:42:43 -05:00
bunnei
fe99052599
nvflinger: Signal BufferQueue native handle event.
...
- This gets BOTW booting.
2018-02-04 23:00:35 -05:00
bunnei
8e1dbb26bd
logger: Add Time service logging category.
2018-02-04 22:59:52 -05:00
bunnei
c689fe8424
logger: Add SET service logging category.
2018-02-04 22:55:45 -05:00
bunnei
fc1359dc03
logger: Add PCTL service logging category.
2018-02-04 22:44:00 -05:00
bunnei
649960b4eb
logger: Add LM service logging category.
2018-02-04 22:41:55 -05:00
bunnei
8d2e4c3d39
logger: Add APM service logging category.
2018-02-04 22:39:47 -05:00
bunnei
69697535bf
lm: Ensure log string is non-empty before checking back().
2018-02-04 22:36:57 -05:00
bunnei
485c6541cf
logger: Add NIFM service logging category.
2018-02-04 22:35:42 -05:00
bunnei
8a5833f7ad
logger: Add VI service logging category.
2018-02-04 22:26:44 -05:00
bunnei
119f02a439
hid: Stub out several functions.
2018-02-04 22:24:20 -05:00
bunnei
ad97414057
hid: Implement CreateActiveVibrationDeviceList.
2018-02-04 17:06:14 -05:00
bunnei
ea615ef5a4
logger: Use Service_HID category where applicable.
2018-02-04 17:02:39 -05:00
bunnei
764bbaa19c
logger: Use Service_NVDRV category where applicable.
2018-02-04 17:00:33 -05:00
bunnei
65cfe09b62
logger: Add AM service logging category.
2018-02-04 16:58:12 -05:00
bunnei
a947f16b63
logger: Add "account" service logging category.
2018-02-04 16:40:12 -05:00
bunnei
6674e8e048
acc_u0: Stub out GetLastOpenedUser.
2018-02-04 16:32:01 -05:00
bunnei
1ddc18454e
Merge pull request #160 from bunnei/svc-improvements
...
Several SVC fixes and improvements
2018-02-04 13:25:05 -08:00
bunnei
42fc437268
GetInfo: Implement IsCurrentProcessBeingDebugged.
2018-02-04 12:34:45 -05:00
bunnei
0b6b147939
WaitProcessWideKeyAtomic: Handle case where condition variable was already created.
2018-02-04 12:30:51 -05:00
mailwl
272058d7d9
acc:u0 : stub GetAccountId
2018-02-04 09:55:25 +03:00
bunnei
647364db8f
svc: SharedMemory size should be 64-bits and cleanup.
2018-02-03 13:36:54 -05:00
bunnei
f9c9ce2005
ArbitrateLock: Assert that requesting_thread is current_thread.
2018-02-03 13:29:18 -05:00
bunnei
abc4be8e0f
Merge pull request #157 from bunnei/fix-duplicate-session
...
controller: DuplicateSession should return a ClientSession.
2018-02-03 10:25:01 -08:00
bunnei
72c5bfb1fa
controller: DuplicateSession should return a ClientSession.
2018-02-03 12:09:33 -05:00
mailwl
f67a8d87a0
Service:nifm: add nifm:a, nifm:s and nifm:u services
2018-02-03 18:09:51 +03:00
mailwl
1a8f5bfb8e
Service/am: Add AppletAE service ( #153 )
...
* Add AppletAE, step 1: move common interfaces to am.h
* Add AppletAE, step 2
2018-02-02 13:03:40 -08:00
bunnei
5ad9b3e19d
Merge pull request #154 from mailwl/vi_create_stray_array
...
vi::CreateStrayLayer : add padding to request
2018-02-02 09:01:21 -08:00
bunnei
1909802156
Merge pull request #155 from mailwl/vi-services
...
Services/vi: add vi:s and vi:u services
2018-02-02 09:00:31 -08:00
bunnei
2e6776909b
Merge pull request #152 from shinyquagsire23/sharedmem-valid-bounds
...
shared_memory: Only mark addresses as invalid if they are within the heap
2018-02-02 08:59:45 -08:00
mailwl
524c12a5f8
Services/vi: add vi:s and vi:u services
2018-02-02 12:59:50 +03:00
mailwl
58601abd1c
vi::CreateStrayLayer : add padding to request
2018-02-02 12:03:02 +03:00
shinyquagsire23
96c444d1ff
shared_memory: Only mark addresses as invalid if they are within the heap
2018-01-29 23:38:56 -07:00
mailwl
eaa9f968a6
[WIP] sfdnsres: stub ( #146 )
...
sfdnsres: Add several stubs
2018-01-29 22:29:47 -08:00
bunnei
c1a8e4bfe4
Merge pull request #148 from MerryMage/feature/special-memory
...
memory: Replace all memory hooking with Special regions
2018-01-27 15:20:53 -05:00
MerryMage
738f91a57d
memory: Replace all memory hooking with Special regions
2018-01-27 15:16:39 +00:00
bunnei
3258db29da
time: Implement ISteadyClock::GetCurrentTimePoint.
2018-01-25 21:29:39 -05:00
bunnei
de177f6692
audout_u: Various cleanups.
2018-01-24 22:38:19 -05:00
bunnei
714a576113
ResponseBuilder: Use a bit field for customizing instead of always_move_handles.
2018-01-24 22:24:20 -05:00
bunnei
f0b6baf3ad
time: Stub GetSystemClockContext function.
2018-01-24 22:24:18 -05:00
bunnei
7588b24f46
server_session: Fix scenario where all domain handlers are closed.
2018-01-24 22:24:16 -05:00
bunnei
1b1d399e5f
hle: Rename RequestBuilder to ResponseBuilder.
2018-01-24 22:24:10 -05:00
bunnei
f9dae99006
service: Fix all incorrect IPC response headers.
2018-01-24 22:21:33 -05:00
bunnei
f0035420d7
ipc_helpers: Make interface domain agnostic and add header validation.
2018-01-24 22:19:01 -05:00
bunnei
27bad0598a
hle: Integrate Domain handling into ServerSession.
2018-01-24 22:18:56 -05:00
bunnei
67758857e4
hle: Remove Domain and SyncObject kernel objects.
2018-01-24 22:18:54 -05:00
bunnei
932fa94af7
handle_table: Remove ConvertSessionToDomain.
2018-01-24 22:18:51 -05:00
st4rk
44eb840232
audout:u OpenAudioOut and IAudioOut ( #138 )
...
* Updated the audout:u and IAudioOut, now it might work with RetroArch without trigger an assert, however it's not the ideal implementation
* Updated the audout:u and IAudioOut, now it might work with RetroArch without trigger an assert, however it's not the ideal implementation
* audout:u OpenAudioOut implementation and IAudioOut cmd 1,2,3,4,5 implementation
* using an enum for audio_out_state as well as changing its initialize to member initializer list
* Minor fixes, added Service_Audio for LOG_*, changed PcmFormat enum to EnumClass
* Minor fixes, added Service_Audio for LOG_*, changed PcmFormat enum to EnumClass
* added missing Audio loggin subclass, minor fixes, clang comment breakline
* Solving backend logging conflict
* minor fix
* Fixed duplicated Service NVDRV in backend.cpp, my bad
2018-01-24 22:17:54 -05:00
gdkchan
703be1931a
Fix time returning epoch time in milliseconds rather than in seconds
2018-01-24 11:54:47 -03:00
N00byKing
afa1ed6ad9
Correct Spelling
2018-01-23 14:20:18 +01:00
bunnei
d1b64cdc07
Merge pull request #135 from Subv/no_ports
...
IPC: Don't create unnecessary ports when returning sub interfaces.
2018-01-22 21:37:15 -05:00
Subv
b0489c9a64
Services: Added a todo about returning interfaces as domain objects in lm, hid and time.
2018-01-22 20:40:43 -05:00
bunnei
d8bd70d396
Merge pull request #133 from Subv/nvflinger2
...
AppletOE: Stubbed CreateManagedDisplayLayer to create a new layer in the default display.
2018-01-22 17:52:47 -05:00
Subv
7efa6e8801
Time: Don't create unnecessary ports when retrieving the clock service sessions.
2018-01-22 17:42:11 -05:00
Subv
1003996e80
HID: Don't create an unnecessary port in CreateAppletResource.
2018-01-22 17:41:31 -05:00
Subv
1a9c96e4de
LM: Don't create an unnecessary port in Initialize.
2018-01-22 17:35:40 -05:00
Subv
67c43e9200
IPC: Don't create an unnecessary port when using PushIpcInterface outside of a domain.
2018-01-22 17:31:23 -05:00
bunnei
de2e5a0855
Merge pull request #134 from gdkchan/audout_hid_fix
...
Stub OpenAudioOut and fix a issue with HID IAppletResource
2018-01-22 17:09:09 -05:00
gdkchan
832009bfdb
Stub OpenAudioOut and fix a issue with HID IAppletResource being created more than once
2018-01-22 17:27:55 -03:00
Subv
10c67bf395
AppletOE: Stubbed CreateManagedDisplayLayer to create a new layer in the Default display.
...
This function is used by libnx to obtain a new layer.
2018-01-22 13:50:22 -05:00
Subv
eb58f852f8
AppletOE: Make ISelfController keep a reference to nvflinger.
...
It'll be needed when we implement CreateManagedDisplayLayer.
2018-01-22 13:46:36 -05:00
Subv
42859461f3
Services: Vi shouldn't be responsible for creating nvflinger.
...
It is now created during Service initialization and passed to all the services that need it.
2018-01-22 13:40:02 -05:00
Subv
8d7686ff8e
VI: Move BufferQueue and NVFlinger to their own folder/namespace.
2018-01-22 11:54:58 -05:00
st4rk
07355cf7cc
Added stubs for audio services. ( #116 )
...
* stubs for audout:u, audin:u, audrec:u, audren:u, codecctl and decoding tables with nullptr for future implementations
* fixing the changes requested (remove private, explicit)
2018-01-21 22:03:36 -05:00
bunnei
fdbb039427
Merge pull request #131 from lioncash/enum
...
nvmap: Make IoctlCommands an enum class
2018-01-21 22:01:27 -05:00
David
eeb3b5eed7
Added nvmemp, Added /dev/nvhost-ctrl, SetClientPID now stores pid ( #114 )
...
* Added nvmemp, Added /dev/nvhost-ctrl, SetClientPID now stores pid
* used clang-format-3.9 instead
* lowercase pid
* Moved nvmemp handlers to cpp
* Removed unnecessary logging for NvOsGetConfigU32. Cleaned up log and changed to LOG_DEBUG
* using std::arrays instead of c arrays
* nvhost get config now uses std::array completely
* added pid logging back
* updated cmakelist
* missing includes
* added array, removed memcpy
* clang-format6.0
2018-01-21 17:59:50 -05:00
bunnei
2403143ff1
Merge pull request #128 from Subv/parcel_query
...
VI: Implement the Query transaction of IHOSBinderDriver, and stubbed some results.
2018-01-21 17:56:06 -05:00
Lioncash
06d2e1bd23
nvmap: Add a return 0 underneath the UNIMPLEMENTED macro
...
This macro resolves to an empty macro in release builds.
2018-01-21 17:07:47 -05:00
Lioncash
687a17acae
nvmap: Make IoctlCommands an enum class
...
Prevents the enum values from polluting the surrounding scope
2018-01-21 17:07:13 -05:00
bunnei
5035d18baa
file_sys: Clang format fixes.
2018-01-21 15:51:45 -05:00
bunnei
8e50d6002b
fsp_srv: Various improvements to IStorage:Read implementation.
2018-01-21 15:51:43 -05:00
bunnei
d9a91d7678
deconstructed_rom_directory: Implement istorage loading for RomFS.
2018-01-21 15:39:31 -05:00
David Marcec
d64b7d7dfd
filesystem: Implement basic IStorage functionality.
2018-01-21 15:39:28 -05:00
bunnei
00851a5ef4
file_sys: Cleanup to better match Switch file system constructs.
...
file_sys: Add factory class for RomFS file system.
2018-01-21 15:39:26 -05:00
bunnei
1c06c918af
file_sys: Remove disk_archive, savedata_archive, and title_metadata.
2018-01-21 15:39:23 -05:00
bunnei
7988f02489
archive_backend: Minor changes to match Switch IFileSystem.
2018-01-21 15:39:20 -05:00
bunnei
2f71a32363
file_sys: Repurpose 3DS IVFC code for Switch ROMFS.
2018-01-21 15:39:18 -05:00
Rozlette
425a78ec1b
gdbstub: Update registers and sizes for aarch64
...
This gets gdbstub working at least to the point where clients can
communicate with it.
What works:
- Reading/writing GPRegs
- Reading/writing memory
- Interrupting the emulated program and continuing
What does NOT work:
- Breakpoints. Sizes have been updated to u64, but support will need to be
added in the interpreter for them to work.
- VRegs. Mostly because my gdb was having issues with 128-bit regs for
some reason. However, the current u128 representation is a bit
awkward to use and should probably be updated first.
2018-01-21 11:12:49 -06:00
Subv
749043c809
VI: Implement the Query transaction of IHOSBinderDriver, and stubbed some results.
2018-01-21 11:13:47 -05:00
bunnei
d904b0db58
Merge pull request #72 from N00byKing/patch-2
...
Implement Pull #3275 from citra: core: Don't Shutdown before we've even Init-ed
2018-01-20 23:11:10 -05:00
bunnei
defaaf4519
Merge pull request #92 from gdkchan/nro_refactor
...
Fix NRO entry point
2018-01-20 23:10:15 -05:00
bunnei
602cd3886d
Merge pull request #122 from tgsm/time-remove-pragma
...
service/time: remove accidental #pragmas
2018-01-20 22:27:10 -05:00
tgsm
07cfab72e0
service/time: remove accidental #pragmas
2018-01-20 21:34:37 -05:00
Rozlette
3315af8f09
loader: Minor style fix in deconstructed_rom_directory
2018-01-20 20:13:53 -06:00
bunnei
557b2496d7
Merge pull request #117 from jroweboy/clang-format
...
Clang format as a build target
2018-01-20 19:12:21 -05:00
James Rowe
096be16636
Format: Run the new clang format on everything
2018-01-20 16:45:11 -07:00
bunnei
6cccbf0eb3
Merge pull request #120 from Rozelette/master
...
memory: Return false for large VAddr in IsValidVirtualAddress
2018-01-20 17:37:55 -05:00
Rozlette
de7aa3106a
memory: Return false for large VAddr in IsValidVirtualAddress
2018-01-20 14:56:15 -06:00
bunnei
386df282a3
loader: Clean up ctors and includes.
2018-01-20 15:54:17 -05:00
bunnei
e75aba3ed0
loader: Add DeconstructedRomDirectory for game dumps.
2018-01-20 15:54:15 -05:00
bunnei
023aef053c
loader: Refactor to also pass filepath into IdentifyType.
2018-01-20 14:59:44 -05:00
bunnei
2dafd0d287
nso: Remove code specific to directory loading.
2018-01-20 14:59:42 -05:00
River City Ransomware
c8a094e164
Port citra #3352 to yuzu ( #103 )
...
* Port citra #3352 to yuzu
This change allows non x86_64 architectures to compile yuzu by skipping the building of dynarmic
* Fixed clang-format errors
* fixes more clang-format errors
2018-01-19 19:36:09 -05:00
David
0b6da0c1ab
Added CreateSharedMemory & UNIMPLEMENTED() for non existent services. ( #113 )
...
* Added svcCreateSharedMemory
* Services which are not implemented now throw UNIMPLEMENTED()
* clang-format
* changed perms to u32
* removed camelcase
2018-01-19 19:35:25 -05:00
River City Ransomware
dd62f125c3
Fixes some cast warnings, partial port of citra #3064 ( #106 )
...
* Fixes some cast warnings, partially fixes citra #3064
* Converted casts to uint32_t to u32
* Ran clang-format
2018-01-19 18:01:41 -05:00
bunnei
7b219539a9
Merge pull request #112 from Rozelette/master
...
ISelfController: Stub LockExit and UnlockExit
2018-01-19 17:54:05 -05:00
goaaats
c457f34eb2
acc, set, applet_oe: stub various functions, add set service ( #105 )
...
* Stubs for various acc:u0 funcs needed
* Stub for GetDesiredLanguage in IApplicationFunctions
* Add set service + stubs needed for games
* Fix formatting
* Implement IProfile, IManagerForApplication, return bool in CheckAvailability, style fixes
* Remove IProfile::Get(needs more research), fix IPC response sizes
2018-01-19 15:44:58 -05:00
Rozlette
d9ca9d3472
ISelfController: Stub LockExit and UnlockExit
2018-01-19 14:09:50 -06:00
bunnei
0f363d37e6
Merge pull request #109 from bunnei/libnx-fixes
...
Fix svcGetInfo for libnx
2018-01-19 14:48:08 -05:00
bunnei
c3005ee4d1
Merge pull request #97 from bunnei/time-stub
...
time: Stub out GetTotalLocationNameCount and some cleanup.
2018-01-19 14:47:50 -05:00
bunnei
deec326ddf
time: Add new line to ends of files.
2018-01-19 00:39:04 -05:00
bunnei
1d49680613
applet_oe: Clang-format.
2018-01-19 00:37:36 -05:00
bunnei
e27accc15d
time: Stub out GetTotalLocationNameCount and some cleanup.
2018-01-19 00:32:52 -05:00
bunnei
de646cef2d
nvdrv: Stub SetClientPID.
2018-01-18 23:50:18 -05:00
bunnei
e1ee8f4657
svc: Fix svcGetInfo MapRegionBaseAddr.
2018-01-18 23:44:15 -05:00
bunnei
d80991977a
svc: Add additional fields to MemoryInfo struct.
2018-01-18 23:37:54 -05:00
gdkchan
8f13499bb8
Fix dispdrv typo
2018-01-18 23:21:26 -03:00
bunnei
952dba9c2b
Merge pull request #100 from Rozelette/master
...
time: Refactor time:* to use a single shared module
2018-01-18 21:10:55 -05:00
gdkchan
3a409d5c8f
Fix NRO Entry Point
2018-01-18 17:18:43 -03:00
gdkchan
59575d5cae
Stub PopLaunchParameter and implement Buffer C Descriptors reading on hle_ipc ( #96 )
...
* Stub PopLaunchParameter and implement Buffer C Descriptors reading
* Address PR feedback
* Ensure we push a u64 not a size_t
* Fix formatting
2018-01-18 14:54:34 -05:00
flerovium^-^
463356f0a7
Start to implement/stub BSD:U and SFDNSRES services ( #78 )
...
* bsd: start stubbing bsd:u and sfdnsres
* bsd: stubbed RegisterClient
* bsd: attempt to get past socket()
* bsd: fix some wrong assumptions about IPC
* bsd: fix format specifiers
* bsd: stubbed Connect()
* bsd: stubbed SendTo()
* made requested changes
* sockets: respect alphabetical order at service installation
* run clang-format
* bsd: start stubbing bsd:u and sfdnsres
* bsd: stubbed RegisterClient
* bsd: attempt to get past socket()
* bsd: fix some wrong assumptions about IPC
* bsd: fix format specifiers
* bsd: stubbed Connect()
* bsd: stubbed SendTo()
* made requested changes
* sockets: respect alphabetical order at service installation
* run clang-format
* run clang-format (2)
2018-01-18 14:35:03 -05:00
Rozlette
378cea2ae2
time: Fix use of CamelCase in ToCalendarTimeWithMyRule
2018-01-18 11:02:05 -06:00
Rozlette
c7c180fdf1
time: Refactor time:* to use a single shared module
2018-01-18 10:58:29 -06:00
bunnei
b5bc94bce0
Merge pull request #95 from bunnei/lm-skip-byte
...
lm: Minor logging fix to skip a byte.
2018-01-18 10:57:41 -05:00
bunnei
be0e14ab3e
Merge pull request #84 from lioncash/cmake
...
CMakeLists: Derive the source directory grouping from targets themselves
2018-01-18 01:37:17 -05:00
bunnei
4ca5f0c145
Merge pull request #91 from lioncash/svc
...
svc: Minor clarity changes
2018-01-18 00:27:41 -05:00
bunnei
22465c8722
lm: Minor logging fix to skip a byte.
2018-01-18 00:08:38 -05:00
bunnei
ed788742bf
Merge pull request #90 from lioncash/vi-override
...
vi: Minor clean up/correctness changes
2018-01-17 23:55:07 -05:00
bunnei
cf0daed0b8
Merge pull request #89 from lioncash/vi-vector
...
vi: Copy data directly into the std::vector within Parcel's ReadBlock function
2018-01-17 23:52:40 -05:00
Lioncash
e710a1b989
CMakeLists: Derive the source directory grouping from targets themselves
...
Removes the need to store to separate SRC and HEADER variables, and then
construct the target in most cases.
2018-01-17 21:51:43 -05:00
bunnei
6a36ffb86c
controller: Use DuplicateSession for DuplicateSessionEx.
2018-01-17 21:48:17 -05:00
Lioncash
4497eb4528
svc: Rename some entries to match their analogue on SwitchBrew
...
Makes the codebase a little more consistent with regards to available documentation. Also amends the duplicate case where there was a similar entry at 0x72 named ConnectToPort.
2018-01-17 20:38:23 -05:00
Lioncash
c81ed5eb33
svc: Add CreateJitMemory and MapJitMemory svc strings
...
Makes the table match SwitchBrew for these entries
2018-01-17 20:32:56 -05:00
Lioncash
3d19102c48
vi: Make constructors explicit where applicable
...
Prevents implicit conversions.
2018-01-17 20:21:16 -05:00
Lioncash
14069e6ec4
vi: Add missing override specifiers
2018-01-17 20:16:48 -05:00
Lioncash
b16c89bf65
vi: Copy data directly into the std::vector within Parcel's ReadBlock function
...
Previously this would unnecessarily zero-initialize the vector before
copying the actual data into the vector instance.
2018-01-17 20:09:41 -05:00
bunnei
01f379baa7
Merge pull request #80 from gdkchan/nro_fix
...
Fix NRO loading
2018-01-17 20:05:21 -05:00
bunnei
ee08c39b72
Merge pull request #73 from N00byKing/3093
...
Implement Pull #3093 from citra: Added missing headers to CMakeLists.txt and fixed includes.
2018-01-17 18:18:34 -05:00
gdkchan
d3e63e4220
Fix NRO loading
2018-01-17 20:16:09 -03:00
bunnei
e2f06dbc17
Merge pull request #76 from Rozelette/master
...
TIME: consolidate time:* interfaces, stub functions and structs
2018-01-17 17:32:48 -05:00
Rozlette
6f22471a72
TIME: consolidate time:* interfaces, stub functions and structs
2018-01-17 14:15:14 -06:00
gdkchan
c65ac49238
Remove relocation on NSO/NRO
2018-01-17 17:01:10 -03:00
bunnei
0568346cc3
Merge pull request #64 from shinyquagsire23/hid-timing
...
hid: Adjust timing based on actual hardware
2018-01-17 12:30:46 -05:00
bunnei
8bff9c9152
Merge pull request #70 from flerovii/nvdrv-close
...
nvdrv: stubbed Close(cmd 2)
2018-01-17 12:29:23 -05:00
N00byKing
10955d72ef
Update CMakeLists.txt
2018-01-17 18:21:49 +01:00
N00byKing
66388f7576
Update title_metadata.h
2018-01-17 18:20:52 +01:00
bunnei
7fa32af1c7
svc: Clang-format fix.
2018-01-17 12:19:17 -05:00
N00byKing
30d2ba9de3
Update core.cpp
2018-01-17 18:12:06 +01:00
bunnei
7172ff4d9a
Merge pull request #62 from bunnei/domain-close-handle
...
Implement IPC domain command CloseVirtualHandle
2018-01-17 12:09:12 -05:00
bunnei
b588cbcb1d
hle_ipc: Clang format.
2018-01-17 11:37:26 -05:00
Frederic Meyer
60d650cc4e
nvdrv: stubbed Close(cmd 2)
2018-01-17 17:08:46 +01:00
River City Ransomware
d05dc3f4dd
Fix gdbstub typo, fixes Citra #3318
...
Core::System().GetInstance().IsPoweredOn() -> Core::System::GetInstance().IsPoweredOn()
2018-01-17 09:25:25 -05:00
shinyquagsire23
008823724f
hid: Adjust timing based on actual hardware
2018-01-17 01:20:25 -07:00
bunnei
9ae55884d2
Merge pull request #60 from jroweboy/game-frame
...
UI: Fix frame rate perf stats
2018-01-17 01:23:43 -05:00
bunnei
30cb98f874
ipc: Implement domain command CloseVirtualHandle.
2018-01-17 01:20:10 -05:00
James Rowe
a66eb7351b
UI: Fix frame rate perf stats
...
Adds in a missing EndGameFrame when nvdrv swaps buffers
2018-01-16 20:44:02 -07:00
bunnei
dc905463dc
Merge pull request #34 from shinyquagsire23/hid-sharedmem-layouts-circbufs-meta
...
hid: Write to all layouts, implement circular buffers, set up controller metadata.
2018-01-16 21:54:46 -05:00
bunnei
4b156d2e64
acc_u0: Add IPC interface and stub InitializeApplicationInfo.
2018-01-16 21:34:27 -05:00
shinyquagsire23
eff90550a1
hid: clang-format
2018-01-16 19:22:58 -07:00
shinyquagsire23
36b89787ce
hid: Adjust for style guide
2018-01-16 19:22:12 -07:00
bunnei
f621310da2
applet_oe: Fix GetOperationMode and GetPerformanceMode.
2018-01-16 20:32:08 -05:00
Subv
cb75b56e45
NV: Implemented the nvdrv service, which uses the same interface as nvdrv:a
2018-01-16 19:04:09 -05:00
Subv
30657f9ca1
NV: Move the nvdrv classes into the Nvidia namespace, and move the functionality to a s single module that services call.
2018-01-16 19:03:49 -05:00
Subv
f827b17dd4
VI: Stubbed GetNativeHandle, Create/DestroyStrayLayer and CloseDisplay
2018-01-16 19:01:03 -05:00
Subv
c5a0408ccc
Services: Stubbed APM::OpenSession and the ISession interface.
...
# Conflicts:
# src/core/hle/service/am/applet_oe.cpp
# src/core/hle/service/apm/apm.cpp
2018-01-16 19:00:32 -05:00
Subv
f7dc637a61
AppletOE: Stub a bunch of functions required by libnx homebrew.
2018-01-16 18:58:06 -05:00
Subv
bf0e20c571
SVC: Correct some return values in svcGetInfo and added TitleId and PrivilegedProcessId stubs.
...
# Conflicts:
# src/core/hle/kernel/svc.cpp
2018-01-16 18:50:23 -05:00
Subv
3442f4b96a
SVC: Add 4.0.0+ comment to GetInfoType enum values.
2018-01-16 18:44:39 -05:00
Subv
5bc14e791a
IPC: Push domain objects as move handles when not in a domain.
2018-01-16 18:42:08 -05:00
bunnei
1aa4cdc3c8
Merge pull request #52 from ogniK5377/fsp
...
added more svcGetInfo pairs for 3.0.0+ support, Changed HEAP_SIZE and TLS_AREA_VADDR. changed mem usage & heap usage stub added, ISelfController, IApplication function stubs. Added SetThreadCoreMask
2018-01-16 18:27:48 -05:00
David
cb8d5328d5
Update memory.h
2018-01-16 15:27:13 -08:00
bunnei
07b465d24e
Merge pull request #44 from Rozelette/master
...
nso: Modify .bss size calculation logic
2018-01-16 17:24:49 -05:00
David Marcec
bb7221c5d5
SetThreadCoreMask stub, time to implement fsp
2018-01-16 14:23:53 -08:00
David Marcec
104dd867c4
implemented more of ISelfController and IApplicationFunctions
2018-01-16 14:18:18 -08:00
David Marcec
68143af636
Added more svcGetInfo pairs
2018-01-16 14:06:45 -08:00
David Marcec
c903372111
Increased heap size and changed tls area vaddr
2018-01-16 13:53:43 -08:00
MerryMage
e35644c005
clang-format
2018-01-16 18:05:21 +00:00
Rozlette
09bcc2042c
nso: Modify .bss size calculation logic
2018-01-16 11:14:36 -06:00
James Rowe
2d7a85f7af
Build: Automagically handle unicorn
...
On MSVC if unicorn isn't found, fallback to bundled unicorn
On everything else, fallback to building unicorn in externals
Also fixes loading unicorn in msvc
2018-01-16 09:39:07 -07:00
shinyquagsire23
d20a883194
hid: Write to all layouts, implement circular buffers, set up controller metadata.
2018-01-16 03:14:27 -07:00
James Rowe
e026b66bbb
Build: Add unicorn as a submodule and build it if needed
...
Adds a cmake custom target that will build unicorn on first compile and
uses this in the build scripts as well. Updates Appveyor and Travis
build scripts to work with the new unicorn build, and updates the paths
to all of the different artifacts.
2018-01-16 01:15:52 -07:00
bunnei
6f904bb622
nso: Load subsdk4 if available.
2018-01-15 17:18:24 -05:00
bunnei
1a3b3e9100
pctl: Clang format.
2018-01-15 15:16:06 -05:00
bunnei
1148e2ce7b
pctl: GetService should return an IParentalControlService interface.
2018-01-15 15:10:18 -05:00
bunnei
5bc14ab0de
applet_oe: Stub SetFocusHandlingMode, GetCurrentFocusState, SetTerminateResult.
2018-01-15 14:41:06 -05:00
bunnei
8e2f62c6a5
settings: Fix button mappings array to have correct entries.
2018-01-15 13:09:14 -05:00
bunnei
325f72aceb
Merge pull request #16 from shinyquagsire23/hid-sharedmem-impl-start
...
HID Sharedmem Impl Start
2018-01-15 12:54:54 -05:00
shinyquagsire23
1ea49442f9
hid: Bare-minimum sharedmem input
2018-01-15 02:30:58 -07:00
shinyquagsire23
bb1fcfac33
hid: Remove redundant HID prefix on structs/enums
2018-01-15 02:30:58 -07:00
shinyquagsire23
801d6c1b6f
settings: Screenshot button
2018-01-15 02:30:53 -07:00
shinyquagsire23
74aa14c9b4
settings: adjust button configs for Switch controllers
2018-01-15 02:30:53 -07:00
shinyquagsire23
e08c132175
hid: Add sharedmem structs
2018-01-15 02:30:53 -07:00
bsaleil
af1ca87be1
vi: Add IManagerDisplayService::CloseDisplay function
2018-01-15 01:29:00 -05:00
David Marcec
f3264dd78d
Games expect 15 for ICommonStateGetter::ReceiveMessage in order to continue execution
2018-01-14 21:06:34 -08:00
bunnei
ebd613c2cc
renderer: Render previous frame when no new one is available.
2018-01-14 23:54:56 -05:00
bunnei
71eeab257f
lm: Fix IPC header for Initialize.
2018-01-14 21:45:06 -05:00
bunnei
7bedea73a8
time: Implement GetStandardUserSystemClock, GetCurrentTime.
2018-01-14 21:45:06 -05:00
bunnei
d81a984d4a
audio: Add files to CMake.
2018-01-14 21:45:06 -05:00
bunnei
2e8246a02c
hid: Remove unused registered_loggers.
2018-01-14 21:45:06 -05:00
bunnei
7a50d56d0e
audio: Stub out AudOutU::ListAudioOuts.
2018-01-14 21:45:06 -05:00
bunnei
f4a3d28224
hid: Implement IAppletResource::GetSharedMemoryHandle.
2018-01-14 21:45:06 -05:00
bunnei
22659afcd0
shared_memory: Minor fixes and cleanup.
2018-01-14 17:20:55 -05:00
bunnei
974362bc12
svc: Implement svcMapSharedMemory.
2018-01-14 17:20:55 -05:00
bunnei
bd58c5470c
kernel: Increase default stack size to 64K.
2018-01-14 17:20:55 -05:00
Thog
06e288cea0
Add missing FileType declarations in GuessFromExtension and GetFileTypeString
2018-01-14 19:00:16 +01:00
MerryMage
668e5452fa
Update dynarmic to bc73004
...
bc73004 a64_merge_interpret_blocks: Remove debug output
4e656ed tests/A64: Randomize PSTATE.<NZCV>
fd9530b A64: Optimization: Merge interpret blocks
3c9eb04 testenv: Use format constants
324f3fc tests/A64: Unicorn interface fixes
98ecbe7 tests/A64: Fuzz against unicorn
b1d38e7 tests/A64: Move TestEnvironment to own header
5218ad9 A64/data_processing_pcrel: bug: ADR{,P} instructions sign extend their immediate
b1a8c39 A64/data_processing_addsub: bug: {ADD,SUB}S (extended register) instructions write to ZR when d = 31
64827fb a64_emit_x64: bug: A64CallSupervisor trampled callee-save registers
1bfa04d emit_x64: bug: OP m/r64, imm32 form instructions sign-extend their immediate on x64
edadeea A64 inferface: Use two argument static_assert
9ab1304 A64: Add ExceptionRaised IR instruction
6843eed Update readme
7438d07 A64/translate: Add TranslateSingleInstruction function
2018-01-13 22:38:57 +00:00
MerryMage
e86bdb1601
Fix build on macOS and linux
2018-01-13 22:38:52 +00:00
bunnei
17af2937fe
arm_unicorn: Log unmapped memory access address.
2018-01-13 16:24:05 -05:00
bunnei
1247c53786
yuzu: Update license text to be consistent across project.
2018-01-13 16:22:39 -05:00
James Rowe
70e65ee63a
Remove settings issues in sdl and fix a few files that broke in mingw
2018-01-12 19:11:05 -07:00
James Rowe
18ca3ca751
Removing unused settings and yuzu rebranding
2018-01-12 19:11:05 -07:00
James Rowe
389979018c
Remove gpu debugger and get yuzu qt to compile
2018-01-12 19:11:04 -07:00
James Rowe
1d28b2e142
Remove references to PICA and rasterizers in video_core
2018-01-12 19:11:03 -07:00
bunnei
8e51c61dbc
core: Gut out cryptop, since it doesn't compile with C++17.
2018-01-12 19:36:41 -05:00
MerryMage
b628192bf2
configuration: Add cpu_core configuration option
2018-01-12 17:48:52 -05:00
MerryMage
d2fbc78320
arm_dynarmic: Implement core
2018-01-12 17:48:29 -05:00
bunnei
056f987bcd
core: Include <algorithm> where used.
2018-01-11 22:36:56 -05:00
bunnei
94ad97def0
nv: Fix more broken asserts.
2018-01-11 22:31:12 -05:00
bunnei
ac2feaf5fb
nvdisp_disp0: Fix broken assert.
2018-01-11 22:29:29 -05:00
bunnei
039fc7f985
core: Fix recent GCC build breaks.
2018-01-11 22:24:09 -05:00
bunnei
97ef21e166
svc: Implement GetSystemTick.
2018-01-11 21:59:31 -05:00
bunnei
305035b503
nvdisp_disp0: Call SwapBuffers to render framebuffer.
2018-01-10 23:29:03 -05:00
bunnei
292135a3b7
CMakeLists: Add framebuffer_layout.cpp.
2018-01-10 23:28:46 -05:00
bunnei
482cf8a005
frontend: Update for undocked Switch screen layout.
2018-01-10 23:28:43 -05:00
Subv
1ca800ccee
NV: Move the nv device nodes to their own directory and namespace.
2018-01-10 23:28:40 -05:00
Subv
977ce4abbc
VI: Use a Pulse event instead of OneShot for the vblank events.
...
This prevents missing frames if the vblank fires between the DequeueBuffer and Wait(vsync) calls
2018-01-10 23:28:36 -05:00
bunnei
7e0ff43da0
vi: Use new CoreTiming::EventType
2018-01-10 23:28:33 -05:00
Subv
34ae2ec644
NV: Expose the nvdisp_disp0 device and a weak reference to the nvdrv:a service.
...
NVFlinger will call into the nvdisp_disp0 device to perform screen flips, bypassing the ioctl interface.
We now have the address of the framebuffer to draw, we just need to actually put it on the screen.
2018-01-10 23:28:29 -05:00
Subv
e21fbd9ae5
NV: Determine what buffer to draw for each layer of each display.
...
Don't try to draw buffers that the guest application is using, only queued buffers are eligible for drawing.
Drawing actual pixels is still not implemented.
2018-01-10 23:28:25 -05:00
Subv
404149e475
NV: Signal all display's vsync event 60 times per second.
2018-01-10 23:28:22 -05:00
Subv
d205dee0a6
NV: Give each display its own vsync event.
2018-01-10 23:28:19 -05:00
Subv
927569bed8
NV: Keep track of Displays, Layers and BufferQueues in nvflinger.
2018-01-10 23:28:16 -05:00
Subv
fb73e8b723
IPC: Allow passing arguments to the Interfaces when using PushIpcInterface
2018-01-10 23:28:13 -05:00
Subv
25f29c2f4f
NV: Implemented (with stubs) the vi:m service and some of its subservices.
...
The homebrew display test application now properly writes graphics data to the graphics buffer but we still don't have a way to compose the display layers.
2018-01-10 23:28:09 -05:00
Subv
94a5e97eb3
NV: Implemented the nvdrv:a service and the /dev/nvmap device.
2018-01-10 23:28:05 -05:00
Subv
ab86b80cac
IPC: Corrected some definitions for the buffer C descriptor flags.
2018-01-10 23:28:02 -05:00
Subv
ba02f0deef
svc: Stub ResetSignal and CreateTransferMemory
2018-01-10 23:27:59 -05:00
Subv
0a1278081e
svc: Stub SetMemoryAttribute
2018-01-10 23:27:56 -05:00
Subv
7ad20154fc
Threads: Added enum values for the Switch's 4 cpu cores and implemented svcGetInfo(AllowedCpuIdBitmask)
2018-01-10 01:01:55 -05:00
Subv
188feba457
Services: Allow lm to log single-character messages.
2018-01-10 00:41:29 -05:00
Subv
c2ee513d35
SVC: Fixed WaitSynchronization with multiple handles when none is immediately ready.
2018-01-09 15:02:43 -05:00
Subv
bc91ebacc1
SVC: Implemented CancelSynchronization.
2018-01-09 15:02:04 -05:00
Subv
a418f6e77b
ErrorCodes: Updated the InvalidHandle and Timeout kernel error codes.
2018-01-09 12:05:10 -05:00
Subv
8d9250fa70
SVC: Fixed WaitSynchronization with multiple handles when at least one of them is ready.
2018-01-09 11:53:50 -05:00
bunnei
4236799832
kernel: Rename Semaphore to ConditionVariable.
2018-01-08 21:41:37 -05:00
bunnei
9fcd2bf672
mutex: Remove unused call to VerifyGuestState.
2018-01-08 21:12:56 -05:00
Subv
db3a525166
Kernel: Actually wake up the requested number of threads in Semaphore::Release.
...
Also properly keep track of data in guest memory, this fixes managing the semaphore from userland.
It was found that Semaphores are actually Condition Variables, with Release(1) and Release(-1) being equivalent to notify_one and notify_all. We should change the name of the class to reflect this.
2018-01-08 21:12:54 -05:00
Subv
1bbe9309da
Kernel: Properly keep track of mutex lock data in the guest memory. This fixes userland locking/unlocking.
2018-01-08 21:12:51 -05:00
Subv
2a3f8e8484
Kernel: Allow chaining WaitSynchronization calls inside a wakeup callback.
2018-01-08 21:12:49 -05:00
MerryMage
f10a304ecd
fix macos build
2018-01-08 19:20:10 -05:00
bunnei
d6e4e6ea32
core_timing: Use 1.020GHz for core clock rate.
2018-01-08 19:18:50 -05:00
B3n30
82151d407d
CoreTiming: Reworked CoreTiming (cherry-picked from Citra #3119 )
...
* CoreTiming: New CoreTiming; Add Test for CoreTiming
2018-01-08 19:10:25 -05:00
Subv
c12c756539
IPC: Make DuplicateSession return the Domain instead of the Session if the request was made on a Domain interface.
2018-01-07 17:12:07 -05:00
Subv
e3b4c8e043
AppletOE: Fixed command buffer structure for ReceiveMessage.
2018-01-07 17:12:05 -05:00
Subv
ad965501d0
IPC: Corrected some command headers in the IPC Controller interface.
2018-01-07 17:12:03 -05:00
Subv
166286e976
IPC: Corrected some command header sizes in appletOE.
2018-01-07 17:12:01 -05:00
Subv
ba2ffd7b81
IPC: Take the number of domain objects as a parameter in MakeBuilder.
2018-01-07 17:11:58 -05:00
Subv
5f41477f9c
SM: Fixed connecting to services with an 8-byte name, like appletOE.
2018-01-07 17:11:56 -05:00
Subv
80f6df5414
IPC: Fixed pushing ResultCodes into the command buffer.
...
They should have 32 bits of padding after the error code now.
2018-01-07 17:11:54 -05:00
Subv
32847d8b86
IPC: Add functions to read the input move/copy objects from an IPC request.
2018-01-07 17:11:51 -05:00
Subv
7e3561b1cd
IPC: Don't attempt to read the command buffer if it holds a Close request.
2018-01-07 17:11:49 -05:00
Subv
0368324f79
IPC Cleanup: Remove 3DS-specific code and translate copy, move and domain objects in IPC requests.
...
Popping objects from the buffer is still not implemented.
2018-01-07 17:11:47 -05:00
Subv
b0ceb4df70
IPC: Skip the entire u64 of the command id when receiving an IPC request.
...
Service code now doesn't have to deal with this.
2018-01-07 17:11:45 -05:00
Subv
226786f0b0
IPC: Use the correct size when pushing raw data to the command buffer and fixed pushing domain objects.
...
Domain object ids are always stored immediately after the raw data.
2018-01-07 17:11:43 -05:00
bunnei
bc8ef64804
svc: Implement svcSignalProcessWideKey.
2018-01-07 16:55:17 -05:00
bunnei
4e33b4b42f
semaphore: More changes for Switch.
2018-01-07 16:52:23 -05:00
bunnei
0f6fbdb963
wait_object: Refactor to allow waking up a single thread.
2018-01-07 16:33:41 -05:00
bunnei
bc77a7580e
nso: Always load the filepath specified by the user.
2018-01-07 12:44:36 -05:00
bunnei
79e0dd249e
core_timing: Increase clock speed for Switch docked.
2018-01-07 00:58:06 -05:00
bunnei
5017038ca7
svc: Implement svcWaitProcessWideKeyAtomic.
2018-01-06 16:14:12 -05:00
bunnei
91f10a1460
semaphore: Updates for Switch.
2018-01-06 15:55:40 -05:00
bunnei
6f6d9af408
lm: Assert on unsupported multi-message.
2018-01-06 14:41:56 -05:00
bunnei
0e978bdd50
svc: Implement WaitSynchronization for a single handle.
2018-01-06 14:34:32 -05:00
bunnei
57f42e5887
svc: Refactor LockMutex code to use WaitSynchronization1.
2018-01-06 14:19:28 -05:00
bunnei
d083c07c46
lm: Improve Log() to format a useful string.
2018-01-05 00:45:13 -05:00
bunnei
0dbc8f3577
svc: Add missing string_util include.
2018-01-04 19:45:15 -05:00
bunnei
dcfbad2129
cmake: Don't compile Dynarmic as it's unused.
2018-01-04 17:01:02 -05:00
bunnei
24f10a20e7
core: Increase tight_loop 100x for speed.
2018-01-04 16:52:16 -05:00
bunnei
b38223f662
arm_unicorn: Load/release unicorn DLL.
2018-01-04 13:40:01 -05:00
bunnei
3f8b9181b5
unicorn: Use for arm interface on Windows.
2018-01-04 00:13:23 -05:00
bunnei
6e9d66fd3a
arm_dynarmic: More cleanup.
2018-01-04 00:09:12 -05:00
bunnei
914ebee67a
core: Remove unicorn_dynload.
2018-01-03 22:10:31 -05:00
bunnei
aa7e061e71
arm_dynarmic: Gut interface until dynarmic is ready for general use.
2018-01-03 22:10:11 -05:00
bunnei
b172f0d770
arm: Remove SkyEye/Dyncom code that is ARMv6-only.
2018-01-02 22:24:12 -05:00
bunnei
f0eab802e8
vm_manager: Use a more reasonable MAX_ADDRESS size.
2018-01-02 21:37:56 -05:00
bunnei
81a8a57ce2
svc: Remove unnecessary "svc" prefix to naming scheme.
2018-01-02 20:47:26 -05:00
bunnei
fe11b51545
pctl: Remove duplicate InstallInterfaces function.
2018-01-02 20:41:20 -05:00
bunnei
480906fe1b
hle: Move SVC code to kernel namespace.
2018-01-02 20:40:30 -05:00
bunnei
72f671fd7a
svc: Improve svcGetInfo.
2018-01-01 16:01:06 -05:00
bunnei
e9710a2cf7
vm_manager: Stub out a bunch of interfaces used by svcGetInfo.
2018-01-01 15:59:31 -05:00
bunnei
dc4fe2fbd5
svc: Fix string formatting for CreateThread.
2018-01-01 15:48:08 -05:00
bunnei
dd3a237981
cmake: Add missing object_address_table.
2018-01-01 15:41:05 -05:00
bunnei
93480b10ef
core/video_core: Fix a bunch of u64 -> u32 warnings.
2018-01-01 15:40:35 -05:00
bunnei
9e8608e8b1
svc: Stub out svcWaitSynchronization.
...
- This does not matter until we implement other kernel objects, mutexes use svcLockMutex for waiting.
2018-01-01 14:47:57 -05:00
bunnei
aa7c824ea4
svc: Implement svcExitProcess.
2018-01-01 14:38:34 -05:00
bunnei
9b8afed5f7
svc: Implement svcUnlockMutex.
2018-01-01 14:04:36 -05:00
bunnei
b9950cd4b0
svc: Implement svcLockMutex.
2018-01-01 14:02:26 -05:00
bunnei
d0046b120a
kernel: Add ObjectAddressTable class.
2018-01-01 13:25:37 -05:00
bunnei
1cb978eb82
thread: Keep track of the initially created handle.
...
This is kinda crufty, but we need it for now to update guest state variables.
2017-12-31 17:23:36 -05:00
bunnei
45debfe4fd
svc: Implement svcExitThread.
2017-12-31 16:11:27 -05:00
bunnei
9d0c3bda7f
svc: Implement svcCreateThread.
2017-12-31 16:10:01 -05:00
bunnei
001091fa72
svc: Cleanup svcGetThreadPriority.
2017-12-31 16:06:11 -05:00
bunnei
283c63645d
svc: Stub out svcGetCurrentProcessorNumber.
2017-12-31 16:01:04 -05:00
bunnei
c7983e970c
errors: Define missing kernel error codes.
2017-12-31 15:59:00 -05:00
bunnei
8a7f8f3e2c
svc: Implement svcSetThreadPriority.
2017-12-31 15:58:16 -05:00
bunnei
960e8dc5e5
svc: Change SignalProcessWideKey to a stub.
2017-12-31 15:55:11 -05:00
bunnei
f24531b1a2
function_wrappers: Cleanup, fix warnings, remove unused code.
2017-12-31 15:46:30 -05:00
bunnei
3a91a62b8f
svc: Implement svcUnmapMemory.
2017-12-31 15:22:49 -05:00
bunnei
a3228d9b77
svc: Minor cleanups.
2017-12-30 13:40:28 -05:00
bunnei
8ab33616ac
svc: Implement svcStartThread.
2017-12-30 13:37:07 -05:00
bunnei
b6087e35b5
thread: Main thread should set thread handle to reg 1.
2017-12-30 12:10:58 -05:00
bunnei
7ccd8de863
thread: Remove THUMB mode flag.
2017-12-30 12:08:26 -05:00
bunnei
eed4f2e229
thread: Main thread should be ready by default, all others dormant.
2017-12-30 12:05:10 -05:00
bunnei
ebd4b1422d
kernel: Various 64-bit fixes in memory/process/thread
2017-12-29 13:27:58 -05:00
bunnei
1d01ffccb8
applet_oe: Stub out a bunch of interfaces necessary for boot.
2017-12-29 00:44:46 -05:00
bunnei
30e98fae3f
controller: Implement DuplicateSession.
2017-12-29 00:39:34 -05:00
bunnei
dcdaac8a0b
kernel: Fix implementation of ConvertSessionToDomain.
2017-12-29 00:36:22 -05:00
bunnei
b67cbb8d92
ap, aoc_u: Minor cleanup.
2017-12-28 23:45:44 -05:00
bunnei
fcd4c1a0dc
service: Add empty interface for pctl:a.
2017-12-28 23:44:39 -05:00
bunnei
e17c0019c5
kernel: Add basic support for Domain object.
2017-12-28 23:30:21 -05:00
bunnei
834fa5db65
kernel: Add SyncObject primitive, use it for ClientSession.
2017-12-28 23:12:28 -05:00
bunnei
6e021f22b8
svc: Implement MapMemory.
2017-12-28 21:38:38 -05:00
bunnei
3421e1617e
process: Add method to mirror a memory region.
2017-12-28 21:35:49 -05:00
bunnei
7618b5237d
svc: Implement SetHeapSize.
2017-12-28 15:29:52 -05:00
bunnei
ad073846bc
service: Clean up apm/lm/applet_oe/controller/sm ctor/dtor.
2017-12-28 15:27:30 -05:00
bunnei
16fb1c8fe7
service: Halt on ReportUnimplementedFunction and improve output log.
2017-12-28 15:24:59 -05:00
bunnei
d5995fd30f
service: Add empty interface for aoc:u.
2017-12-28 15:24:05 -05:00
bunnei
3597650f22
service: Return proper result code for IPC::CommandType::Close.
2017-10-31 19:30:05 -04:00
bunnei
34571f4d2e
hle: Use Switch formatted result codes.
2017-10-31 19:26:11 -04:00
bunnei
266c1c8020
svc: Implement GetThreadId and GetProcessId.
2017-10-23 00:15:45 -04:00
bunnei
45db4bb3ea
logging: Rename category "Core_ARM11" to "Core_ARM".
2017-10-23 00:13:12 -04:00
bunnei
3f0caefdf5
nso: Load more common submodules.
2017-10-22 23:50:26 -04:00
bunnei
9ceb0d9381
memory: Support 32-bit paging, move heap address space up.
2017-10-22 23:17:59 -04:00
bunnei
dcd6bb82f7
hle: Fix QueryMemory response for MemoryInfo.
2017-10-19 23:00:46 -04:00
bunnei
716e5cf070
lm: Implement lm::Initialize and Logger::log.
2017-10-18 21:41:24 -04:00
bunnei
654fae29c1
hle_ipc: Only copy necessary fields for outgoing command buffer.
2017-10-18 21:39:48 -04:00
bunnei
b283cf7348
hle_ipc: Parse out buffer X/A/B/B descriptors from incoming command buffer.
2017-10-18 21:38:01 -04:00
bunnei
03bf0739a4
service: Add CreatePort function (that does not register/install).
2017-10-18 21:34:19 -04:00
bunnei
97d52b9f89
memory: Print addresses as 64-bit.
2017-10-18 21:29:23 -04:00
bunnei
3f2a738d34
ipc_helpers: Fix alignment (was wrong as a result of a dynarmic bug).
2017-10-17 18:03:47 -04:00
bunnei
d3cc369618
service: Print correct command ID on unimplemented function.
2017-10-17 18:02:08 -04:00
bunnei
4fb1b24d68
hle: Implement ConvertSessionToDomain, various cleanups.
2017-10-15 01:24:22 -04:00
bunnei
746c2a3ae7
core: Refactor MakeMagic usage and remove dead code.
2017-10-15 00:11:38 -04:00
bunnei
72eeca1f03
hle: Add service stubs for apm and appletOE.
2017-10-14 22:50:04 -04:00
bunnei
960a1416de
hle: Initial implementation of NX service framework and IPC.
2017-10-14 22:18:42 -04:00
bunnei
12c7469d81
nso: Add a log for loading submodules.
2017-10-14 17:37:51 -04:00
bunnei
78bc2b70bb
svc: Some logging cleanup.
2017-10-14 17:35:21 -04:00
bunnei
e98a3ca171
svc: Update MemoryInfo flags for 64-bit.
2017-10-14 17:31:25 -04:00
bunnei
cb889f9220
svc: Initial nx impl. for QueryMemory, ConnectToPort, SendSyncRequest, etc.
2017-10-14 17:30:07 -04:00
bunnei
d62750c46d
Remove more 3DS-specific code.
2017-10-13 17:56:42 -04:00
bunnei
15983dcfdc
Remove more 3DS-specific code.
2017-10-12 21:45:06 -04:00
bunnei
dbd15b0d10
Remove more 3DS-specific code.
2017-10-12 21:29:53 -04:00
bunnei
72b03025ac
Remove lots more 3DS-specific code.
2017-10-12 21:21:49 -04:00
bunnei
0906de9a14
hle: Remove a large amount of 3ds-specific service code.
2017-10-10 17:32:14 -04:00
bunnei
b1d5db1cf6
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
23ce4f5afc
loader: Various improvements for NSO/NRO loaders.
2017-10-09 21:39:32 -04: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
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
bunnei
33ea53094c
loader: Add support for NRO, as well as various fixes and shared linker.
2017-10-05 23:30:08 -04: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
bunnei
d454364bca
nso: Fixes to support homebrew NSOs without a MOD header.
2017-10-03 18:30:02 -04: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
bunnei
6377585edb
arm_interface: Set TLS address for dynarmic core.
2017-09-30 14:34:03 -04:00
bunnei
8c92435ded
nso: Refactor and allocate .bss section.
2017-09-30 14:33:58 -04:00
bunnei
fa1c7c7ee1
process: Support loading multiple codesets.
2017-09-30 14:33:11 -04:00
bunnei
6bafd3f4f7
loader: Add support for loading an NSO.
2017-09-30 14:32:53 -04:00
bunnei
9eb4888df7
externals: Add lz4.
2017-09-30 14:30:04 -04:00
bunnei
46297c9653
memory: Log with 64-bit values.
2017-09-30 14:28:54 -04:00
bunnei
c5ce5c06e4
kernel: Various threading fixes to support 64-bit addressing.
2017-09-30 14:28:54 -04:00
bunnei
f01472a5ff
core: Various changes to support 64-bit addressing.
2017-09-30 14:28:54 -04:00
bunnei
3411883fe3
arm: Use 64-bit addressing in a bunch of places.
2017-09-30 14:28:53 -04:00
bunnei
1c4f9e822c
elf: Check if machine is ARM.
2017-09-30 14:28:53 -04: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
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
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
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
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
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
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
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
Subv
7096f01c14
HLE/APT: Always return an error from PrepareToStartNewestHomeMenu so that the Home Menu doesn't try to reboot the system.
...
As per 3dbrew:
"During Home Menu start-up it uses APT:PrepareToStartNewestHomeMenu. If that doesn't return an error(normally NS returns 0xC8A0CFFC for that), Home Menu starts a hardware reboot with APT:StartNewestHomeMenu etc. "
2017-09-24 08:59:31 -05:00
Subv
b57d58c0dc
HLE/APT: Prepare the APT Wakeup parameter when the game calls Initialize
...
We need to know what is being run so we can set the APT parameter destination AppId correctly.
Delaying the preparation of the parameter until we know which AppId is running lets us support booting both the Home Menu and normal game Applications.
2017-09-24 08:59:30 -05:00
Subv
0b33e36292
HLE/SRV: Implemented RegisterService.
...
Now system modules can do more than just crash immediately on startup.
2017-09-24 00:12:58 -05:00
B3n30
28c726f205
WebService: Verify username and token ( #2930 )
...
* WebService: Verify username and token; Log errors in PostJson
* Fixup: added docstrings to the functions
* Webservice: Added Icons to the verification, imrpved error detection in cpr, fixup nits
* fixup: fmt warning
2017-09-18 21:18:26 -04:00
Yuri Kunde Schlesner
255fd8768d
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
3d86e3afc4
Services/NS: Port ns:s to the new service framework.
2017-09-16 10:52:45 -05:00
B3n30
813837c5cf
Merge pull request #2842 from Subv/switchable_page_table
...
Kernel/Memory: Give each process its own page table and allow switching the current page table upon reschedule
2017-09-15 22:41:45 +02:00
Subv
7a3ab7c63d
CPU/Dynarmic: Disable the fast page-table access in dynarmic until it supports switching page tables at runtime.
2017-09-15 14:26:22 -05:00
Subv
f18a176b60
Kernel/Memory: Make IsValidPhysicalAddress not go through the current process' virtual memory mapping.
2017-09-15 14:26:18 -05:00
Subv
b178089251
Kernel/Threads: Don't clear the CPU instruction cache when performing a context switch from an idle thread into a thread in the same process.
...
We were unnecessarily clearing the cache when going from Process A -> Idle -> Process A, this caused extreme performance regressions.
2017-09-15 14:26:15 -05:00
Subv
214150f00c
Kernel/Memory: Changed GetPhysicalPointer so that it doesn't go through the current process' page table to obtain a pointer.
2017-09-15 14:26:13 -05:00
bunnei
588077184b
Merge pull request #2915 from wwylele/font-archive-2
...
APT: load different shared font depending on the region
2017-09-11 21:39:56 -04:00
Subv
c34ec5e77c
Kernel/Memory: Switch the current page table when a new process is scheduled.
2017-09-10 15:14:31 -05:00
Subv
6d2734a074
Kernel/Memory: Give each Process its own page table.
...
The loader is in charge of setting the newly created process's page table as the main one during the loading process.
2017-09-10 15:13:41 -05:00
Weiyi Wang
617b6974b9
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
mailwl
11f2eff17d
Remove _flag in var names
2017-09-04 12:15:15 +03:00
mailwl
589babbf74
Mii Selector Applet: update Mii structures
2017-09-04 12:04:12 +03:00
wwylele
59a9aaf388
APT: load different shared font depending on the region
2017-09-03 12:34:11 +03:00
bunnei
75cd28a7cc
Merge pull request #2899 from wwylele/touch-refactor
...
Refactor touch input into a TouchDevice
2017-08-29 11:29:10 -04:00
Sebastian Valle
acbd46366c
Merge pull request #2905 from danzel/fix-2902
...
Use recursive_mutex instead of mutex to fix #2902
2017-08-29 09:35:56 -05:00
danzel
8266064796
Use recursive_mutex instead of mutex to fix #2902
2017-08-29 20:39:55 +12:00
Subv
f64cd87604
Services/UDS: Remove an old duplicated declaration of WifiPacket.
2017-08-27 10:48:15 -05:00
Subv
d088dbfbe1
Services/UDS: Handle the connection sequence packets.
...
There is currently no stage tracking, a client is considered "Connected" when it receives the EAPoL Logoff packet from the server, this is not yet implemented.
2017-08-27 10:48:13 -05:00
Subv
2e9f544ecc
Services/UDS: Store the received beacon frames until RecvBeaconBroadcastData is called, up to 15 beacons at the same time, removing any older beacon frames when the limit is exceeded.
2017-08-27 10:48:11 -05:00
Subv
54411bef4e
Services/UDS: Add functions to generate 802.11 auth and assoc response frames.
2017-08-27 10:48:09 -05:00
bunnei
04bd0c957e
web_services: Refactor to remove dependency on Core.
2017-08-25 23:10:02 -04:00
bunnei
9f0da33c33
qt: Add an option to view/regenerate telemetry ID.
2017-08-25 23:10:02 -04:00
bunnei
c781aea947
settings: Add enable_telemetry, citra_username, and citra_token.
2017-08-25 23:10:00 -04:00
bunnei
d6a819c7cb
telemetry_session: Log telemetry ID.
2017-08-25 23:10:00 -04:00
ThaMighty90
3cdf854e44
SidebySide Layout ( #2859 )
...
* added a SidebySide Layout
* Reworked, so both screen have the same height and cleaned up screen translates.
* added the option in the UI, hope this is the right way to do it. formated framebuffer_layout.cpp
* delete the x64 files
* deleted ui_configure_graphics.h
* added Option for the Layout in the xml
* got rid of SIDE_BY_SIDE_ASPECT_RATIO because it was useless. pulled translate into variables
* changed shift variables to u32 and moved them in their respective branch. remove notr="true" for the Screen layout drop down
* reworked intends :). changed function description for SideFrameLayout
* some description reworking
2017-08-25 17:53:07 -04:00
wwylele
2617de1fe6
EmuWindow: refactor touch input into a TouchDevice
2017-08-24 15:00:56 +03:00
wwylele
c84e60b470
HID: use TouchDevice for touch pad
2017-08-24 13:56:43 +03:00
James Rowe
61442d6afb
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
bunnei
2bbff9fa96
Merge pull request #2893 from Subv/not_schedule_main_thread
...
Kernel/Threads: Don't immediately switch to the new main thread when loading a new process.
2017-08-22 17:45:47 -04:00
Subv
f484927ed0
Kernel/Memory: Acquire the global HLE lock when a memory read/write operation falls outside of the fast path, for it might perform an MMIO operation.
2017-08-22 09:30:58 -05:00
Subv
bca8916cea
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
Subv
fa228ca637
Kernel/Threads: Don't immediately switch to the new main thread when loading a new process.
...
This is necessary for loading multiple processes at the same time.
The main thread will be automatically scheduled when necessary once the scheduler runs.
2017-08-21 20:54:29 -05:00
Subv
8a9a4e2c42
GPU/Warnings: Explicitly cast the screen refresh ticks to u64.
2017-08-21 08:34:30 -05:00
Subv
65f19b51c4
Warnings: Add UNREACHABLE macros to switches that contemplate all possible values.
2017-08-21 08:34:28 -05:00
Subv
145a7293a3
HLE/Applets: Fixed some conversion warnings when creating the framebuffer shared memory objects.
2017-08-21 08:34:27 -05:00
Subv
d237a89048
CPU/Dynarmic: Fixed a warning when incrementing the number of ticks in ExecuteInstructions.
2017-08-21 08:34:25 -05:00
Subv
9d0841b48b
Dyncom: Use size_t instead of int to store the instruction offsets in the instruction cache.
...
Fixes a few warnings.
2017-08-21 08:34:23 -05:00
Subv
d3fb1d6c38
Dyncom: Fixed a conversion warning when decoding thumb instructions.
2017-08-21 08:20:36 -05:00
James Rowe
bbfa9d0635
Merge pull request #2861 from wwylele/motion-refactor
...
Refactor MotionEmu into a InputDevice
2017-08-19 23:43:01 -06:00
wwylele
54c0c8adee
HID: fix a comment and a warning
2017-08-20 08:37:48 +03:00
B3n30
5d0a1e7efd
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
Yuri Kunde Schlesner
21204ba488
Merge pull request #2881 from MerryMage/dsp-firm-check
...
dsp_dsp: Remove size assertion in LoadComponent
2017-08-15 20:14:41 -07:00
MerryMage
b67c2dc82c
dsp_dsp: Remove size assertion in LoadComponent
2017-08-15 10:16:50 +01:00
Sebastian Valle
d59f503729
Merge pull request #2843 from Subv/applet_slots
...
Services/APT: Use an array to hold data about the 4 possible concurrent applet types (Application, Library, HomeMenu, System)
2017-08-12 10:27:57 -05:00
wwylele
188194908c
move MotionEmu from core/frontend to input_common as a InputDevice
2017-08-11 11:05:08 +03:00
wwylele
867eabd6b7
HID: use MotionDevice for Accelerometer and Gyroscope
2017-08-11 11:03:18 +03:00
Weiyi Wang
aaf5161344
Merge pull request #2863 from wwylele/pad-state-zero
...
HID: zero unused PadState bits
2017-08-10 17:50:18 +03:00
wwylele
599de29ea3
HID: zero unused PadState bits
2017-08-10 17:01:03 +03:00
bunnei
c2466a2f19
Merge pull request #2862 from j-selby/update-cryptopp
...
Update CryptoPP (byte ambiguity)
2017-08-09 16:18:43 -04:00
mailwl
a6273dd56a
Service/dlp: Update function tables according 3dbrew
2017-08-09 16:14:07 +03:00
James
1a44949ef7
Update cryptopp
2017-08-08 17:50:09 +10:00
Subv
177e8ce655
Services/APT: Use the AppletAttributes union directly when dealing with applet attrs.
2017-08-07 16:09:55 -05:00
Subv
73fba0de46
Services/APT: Use an array to hold data about the 4 possible concurrent applet types (Application, Library, HomeMenu, System).
...
This gives each applet type its own set of events as per the real NS module.
2017-08-07 14:53:58 -05:00
bunnei
fb8de89859
telemetry: Add field for OsPlatform.
2017-08-03 20:10:38 -04:00
bunnei
9390d54bb3
telemetry: Add field for BuildName.
2017-08-03 20:10:37 -04:00
bunnei
5c631ec9c5
telemetry: Add field for RequiresSharedFont.
2017-08-03 20:10:37 -04:00
bunnei
a621ab6853
telemetry_session: Log BuildDate and ProgramName fields.
2017-08-03 20:10:37 -04:00
bunnei
9b8e5bea66
core: Expose AppLoader as a public interface.
2017-08-03 20:10:37 -04:00
bunnei
f5cf9960d9
loader: Expose program title.
2017-08-03 20:10:37 -04:00
James
941a722ff1
Handle invalid filenames when renaming files/directories
2017-07-31 17:11:53 +10:00
bunnei
f15e5522dc
Merge pull request #2840 from Subv/apt_parameter
...
Services/APT: Corrected the behavior of the Receive/Send/Glance/CancelParameter functions
2017-07-27 11:14:27 -04:00
Weiyi Wang
045d0b5bbd
Merge pull request #2799 from yuriks/virtual-cached-range-flush
...
Add address conversion functions returning optional, Add function to flush virtual region from rasterizer cache
2017-07-22 10:15:52 +03:00
Subv
e59ab7c1d6
Service/APT: Log Send/Cancel/Receive/GlanceParameter calls even if they return an error.
2017-07-21 15:03:06 -05:00
Subv
68596a7068
Services/APT: Return the proper error code when calling SendParameter with an outstanding parameter already in memory.
2017-07-21 14:59:26 -05:00
Subv
a9bc417f59
Services/APT: Reset the APT parameter inside CancelParameter if the conditions are met.
2017-07-21 14:59:25 -05:00
Subv
e403638d9b
Services/APT: Properly clear the apt parameter after a successful ReceiveParameter call.
2017-07-21 14:59:22 -05:00
Subv
2dc720c355
Services/APT: Use the right error codes in ReceiveParameter and GlanceParameter when the parameter doesn't exist.
2017-07-21 14:59:21 -05:00
Subv
5682608df7
Services/APT: Use boost::optional for the APT parameter structure.
2017-07-21 14:59:20 -05:00
bunnei
df8b9863f9
telemetry: Log performance, configuration, and system data.
2017-07-17 21:32:28 -04:00
B3n30
7dbbd8a02e
stubbed frd::UnscrambleLocalFriendCode ( #2827 )
2017-07-16 21:32:08 -05:00
Weiyi Wang
e634b75754
Merge pull request #2784 from wwylele/font-archive
...
load shared font from system archive
2017-07-16 20:12:55 +03:00
bunnei
33b012e86b
web_service: Add CMake flag to enable.
2017-07-11 18:33:41 -04:00
bunnei
8af3ebb149
telemetry_session: Use TelemetryJson to submit real telemetry.
2017-07-11 18:33:40 -04:00
bunnei
52fbe1e10c
web_service: Add skeleton project.
2017-07-10 00:15:40 -04:00
bunnei
8abf808854
settings: Add telemetry endpoint URL.
2017-07-10 00:15:39 -04:00
Sebastian Valle
669757a97b
Merge pull request #2815 from mailwl/bossp
...
Service/boss:P: Add some functions to FunctionTable
2017-07-08 13:58:40 -05:00
bunnei
6d4bac8522
Merge pull request #2797 from yuriks/cached-vma-free-crash
...
Memory: Fix crash when unmapping a VMA covering cached surfaces
2017-07-08 14:07:47 -04:00
mailwl
8582194a4c
Service/boss:P: Add some functions to FunctionTable
2017-07-01 12:21:38 +03:00
Sebastian Valle
56d718b2a1
Merge pull request #2793 from Subv/replyandreceive
...
Kernel/SVC: Partially implemented svcReplyAndReceive
2017-06-29 17:05:22 -05:00
Subv
b53fa9514f
Kernel/SVC: Pass the current thread as a parameter to ClientSession::SendSyncRequest.
2017-06-29 12:30:34 -05:00
wwylele
85a448d405
gpu: add comments for TextureCopy
2017-06-29 13:09:23 +03:00
wwylele
bf16c73260
gpu: fix edge cases for TextureCopy
2017-06-27 23:20:23 +03:00
Sebastian Valle
fa53ccc74b
Merge pull request #2778 from Subv/uds_more
...
Services/UDS: Stub SendTo to generate the unencrypted data frames with the right headers
2017-06-26 19:35:52 -05:00
Subv
2eb174713b
UDS: Use the ToDS and FromDS fields to properly calculate the AAD used during encryption.
2017-06-26 12:24:14 -05:00
Subv
1f1739d366
UDS: Move the UDS keyslot used to generate the CCMP key to the AES::KeySlotID enum.
2017-06-26 12:24:13 -05:00
Subv
87168bfe8b
UDS: Run clang-format.
2017-06-26 12:24:11 -05:00
Subv
9befb8c887
UDS: Added functions to encrypt and decrypt the data frames.
...
The responsibility of encryption and encapsulation into an 802.11 MAC frame will fall into the callers of GenerateDataPayload.
2017-06-26 12:24:09 -05:00
Subv
c3c9175a1c
Kernel/Sessions: Clean up the list of pending request threads of a session when the client endpoint is closed.
2017-06-25 23:38:29 -05:00
Subv
88c93a7436
Kernel/SVC: Partially implemented svcReplyAndReceive.
...
It behaves mostly as WaitSynchronizationN with wait_all = false, except for IPC buffer translation.
The target thread of an IPC response will now wake up when responding.
IPC buffer translation is currently not implemented.
Error passing back to svcSendSyncRequest is currently not implemented.
2017-06-25 23:38:28 -05:00
wwylele
9549eed0be
apt: load shared font from system archive
2017-06-26 01:38:12 +03:00
wwylele
22994607cc
apt/shared_font: don't relocate zero offset
2017-06-26 00:43:23 +03:00
Subv
8feeb81af2
Kernel/ServerSession: Keep track of which threads have issued sync requests.
2017-06-25 14:47:25 -05:00
Yuri Kunde Schlesner
e192d417ec
Kernel: Implement AcceptSession SVC
2017-06-23 11:26:37 -07:00
Yuri Kunde Schlesner
8c6a8edaca
Kernel: Fix SVC wrapper for CreatePort
...
The return parameters were flipped.
2017-06-23 11:22:04 -07:00
Yuri Kunde Schlesner
aa0f3047d3
Kernel: Implement CreateSessionToPort SVC
2017-06-23 11:22:02 -07:00
Yuri Kunde Schlesner
6d436d7a52
Merge pull request #2798 from yuriks/svc-create-session
...
Kernel: Implement CreateSession SVC
2017-06-23 11:18:49 -07:00
Yuri Kunde Schlesner
f94093d0fd
Kernel: Implement CreateSession SVC
2017-06-22 00:39:27 -07:00
Yuri Kunde Schlesner
d553135748
Memory: Add function to flush a virtual range from the rasterizer cache
...
This is slightly more ergonomic to use, correctly handles virtual
regions which are disjoint in physical addressing space, and checks only
regions which can be cached by the rasterizer.
2017-06-21 22:57:12 -07:00
Yuri Kunde Schlesner
f2a5a77e27
Memory: Fix crash when unmapping a VMA covering cached surfaces
...
Unmapping pages tries to flush any cached GPU surfaces touching that
region. When a cached page is invalidated, GetPointerFromVMA() is used
to restore the original pagetable pointer. However, since that VMA has
already been deleted, this hits an UNREACHABLE case in that function.
Now when this happens, just set the page type to Unmapped and continue,
which arrives at the correct end result.
2017-06-21 22:56:31 -07:00
Yuri Kunde Schlesner
6ae0086b39
Memory: Add TryVirtualToPhysicalAddress, returning a boost::optional
2017-06-21 22:55:18 -07:00
Yuri Kunde Schlesner
326e7c7020
Memory: Make PhysicalToVirtualAddress return a boost::optional
...
And fix a few places in the code to take advantage of that.
2017-06-21 22:55:17 -07:00
Yuri Kunde Schlesner
f64d0b3f26
Kernel/IPC: Support translation of null handles
...
Missed this in my first implementation. Thanks to @wwylele for pointing
out that this was missing.
2017-06-21 14:27:03 -07:00
Weiyi Wang
c4f0927a62
Merge pull request #2789 from yuriks/misc-kernel
...
Trivial no-op additions
2017-06-21 20:34:12 +03:00
Yuri Kunde Schlesner
b21dfbb295
Merge pull request #2790 from yuriks/remove-movefrom
...
Remove ResultVal::MoveFrom
2017-06-20 22:04:09 -07:00
Yuri Kunde Schlesner
42b198eb0a
Memory: Add enum definitions for the n3DS FCRAM size
2017-06-20 22:03:25 -07:00
Sebastian Valle
96dcccc80c
Merge pull request #2779 from Subv/uds_more2
...
UDS: Added a hook for updating the connection status when a client connects to the network.
2017-06-21 02:29:00 +00:00
Yuri Kunde Schlesner
723dc644fa
ResultVal: Remove MoveFrom()
...
Replace it with std::move(result_val).Unwrap(), or Foo().Unwrap() in
case you already have an rvalue.
2017-06-18 19:03:15 -07:00
Yuri Kunde Schlesner
4cb47b0278
ResultVal: Add an rvalue overload of Unwrap()
2017-06-18 18:49:46 -07:00
Yuri Kunde Schlesner
90b8d4dd36
Kernel: Add comment about the extended linear heap area
2017-06-18 18:38:40 -07:00
Yuri Kunde Schlesner
0dfafdbe59
Kernel/IPC: Make HLERequestContext usable from outside kernel
2017-06-18 16:05:12 -07:00
Subv
812b404492
UDS: Clarify comment about the first 4 bytes of the SecureData header.
...
It is likely that these 4 bytes are actually a different header, part of some protocol that encapsulates the SecureData protocol.
2017-06-15 12:08:55 -05:00
Subv
61ce89a55a
UDS: Return the correct error messages in SendTo when not connected to a network or trying to send to itself.
2017-06-15 12:08:54 -05:00
Subv
7efb64132d
UDS: Stub SendTo to generate the unencrypted data frame with the right headers.
2017-06-15 12:08:53 -05:00
Subv
38ceab13f6
UDS: Added a hook for updating the connection status when a client connects to the network.
2017-06-15 11:57:49 -05:00
Sebastian Valle
ac168eeb5d
Services/UDS: Set the proper bit in the ConnectionStatus structure when creating a network. ( #2738 )
...
* Services/UDS: Set the proper bit in the ConnectionStatus structure when creating a network.
This lets the application know that the host was successfully added to the session.
* Services/UDS: Reset the connection status when destroying the network
* Services/UDS: Reset the connection status's bitmask of changed nodes after reporting it to the game.
2017-06-13 22:00:58 +03:00
Yuri Kunde Schlesner
d8f6000f54
Kernel/IPC: Use boost::small_vector for HLE context objects
2017-06-11 16:34:13 -07:00
Yuri Kunde Schlesner
92ca422088
Kernel: Allow clearing request_objects to re-use buffer space
...
Reduces the necessary allocation to max(in_handles, out_handles) rather
than (in_handles + out_handles).
2017-06-11 13:10:21 -07:00
Yuri Kunde Schlesner
8cb65fe65a
Kernel: Basic support for IPC translation for HLE services
2017-06-11 13:10:21 -07:00
Yuri Kunde Schlesner
7656d83df5
Service/sm: Convert srv: to use IPC helpers
2017-06-11 13:10:21 -07:00
Yuri Kunde Schlesner
21436f5ef7
IPC: Add Pop/PushObjects methods to RequestParser/Builder
...
These use the context functions to create and look-up handles for the
user.
2017-06-11 13:10:20 -07:00
Yuri Kunde Schlesner
1c4b0ebb1f
IPC: Add basic HLERequestContext support to RequestParser/Builder
2017-06-11 13:10:16 -07:00
Yuri Kunde Schlesner
05fee70211
Kernel: Add methods in HLERequestContext abstracting handle creation
2017-06-11 13:07:33 -07:00
Yuri Kunde Schlesner
20e5abb308
ServiceFramework: Use separate copy of command buffer
...
Copy the IPC command buffer to/from the request context before/after the
handler is invoked. This is part of a move away from using global data
for handling IPC requests.
2017-06-11 13:07:33 -07:00
Yuri Kunde Schlesner
78398d0978
Merge pull request #2756 from yuriks/service-framework
...
New service framework
2017-06-08 21:03:03 -07:00
Yuri Kunde Schlesner
6f368abe13
Service/sm: Convert 'srv:' to ServiceFramework
2017-06-08 20:59:19 -07:00
Yuri Kunde Schlesner
838faf147e
Session: Remove/add some forward declarations
2017-06-08 00:33:57 -07:00
Yuri Kunde Schlesner
d666e01cdf
Kernel: Ensure objects are kept alive during ClientSession disconnection
...
Fixes #2760
2017-06-08 00:33:24 -07:00
Yuri Kunde Schlesner
c92a8a6154
Service: Remove a few redundant namespace qualifiers
2017-06-08 00:11:37 -07:00
Yuri Kunde Schlesner
84c497292a
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
James Rowe
8c22334f96
Merge pull request #2737 from Subv/decryptbeacondata
...
Services/UDS: Implement DecryptBeaconData.
2017-06-07 10:08:43 -06:00
Yuri Kunde Schlesner
6dc133c24a
Kernel: Remove some unnecessary namespace qualifications
2017-06-06 14:51:42 -07:00
Subv
d7d0b46fc1
Services/UDS: Implement DecryptBeaconData.
...
This function decrypts the encrypted data tags contained in the 802.11 beacon frames.
2017-06-06 11:31:20 -05:00
Yuri Kunde Schlesner
d96a9e0c11
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.
2017-06-06 02:57:23 -07:00
Yuri Kunde Schlesner
23ec6b3d8f
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
e5a59ef27c
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.
2017-06-06 02:57:04 -07:00
Yuri Kunde Schlesner
1eee09f364
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
6354d08359
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.
2017-06-06 02:56:32 -07:00
Yuri Kunde Schlesner
7e5dd46cf4
ResultVal: Add more convenience utils for creating and cascading results
2017-06-06 00:51:57 -07:00
Yuri Kunde Schlesner
e626a520ca
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
TheKoopaKingdom
f008b22e3b
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.
2017-06-02 18:40:39 -04:00
TheKoopaKingdom
59de38b965
Switched to the ERROR_NOT_FOUND constant from errors.h.
2017-06-02 18:40:39 -04:00
TheKoopaKingdom
cea19fd659
Moved whitelist checks from FS_User to the Archive_NCCH handler.
2017-06-02 18:40:27 -04:00
TheKoopaKingdom
a8aef599e0
Created a whitelist of system archives to prevent false positives creating dialogs.
2017-06-02 18:28:14 -04:00
TheKoopaKingdom
0409bdfea5
Optimized messages that were repetitive and added ability for core errors to specify more details optionally.
2017-06-02 18:28:14 -04:00
TheKoopaKingdom
37bec598ea
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.
2017-06-02 18:28:14 -04:00
TheKoopaKingdom
1ecb322daa
Added system for handling core errors in citra-qt.
2017-06-02 18:27:56 -04:00
TheKoopaKingdom
e523c76cc8
Fixed encrypted ROM error messages.
2017-06-02 18:25:32 -04:00
bunnei
4857eb441b
Merge pull request #2722 from wwylele/cam-ipc-helper
...
CAM: use IPCHelper
2017-05-31 19:47:37 -04:00
bunnei
af1ff4d3ce
Merge pull request #2739 from yuriks/kernel-reorg
...
Split-up kernel.h
2017-05-31 19:46:15 -04:00
Yuri Kunde Schlesner
be031989ee
Kernel: Move HandleTable to a separate file
2017-05-29 17:34:39 -07:00
Yuri Kunde Schlesner
64ecf81a3c
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
9453223075
Kernel: Removed HandleTable::GetWaitObject
...
This isn't necessary anymore since plain Get works correctly for
WaitObjects.
2017-05-29 15:10:06 -07:00
Yuri Kunde Schlesner
b17754f998
Kernel: Extract dynamic Object pointer cast into its own function
2017-05-29 14:42:27 -07:00
Yuri Kunde Schlesner
3b68600f81
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
4f84372bc2
CMake: Add cryptopp include path to target property
2017-05-27 22:16:57 -07:00
Yuri Kunde Schlesner
0f563111a2
CMake: Use IMPORTED target for Boost
2017-05-27 20:44:51 -07:00
Yuri Kunde Schlesner
7b81903756
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
e91f2b7663
Remove some unnecessary inclusions of video_core.h
2017-05-27 18:41:24 -07:00
Yuri Kunde Schlesner
eb10f25025
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
ae095cfb71
Core: Fix some out-of-style includes
2017-05-27 16:31:42 -07:00
Yuri Kunde Schlesner
d1bf7919da
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
wwylele
857510a7c0
fixup!cam: use IPCHelper
2017-05-27 21:30:07 +03:00
bunnei
61decd84cc
Merge pull request #2716 from yuriks/decentralized-result
...
Decentralize ResultCode
2017-05-26 11:59:57 -04:00
Yuri Kunde Schlesner
a5810d61da
FS: Remove unused result definition
2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
2cdb40d709
Kernel: Centralize error definitions in errors.h
2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
743d18f0e4
GSP_GPU: Move error codes from result.h to local file
2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
92be29adba
FileSys: Move all result description to errors.h
2017-05-24 21:06:00 -07:00
Yuri Kunde Schlesner
3b1f0fea31
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.
2017-05-24 21:05:59 -07:00
Yuri Kunde Schlesner
a75145a2c6
Make BitField and ResultCode constexpr-initializable
2017-05-24 21:05:59 -07:00
bunnei
120b00fb1a
telemetry: Log a few simple data fields throughout core.
2017-05-24 19:16:23 -04:00
bunnei
f3e14cae1e
core: Keep track of telemetry for the current emulation session.
2017-05-24 19:16:22 -04:00
wwylele
8cd9522526
cam: move u32->u8 trancation to IPCHelper
2017-05-24 12:50:19 +03:00
wwylele
924292f2cc
cam: use IPCHelper
2017-05-24 12:45:36 +03:00
Sebastian Valle
c291db72e7
Merge pull request #2692 from Subv/vfp_ftz
...
Dyncom/VFP: Convert denormal outputs into 0 when the FTZ flag is enabled.
2017-05-22 12:16:53 -05:00
Yuri Kunde Schlesner
cc566dadd8
Merge pull request #2406 from Subv/session_disconnect
...
Kernel: Properly update port counters on session disconnection.
2017-05-21 17:18:16 -07:00
Subv
5b46a89230
fixup! Dyncom/VFP: Convert denormal outputs into 0 when the FTZ flag is enabled.
2017-05-21 18:56:09 -05:00
Subv
37347bfa38
Kernel/Sessions: Remove the ClientSession::Create function.
...
It is not meant to be used by anything other than CreateSessionPair.
2017-05-21 18:52:42 -05:00
Merry
188d63fdb6
Merge pull request #2694 from Subv/vfp_vsub_ftz
...
Dyncom/VFP: Perform flush-to-zero on the second operand of vsub before sending it to vadd.
2017-05-22 00:50:52 +01:00
bunnei
152a012373
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
emmaus
b2e82d16c8
use IPCHelper for PTM services
2017-05-19 08:44:58 +00:00
Subv
f2d5d8cfac
Services/UDS: Use the new IPC helper functions.
2017-05-15 13:05:17 -05:00
Subv
846cc6cee3
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.
2017-05-15 13:05:16 -05:00
Subv
528dea988c
Services/UDS: Generate the UDS beacons when the beacon callback fires.
2017-05-15 13:05:15 -05:00
Subv
ce5bc477ca
Kernel: Remove a now unused enum and variable regarding a session's status.
2017-05-15 11:22:16 -05:00
Subv
ddfabf3133
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
180587bb8b
Merge pull request #2687 from yuriks/address-mappings
...
Kernel: Map special regions according to ExHeader
2017-05-14 13:52:40 -07:00
Subv
a0874a7a68
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.
2017-05-13 18:03:41 -05:00
bunnei
15b26249cc
Merge pull request #2676 from wwylele/irrst
...
ir: implement new 3ds HID via ir:rst
2017-05-10 09:56:27 -04:00
Yuri Kunde Schlesner
f18d454eb6
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.
2017-05-09 21:44:00 -07:00
Yuri Kunde Schlesner
b4a93cfdde
DSP: Create backing memory for entire DSP RAM
...
Also move address space mapping out of video_core.
2017-05-09 21:44:00 -07:00
Yuri Kunde Schlesner
d3db770cad
Memory: Add constants for the n3DS additional RAM
...
This is 4MB of extra, separate memory that was added on the New 3DS.
2017-05-09 21:43:59 -07:00
Yuri Kunde Schlesner
13dd0b88de
Merge pull request #2696 from Subv/vfp_revert
...
Dyncom/VFP: Revert edf30d8
and fix the FPSCR getting invalid values.
2017-05-08 21:38:45 -07:00
Subv
11fe85f129
Dyncom/VFP: Strip the VFP_NAN_FLAG sentinel value when setting vfp exceptions.
2017-05-09 00:36:23 -05:00
Subv
bf45ccfb40
Revert "Remove `exceptions` parameter from `normaliseround` VFP functions"
...
This reverts commit edf30d84cc
.
Conflicts:
src/core/arm/skyeye_common/vfp/vfp_helper.h
src/core/arm/skyeye_common/vfp/vfpdouble.cpp
src/core/arm/skyeye_common/vfp/vfpsingle.cpp
2017-05-09 00:36:22 -05:00
Subv
b1a29371c9
Dyncom/VFP: Convert denormal outputs into 0 when the FTZ flag is enabled.
...
Inputs are still not flushed to 0 if they are denormals.
2017-05-08 14:34:16 -05:00
Yuri Kunde Schlesner
d97b977540
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
f0a582b218
Dyncom: Tweak types and log formatting
2017-05-07 15:33:42 -07:00
Yuri Kunde Schlesner
cb4da3975e
Remove unused symbols code
2017-05-07 15:33:39 -07:00
Yuri Kunde Schlesner
6577bbc3c5
Remove ability to load symbol maps
...
This was now mostly unused except by thread creation, which used a
symbol of the entrypoint, if available, to name the thread.
2017-05-07 15:33:07 -07:00
wwylele
f9fdaafa04
fixup!ir: implement new 3ds HID via ir:rst
2017-05-07 21:53:27 +03:00
B3n30
8bee016145
Create a random console_unique_id ( #2668 )
...
* Create a random console_id when config save_file is created
Added button in system config to refresh the console unique id
* Moved the connect for the button from .ui file to constructor of ConfigureSystem
* Added warning and info dialog
Fixup: Make use of qt5 style connects,
renamed the refresh button,
removed some duplicate code,
changed random device and moved all to the generate function
* Changed the random generator to reflect what a real 3DS stores as console unique id
Fixup: Changed the warning message
* Fixup: Set and Create
* Fixup: Added console id label, therfore removed second message box
* Fixup: fixed the endianess
* Fixup: more endianness fixes
* Fixup: Endianness the 3rd
2017-05-05 20:55:51 -04:00
wwylele
85116643b2
ir: implement new 3ds HID via ir:rst
2017-05-04 12:59:28 +03:00
bunnei
de1b6cc695
Merge pull request #2606 from wwylele/ir
...
ir: implement circle pad pro
2017-05-03 22:34:12 -04:00
wwylele
12bcf64ab5
ir: implement circle pad pro
2017-05-03 09:44:00 +03:00
Yuri Kunde Schlesner
941a3dda8a
Merge pull request #2532 from wwylele/ldrro-ipc
...
ldr_ro: use IPC helper
2017-04-18 00:32:01 -07:00
wwylele
11ea159aa4
ldr_ro: use IPC helper
2017-04-17 10:11:18 +03:00
bunnei
6a72bd62b5
Merge pull request #2659 from MerryMage/dsp_dsp-correction
...
dsp_dsp: Messages are modified by service before being sent to DSP
2017-04-13 10:43:13 -04:00
MerryMage
172a362884
dsp_dsp: Messages are modified by service before being sent to DSP
2017-04-12 21:33:07 +01:00
Sebastian Valle
26745f28ea
Merge pull request #2628 from Subv/uds
...
Services/UDS: Initial support for hosting local-wlan networks.
2017-04-12 11:57:24 -05:00
bunnei
26979cd6ef
Merge pull request #2533 from Lectem/apt_ipchelper
...
IpcHelper enhancement and APT refactor
2017-04-06 14:44:52 -04:00
bunnei
37b7df9c59
Merge pull request #2634 from wwylele/battery
...
shared_page: stub battery state
2017-04-06 14:43:29 -04:00
noah the goodra
7ca9dedfd6
error conversion fixes for soc_u
2017-04-03 10:19:42 -05:00
Michael Theall
31f9c1ab5d
Fix OutputDebugString syscall
2017-04-01 04:09:39 -05:00
Sebastian Valle
5c4bd3ef33
Services/UDS: Fixed a style mistake in GetChannel.
2017-03-27 13:08:26 -05:00
Subv
f8f3b27eb3
Services/UDS: Use consistent spelling for WiFi and simplify the GetChannel function.
2017-03-26 08:17:57 -05:00
Subv
0ae6d8be5b
Services/UDS: Signal the connection event when closing down the network.
2017-03-26 08:17:56 -05:00
Subv
d7d5bf411a
Services/UDS: Do not allow trying to start up a network that only the host can connect to.
2017-03-26 08:17:55 -05:00
Subv
97f1e62b66
Service/UDS: Schedule an event to broadcast the beacon frames every 102.4ms.
2017-03-26 08:17:53 -05:00
Subv
4243c1198f
Services/UDS: Store the entire NetworkInfo structure that was used to create the network.
...
It will be needed when generating the beacon frames.
2017-03-26 08:17:52 -05:00
Subv
9771615f16
Services/UDS: Initial support for hosting local-wlan networks.
...
Currently it will let games create a network as hosts, but will not broadcast it anywhere and will not allow clients to connect.
2017-03-26 08:17:51 -05:00
wwylele
a37c9fb9d3
ptm: create SharedExtSave file before openning it
2017-03-25 14:22:07 +03:00
bunnei
ccc3985cc0
Merge pull request #2512 from SonofUgly/custom-layout
...
Add custom layout settings.
2017-03-21 22:57:31 -04:00
wwylele
f7a0328a6e
shared_page: stub battery state
2017-03-21 13:25:56 +02:00
Lectem
e60b433efa
hopefully fix clang-format issues with old version
2017-03-20 22:47:06 +01:00
Lectem
e9c80ea5b7
address more comments
2017-03-19 01:33:56 +01:00
Lectem
979d2000d2
Cast size_t to u32 for PushStaticBuffer usages
2017-03-18 11:56:21 +01:00
Lectem
12ed746477
IPCHelper Skip method + address comments for apt
2017-03-18 11:47:40 +01:00
wwylele
0123411468
apt: fix RequestBuilder parameters for Unwrap
2017-03-18 11:45:19 +02:00
Lectem
77f4fc473f
fix #2560 and other comments
2017-03-18 10:44:01 +01:00
Lectem
fb70c9683c
move push out of class body and add u8 u16 bool specializations
2017-03-18 10:44:01 +01:00
Lectem
501e23ce59
refactor APT service to use the new IPC helpers
2017-03-18 10:44:01 +01:00
bunnei
423ab5e2bc
Merge pull request #2497 from wwylele/input-2
...
Refactor input emulation & add SDL gamepad support
2017-03-17 14:59:39 -04:00
bunnei
3e7459bbf9
Merge pull request #2618 from wwylele/log-less-filename
...
Reduce host file name and path logging
2017-03-16 23:35:36 -04:00
bunnei
709e4fa5d2
Merge pull request #2620 from FernandoS27/syscore_error
...
Refined thread launch on syscore error messages
2017-03-15 21:17:43 -04:00
wwylele
363f36b904
cfg: implement GenHashConsoleUnique
2017-03-12 12:24:57 +02:00
Fernando Sahmkow
b5dbc6cb98
Refined thread launch on syscore error messages
2017-03-09 08:18:18 -05:00
wwylele
047a1586fe
file_sys: lower log level for setting host path
2017-03-08 17:47:24 +02:00
wwylele
6551a72ec8
loader/ncch: less verbose log for loading game list. only log program ID when booting
2017-03-08 17:37:24 +02:00
wwylele
4b931bb913
loader: lower file name logging level
2017-03-08 17:25:09 +02:00
wwylele
e02c4b7195
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
38e800f70d
InputCommon: add Keyboard
2017-03-01 23:30:57 +02:00
wwylele
70420272ca
HID: use AnalogDevice
2017-03-01 23:30:57 +02:00
wwylele
1d1329af23
HID: use ButtonDevice
2017-03-01 23:30:57 +02:00
wwylele
3974895e08
Input: add device and factory template
2017-03-01 23:30:57 +02:00
wwylele
85ba60d5ec
Timer: restore missing signaled=true from #2421
2017-02-27 22:49:46 +02:00
bunnei
5e334af369
Merge pull request #2594 from wwylele/ir-separate
...
IR: separate functions of each port to their own files
2017-02-27 14:25:50 -05:00
B3n30
dcf115778a
Fix log entry in timer::signal ( #2600 )
2017-02-27 11:04:03 -05:00
Mat M
0cb52ee74a
Doxygen: Amend minor issues ( #2593 )
...
Corrects a few issues with regards to Doxygen documentation, for example:
- Incorrect parameter referencing.
- Missing @param tags.
- Typos in @param tags.
and a few minor other issues.
2017-02-26 17:58:51 -08:00
Yuri Kunde Schlesner
b250ce21b9
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
174464a87f
PerfStats: Re-order and document members better
2017-02-26 17:22:04 -08:00
Yuri Kunde Schlesner
fb1979d7e2
Core: Re-write frame limiter
...
Now based on std::chrono, and also works in terms of emulated time
instead of frames, so we can in the future frame-limit even when the
display is disabled, etc.
The frame limiter can also be enabled along with v-sync now, which
should be useful for those with displays running at more than 60 Hz.
2017-02-26 17:22:04 -08:00
Yuri Kunde Schlesner
b285c2a4ed
Core: Make PerfStats internally locked
...
More ergonomic to use and will be required for upcoming changes.
2017-02-26 17:22:03 -08:00
Yuri Kunde Schlesner
92c8bd4b1f
PerfStats: Add method to get the instantaneous time ratio
2017-02-26 17:22:03 -08:00
Yuri Kunde Schlesner
c75ae6c585
Add performance statistics to status bar
2017-02-26 17:22:03 -08:00
Yuri Kunde Schlesner
441f8b5a4b
Core: Remove unnecessary include in thread.h
2017-02-26 17:22:01 -08:00
wwylele
2d6113de09
IR: separate functions of each port to their own files
2017-02-26 11:11:35 +02:00
bunnei
892888ed9e
Merge pull request #2569 from wwylele/wrap-unwrap
...
APT: implemented Wrap and Unwrap
2017-02-25 00:12:33 -05:00
Yuri Kunde Schlesner
fb5301cf6e
Merge pull request #2421 from Subv/timers
...
Timers: Immediately signal the timer if it was started with an initial value of 0
2017-02-24 20:48:31 -08:00
SonofUgly
e0a4450bbd
Add custom layout settings.
2017-02-23 10:49:56 -08:00
Subv
0be77c3ae4
Timers: Return an error when calling SetTimer with negative timeouts.
2017-02-21 20:51:56 -05:00
Subv
029a11030e
Timers: Immediately signal the timer if it was started with an initial value of 0.
2017-02-21 20:51:54 -05:00
wwylele
d5b0e275e3
APT: implement Wrap and Unwrap
2017-02-21 23:57:31 +02:00
wwylele
ea1ea0224c
HW: add AES engine & implement AES-CCM
2017-02-21 23:57:31 +02:00
bunnei
bb448ae66f
Merge pull request #2585 from MerryMage/sxtb16-sxtab16
...
dyncom: Correct SXTAB16 and SXTB16
2017-02-19 22:45:46 -05:00
MerryMage
b125388152
dyncom: Correct SXTAB16 and SXTB16
2017-02-18 20:04:54 +00:00
Weiyi Wang
c7c1f56ce6
HID: move enable_accelerometer/gyroscope_count initialization into Init() ( #2574 )
...
Fixes #2556
2017-02-16 22:04:27 -08:00
wwylele
e4da1a54cf
core: add missing errors.h in CMakeLists.txt
2017-02-15 15:49:07 +02:00
Yuri Kunde Schlesner
070daf4126
HLE/IPC: Fix uninitialized variables in helpers ( #2568 )
...
Fixes #2567
2017-02-13 21:41:59 -08:00
noah the goodra
ded09dc727
NWM changed to NIM
2017-02-13 18:34:01 -06:00
noah the goodra
ad49cec194
turned clang format back on
2017-02-13 18:34:01 -06:00
Weiyi Wang
dbc94efdb5
Core: add cryptopp library ( #2412 )
2017-02-13 12:03:55 -08:00
Yuri Kunde Schlesner
d60767d393
Merge pull request #2561 from wwylele/fs-rom
...
file_sys: change RomFS archive to Self NCCH archive
2017-02-13 09:18:23 -08:00
wwylele
20544977da
loader: use self NCCH archive
2017-02-13 13:57:38 +02:00
wwylele
a0df747325
file_sys: add Self NCCH archive
2017-02-13 13:57:38 +02:00
Yuri Kunde Schlesner
da6a40e3d1
core: Free AppLoader on shutdown to release file ( #2558 )
...
Fixes #2455
2017-02-11 03:29:46 -08:00
Weiyi Wang
0dd007e9ba
hid: remove the touch field from PadState ( #2557 )
2017-02-11 01:11:42 -08:00
Weiyi Wang
a1393dc70c
Merge pull request #2027 from Lectem/ipcrefactor
...
IPC helper
2017-02-05 10:22:13 +02:00
Lectem
2ee472b9c7
fix wwylele's comment and use typename in templates
2017-02-05 00:29:07 +01:00
Yuri Kunde Schlesner
9590c932ec
Merge pull request #2496 from mailwl/cfg-mem
...
Core: update Kernel Config Memory to latest version (11.2)
2017-02-03 21:17:48 -08:00
Yuri Kunde Schlesner
a630fa287e
Merge pull request #2518 from MerryMage/coproc
...
arm_dynarmic: Coprocessor support
2017-02-03 18:22:28 -08:00
bunnei
632562f5cf
Merge pull request #2509 from jfmherokiller/settingscastpatch
...
removed the possibly uneeded cast on values.gdbstub_port
2017-02-03 14:57:44 -05:00
MerryMage
e2815408fd
arm_dynarmic: Update memory interface
2017-02-03 17:32:51 +00:00
MerryMage
2b36d4c9d7
arm_dynarmic: CP15 support
2017-02-03 17:32:47 +00:00
mailwl
a53714acd3
GSP_GPU::StoreDataCache stubbed ( #2428 )
2017-02-02 23:07:44 -08:00
noah the goodra
a0874d9b64
removed the possibly uneeded cast on values.gdbstub_port
...
as far as i could tell this cast is unneeded because [GDBStub::SetServerPort](https://github.com/citra-emu/citra/blob/master/src/core/gdbstub/gdbstub.cpp#L897 ) takes a u16 and [values.gdbstub_port](https://github.com/citra-emu/citra/blob/master/src/core/settings.h#L116 ) is already a u16
2017-01-31 11:44:23 -06:00
mailwl
d0bf7df5ba
HLE/Applets: Stub Mint (eShop) Applet ( #2463 )
...
This allows Phoenix Wright - Dual Destinies to boot.
2017-01-31 01:16:58 -08:00
mailwl
0b0c5672c8
Core: update Kernel Config Memory to latest version (11.2)
2017-01-30 11:29:00 +03:00
Yuri Kunde Schlesner
1410aa1824
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
Yuri Kunde Schlesner
a925473995
Merge pull request #2429 from wwylele/auto-language-fix
...
CFG: move language override to the boot process
2017-01-29 22:14:35 -08:00
Yuri Kunde Schlesner
5bb6753f2e
Merge pull request #2494 from Kloen/killing-warnings-2-final-mix
...
core: inline CPU, 132 warnings fixed on GCC
2017-01-29 15:40:50 -08:00
Yuri Kunde Schlesner
f111cd66ce
Merge pull request #2492 from Kloen/killing-warnings-HD1.5ReMIX
...
Fix OSX build warnings about unhandled enumeration values.
2017-01-29 15:38:49 -08:00
Kloen
b3a0b1489b
core: inline CPU, 132 warnings fixed on GCC
2017-01-30 00:12:07 +01:00
Kloen
2ca3beb9d3
core: fix err_f.cpp warning about unhandled enumeration value on OSX
2017-01-29 22:01:19 +01:00
Kloen
f352a741d3
core: fix savedata_archive.cpp warnings about unhandled enumeration values on OSX
2017-01-29 21:50:25 +01:00
Kloen
c4f9cd3559
core: fix archive_sdmc.cpp warnings about unhandled enumeration value on OSX
2017-01-29 21:49:36 +01:00
Kloen
f14a53abd0
core: fix archive_extsavedata.cpp warning on OSX
2017-01-29 21:48:40 +01:00
Kloen
ff7d68d743
core: emu_window.cpp, fix conversion warnings from float to s16 on MSVC
2017-01-29 16:39:31 +01:00
Kloen Lansfiel
f852369986
SDL: Select audio device ( #2403 )
...
* Initial Commit
Added Device logic to Sinks
Started on UI for selecting devices
Removed redundant import
* Audio Core: Complete Device Switching
Complete the device switching implementation by allowing the output
device to be loaded, changed and saved through the configurations menu.
Worked with the Sink abstraction and tuned the "Device Selection"
configuration so that the Device List is automatically populated when
the Sink is changed.
This hopefully addresses the concerns and recommendations mentioned in
the comments of the PR.
* Clean original implementation.
* Refactor GetSinkDetails
2017-01-25 22:33:26 -05:00
Yuri Kunde Schlesner
3feb3ce283
Merge pull request #2434 from mailwl/nfc-amiibo
...
Service/NFC: stub some functions
2017-01-25 23:47:56 -03:00
Kloen
095f7c83fc
core: fix mic_u warnings on MSVC
2017-01-23 16:53:05 +01:00
wwylele
2c7676d371
HID: reset acceleroeter and gyroscope index in Init
2017-01-20 23:33:50 +02:00
wwylele
0045ea662f
CFG: override language setting on boot
2017-01-19 10:28:35 +02:00
Thomas Farr
bb1f277db1
loader: Add support for 3DSX special relocation types, fixes citra-emu/citra#2449
...
As per devkitPro/3dstools@47bea18
2017-01-19 01:34:58 +13:00
wwylele
47960b0659
CoreTiming: use named constant for ARM11 clock rate
2017-01-16 09:59:16 +02:00
wwylele
3c333c53f1
HID: manages updating itself using correct ticks
2017-01-16 09:51:44 +02:00
mailwl
efe7e245b2
Service/NFC: stub some functions
...
Tested on: Mini-Mario & Friends - amiibo Challenge
2017-01-14 16:15:16 +03:00
mailwl
b458d7447c
GSP::WriteHWRegsWithMask: fix register mask
2017-01-14 13:37:04 +03:00
bunnei
7ddfd3054d
Merge pull request #2425 from Subv/cleanup_todos
...
Implement some TODOs in the code.
2017-01-12 10:14:30 -05:00
bunnei
597a7c615c
Merge pull request #2308 from mailwl/ac-i
...
Service/AC: add ac:i service
2017-01-12 10:12:46 -05:00
Subv
1ddff14511
Threads: Check the process' resource limit for the max allowed priority when creating a thread and remove the priority clamping code.
2017-01-11 16:38:05 -05:00
Subv
f2f2572fed
Thread: Added priority range checking to svcSetThreadPriority and removed priority clamping code from Thread::SetPriority.
2017-01-11 16:38:04 -05:00
Subv
5ddc2e09b1
Y2R: Use the proper error code when GetStandardCoefficient receives an invalid value.
2017-01-11 16:38:03 -05:00
wwylele
cf3a272332
CAM: implement basic camera functions with a blank camera
2017-01-11 11:46:44 +02:00
bunnei
84d72fd92f
Merge pull request #2397 from Subv/pulse
...
Kernel: Implemented Pulse event and timers.
2017-01-10 10:45:00 -05:00
bunnei
9fc8ead842
Merge pull request #2384 from bunnei/internal-res-option
...
config: Add option for specifying screen resolution scale factor.
2017-01-08 12:25:12 -05:00
bunnei
7cfe3ef046
Merge pull request #1951 from wwylele/motion-sensor
...
Emulate motion sensor in frontend
2017-01-07 12:39:20 -05:00
bunnei
22ad9094e6
config: Add option for specifying screen resolution scale factor.
2017-01-07 03:23:22 -05:00
bunnei
b5eac78b43
Merge pull request #2410 from Subv/sleepthread
...
Don't yield execution in SleepThread(0) if there are no available threads to run
2017-01-06 22:01:33 -05:00
bunnei
59f4f1d7ff
Merge pull request #2396 from Subv/sema_acquire
...
Kernel/Semaphore: Fixed a regression in semaphore waits.
2017-01-06 22:00:12 -05:00
Hyper
f0199a17f6
Kernel: Fix SharedMemory objects always returning error when addr = 0 ( #2404 )
...
Closes #2400
2017-01-06 08:21:22 -05:00
bunnei
1c792389e6
Merge pull request #2408 from Subv/priority_boosting
...
Kernel: Removed the priority boost code for starved threads.
2017-01-06 00:40:39 -05:00
Subv
fc2266130b
Kernel: Don't attempt to yield execution in SleepThread(0) if there are no available threads to run.
...
With this we avoid an useless temporary deschedule of the current thread.
2017-01-05 19:11:34 -05:00
Subv
5e2a8ebabf
Kernel: Remove some unused functions.
2017-01-05 13:17:06 -05:00
Subv
933df2606a
Kernel: Removed the priority boost code for starved threads.
...
After hwtesting and reverse engineering the kernel, it was found that the CTROS scheduler performs no priority boosting for threads like this, although some other forms of scheduling priority-starved threads might take place.
For example, it was found that hardware interrupts might cause low-priority threads to run if the CPU is preempted in the middle of an SVC handler that deschedules the current (high priority) thread before scheduling it again.
2017-01-05 13:12:39 -05:00
Subv
e52ca85711
Kernel: Implemented Pulse event and timers.
...
Closes #1904
2017-01-05 13:06:17 -05:00
Subv
4251eb26ec
Kernel/Semaphore: Fixed a regression in semaphore waits.
...
The regression was caused by a missing check in #2260 .
The new behavior is consistent with the real kernel.
2017-01-05 13:00:05 -05:00
Sebastian Valle
f20d872643
Merge pull request #2393 from Subv/synch
...
Kernel: Mutex priority inheritance and synchronization improvements.
2017-01-05 12:55:01 -05:00
Subv
dda4ec93be
Kernel: Add some asserts to enforce the invariants in the scheduler.
2017-01-05 09:40:18 -05:00
Subv
7f1dca8cd2
Kernel: Remove a thread from all of its waiting objects' waiting_threads list when it is awoken.
...
This fixes a potential bug where threads would not get removed from said list if they awoke after waiting with WaitSynchronizationN with wait_all = false
2017-01-05 09:40:15 -05:00
Subv
fd95b6ee26
Kernel: Remove Thread::wait_objects_index and use wait_objects to hold all the objects that a thread is waiting on.
2017-01-05 09:40:14 -05:00
Subv
cef5f45de2
Kernel: Use different thread statuses when a thread calls WaitSynchronization1 and WaitSynchronizationN with wait_all = true.
...
This commit removes the overly general THREADSTATUS_WAIT_SYNCH and replaces it with two more granular statuses:
THREADSTATUS_WAIT_SYNCH_ANY when a thread waits on objects via WaitSynchronization1 or WaitSynchronizationN with wait_all = false.
THREADSTATUS_WAIT_SYNCH_ALL when a thread waits on objects via WaitSynchronizationN with wait_all = true.
2017-01-04 15:58:50 -05:00
Subv
d3ff5b91e1
Kernel/Mutex: Propagate thread priority changes to other threads inheriting the priority via mutexes
2017-01-04 15:58:48 -05:00
Subv
b6a0355568
Kernel/Mutex: Update a mutex priority when a thread stops waiting on it.
2017-01-04 15:58:47 -05:00
Subv
7abf185390
Kernel/Mutex: Implemented priority inheritance.
...
The implementation is based on reverse engineering of the 3DS's kernel.
A mutex holder's priority will be temporarily boosted to the best priority among any threads that want to acquire any of its held mutexes.
When the holder releases the mutex, it's priority will be boosted to the best priority among the threads that want to acquire any of its remaining held mutexes.
2017-01-04 15:58:46 -05:00
Subv
e6a7723f2f
Kernel: Object ShouldWait and Acquire calls now take a thread as a parameter.
...
This will be useful when implementing mutex priority inheritance.
2017-01-04 15:58:45 -05:00
Subv
38a90882a4
Kernel/Synch: Do not attempt a reschedule on every syscall.
...
Not all syscalls should cause reschedules, this commit attempts to remedy that, however, it still does not cover all cases.
2017-01-04 15:58:44 -05:00
Jonathan Hao
c18cb1b192
Fix some warnings ( #2399 )
2017-01-04 13:48:29 -03:00
Lectem
ee6e88fdb5
fix comments alignment
2016-12-30 15:55:42 +01:00
mailwl
f2985f7080
Service/NFC: stub GetTagInRangeEvent
...
Fix Fatal Error in Mini-Mario & Friends - amiibo Challenge
2016-12-30 09:40:54 +03:00
mailwl
c6f4b93f2e
Service/AC: add ac:i service
2016-12-30 09:20:11 +03:00
bunnei
f556d6ee90
Merge pull request #2240 from wwylele/auto-region
...
Config: auto-select region and language
2016-12-29 22:09:01 -05:00
wwylele
d7d40b3c56
Frontend: make motion sensor interfaced thread-safe
2016-12-29 21:18:36 +02:00
wwylele
f927beb5e2
Core: remove unused hle.cpp
2016-12-27 10:27:48 +02:00
Lectem
f91c51467a
move Pop methods out of class body
2016-12-26 14:42:06 +01:00
Lectem
8baae9d982
IPC helpers example
2016-12-26 14:07:29 +01:00
Lectem
8f2b642415
IPC helpers
2016-12-26 14:07:29 +01:00
wwylele
bcf9d20d57
Frontend: emulate motion sensor
2016-12-26 10:52:16 +02:00
wwylele
fe2ed4bf72
Core: reset cpu_core in Shutdown to make IsPoweredOn work properly
2016-12-24 20:55:38 +02:00
MerryMage
64f98f4d0f
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
069a88dad7
Service/NWM: add nwm services
2016-12-22 22:51:27 +03:00
bunnei
76890672a0
Merge pull request #2366 from MerryMage/MemoryReadCode
...
arm_dynarmic: Provide MemoryReadCode callback
2016-12-22 14:25:15 -05:00
bunnei
aa47af7fb6
Merge pull request #2343 from bunnei/core-cleanup
...
Core: Top-level consolidate & misc cleanup
2016-12-22 11:47:44 -05:00
MerryMage
f8cf87ce34
arm_dynarmic: Provide MemoryReadCode callback
...
Change of interface in dynarmic 36082087ded632079b16d24137fdd0c450ce82ea
2016-12-22 16:07:14 +00:00
bunnei
17d740299a
Merge pull request #2285 from mailwl/csnd-format
...
csnd:SND: Reformat source code
2016-12-22 00:47:50 -05:00
bunnei
8b1e269e58
ThreadContext: Move from "core" to "arm_interface".
2016-12-22 00:27:49 -05:00
bunnei
e26fbfd1d7
core: Replace "AppCore" nomenclature with just "CPU".
2016-12-22 00:27:46 -05:00
bunnei
5ac5cbeab7
Address clang-format issues.
2016-12-21 23:48:14 -05:00
bunnei
4fc8b8229e
core: Remove HLE module, consolidate code & various cleanups.
2016-12-21 23:48:13 -05:00
bunnei
232ef55c1a
core: Consolidate core and system state, remove system module & cleanups.
2016-12-21 23:29:13 -05:00
bunnei
198b6c9bdd
core: Consolidate top-level system state into a singleton.
2016-12-21 23:29:04 -05:00
bunnei
81e22ae8c7
loader: Remove duplicate docstrings.
2016-12-21 23:27:50 -05:00
bunnei
4798b1d04d
Revert "Memory: Always flush whole pages from surface cache"
2016-12-17 19:13:33 -05:00
wwylele
5728e42634
Thread: remove the thread from the thread list when exiting
2016-12-17 19:23:52 +02:00
bunnei
ca5a8966ac
Merge pull request #2337 from lioncash/gdb
...
gdbstub: const correctness changes
2016-12-16 11:32:33 -05:00
Merry
acc83a1c32
Merge pull request #2322 from MerryMage/ctx-mnu
...
game_list: Add a context menu with "Open Save Location" option
2016-12-16 15:08:04 +00:00
wwylele
4c9b80cee3
Kernel: remove object's waiting thread if it is dead
2016-12-16 12:33:18 +02:00
Lioncash
38a964735f
gdbstub: const correctness changes
...
Also uses size_t as the length indicator type, as is common with buffers.
2016-12-16 04:06:26 -05:00
bunnei
cda7210fad
Merge pull request #2260 from Subv/scheduling
...
Threading: Reworked the way our scheduler works.
2016-12-16 00:41:22 -05:00
Yuri Kunde Schlesner
2427a5e976
Merge pull request #2328 from wwylele/fix-trace
...
Fix debug build from #2249
2016-12-15 21:06:12 -08:00
Yuri Kunde Schlesner
7524a55133
Merge pull request #2332 from lioncash/gdb
...
gdbstub: Remove global variable from public interface
2016-12-15 21:05:20 -08:00
Yuri Kunde Schlesner
63e8174caa
Merge pull request #2320 from mailwl/cecd-update
...
Service/CECD: Add cecd:ndm service
2016-12-15 21:01:51 -08:00
bunnei
9dc43d3720
Merge pull request #2331 from lioncash/trunc
...
hid: Get rid of a double -> float truncation warning
2016-12-15 17:45:24 -05:00
wwylele
a7cd452ea1
FS: fix debug build from #2249
2016-12-16 00:22:36 +02:00
Lioncash
ba20dd9b61
gdbstub: Remove global variable from public interface
...
Currently, this is only ever queried, so adding a function to check if the
server is enabled is more sensible.
If directly modifying this externally is ever desirable, it should be done
by adding a function to the interface, rather than exposing implementation
details directly.
2016-12-15 16:37:22 -05:00
Sebastian Valle
3e4cc6b3d2
Merge pull request #2330 from lioncash/pragma
...
core: Add missing #pragma once directives where applicable
2016-12-15 16:06:43 -05:00
Lioncash
3faa675d6b
hid: Get rid of a double -> float truncation warning
...
float literals need to have the 'f' prefix.
2016-12-15 15:52:15 -05:00
Lioncash
2f3c1bdfb4
core: Add missing #pragma once directives where applicable
2016-12-15 15:40:51 -05:00
Lioncash
d467b5ce4f
act: Fix docstring typo
...
These aren't the AM services.
2016-12-15 14:51:45 -05:00
bunnei
bdb6956879
Merge pull request #2314 from mailwl/account
...
Service/ACT: move ACT services to folder
2016-12-15 13:51:29 -05:00
MerryMage
351b5d23f4
loader: Implement ReadProgramId
2016-12-15 18:42:38 +00:00
MerryMage
40b0ea1086
archive_source_sd_savedata: Add static method to get a specific save data path
2016-12-15 09:59:41 +00:00
Yuri Kunde Schlesner
f2b9be9bd3
Memory: Always flush whole pages from surface cache
...
This prevents individual writes touching a cached page, but which don't
overlap the surface, from constantly hitting the surface cache lookup.
2016-12-14 23:46:59 -08:00
mailwl
7f27be1521
Service/CECD: Add cecd:ndm service
2016-12-15 09:52:40 +03:00
Yuri Kunde Schlesner
905fc92ce1
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
Subv
016307ae65
Fixed the codestyle to match our clang-format rules.
2016-12-14 12:45:36 -05:00
Subv
5b1edc6ae7
Fixed the codestyle to match our clang-format rules.
2016-12-14 12:35:01 -05:00
mailwl
5dea1faedd
Service/ACT: move ACT services to folder
2016-12-14 09:05:46 +03:00
JamePeng
ac2ed18a3b
Minor amendment of GSP_GPU::ImportDisplayCaptureInfo code
2016-12-13 17:01:53 +08:00
mailwl
1238e48c58
csnd:SND reformat source code
2016-12-12 21:19:36 +03:00
Sebastian Valle
2589c30cbe
Merge pull request #2267 from JayFoxRox/fix-mingw-cc
...
Support mingw cross-compilation
2016-12-11 14:44:21 -05:00
mailwl
e53cd12c42
APT::GetStartupArgument: force clear startup argument
2016-12-11 22:36:12 +03:00
Emmanuel Gil Peyrot
643e590b5c
Core: Add a forgotten #include <cstring> for memcpy.
2016-12-11 01:20:45 +00:00
Lioncash
963aedd8cc
Add all services to the Service namespace
...
Previously there was a split where some of the services were in the
Service namespace and others were not.
2016-12-11 00:07:27 +00:00
Subv
406907d570
Properly remove a thread from its wait_objects' waitlist when it is awoken by a timeout.
2016-12-10 13:29:31 -05:00
bunnei
6edb024d38
Merge pull request #2291 from lioncash/svc
...
service: Add the cfg:nor service
2016-12-09 14:15:20 -05:00
Subv
ebbb55ec8f
Moved the HLE command buffer translation task to ServerSession instead of the HLE handler superclass.
2016-12-09 12:52:12 -05:00
Subv
deb83c9fc5
Kernel/IPC: Small codestyle cleanup
2016-12-09 12:39:12 -05:00
Subv
17b29d8865
WaitSynch: Removed unused variables and reduced SharedPtr copies.
...
Define a variable with the value of the sync timeout error code.
Use a boost::flat_map instead of an unordered_map to hold the equivalence of objects and wait indices in a WaitSynchN call.
2016-12-09 12:23:09 -05:00
Lioncash
a2d69adad1
service: Add cfg:nor service
2016-12-09 05:07:41 -05:00
Yuri Kunde Schlesner
a5cd925a95
Merge pull request #2292 from lioncash/bool
...
ptm: Use boolean instead of integral value
2016-12-09 01:43:57 -08:00
Lioncash
934b8ffcf8
ptm: Use boolean instead of integral value
...
The third parameter of Write is actually a bool type, not an int.
2016-12-09 04:04:28 -05:00
Lioncash
823d58ac9b
service: Drop '_Interface' from cfg service names
2016-12-09 01:08:35 -05:00
Yuri Kunde Schlesner
18bf4acb9b
Merge pull request #2287 from lioncash/svc
...
service: Minor PTM changes
2016-12-08 19:34:32 -08:00
Sebastian Valle
998390ac1a
Merge pull request #2280 from Subv/citrace_size
...
Fixed the gpu command list size when creating CiTraces.
2016-12-08 15:45:53 -05:00
Subv
5719467add
Fixed the gpu command list size when creating CiTraces.
2016-12-08 15:21:02 -05:00
Subv
386112da32
Added a framework for partially handling Session disconnections.
...
Further implementation will happen in a future commit.
Fixes a regression.
2016-12-08 15:01:10 -05:00
Subv
f9bcf89510
Use std::move where appropriate.
2016-12-08 11:06:19 -05:00
Lioncash
007815647c
service: Add the ptm:s service
...
3dbrew documents this as being the exact same as ptm:sysm
2016-12-08 06:14:55 -05:00
Lioncash
56656b75ab
service: Add common ptm:u commands to other ptm services
...
3dbrew indicates that all services have access to these commands
except for ptm:sets.
2016-12-08 06:13:10 -05:00
Lioncash
cd778cf991
service: Drop '_Interface' in ptm service class names
...
Inheriting from Service::Interface makes this obvious.
2016-12-08 06:13:04 -05:00
Lioncash
41c03f481a
service: Add ptm::gets and ptm::sets services
2016-12-08 05:43:08 -05:00
Lioncash
2061d2014d
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
Yuri Kunde Schlesner
d098d941d7
Merge pull request #2284 from lioncash/svc
...
service: Add nfc services
2016-12-08 00:34:09 -08:00
Yuri Kunde Schlesner
63d3dd5262
Merge pull request #2277 from lioncash/explicit
...
file_sys: Make a few single-argument constructors explicit
2016-12-08 00:29:38 -08:00
Lioncash
e8a960f6a1
service: Add nfc services
...
3dbrew was used for the command information.
2016-12-08 03:24:41 -05:00
Yuri Kunde Schlesner
43558dc40a
Merge pull request #2283 from lioncash/svc
...
service: Update function tables
2016-12-07 22:45:12 -08:00
Yuri Kunde Schlesner
bc48e2bda6
Merge pull request #2281 from lioncash/applet
...
applet: minor interface changes
2016-12-07 22:36:40 -08:00
Lioncash
a09602d6f6
ssl_c: Update function table
...
Updated based off information from 3dbrew
2016-12-08 00:57:53 -05:00
Lioncash
ab900f8a25
ptm: Update ptm_sysm function table
...
Updated based off information from 3dbrew.
2016-12-08 00:57:53 -05:00
Lioncash
c67dae54b9
pm_app: Update function table
...
Updated based off information from 3dbrew.
2016-12-08 00:57:45 -05:00
Lioncash
9f2ad62084
nwm_uds: Update function table
...
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash
4a150a8f3c
nim: Update function tables
...
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash
c4bcd5c4ac
http_c: Update function table
...
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash
65d94857c3
gsp_lcd: Update function table
...
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash
006e6a7f4a
fs_user: Update function table
...
Updated based off information from 3dbrew.
2016-12-08 00:56:46 -05:00
Lioncash
093aa35c87
dlp_srvr: Update function table
2016-12-08 00:56:46 -05:00
Lioncash
733c8890aa
cfg: Update function tables
...
Updated based off information from 3dbrew
2016-12-08 00:56:46 -05:00
Lioncash
0229983ff2
cecd_u: Update function table
...
Updated based off information from 3dbrew.
2016-12-08 00:56:46 -05:00
Lioncash
4ebdb7e3e1
boss_p: Update function table
2016-12-08 00:56:45 -05:00
Lioncash
74b3f0faa7
act: Update function tables
...
Updated based off information from 3dbrew.
2016-12-08 00:56:39 -05:00
Lioncash
258694996f
apt: Update apt function tables
...
Updated based off information from 3dbrew.
2016-12-07 22:53:10 -05:00
Lioncash
26ea6b9546
Update AM service function tables
...
Updated based off information from 3dbrew.
2016-12-07 20:55:59 -05:00
Lioncash
5e9f1ec096
file_sys: Make a few single-argument constructors explicit
...
Prevents implicit conversions.
2016-12-07 17:26:56 -05:00
Lioncash
f1709b8b59
applet: Move common IsRunning underlying variable to the Applet class
...
Gets rid of basic duplication.
2016-12-07 17:13:46 -05:00
Lioncash
6f71fb2954
applet: Make virtual destructor defaulted
2016-12-07 17:04:14 -05:00
Lioncash
d3f4fd1777
applet: Make constructor protected
...
Considering the class is abstract, there's no need to make the constructor
public.
2016-12-07 16:50:32 -05:00
wwylele
84e78790ab
Config: auto-select region and language
2016-12-07 20:52:42 +02:00
bunnei
8d529a5cda
Merge pull request #2232 from wwylele/other-save
...
FS: implement archives for other game save data
2016-12-07 10:17:02 -05:00
Subv
7cde5b83bc
Use boost remove_erase_if instead of the erase-remove idiom
2016-12-06 19:31:53 -05:00
Subv
1f286b72a1
Improved the algorithm for GetHighestPriorityReadyThread.
2016-12-06 19:15:32 -05:00
emmauss
c4e4fa53d9
Implement Frame rate limiter ( #2223 )
...
* implement frame limiter
* fixes
2016-12-06 14:33:19 -05:00
Subv
c93c5a72bb
Return an error code when connecting to a saturated port.
...
The error code was taken from the 3DS kernel.
2016-12-05 13:59:57 -05:00
Subv
61a2fe8c3b
HLE: Use a member variable instead of a virtual function to retrieve the max number of sessions that can be connected to an HLE service at the same time.
2016-12-05 13:44:41 -05:00
Jannik Vogel
0aee903ada
gdbstub: Remove unused include
2016-12-05 19:09:16 +01:00
Jannik Vogel
45d941d62e
Support mingw cross-compile
2016-12-05 19:09:16 +01:00
Subv
00f0c77570
Split SessionRequestHandler::HandleSyncRequest into HandleSyncRequest, TranslateRequest and HandleSyncRequestImpl.
...
HandleSyncRequest now takes care of calling the command buffer translate function before actually invoking the command handler for HLE services.
2016-12-05 12:05:00 -05:00
Subv
29d809b6e1
Kernel: Remove the Redirection handle type.
2016-12-05 11:13:22 -05:00
Subv
dd8887c8cf
KServerPorts now have an HLE handler "template", which is inherited by all ServerSessions created from it.
2016-12-05 11:02:08 -05:00
Subv
bdad00c73f
Threading: Added some utility functions and const correctness.
2016-12-04 09:58:36 -05:00
Yuri Kunde Schlesner
efc8179747
GSP: Downgrade log severity of SetAxiConfigQoSMode
...
This function doesn't need to do anything for HLE and some games call it
quite often, spamming up the logs.
2016-12-04 06:14:27 -08:00
Subv
8634b8cb83
Threading: Reworked the way our scheduler works.
...
Threads will now be awakened when the objects they're waiting on are signaled, instead of repeating the WaitSynchronization call every now and then.
The scheduler is now called once after every SVC call, and once after a thread is awakened from sleep by its timeout callback.
This new implementation is based off reverse-engineering of the real kernel.
See https://gist.github.com/Subv/02f29bd9f1e5deb7aceea1e8f019c8f4 for a more detailed description of how the real kernel handles rescheduling.
2016-12-03 22:38:14 -05:00
Subv
2ce61344d6
Declare empty ServerSession and ClientSession constructors as default.
2016-12-02 22:58:02 -05:00
Subv
ed210c32b3
Threads do not wait for the server endpoint to call AcceptSession before returning from a ConnectToPort or GetServiceHandle call.
2016-12-01 10:47:06 -05:00
Subv
2eceee3a4c
Fixed the rebase mistakes.
2016-11-30 23:28:31 -05:00
Subv
009b15b3aa
A bit of a redesign.
...
Sessions and Ports are now detached from each other.
HLE services are handled by means of a SessionRequestHandler class, Interface now inherits from this class.
The File and Directory classes are no longer kernel objects, but SessionRequestHandlers instead, bound to a ServerSession when requested.
File::OpenLinkFile now creates a new session pair and binds the File instance to it.
2016-11-30 23:12:35 -05:00
Subv
c5e7e0fa26
IPC/HLE: Associate the ClientSessions with their parent port's HLE interface if it exists.
...
Pass the triggering ServerSession to the HLE command handler to differentiate which session caused the request.
2016-11-30 23:04:00 -05:00
Subv
c19afd2118
Kernel/HLE: Service::Interface no longer inherits from any Kernel object, and is now its own standalone class.
...
Interface is now used by aggregation in ClientPort, to forward service commands to their HLE implementation if needed.
2016-11-30 23:03:59 -05:00
Subv
0a33d915f8
fixup! Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
2016-11-30 23:02:06 -05:00
Subv
073653e858
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
mailwl
5b136aa211
Set client SDK version to Service APIs
2016-11-30 09:51:14 +03:00
wwylele
589b642790
FileSys: Implement OtherSaveData
2016-11-29 23:50:00 +02:00
wwylele
b25f19ac26
FS: add missing MediaType
2016-11-29 23:50:00 +02:00
wwylele
5af117e00c
FileSys: abstract SD save data archive source
2016-11-29 23:50:00 +02:00
Yuri Kunde Schlesner
3174bfd50c
Merge pull request #2196 from Subv/system_mode
...
Kernel/Loader: Grab the system mode from the NCCH ExHeader.
2016-11-27 17:04:11 -08:00
Yuri Kunde Schlesner
e279a6955e
Merge pull request #2222 from linkmauve/die-frameskip-die
...
Remove the broken frame_skip option
2016-11-27 16:01:45 -08:00
Sebastian Valle
4ba5acdaff
Merge pull request #2132 from wwylele/fix-fs-err
...
Correct FS error codes & add path boundary checks
2016-11-27 18:56:56 -05:00
Subv
d171409f29
Kernel/Loader: Grab the system mode from the NCCH ExHeader.
...
3dsx and elf files default to system mode 2 (96MB allocated to the application).
This allows Home Menu to boot without modifications.
Closes #1849
2016-11-27 18:03:48 -05:00
Emmanuel Gil Peyrot
0820c99462
GPU: Remove the broken frame_skip option.
...
Fixes #1960 .
2016-11-27 21:19:56 +00:00
Sebastian Valle
d3b7f57b2b
Merge pull request #2168 from mailwl/mic
...
MIC_U: Stub service funcions
2016-11-27 00:19:33 -05:00
MerryMage
27be446049
dynarmic: Add ticks based on ticks executed, not ticks requested
2016-11-26 20:32:33 +00:00
mailwl
ec15e485c9
Output parameters to log
2016-11-25 09:37:20 +03:00
mailwl
d4cadf11fc
MIC_U: Stub service funcions
2016-11-25 09:37:19 +03:00
James Rowe
bbe57a66ca
Expose page table to dynarmic for optimized reads and writes to the JIT
2016-11-24 20:41:18 -07:00
pippo2931
0c9c97e5ea
Bravely Default/Second stuck #1822 ( #2188 )
...
* Bravely Default/Second stuck #1822
CancelLibraryApplet stub
* Log parameter.
* Taking care of comments
* Sync with 3DBrew
* White space ?
* lower case
2016-11-23 22:57:56 -05:00
Yuri Kunde Schlesner
ef421696e3
Merge pull request #2186 from wwylele/config9
...
cfg: add config block 0x00090000
2016-11-23 18:51:01 -08:00
Yuri Kunde Schlesner
fefa645ec7
Merge pull request #1654 from JamePeng/errdisp
...
Rework the code of err:f service!
2016-11-23 17:43:02 -08:00
bunnei
f1798c1db6
Merge pull request #2193 from Subv/pulse_events
...
Kernel/Events: Log an error when trying to create Pulse events and timers
2016-11-19 22:19:45 -05:00
Subv
1323ab2f5f
Kernel/Loader: Grab the system mode from the NCCH ExHeader.
...
3dsx and elf files default to system mode 2 (96MB allocated to the application).
This allows Home Menu to boot without modifications.
Closes #1849
2016-11-19 20:40:04 -05:00
Subv
4ab8692475
Kernel/Events: Log an error when trying to create Pulse events and timers.
...
Related to #1904
2016-11-19 14:00:08 -05:00
Subv
d7ab4fd53d
APT/Applets: Renamed the members of the SignalType enum.
...
Names now make sense and match 3dbrew.
2016-11-19 13:42:07 -05:00
wwylele
d7d6975af0
FileSys: rename SaveDataCheck archive to NCCH archive
...
According to the observation from game and 3dbrew "Used for accessing general NCCH data"
2016-11-19 18:55:35 +02:00
wwylele
f775a3781b
FileSys: remove unused DiskArchive
...
All "subclasses" of DiskArchive are splitted out. This class is useless
2016-11-19 18:55:34 +02:00
wwylele
5c6e13a171
PTM & CFG: use the correct path and error code according to the new FileSys policy
2016-11-19 18:55:34 +02:00
wwylele
0647f86649
FileSys: w->rw permission lift only happens in SDMC archive
2016-11-19 18:55:34 +02:00
wwylele
0987783699
FileSys: add SDMCWriteOnlyArchive
2016-11-19 18:55:34 +02:00
wwylele
93aa14e345
FileSys: add SDMCArchive
...
Now DiskArchive only serves for SDMC, then it should be just a "SDMCArchive"
2016-11-19 18:24:37 +02:00
wwylele
a879984c06
FileSys: add ExtSaveDataArchive
...
ExtSaveData is more similar to SaveData, so let it be a subclass of SaveData
2016-11-19 18:24:37 +02:00
wwylele
7166fdc490
FileSys: add SaveDataArchive
...
The error checking of SaveDataArchive is completely different from DiskArchive, so it has to be a new class instead of a subclass of DiskArchive.
2016-11-19 17:17:19 +02:00
wwylele
9a0405858a
FileSys: remove Open from FileBackend
...
Same as directory, file shouldn't expose Open either.
2016-11-19 17:17:19 +02:00
wwylele
0e754875d1
FileSys: remove Open from DirectoryBackend
...
Open should not be an interface exposed by Directory because it is the Archive thats implement the methed to open the directory. The service API of 3DS also implies this - Open is not a function of directory service, but is of FS main service
2016-11-19 17:17:19 +02:00
wwylele
75ee2f8c67
FileSys: add PathParser
2016-11-19 17:17:19 +02:00
wwylele
dd5c15abd0
cfg: add config block 0x00090000
2016-11-17 19:34:02 +02:00
bunnei
fb13bfe693
Merge pull request #2172 from jroweboy/fix-mingw
...
Fix mingw compilation support
2016-11-15 20:07:23 -05:00
James Rowe
c3ea6f4ddb
Add mingw compile support
2016-11-13 23:50:46 -07:00
James Rowe
2b1654ad9b
Support additional screen layouts.
...
Allows users to choose a single screen layout or a large screen layout.
Adds a configuration option to change the prominent screen.
2016-11-05 02:55:41 -06:00
mailwl
af7f5bef8d
Style fix
2016-11-02 09:38:44 +03:00
mailwl
5872abeab9
Rename AcConfig, change types u8 to u32
2016-11-02 09:38:44 +03:00
mailwl
a62df98686
AC_U: Stub functions, used if EULA agreed
2016-11-02 09:38:44 +03:00
wwylele
4dd8a831bd
FileSys: make Archive interfaces return error code
...
and make the mode parameter a reference since it is a BitField union
2016-11-01 18:30:32 +02:00
bunnei
ae2fab4a0e
Merge pull request #2126 from wwylele/stub-nwm
...
NWM: stub Initialize with an error
2016-10-31 16:16:12 -04:00
bunnei
946b62c03d
Merge pull request #2123 from jbeich/freebsd
...
Fix build on DragonFly and FreeBSD
2016-10-31 15:33:39 -04:00
mailwl
3c37ee434a
Small fix to let IDA see target.xml
2016-10-28 20:50:45 +03:00
Jan Beich
702439b519
core: some errno values are uncommon on Unix
...
src/core/hle/service/soc_u.cpp:107:6: error: 'ENODATA' was not declared in this scope
{ENODATA, 43},
^
src/core/hle/service/soc_u.cpp:117:6: error: 'ENOSR' was not declared in this scope
{ENOSR, 53},
^
src/core/hle/service/soc_u.cpp:118:6: error: 'ENOSTR' was not declared in this scope
{ENOSTR, 54},
^
src/core/hle/service/soc_u.cpp:139:6: error: 'ETIME' was not declared in this scope
{ETIME, 75},
^
2016-10-27 23:28:30 +00:00
mailwl
f672c7bd24
FRD: fix GetMyFriendKey
2016-10-25 09:54:29 +03:00
Ricardo de Almeida Gonzaga
13d46f6820
Fix typos
2016-10-20 12:26:59 -02:00
wwylele
32789a70fb
NWM: stub Initialize with an error
2016-10-12 22:33:44 +08:00
bunnei
cc7f1155a8
Merge pull request #2024 from JamePeng/update-boss-code
...
Update the stub code of BOSS
2016-10-07 23:02:39 -04:00
JamePeng
691f069743
Rework the code of err:f service
2016-10-06 21:03:12 +08:00
bunnei
09c3e444d4
Merge pull request #1652 from wwylele/kernal-tool
...
Debugger: implement wait tree widget
2016-10-04 23:01:56 -04:00
bunnei
7ed97fb89a
Merge pull request #2106 from wwylele/delete-recursive
...
FS: implement DeleteDirectoryRecursively
2016-10-03 20:34:56 -04:00
JamePeng
bd8c80a7b4
Update the stub code of BOSS
2016-10-02 17:36:57 +08:00
wwylele
257e7afb79
fs: clean up log format
2016-10-02 12:39:28 +08:00
wwylele
96b0e9476b
fs: implement DeleteDirectoryRecursively
2016-10-02 11:29:16 +08:00
wwylele
58ae94af4c
gpu: DisplayTransfer: a less amazing algorithm for flip
...
the old implementation modifies the loop variable in the loop. Though it actually works, it is really confusing. Makes it morereadable now.
2016-09-29 10:01:34 +08:00
wwylele
30ab0fa45d
gpu: keep the old signal strategy for null pointer
...
previous commits changes the behaviour of interrupt when meeting invalid params. Regresses to the same behaviour as before
needs more hwtest
2016-09-29 10:01:34 +08:00
wwylele
48470e57fc
gpu: add validity check for TextureCopy, DisplayTransfer and FillMemory
...
prevent further operation with invalid values which may cause assertion failure or divided by zero.
needs more hwtest
2016-09-29 10:01:34 +08:00
wwylele
3f87d70f0e
memory: fix IsValidVirtualAddress for RasterizerCachedMemory
...
RasterizerCachedMemory doesn't has pointer but should be considered as valid
2016-09-29 10:01:34 +08:00
wwylele
c88cdc9a2b
gpu: move MemoryFill, TextureCopy and DisplayTransfer into functions
...
The old code indented too much to read. Split into functions and do general cleanup.
2016-09-29 10:01:34 +08:00
wwylele
85a83158fb
move ResetType to kernel.h
2016-09-22 13:52:52 +08:00
wwylele
1c0179ad1b
name objects
2016-09-22 13:52:52 +08:00
wwylele
f69a543110
implement wait tree widget
2016-09-22 13:52:52 +08:00
Yuri Kunde Schlesner
f120e78b56
Remove special rules for Windows.h and library includes
2016-09-21 00:16:33 -07:00
Yuri Kunde Schlesner
84fbbe2629
Use negative priorities to avoid special-casing the self-include
2016-09-21 00:15:56 -07:00
Emmanuel Gil Peyrot
ebdae19fd2
Remove empty newlines in #include blocks.
...
This makes clang-format useful on those.
Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
2016-09-21 11:15:47 +09:00
Yuri Kunde Schlesner
396a8d91a4
Manually tweak source formatting and then re-run clang-format
2016-09-18 21:14:25 -07:00
Emmanuel Gil Peyrot
dc8479928c
Sources: Run clang-format on everything.
2016-09-18 09:38:01 +09:00
Emmanuel Gil Peyrot
bfc454e951
Dyncom: Disable clang-format on the decoding table.
2016-09-18 09:36:57 +09:00
bunnei
1b95f61d82
arm_dynarmic: Implement GetVFPSystemReg/SetVFPSystemReg.
2016-09-15 17:58:06 -04:00
bunnei
05e120a4cc
arm: ResetContext shouldn't be part of ARM_Interface.
2016-09-15 17:49:30 -04:00
bunnei
85861d44b7
arm_dynarmic/arm_dyncom: Remove unnecessary "virtual" keyword.
2016-09-15 17:49:30 -04:00
bunnei
b7aef81cb4
dyncom: Use VFP_FPSCR/VFP_FPEXC.
2016-09-15 17:49:29 -04:00
bunnei
14085ec670
core: Add configuration option for CPU JIT.
2016-09-15 17:49:27 -04:00
bunnei
1976a2d773
dynarmic: Implement ARM CPU interface.
2016-09-15 17:49:26 -04:00
bunnei
09063dc5bb
Merge pull request #2032 from bunnei/qt-graphics
...
Qt graphics configure & V-Sync option
2016-08-31 22:20:54 -04:00
MerryMage
dc3f6a34f8
configure_audio: User-configuratble option to enable/disable audio stretching
2016-08-31 16:59:37 +01:00
bunnei
7c934c5164
Merge pull request #2023 from yuriks/autobase-bcfnt
...
Auto-detect original shared_font.bin memory base
2016-08-30 09:26:38 -04:00
bunnei
7299895b48
system: Add a function to see if the emulator is running.
2016-08-29 21:42:31 -04:00
bunnei
08ad9b36d4
config: Add a setting for graphics V-Sync.
2016-08-29 21:42:30 -04:00
Yuri Kunde Schlesner
474586bc53
Merge pull request #1948 from wwylele/cro++
...
Implemented CRO
2016-08-28 22:21:24 -07:00
Yuri Kunde Schlesner
950f6c0c20
Merge pull request #1987 from Lectem/ipcdescriptors
...
fix #1942 and add a few IPC functions for descriptors
2016-08-27 09:58:35 -07:00
wwylele
1c9612b791
LDR: Implement CRO
2016-08-27 21:38:06 +08:00
wwylele
2161f52661
ARM: add ClearInstructionCache function
2016-08-27 21:38:06 +08:00
wwylele
b2df959733
Memory: add ReadCString function
2016-08-27 21:38:06 +08:00
Yuri Kunde Schlesner
1f7ec4be9b
Auto-detect original shared_font.bin memory base
...
This allows a file dumped from either an o3DS or a n3DS (and potentially
even an original unrebased file) to be used.
2016-08-27 01:04:26 -07:00
MerryMage
15b2eec4bd
dyncom: Read-after-write in SMLA
...
In the case when RD === RN, RD was updated before AddOverflow was called
to check for an overflow, resulting in an incorrect state of the Q flag.
2016-08-22 15:13:33 +01:00
MerryMage
50407a8dc8
Dyncom: Correct implementation of STM for R15
2016-08-14 00:49:34 +01:00
Lectem
a94fb932ff
fix #1942 and adds a few IPC functions for descriptors
2016-08-02 16:45:15 +02:00
bunnei
47fcd68b01
Merge pull request #1950 from JamePeng/fix-apt-0x0055004-and-0x00560000
...
Correct APT::0x00550040 and APT::0x00560000 function
2016-07-28 20:50:49 -04:00
Henrik Rydgard
9a9e9dc375
Instead of segfaulting, log an error to remind the user to dump the shared font file
2016-07-28 21:47:57 +02:00
bunnei
5c743ddfa8
Merge pull request #1959 from MerryMage/revsh-upstream
...
dyncom: Fix translation of thumb REVSH
2016-07-28 08:43:51 -04:00
MerryMage
60c93ca3b5
dyncom: Fix translation of thumb REVSH
2016-07-28 11:51:29 +01:00
wwylele
d63a76f4ce
CoreTiming: avoid overflow
2016-07-23 14:30:23 +03:00
wwylele
00c34e4df7
HLE: implement system time
2016-07-23 14:30:23 +03:00
JamePeng
d5aa474788
Correct APT::0x00550040 and APT::0x00560000 function
2016-07-15 19:47:01 +08:00
Yuri Kunde Schlesner
ffda82eea5
Merge pull request #1894 from wwylele/set-config-block
...
Implement config savegame editing & clean up
2016-07-09 20:39:19 -07:00
bunnei
6fa7b1f486
Merge pull request #1940 from JamePeng/fix-archive-error-code
...
Fix the errorcode of archive handle
2016-07-06 18:37:43 -04:00
Sebastian Valle
ff2d1a2b74
Merge pull request #1921 from Subv/fs_funcs
...
HLE/FS: Document some command parameters and implemented command 0x08560240
2016-07-05 14:45:40 -07:00
JamePeng
f87bb8ba0a
Fix the errorcode of archive handle
2016-07-05 00:39:09 +08:00
mailwl
e06f2705f0
HLE/Applets: Implement ErrEula applet
2016-07-04 09:54:51 +03:00
Subv
8752f07e8e
HLE/FS: Document some command parameters and implemented command 0x08560240 (CreateLegacySystemSaveData)
2016-07-03 13:42:52 -05:00
wwylele
ab2eef396a
Service::CFG/FS: add and refactor out utilities for front-end
2016-07-03 08:23:59 +03:00
wwylele
457b6413e6
Service::CFG: move known block ID to an enum
2016-07-03 08:23:59 +03:00
wwylele
324c8d21a4
Service::CFG: add SetConfigInfoBlk4
2016-07-03 08:23:58 +03:00
wwylele
f00e8d4b2b
Service::CFG: add missing language
2016-07-02 11:44:25 +03:00
wwylele
3687a805ec
Service::CFG: name sound output modes
2016-07-02 11:44:25 +03:00
wwylele
e023a4cfd0
Result: fix and update ErrorModule
2016-06-30 11:26:53 +03:00
Yuri Kunde Schlesner
de79b6fc48
Merge pull request #1869 from wwylele/dont-be-lazy
...
Switch context to the same thread if necessary
2016-06-28 21:03:52 -07:00
bunnei
87c07643ff
Merge pull request #1867 from mailwl/srv-update
...
srv: Update according 3dbrew
2016-06-28 18:53:10 -04:00
bunnei
8f86cc4df9
Merge pull request #1877 from wwylele/wait-fix-timeout
...
Thread: update timeout when reruning WaitSynch
2016-06-18 01:08:22 -04:00
bunnei
251457b9d5
Merge pull request #1898 from archshift/interpreter-split-take2
...
Refactor arm_dyncom_interpreter into several files (take 2)
2016-06-16 14:47:55 -04:00
archshift
ca20b1f87d
Make arm_dyncom_trans* into a fully fledged compilation unit
2016-06-12 01:54:45 -07:00
archshift
54b5178f6c
arm_dyncom_interpreter: slightly change AllocBuffer to be intuitive
2016-06-12 00:31:52 -07:00
bunnei
78f2b85fe6
Merge pull request #1842 from Subv/ports
...
Kernel: Added ClientPort and ServerPort classes, along with svcCreatePort.
2016-06-11 22:46:35 -04:00
Subv
7b445ddff0
Kernel/SVC: Implemented svcCreatePort.
2016-06-11 08:37:37 -05:00
wwylele
43183db51f
hid: add missing header
2016-06-11 08:45:29 +03:00
bunnei
f99961581e
Merge pull request #1789 from wwylele/input-refactor
...
Refactor input mapping & implement circle pad modifier
2016-06-10 22:28:58 -04:00
archshift
765eef3319
arm_dyncom_interpreter: Add specialized GetAddressingOpLoadStoreT func
...
This allows us to get the addressing operation for STRT, LDRT, STRBT,
and LDRBT. We do this so that translation functions don't need to
see the addressing ops directly.
2016-06-10 18:45:48 -07:00
archshift
eac4c016cb
arm_dyncom_interpreter: rename operation functions to fit style guide
2016-06-10 18:42:08 -07:00
archshift
5297f5dfc9
arm_dyncom_interpreter: Rename anonymous enum to TransExtData
2016-06-10 18:35:57 -07:00
archshift
2c482722e7
arm_dyncom_interpreter.cpp: #include translation info from inc files
2016-06-10 18:25:30 -07:00
archshift
0637dd93b5
Revert "Split huge interpreter source file into translation info and interpreter (+ some tiny misc style fixes)"
2016-06-10 17:41:15 -07:00
archshift
a371744575
arm_dyncom_interpreter: rename operation functions to fit style guide
2016-06-08 21:03:49 -07:00
archshift
c7ffd8a920
arm_dyncom_interpreter.cpp: Split by translation and interpreter logic
...
To facilitate the split, some small changes were made to names of
various structures and functions.
2016-06-08 20:59:24 -07:00
shinyquagsire23
c6f87f7e2c
gdbstub: E0 should be E00
2016-06-08 14:14:59 -07:00
Subv
3d9fbffbab
Kernel: Added ClientPort and ServerPort classes.
...
This is part of an ongoing effort to implement support for multiple processes.
2016-06-05 09:35:31 -05:00
Lioncash
64b6a7c006
service: Add other DLP services
...
Specifically, dlp::CLNT and dlp::FKCL
Moves them to their own folder like with other services.
2016-06-04 19:43:33 -04:00
wwylele
7d56e88369
Thread: update timeout when rerunning WaitSynch
2016-06-04 09:27:16 +03:00
mailwl
07cc781163
gsp::gpu: Reset g_thread_id in UnregisterInterruptRelayQueue
2016-06-01 09:40:15 +03:00
mailwl
e85b22320a
Fix parameter name in EnableNotification
2016-05-31 10:06:00 +03:00
mailwl
eea08f281d
Fix mistakes, add output header codes
2016-05-31 10:06:00 +03:00
mailwl
eb231cb19d
remove ugly function
2016-05-31 10:06:00 +03:00
mailwl
dc338ccecf
srv: Update according 3dbrew
2016-05-31 10:06:00 +03:00
wwylele
81d3462a19
Switch context on the same thread if necessary
2016-05-30 07:34:53 +03:00
bunnei
ab4b27f0f5
Merge pull request #1692 from Subv/rm_getpointer2
...
Memory: Remove most usages of GetPointer
2016-05-29 21:57:07 -04:00
bunnei
1104913a8f
Merge pull request #1756 from wwylele/config-cleanup
...
Config block: clean up
2016-05-28 20:42:17 -04:00
Subv
0aef634a54
Memory: Handle RasterizerCachedMemory and RasterizerCachedSpecial page types in the memory block manipulation functions.
2016-05-28 13:52:50 -05:00
Subv
660499ac01
Memory: Make ReadBlock and WriteBlock accept void pointers.
2016-05-28 13:52:49 -05:00
Subv
99695d03d2
SOC_U: Remove usage of GetPointer
2016-05-28 13:52:49 -05:00
MerryMage
59b268de35
SSL_C: Remove use of Memory::GetPointer
2016-05-28 13:52:48 -05:00
MerryMage
5f33d2cf07
GSP_GPU: Remove use of Memory::GetPointer
2016-05-28 13:52:47 -05:00
MerryMage
31d49e0109
Memory: CopyBlock
2016-05-28 13:44:49 -05:00
MerryMage
e936f5952c
DSP_DSP: Remove use of Memory::GetPointer
2016-05-28 13:44:49 -05:00
MerryMage
896e5009ae
FS/Archive: Remove use of Memory::GetPointer
2016-05-28 13:44:44 -05:00
Mat M
031a9c57bb
Merge pull request #1568 from JayFoxRox/fix-printf
...
Fix ftoi and disable VFPv3
2016-05-26 19:03:00 -04:00
bunnei
859c36c269
Merge pull request #1810 from JayFoxRox/fix-float-exceptions
...
Fix float exceptions
2016-05-26 18:28:00 -04:00
Mat M
ade0889519
Merge pull request #1855 from MerryMage/memory-headers-20160526
...
Memory: Added necessary headers and removed unnecessary header
2016-05-26 14:19:31 -04:00
MerryMage
80abe6eb08
Memory: Added necessary headers and removed unnecessary header
2016-05-26 18:55:37 +01:00
bunnei
f50a32bfce
Merge pull request #1817 from linkmauve/smdh-stuff
...
Improve SMDH support in loaders and frontends
2016-05-25 16:40:36 -04:00
bunnei
c106f71beb
New3DS: Minor style cleanup to #1520 .
2016-05-24 17:24:11 -04:00
bunnei
2e5e7d9be0
Merge pull request #1520 from JamePeng/checknew3ds
...
Implement CheckNew3DS and CheckNew3DSApp
2016-05-24 17:19:26 -04:00
Emmanuel Gil Peyrot
080a2d719c
Loader: Split SMDH into its own header and import helpers from QGameList
...
Also rewrite Qt wrappers to use those.
2016-05-21 20:15:42 +01:00
MerryMage
64068583fb
CFG: Remove use of Memory::GetPointer
2016-05-21 11:14:13 -05:00
MerryMage
fddd243b17
APT: Remove use of Memory::GetPointer
2016-05-21 11:14:12 -05:00
MerryMage
1ebaaf9bb1
Kernel/Thread: Remove use of Memory::GetPointer
2016-05-21 11:14:11 -05:00
MerryMage
aa84cab4e9
Applets/swkdb: Remove use of Memory::GetPointer
2016-05-21 11:14:10 -05:00
MerryMage
ca17df5757
Memory: ZeroBlock
2016-05-21 11:14:09 -05:00
MerryMage
2be17a0c6e
FileSys/Path: Replace Memory::GetPointer with Memory::ReadBlock
2016-05-21 11:14:03 -05:00
MerryMage
3873b36db3
Memory: ReadBlock/WriteBlock
2016-05-21 11:12:36 -05:00
MerryMage
c084fc824c
Memory: IsValidVirtualAddress/IsValidPhysicalAddress
2016-05-21 11:12:35 -05:00
Emmanuel Gil Peyrot
314ce5e505
CitraQt: Simplify the game list loader code
2016-05-21 17:09:59 +01:00
Emmanuel Gil Peyrot
9a35d1fb4a
Loader: Add a GetFileType method to get the type of a loaded file
2016-05-21 17:09:59 +01:00
Emmanuel Gil Peyrot
8fc9c03126
Loader, Frontends: Refactor loader creation and game loading
...
This allows frontends to keep a single loader and use it multiple times
e.g. for code loading and SMDH parsing.
2016-05-21 17:09:56 +01:00
wwylele
86ea7995ad
SVC::WaitSynchronizationN: Reschedule at the end
2016-05-21 18:29:38 +03:00
Jannik Vogel
edf30d84cc
Remove `exceptions` parameter from `normaliseround` VFP functions
2016-05-18 16:28:13 +02:00
Jannik Vogel
693cca8f1f
Fix exception propagation for VFP single precision
2016-05-18 15:24:42 +02:00
Jannik Vogel
7dde13f875
Fix exception propagation for VFP double precision
2016-05-18 15:24:42 +02:00
Jannik Vogel
3a45eacb16
Fix read-after-write in SMUAD, SMLAD, SMUSD, SMLSD
2016-05-18 14:03:02 +02:00
András Domonkos
960297e577
Update ACT:U and create ACT:A ( #1809 )
...
* Update ACT_U
* Create act_a.h
* Create act_a.cpp
* Add service ACT:A
* Add ACT:A source and header
* Fix wrong header
2016-05-17 21:28:25 -04:00
bunnei
a39144050b
Merge pull request #1800 from JayFoxRox/set-fpscr
...
Set fpscr for new threads
2016-05-17 21:24:57 -04:00
Jannik Vogel
af37dd0d52
Set fpscr for new threads
2016-05-17 08:59:52 +02:00
Jannik Vogel
501d0bc5ed
Fix ftoi behaviour
2016-05-16 15:00:45 +02:00
Jannik Vogel
6fe0cb671d
Respect fpscr in ftoiz
2016-05-16 15:00:45 +02:00
Jannik Vogel
1643786c04
Disable VFP3 instructions
2016-05-16 15:00:45 +02:00
Maribel
5c8beca792
DSP_DSP: Remove GetHeadphoneStatus logspam ( #1799 )
2016-05-15 20:43:01 -04:00
wwylele
6cccdcacd2
fixup! fixup! Refactor input system
2016-05-15 19:35:06 +03:00
wwylele
416faa20d1
implement circle pad modifier
2016-05-15 13:24:22 +03:00
wwylele
03631f9b8f
Refactor input subsystem
2016-05-15 13:24:22 +03:00
Subv
64da2bf0cd
Memory: Fixed a regression caused by #1695 and #1689 .
...
Reserve enough space in the vector that holds the linear heap memory to prevent relocations of the backing memory when growing too much.
Closes #1790
2016-05-14 11:24:19 -05:00
bunnei
18b517e236
Merge pull request #1689 from Subv/shmem
...
Kernel: Implemented shared memory.
2016-05-13 15:33:44 -04:00
bunnei
0d8bd3ba36
Merge pull request #1695 from Subv/tls_alloc
...
Kernel/Threads: Dynamically allocate the TLS region for threads.
2016-05-12 21:51:35 -04:00
Subv
ac2de12ed8
HLE/Applets: Give each applet its own block of heap memory, and use that when creating the framebuffer shared memory block.
2016-05-12 20:01:59 -05:00
Subv
d261984f54
Kernel: Account for automatically-allocated shared memories in the amount of used linear heap memory.
2016-05-12 20:01:59 -05:00
Subv
abf8dcd700
APT: Move the shared font loading and relocation functions to their own subdirectory services/apt/bcfnt.
2016-05-12 20:01:54 -05:00
Subv
5679d066b5
Kernel/SharedMemory: Log an error when Map fails.
2016-05-12 20:01:27 -05:00
Subv
0fb6d2a247
Kernel: Implemented shared memory permissions.
2016-05-12 20:01:26 -05:00
Subv
9005cda664
APT: Implement relocating the shared font to its true address.
2016-05-12 20:01:20 -05:00
Subv
f72bd57212
Kernel/Memory: Remove the Shared Memory region from the legacy memory map.
2016-05-12 20:00:33 -05:00
Subv
1bd0cf542f
Kernel/SharedMemory: Properly implemented shared memory support.
...
Applications can request the kernel to allocate a piece of the linear heap for them when creating a shared memory object.
Shared memory areas are now properly mapped into the target processes when calling svcMapMemoryBlock.
Removed the APT Shared Font hack as it is no longer needed.
2016-05-12 20:00:32 -05:00
Subv
42a50da76b
Kernel/SVC: Fixed the register order for svcCreateMemoryBlock.
...
R0 is used as the last parameter instead of R4.
2016-05-12 20:00:29 -05:00
Lioncash
0a52e1f587
gdbstub: Silence missing prototype warnings
2016-05-10 09:17:07 -04:00
Lioncash
0f941d0245
dyncom: Reset the context into user mode correctly
...
The other mode was system mode.
2016-05-09 16:30:55 -04:00
bunnei
282a2ad539
Merge pull request #1766 from Subv/log_cpu
...
Kernel/Threading: Warn when a thread can be scheduled in the Syscore (Core 1)
2016-05-08 15:03:08 -04:00
bunnei
6abc6003f5
Merge pull request #1718 from alex-laties/fixup-type-conversions
...
fixup simple type conversions where possible
2016-05-07 17:24:16 -04:00
bunnei
8e9b33a34a
Merge pull request #1761 from Subv/applets_fb
...
HLE/Applets: Use the correct size for the framebuffer SharedMemory
2016-05-07 17:21:48 -04:00
Alexander Laties
0a31e373f1
fixup simple type conversions where possible
2016-05-07 11:41:55 -04:00
Subv
5b7f86708c
Kernel/Threading: Warn when a thread can be scheduled in the Syscore (Core 1).
...
We do not currently implement any cores other than the AppCore (Core 0).
2016-05-07 10:23:03 -05:00
Subv
d192fb066d
Kernel/Threads: Dynamically allocate the TLS region for threads in the BASE region of the linear heap.
...
Each thread gets a 0x200-byte area from the 0x1000-sized page, when all 8 thread slots in a single page are used up, the kernel allocates a new page to hold another 8 entries.
This is consistent with what the real kernel does.
2016-05-07 10:18:47 -05:00
Subv
6970b7d3d5
HLE/Applets: Use the correct size for the framebuffer SharedMemory in the swkbd and MiiSelector applets.
2016-05-07 10:01:40 -05:00
wwylele
d2182568ad
fix:return proper error
2016-05-06 21:42:13 +03:00
bunnei
75cbfeee58
Merge pull request #1762 from bunnei/global
...
hle: Get rid of direct global access to g_reschedule
2016-05-05 21:45:57 -04:00
bunnei
4cb2995c61
HLE: Rename RescheduleIsPending to IsReschedulePending.
2016-05-05 21:34:10 -04:00
bunnei
55946cdc11
Merge pull request #1700 from wwylele/gamelist-icon
...
Qt: display game icon and title in the game list
2016-05-05 18:35:24 -04:00
mailwl
e311398a22
Layout Mii parameters input/output, and return success as result of applet work
2016-05-05 22:31:33 +03:00
wwylele
5d5dd66d92
add icon & title to game list
2016-05-04 13:02:49 +03:00
wwylele
9b66e0dc8b
clean up config block
2016-05-03 19:27:47 +03:00
bunnei
a6e76c0903
Merge pull request #1732 from wwylele/config00170000
...
add config block 0x00170000; remove duplicated content
2016-05-02 19:04:20 -04:00
wwylele
7e1b76d406
remove duplicated function declaration
2016-05-01 07:44:55 +03:00
Emmanuel Gil Peyrot
691a42fe98
VideoCore: Run include-what-you-use and fix most includes.
2016-04-30 17:02:41 +01:00
Emmanuel Gil Peyrot
387d935a54
LCD: Remove unneeded #undef with no matching #define.
2016-04-30 13:58:26 +01:00
bunnei
c1f0044a4b
Merge pull request #1729 from MerryMage/null-sink
...
Audio Config: Implement null sink and implement sink configuration
2016-04-30 03:49:11 -04:00
MerryMage
4e971f44a2
Audio: Add sink selection to configuration files
2016-04-30 07:41:02 +01:00
bunnei
594bd182b4
Merge pull request #1650 from JamePeng/update-the-ndm-code
...
Update the stub code of NDM service!
2016-04-30 00:38:15 -04:00
bunnei
15d21c0dc5
Merge pull request #1647 from mailwl/acu-closeasync
...
ac:u: stub CloseAsync; align memory size in svc:GetProcessInfo(type=2)
2016-04-30 00:11:08 -04:00
bunnei
eb2d6e4015
Merge pull request #1699 from mailwl/gpu-rights
...
gsp::Gpu: implement AcquireRight, ReleaseRight functions
2016-04-29 20:50:08 -04:00
wwylele
84ade0713c
add config block 0x00170000
2016-04-29 13:31:29 +03:00
Yuri Kunde Schlesner
e3a8292495
Common: Remove section measurement from profiler ( #1731 )
...
This has been entirely superseded by MicroProfile. The rest of the code
can go when a simpler frametime/FPS meter is added to the GUI.
2016-04-29 00:07:10 -07:00
bunnei
1ecee38468
Merge pull request #1708 from MerryMage/dsp_dsp
...
DSP Service: Cleanup
2016-04-27 11:34:38 -04:00
MerryMage
c379b22117
DSP_DSP: Fix log format strings and arguments
2016-04-27 06:35:12 +01:00
MerryMage
2929b67c5f
DSP_DSP: Add return IPC headers
2016-04-27 06:35:08 +01:00
MerryMage
ff6db69c60
DSP_DSP: Updated interrupt implementation
2016-04-27 06:35:06 +01:00
bunnei
12f72a6597
y2r_u: Cleanup some formatting.
2016-04-26 21:50:56 -04:00
bunnei
61992170ac
Merge pull request #1447 from JamePeng/update-y2r-service
...
Update the code of service y2r!
2016-04-26 19:29:57 -04:00
Sam Spilsbury
e16541e47c
am: title_id is long long uint
2016-04-24 23:40:41 +08:00
MerryMage
913f7ee524
DSP_DSP: Remove unused variable
2016-04-24 09:01:53 +01:00
mailwl
67c657bf80
return checks if event and memory created
2016-04-23 16:17:03 +03:00
Sam Spilsbury
60f2587eac
ncch: Use correct format specifier (for long long uint)
2016-04-23 11:54:02 +08:00
Sam Spilsbury
040b7386a9
fs: Fix what appears to be a typo (filename_size / file_size)
2016-04-23 11:54:02 +08:00
Sam Spilsbury
41ec40e9aa
gdbstub: Don't check if unsigned int is > 0
2016-04-23 11:54:02 +08:00
mailwl
efdff9ad3e
gsp::Gpu: implement AcquireRight, ReleaseRight functions
2016-04-22 21:15:25 +03:00
tfarley
22f3a7e94c
HWRasterizer: Texture forwarding
2016-04-21 17:27:56 -04:00
tfarley
e46d086189
Config: Add scaled resolution option
2016-04-21 17:27:48 -04:00
mailwl
bd8cc69893
ac:u: stub CloseAsync; check memory size aling in svc:GetProcessInfo(type=2)
2016-04-21 10:34:45 +03:00
JamePeng
14602287f7
Update the stub code of NDM service!
2016-04-21 02:25:58 +08:00
JamePeng
854912ca5d
Update the code of service y2r!
2016-04-20 18:38:01 +08:00
JamePeng
7129611e65
Implement CheckNew3DS and CheckNew3DSApp
...
Append an item[is_new3ds] to config file[System] group
Implement APT::SetNSStateField,it will update the unknown NS_state_field
2016-04-20 18:12:05 +08:00
bunnei
32dfd4b4fe
Merge pull request #1612 from ObsidianX/get-set-sockopt
...
SOC:U GetSockOpt/SetSockOpt
2016-04-18 20:45:19 -04:00
Lioncash
1cc183703a
core: Clean out some unnecessary header includes
2016-04-16 00:08:49 -04:00
bunnei
2b422fbcc5
Merge pull request #1667 from wwylele/ncch-loader-fix
...
loader: only decompress code section
2016-04-15 17:13:34 -04:00
JamePeng
8d5a6110f7
Y2R: num_tiles should be allowed when its value is 128 ( #1669 )
2016-04-14 21:36:07 -07:00
wwylele
727d508e02
ncch:only decompress .code section
2016-04-14 18:33:42 +03:00
bunnei
38f4c9cce9
Merge pull request #1613 from mailwl/anp
...
Set Kernel config "Hardware Inited" to 1 (true)
2016-04-11 16:26:47 -04:00
Jannik Vogel
f2c8619704
CitraQt: Apply config at startup
2016-04-11 15:18:00 +02:00
mailwl
df0a81621f
Set Kernel config "Unknown Value" to 0x1
2016-04-11 13:47:52 +03:00
mailwl
2efc1c9348
Fix BLX LR opcode interpretation
2016-04-09 19:11:02 +03:00
bunnei
a4c5d8fd50
Merge pull request #1644 from polaris-/gdb-fixes
...
Adopted WinterMute's gdbstub changes
2016-04-08 16:03:40 -04:00
JamePeng
9045c57d6f
update the code of AM service! ( #1623 )
2016-04-08 15:44:00 -04:00
mailwl
61ec5fa776
cecd:u: stub GetCecStateAbbreviated ( #1648 )
2016-04-08 15:39:52 -04:00
mailwl
4630209c4c
Update cpsr (T)humb bit while creating thread
2016-04-08 18:41:09 +03:00
bunnei
f531d4b810
Merge pull request #1577 from JamePeng/update-apta-func
...
Append the missing function name"GetAppletInfo", "SetAppCpuTimeLimit" and "GetAppCpuTimeLimit" to APT:A
2016-04-06 21:07:08 -04:00
mailwl
06a4369f75
Fix thumb ADR instruction alignment
2016-04-06 19:46:58 +03:00
polaris-
44d746fc92
Adopted WinterMute's gdbstub changes
...
This fixes the comments left on the PR (whitespace, SO_REUSEADDR,
comment changes).
2016-04-06 07:01:00 -04:00
JamePeng
857bf9cd09
append SetAppCpuTimeLimit and GetAppCpuTimeLimit to APT:A
2016-04-06 14:24:09 +08:00
bunnei
dccadce074
Merge pull request #1435 from mailwl/frd_u
...
frd:u: Initial stub some functions
2016-04-05 23:04:35 -04:00
Mathew Maidment
aa6380e5bc
Merge pull request #1643 from MerryMage/make_unique
...
Common: Remove Common::make_unique, use std::make_unique
2016-04-05 20:10:11 -04:00
MerryMage
a06dcfeb61
Common: Remove Common::make_unique, use std::make_unique
2016-04-05 13:31:17 +01:00
JamePeng
af9a8258b9
implement APT::GetStartupArgument
2016-04-05 02:04:58 +08:00
JamePeng
ef47d855ce
Append the missing function name"GetAppletInfo" to APT:A
2016-04-05 01:57:18 +08:00
bunnei
6d24c73ea9
Merge pull request #1616 from exhalatio/dlp_dummy
...
Dummy implementation dlp:SRVR Service.
2016-04-03 10:10:58 -04:00
exhalatio
bbdfbe44e6
Dummy implementation dlp:SRVR Service.
2016-04-03 06:05:20 +09:00
bunnei
e5e3b97db2
Merge pull request #1619 from mailwl/cecd
...
cecd:u: stub GetCecInfoEventHandle, GetChangeStateEventHandle
2016-04-02 01:43:35 -04:00
Ryan Loebs
58ee548ed8
Rework sockopt translation to match the error translation code already in place
2016-04-01 22:19:21 -07:00
bunnei
9d7028bcfb
Merge pull request #1390 from purpasmart96/citra_gsp_error_codes
...
GSP: Return proper error codes for register writes
2016-04-01 10:50:36 -04:00
Mathew Maidment
80c16961ae
Merge pull request #1618 from MerryMage/one-step
...
Prevent cache overflow when single stepping
2016-03-31 11:00:42 -04:00
bunnei
67c982be1b
Merge pull request #1419 from mailwl/branch-gsp
...
Add gsp functions: SetAxiConfigQoSMode, UnregisterInterruptRelayQueue
2016-03-31 08:52:38 -04:00
mailwl
cb8e85a37d
cecd:u: stub GetCecInfoEventHandle, GetChangeStateEventHandle
2016-03-31 14:59:10 +03:00
mailwl
f7619a9a19
Add gsp functions: SetAxiConfigQoSMode, UnregisterInterruptRelayQueue
2016-03-31 10:40:25 +03:00
purpasmart96
abe5c6efec
GSP: Return proper error codes for register writes
2016-03-30 18:31:49 -07:00
Ryan Loebs
2faafff1b9
Code style
2016-03-30 13:51:34 -07:00
MerryMage
cbba0bec7c
DynCom: Optimize single stepping
2016-03-30 18:57:59 +01:00
Ryan Loebs
b1f89408dd
Added GetSockOptName
...
Filter out and translate invalid sockopt names.
2016-03-30 00:25:19 -07:00
Ryan Loebs
0a7d53692a
Derp: win32: typedef int socklen_t;
2016-03-29 14:48:25 -07:00
Ryan Loebs
64815a8b16
But of course, Windows uses 'int' while Linux uses 'socklen_t'
2016-03-29 14:33:32 -07:00
Ryan Loebs
b8422b24bd
Compiling on Windows now
2016-03-29 14:24:03 -07:00
Ryan Loebs
aa5bb3b997
Formatting...
2016-03-29 04:45:17 -07:00
Ryan Loebs
65883d9327
Addressing PR comments
2016-03-29 04:42:58 -07:00
Ryan Loebs
91dbebbcc5
SOC Updates
...
-Implement GetSockOpt / SetSockOpt
-Fix bug in RecvFrom where sending from localhost
does not fill in src_addr/src_addr_len on Linux
2016-03-28 23:34:34 -07:00
Ryan Loebs
1ce8cb148c
Add common methods to all cfg:* ports
2016-03-28 23:32:25 -07:00
mailwl
81d988b022
frd:u: Initial stub some functions
2016-03-27 10:08:04 +03:00
wwylele
aeb29a1a60
use reference instead of pointer
2016-03-26 10:50:02 +03:00
bunnei
39da819b55
Merge pull request #1549 from wwylele/acc_gyro
...
hid: implement accelerometer and gyroscope back-end
2016-03-25 21:07:21 -04:00
wwylele
1d2070d0d3
implement GyroscopeCalibrateParam
2016-03-25 12:22:02 +03:00
wwylele
db151efd0a
implement accel and gyro backend
2016-03-22 18:35:03 +02:00
bunnei
85edb851b0
Merge pull request #1560 from lioncash/savedata
...
archive_extsavedata: Fix member initialization order
2016-03-22 11:56:47 -04:00
bunnei
e16899783d
Merge pull request #1563 from lioncash/lolfiq
...
armstate: Correct FIQ register banking
2016-03-22 08:38:48 -04:00
Lioncash
d53c9cde1a
armstate: Correct FIQ register banking
...
FIQ has seven banked registers (R8 to R14), not two.
2016-03-21 18:56:27 -04:00
bunnei
446d7c7e55
Merge pull request #1559 from lioncash/vec
...
soc_u: Get rid of explicit delete and new
2016-03-21 11:19:18 -04:00
Lioncash
04f8d39a96
session: Make helper functions constexpr
2016-03-21 04:07:03 -04:00
Lioncash
c99f47d8f0
loader: Make MakeMagic constexpr
2016-03-21 03:28:22 -04:00
Lioncash
6b7ebb3f82
hle: Get rid of global access to g_reschedule
...
This shouldn't be directly exposed if there's already a partial API that operates on it.
We can just provide the rest of that API.
2016-03-21 02:57:12 -04:00
Lioncash
f6ad3e42f0
archive_extsavedata: Fix member initialization order
...
shared appears in the initializer list before mount_point
2016-03-21 02:09:12 -04:00
Lioncash
9ea3d55243
soc_u: Get rid of explicit delete and new
2016-03-21 01:22:44 -04:00
bunnei
b83e95727f
Merge pull request #1302 from Subv/save_fix
...
HLE/FS: Fixed many corner cases in our file handling
2016-03-20 16:11:49 -04:00
Subv
f707026ac5
HLE/FS: Change the error code returned when an ExtSaveData archive is not found.
...
This allows Fire Emblem to boot again.
2016-03-20 14:52:50 -05:00
Subv
3aa42627a3
HLE/FS: Corrected some style concerns.
2016-03-20 14:52:26 -05:00
Subv
95380d8950
HLE/FS: Fixed creating the config savefile when it doesn't exist.
...
This fixes a regression.
2016-03-20 14:30:03 -05:00
Subv
d26c6b3212
HLE/FS: Implemented GetFormatInfo
...
Format information is currently only implemented for the ExtSaveData, SharedExtSaveData and SaveData archives, the information is stored in a file alongside the root folder of the archive.
2016-03-20 14:30:01 -05:00
Subv
9b2d643451
HLE/FS: Don't return an error when deleting the ExtSaveData if it does not exist.
2016-03-20 14:28:24 -05:00
Subv
95b34f8081
HLE/FS: Return the proper error codes when opening files.
2016-03-20 14:28:22 -05:00
Subv
802ef6d099
HLE/FS: Fixed the OpenDirectory error code
2016-03-20 14:28:19 -05:00
Subv
96f0e32f83
HLE/FS: Return the proper error codes on file Read/Write operations.
...
These operations are limited by the open flags specified while opening the file.
2016-03-20 14:28:17 -05:00
Subv
09b0564c75
HLE/FS: Corrected the error codes for DeleteFile
2016-03-20 14:28:14 -05:00
Subv
b350f192bb
HLE/FS: Corrected the error codes for CreateFile
2016-03-20 14:28:10 -05:00
Subv
381a5c053f
HLE/FS: FS::CreateFile takes an u64 for the file size.
2016-03-20 14:28:08 -05:00
LittleWhite
89a43b8447
Fix missing header
2016-03-20 14:35:51 +01:00
bunnei
06b70d170e
Merge pull request #1505 from pippo2931/fef
...
GetArchiveResource stub
2016-03-18 00:32:53 -04:00
Lioncash
c928b04eee
core/video_core: Make NumIds functions constexpr
2016-03-17 00:29:47 -04:00
Lioncash
39baad9926
core/video_core: Don't cast away const in subscript operators
...
Not to say these subscript operators aren't totally ugly as is.
2016-03-17 00:27:15 -04:00
JamePeng
dd0b8047eb
Reorganize the ndm service path for dummy implement function
...
SuspendDaemons , ResumeDaemons , OverrideDefaultDaemons
The NDM file move to /core/hle/service/ndm/ now!
2016-03-15 00:42:47 +08:00
wwylele
ab67f0ffa3
hid: fix pad update
2016-03-13 11:19:17 +02:00
Lioncash
856a1d0386
svc: Move ResetType enum to the kernel event header
2016-03-12 21:47:41 -05:00
Lioncash
31797a242f
svc: Remove unused ArbitrationType enum
...
An equivalent enum already exists within address_arbiter.h
2016-03-12 15:09:13 -05:00
Lioncash
12e92f17de
svc: Make ResetType an enum class
2016-03-12 15:06:31 -05:00
pippo2931
8186f1271b
Fix header
2016-03-12 11:05:48 -08:00
pippo2931
31abe54c99
GetArchiveResource stub
2016-03-12 11:01:12 -08:00
bunnei
2f0a61debf
Merge pull request #1266 from Subv/miiapplet
...
HLE/Applets: Implemented a dummy Mii Selector applet.
2016-03-12 11:23:59 -05:00
Subv
0f8be2d2cc
HLE/Applets: Implemented a dummy Mii Selector applet.
...
This prevents some games (like Super Mario 3D Land) from freezing when trying to launch it, however, it's not complete and won't let you go past Mii selection as the parameter structure hasn't been reverse engineered yet.
2016-03-12 10:59:37 -05:00
bunnei
afb5140b53
Merge pull request #1500 from lioncash/nullptr
...
gsp_gpu: Change 0 literal to nullptr
2016-03-12 10:15:02 -05:00
Lioncash
fba547b924
gsp_gpu: Change 0 literal to nullptr
2016-03-11 22:59:48 -05:00
Lioncash
d7dd6c8bd1
hle: Update service function tables
2016-03-11 22:23:51 -05:00
LittleWhite
e649f5d98d
Fix missing return
2016-03-09 22:20:08 +01:00
bunnei
4a2d1571bc
Merge pull request #1474 from lioncash/renderer
...
renderer_base: Minor changes
2016-03-09 10:57:38 -05:00
bunnei
8530a2d7df
Merge pull request #1344 from LittleWhite-tb/error-output
...
Output errors in GUI
2016-03-08 23:12:04 -05:00
Lioncash
bf76afc68d
renderer_base: Don't directly expose the rasterizer unique_ptr
...
There's no reason to allow direct access to the unique_ptr instance. Only
its contained pointer.
2016-03-08 21:31:44 -05:00
LittleWhite
4be68dddfb
Improve error report from Init() functions
...
Add error popup when citra initialization failed
2016-03-08 22:05:25 +01:00
MerryMage
004991d79e
DSP: Implement Pipe 2
...
Pipe 2 is a DSP pipe that is used to initialize both the DSP hardware (the
application signals to the DSP to initialize) and the application (the DSP
provides the memory location of structures in the shared memory region).
2016-03-06 21:25:44 +00:00
Yuri Kunde Schlesner
6aa90e13f9
Memory: Do correct Phys->Virt address translation for non-APP linheap
2016-03-05 22:09:59 -08:00
Mathew Maidment
8ee230fe1c
Merge pull request #1455 from yuriks/ResultVal-union
...
core: Use unrestricted union to hold storage of ResultVal value
2016-03-05 23:29:14 -05:00
MerryMage
5b0fe77140
DSP: Print hash of firmware to console
2016-03-06 00:11:17 +00:00
Yuri Kunde Schlesner
6dd05e610a
core: Use unrestricted union to hold storage of ResultVal value
2016-03-05 00:13:20 -08:00
Yuri Kunde Schlesner
b967a581a1
Loader/NCCH: Log the program ID during loading
...
This is useful for all sorts of things, but mainly to identify save
folders more easily.
2016-03-04 23:53:10 -08:00
bunnei
987d85a33b
Merge pull request #1429 from mailwl/branch-acu
...
ac:u IsConnected implemented
2016-03-05 02:10:25 -05:00
bunnei
878562c291
Merge pull request #1389 from yuriks/stub-cam
...
Stub CAM:U service
2016-03-04 10:11:09 -05:00
mailwl
d6be7ff683
ac:u: Stub IsConnected
2016-03-04 15:59:02 +03:00
LittleWhite
7ad669a911
Display errors in GUI when loading ROM failed
2016-03-03 22:52:29 +01:00
bunnei
ea0ca17215
Merge pull request #1434 from Kloen/legend
...
Add THREADPROCESSORID_ALL on SVC::CreateThread
2016-03-02 09:09:09 -05:00
bunnei
cddb9bd2aa
Merge pull request #1297 from Subv/saves
...
DiskDirectory: Initialize the directory member with valid info.
2016-03-01 17:16:05 -05:00
Kloen
1149e66820
ThreadProcessorId_All on SVC::CreateThread
2016-03-01 12:03:32 +01:00
Yuri Kunde Schlesner
1912c4691b
Service/CFG: Fix potential endianess issue
2016-02-29 23:56:02 -08:00
Yuri Kunde Schlesner
228d8ac14a
Service/CFG: Add block 0x000A0000 (username) to default config file
2016-02-29 23:55:48 -08:00
Yuri Kunde Schlesner
338a0f01f2
Service/CAM: Add doxycomments to all service functions
2016-02-29 22:53:36 -08:00
mailwl
2e13b7f3ca
Initial implementation ir:user
2016-02-26 18:39:28 +03:00
MerryMage
8b00954ec7
AudioCore: Skeleton Implementation
...
This commit:
* Adds a new subproject, audio_core.
* Defines structures that exist in DSP shared memory.
* Hooks up various other parts of the emulator into audio core.
This sets the foundation for a later HLE DSP implementation.
2016-02-21 13:13:52 +00:00
Yuri Kunde Schlesner
fc6fa0f088
Service/CAM: Dummy implementation of some functions
...
Thanks to @mailwl for the initial version of the stubs.
2016-02-13 01:16:08 -08:00
MerryMage
6c71858c5c
BitField: Make trivially copyable and remove assignment operator
2016-02-12 19:51:16 +00:00
Lioncash
0937bed8d8
services: Get rid of unnecessary includes
2016-02-02 01:40:23 -05:00
Lioncash
5e5bb0c32e
services: Update function tables
2016-02-01 21:49:44 -05:00
bunnei
cd0b31fd73
Merge pull request #1377 from MerryMage/mmio
...
Memory: Implemented MMIO
2016-01-30 19:03:33 -05:00
MerryMage
2b93313348
Memory: Implement MMIO
2016-01-30 18:41:04 +00:00
Lioncash
a89e32b157
elf: Don't cast away const
2016-01-25 02:36:57 -05:00
Lioncash
3ed5ecd67a
archive_backend: Remove unnecessary const from return types
...
This doesn't return by reference so const isn't really necessary
2016-01-25 00:14:53 -05:00
rob turner
d29578d467
ARM_Disasm::DisassembleMemHalf: actually use width in determining opcode name
2016-01-19 18:42:16 +01:00
Subv
922b31ebbd
DiskDirectory: Initialize the directory member with valid info.
2016-01-16 09:30:29 -05:00
bunnei
190b1bbf1f
Merge pull request #1327 from Subv/unmap_memblock
...
HLE/SVC: Implement UnmapMemoryBlock.
2016-01-14 22:27:36 -05:00
Subv
d90d5a0ee6
HLE/SVC: Implement UnmapMemoryBlock.
...
This implementation will need to be (almost completely) changed when we implement multiprocess support.
2016-01-14 11:29:19 -05:00
bunnei
848effe9c3
Merge pull request #1283 from Subv/soc_fixup
...
HLE/Sockets: Fixed the buffer offset in recvfrom.
2016-01-05 13:52:25 -05:00
bunnei
085c8f2987
Merge pull request #1310 from lioncash/services
...
services: Update some function tables
2015-12-30 21:30:07 -05:00
Lioncash
532dc797c9
arm_dyncom_dec: Fix decoding of VMLS
...
Previously, all VMLS variants would misdecode as CDP
(which isn't necessarily wrong in itself, however
VMLS has it's own label of execution)
2015-12-30 14:23:07 -05:00
Lioncash
744f4af3ab
services: Update some function tables
2015-12-30 11:29:21 -05:00
bunnei
4bc961d5fd
Merge pull request #1306 from Subv/sync
...
HLE/Timers: Reset OneShot timers when they are acquired instead of when they're triggered
2015-12-29 22:36:29 -05:00
Subv
6cccc36505
HLE/Timers: Reset OneShot timers when they are acquired instead of when they're triggered.
...
Closes #1139
2015-12-29 20:35:25 -05:00
Lioncash
cee8df6ff0
core: Use unique_ptr for holding the interpreter instances
2015-12-29 18:03:08 -05:00
bunnei
73740d74ed
Merge pull request #1300 from Subv/arbitrateaddress
...
SVC: Fixed ArbitrateAddress to behave as it does on hardware.
2015-12-28 22:23:51 -05:00
Lioncash
fddfe946c8
dyncom: Handle modifying the APSR via an MRC instruction
2015-12-28 07:52:04 -05:00
Subv
29032ce9b6
SVC: Fixed ArbitrateAddress to behave as it does on hardware.
...
This was verified with hwtests that i plan to upload later on.
2015-12-27 18:44:42 -05:00
Lioncash
270cbb0119
svc: Remove superfluous printf argument
2015-12-25 14:21:45 -05:00
Subv
282f2c8042
HLE/Sockets: Fixed the buffer offset in recvfrom.
...
Closes #1277
2015-12-24 09:19:27 -05:00
Lioncash
d09b7a3c12
dyncom: Remove PC dispatch from several instructions
...
These instructions aren't capable of using the PC as a destination
2015-12-20 21:19:02 -05:00
Lioncash
5a531d7ec2
dyncom: Handle unprivileged load/store variants correctly
...
LDRT/LDRBT/STRBT/STRT should simulate the load or store
as if the host CPU is in user mode.
STRT is also allowed to use the PC as an operand
2015-12-19 19:05:50 -05:00
Lioncash
84afaaa10c
svc: Fix compilation with LOG_TRACE enabled
2015-12-12 18:14:36 -05:00
Yuri Kunde Schlesner
31764c48fb
Merge pull request #1272 from yuriks/merge-rasterizer
...
VideoCore: Unify interface to OpenGL and SW rasterizers
2015-12-07 20:21:06 -08:00
Yuri Kunde Schlesner
195fedccf0
VideoCore: Unify interface to OpenGL and SW rasterizers
...
This removes explicit checks sprinkled all over the codebase to instead
just have the SW rasterizer expose an implementation with no-ops for
most operations.
2015-12-07 20:20:38 -08:00
Yuri Kunde Schlesner
03835d04f4
VideoCore: Rename HWRasterizer methods to be less confusing
2015-12-06 19:08:37 -08:00
Lioncash
56e22e6aac
dyncom: Remove static keyword from header functions
2015-12-06 15:14:51 -05:00
Lioncash
1ea0702eaa
arm_interface: Make GetNumInstructions const
2015-12-06 15:07:59 -05:00
Lioncash
de9a625c7e
arm_interface: directly initialize class members
2015-12-06 15:07:00 -05:00
Lioncash
d03e7f08ff
dyncom: const correctness changes
2015-12-06 15:03:06 -05:00
bunnei
87df493b5b
Merge pull request #1252 from Subv/cam
...
Services/Cam: Added new log type and camera enums from 3dbrew.
2015-12-03 22:01:45 -05:00
Yuri Kunde Schlesner
84a22cb594
Kernel: Implement svcGetSystemInfo
...
This makes smealum/ctrulib@b96dd51d33 work
with Citra.
2015-11-30 19:49:44 -08:00
Lioncash
5e2b66d2a4
armstate: Zero out the registers on creation
...
std::array isn't always guaranteed to explicitly zero out it's contents
without an initializer list.
2015-11-29 15:16:34 -05:00
Subv
1d02eb0587
Core/ARM11: Correct the size of the VFP register array in the ThreadContext structure.
...
The VFP registers are 64 bits each, and there are 32 of them.
2015-11-29 13:06:45 -05:00
bunnei
e906165229
Merge pull request #1225 from lioncash/clean
...
csnd_snd: Get rid of type punning
2015-11-28 23:32:05 -05:00
bunnei
c642dc459b
Merge pull request #1248 from polaris-/add-ssl-stubs
...
Add stub functions for Initialize and GenerateRandomData in ssl:C
2015-11-24 16:15:21 -05:00
Subv
434ae89a6a
Services/Cam: Added new log type and camera enums from 3dbrew.
...
Followup to #1102
Original author @mailwl
2015-11-23 17:17:28 -05:00
polaris-
4179e91baf
Add stub functions for Initialize and GenerateRandomData in ssl:C
2015-11-22 16:54:51 -05:00
bunnei
78b0d9c8b0
Merge pull request #1246 from polaris-/patch-1
...
Fix read and write register blocks in gdbstub
2015-11-22 13:38:50 -05:00
polaris-
912e53323d
Add Initialize and GenerateRandomData stubs
2015-11-22 09:27:46 -05:00
polaris-
2732ec758d
Fix read and write register blocks in gdbstub
...
Previously, the padding wasn't correctly accounted for which caused the gdbstub to read and write everything after R15 (starting with the dummy FPA registers) incorrectly, which caused CPSR to not be handled correctly. Everything appears to be working as expected with this change.
2015-11-22 07:48:26 -05:00
bunnei
43bb29edc5
Merge pull request #1122 from polaris-/gdbstub
...
gdbstub implementation
2015-11-11 23:21:31 -05:00
polaris-
bcea959910
Fix bug with reading addresses and lengths
2015-11-03 21:50:53 -05:00
polaris-
b6422038b5
Change headers
2015-10-29 06:17:29 -04:00
Lioncash
a1bd909294
csnd_snd: Get rid of type punning
2015-10-28 16:10:21 -04:00
bunnei
7c12ee9ecc
Merge pull request #1165 from esoteric-programmer/master
...
Added CSND_ExecuteType0Commands stub.
2015-10-28 15:19:13 -04:00
Matthias Ernst
3d89e0a94c
Added CSND stub.
2015-10-28 19:04:01 +01:00
bunnei
af26b7a0bc
Merge pull request #1208 from archshift/free-bytes
...
Implement FS_User::GetFreeBytes
2015-10-28 11:30:25 -04:00
archshift
5dfd2dba70
Implement FS_User::GetFreeBytes
2015-10-27 23:33:59 -07:00
Filiph Sandström
a06a32c05d
Fix copy paste
2015-10-24 13:17:04 +02:00
Filiph Sandström
0c84d59a27
Fix wrong branch
2015-10-23 23:58:54 +02:00
Filiph Sandström
844b9970b4
Add GetTotalStepCount Stub
2015-10-23 23:52:13 +02:00
Filiph Sandström
f61c9da7d3
Update ptm.h
2015-10-23 23:50:51 +02:00
polaris-
a7eb6a4045
Add some headers so TravisCI will hopefully work
2015-10-22 00:31:49 -04:00
polaris-
45ed9e7e5e
Use CHAR_BIT instead of 8
2015-10-22 00:19:44 -04:00
polaris-
a5ab8accc2
Handle changes pointed out in comments on PR
2015-10-22 00:11:25 -04:00
polaris-
d1f73c424f
Add a register variable to loops
2015-10-21 07:45:35 -04:00
polaris-
d7e346239b
Update register read loops to go with last commit
2015-10-21 07:40:30 -04:00
polaris-
8a0d848646
Pad responses to gdb for VFP registers
2015-10-21 07:19:03 -04:00
polaris-
53aa55fcaa
Try to add support for VFP registers
2015-10-21 07:14:43 -04:00
polaris-
9f66580d7e
Fix buffer overflow comments
2015-10-21 06:49:49 -04:00
bunnei
c717d1551d
Merge pull request #1199 from Gareth422/encryption-check
...
Loader: Implement NCCH encryption check
2015-10-20 10:17:31 -04:00
polaris-
2b7316a379
Remove unnecessary new lines, changed Deinit to Shutdown
2015-10-11 20:07:58 -04:00
Gareth Poole
721475420d
Loader: Change NCCH header types to be explicitly little-endian
2015-10-10 22:35:22 -04:00
Gareth Poole
2706394384
Loader: Implement encryption check
2015-10-10 22:34:17 -04:00
bunnei
04325e5980
Merge pull request #1194 from linkmauve/no-newline
...
Remove newlines in LOG_* calls
2015-10-10 14:42:17 -04:00
Emmanuel Gil Peyrot
14af5919ba
CitraQt, SkyEye, Loader, VideoCore: Remove newlines in LOG_* calls.
...
The LOG_* function itself already appends one.
2015-10-09 22:14:56 +01:00
Gareth Poole
be217bca70
Fixed spelling errors
2015-10-09 17:09:52 -04:00
Rohit Nirmal
32391cffdd
Silence -Wsign-compare warnings.
2015-10-06 22:16:15 -05:00
polaris-
42928659e8
Use BreakpointAddress struct instead of passing address directly
2015-10-04 11:22:31 -04:00
polaris-
31dee93e84
Implement gdbstub
2015-10-04 11:16:59 -04:00
bunnei
11a64acf23
Merge pull request #1095 from archshift/game-list
...
Initial implementation of a game list
2015-10-01 23:35:19 -04:00
archshift
bba12520c4
Expose loader helper functions for identifying files.
2015-09-30 21:04:47 -07:00
bunnei
bcaafb826e
Merge pull request #1177 from linkmauve/fix-msvc-todo
...
Use a constexpr function for country initialization in service/cfg
2015-09-30 11:06:47 -04:00
Lioncash
a97d9613a7
ivfc_archive: Fix a printf specifier
2015-09-30 08:19:42 -04:00
Emmanuel Gil Peyrot
57722fb192
Service/CFG: Use a constexpr function for country initialization
...
This fixes a TODO left over from when we supported MSVC 2013.
2015-09-30 04:02:48 +01:00
Martin Lindhe
bafb7afba2
fix some xcode 7.0 warnings
2015-09-29 23:11:09 +02:00
bunnei
09f43c0975
Merge pull request #1160 from lioncash/clang
...
Silence some clang warnings
2015-09-21 21:29:55 -04:00
Cruel
d60a9be5c6
Implement 3dsx RomFS
2015-09-21 13:03:18 -04:00
Lioncash
751fbfdcc3
general: Silence some warnings when using clang
2015-09-16 08:51:53 -04:00
Yuri Kunde Schlesner
bbf92a54e5
Service/CFG: Add default entry for block 0x000A0001 (birthday)
2015-09-14 17:39:52 -03:00
Yuri Kunde Schlesner
13a8e39813
Service/CFG: Correct flags in 2 default blocks
...
Verified against a 9.2.0-20 config save
2015-09-14 17:39:51 -03:00
Yuri Kunde Schlesner
d91f1c0624
Service/CFG: Add additional blocks to default save data
...
These blocks are required by various games to boot.
2015-09-14 17:39:50 -03:00
Yuri Kunde Schlesner
6c89d4ca26
Fix narrowing conversion warning
2015-09-14 17:39:50 -03:00
Yuri Kunde Schlesner
1fe72dcc04
Service/CFG: Move several private types from the header to the cpp
2015-09-14 17:39:49 -03:00
Yuri Kunde Schlesner
ac4f7b0fde
Service/CFG: Clean up default block creation
2015-09-14 17:39:48 -03:00
Yuri Kunde Schlesner
1ed7f3e028
GSP: Implement command 0x05, used for flushing caches
...
May fix additional texture caching issues. (Though mostly in homebrew, I
haven't seen any commercial software use this to flush anything but
command lists.)
2015-09-14 16:19:05 -03:00
Lioncash
07bfe0abbb
general: Replace 0 literals with nullptr where applicable
2015-09-11 23:11:01 -04:00
Lioncash
60b3fc01a2
General: Replace NULL and '0' usages with nullptr where applicable
2015-09-11 14:59:49 -04:00
Yuri Kunde Schlesner
abc34ddb88
Merge pull request #1130 from lioncash/block
...
memory: Get rid of pointer casts
2015-09-10 18:05:24 -03:00
Lioncash
d3efa637b4
General: Fix up doxygen comments
2015-09-10 11:20:21 -04:00
Yuri Kunde Schlesner
248b2993e8
Merge pull request #1131 from lioncash/uninit
...
y2r: Give local variables an initial value
2015-09-10 01:21:58 -03:00
Lioncash
9cf1cfe3fd
memory: Get rid of pointer casts
2015-09-10 00:09:55 -04:00
Lioncash
d7bfda3e26
disk_archive: Remove unimplemented constructor declarations
2015-09-09 23:49:03 -04:00
Lioncash
f87093686e
y2r: Give local variables an initial value
...
Keeps compilers/static analyzers quiet.
2015-09-09 23:38:55 -04:00
archshift
9e8383e296
DynCom: Converted all 0xE condition code checks to ConditionCode::AL
2015-09-05 22:24:42 -07:00
bunnei
bc59aaccb1
Merge pull request #1101 from archshift/camu-service-names
...
Add cam:u service function names to its function table
2015-09-03 07:53:18 -04:00
archshift
e0c10019a9
Add cam:u service function names to its function table
2015-09-03 01:56:59 -07:00
bunnei
5e3536f66f
Merge pull request #1072 from yuriks/GetSystemTick-advance-time
...
SVC: Advance time when calling GetSystemTick to escape busy-wait loops
2015-09-01 08:21:29 -04:00
bunnei
5906d8b01c
Merge pull request #1085 from Subv/fs_stat
...
Services/FS: Correctly tell the guest app whether a file was correctly opened or not
2015-08-30 11:44:39 -04:00
Yuri Kunde Schlesner
18c1c39d5e
SVC: Advance time when calling GetSystemTick to escape busy-wait loops
...
Cubic Ninja waited for the frame to end by spinning on a loop calling
GetSystemTick while doing nothing else. Since GetSystemTick doesn't
cause a reschedule (which advances time), this meant that very little
emulated time would pass inside that loop, causing the game to spend
most of the frame burning away CPU.
2015-08-30 00:07:02 -03:00
Subv
ce6a65cec9
Services/FS: Correctly tell the guest app whether a file was correctly opened or not.
...
Closes #1067
2015-08-28 22:01:03 -05:00
Yuri Kunde Schlesner
0ee3e2c25e
Kernel: Fix wrong linear heap base on titles using newer kernels
...
Typo which sneaked in through review on #1025
2015-08-27 23:52:40 -03:00
Yuri Kunde Schlesner
12390eb155
Kernel: Fix assertion failure when ControlMemory is called with size=0
2015-08-26 21:29:05 -03:00
Yuri Kunde Schlesner
687d973980
Core: Improve APT Shared Font hack
...
Should fix invalid read loops in some games
2015-08-26 21:28:58 -03:00
Lioncash
dc1b024b80
dyncom: Simplify some comparisons in CondPassed
2015-08-26 00:10:23 -04:00
Lioncash
01dd833ffa
dyncom: Change return type of CondPassed to bool
2015-08-25 23:59:01 -04:00
Yuri Kunde Schlesner
0fcabd2b11
Integrate the MicroProfile profiling library
...
This brings goodies such as a configurable user interface and
multi-threaded timeline view.
2015-08-24 22:16:28 -03:00
Yuri Kunde Schlesner
78735e2ada
Fix broken boot introduced by last-minute change in #1025
2015-08-22 18:12:23 -03:00
Yuri Kunde Schlesner
3efb205a68
Merge pull request #1025 from yuriks/heap-management
...
Kernel: Correct(er) handling of Heap and Linear Heap allocations
2015-08-22 14:01:57 -07:00
Yuri Kunde Schlesner
a9fc659809
Merge pull request #996 from yuriks/texture-copy
...
GPU: Implement TextureCopy-mode display transfers
2015-08-18 20:52:40 -07:00
Yuri Kunde Schlesner
0aa443a871
Merge pull request #1033 from bbarenblat/master
...
Handle `FileType::CIA` in `switch` statements
2015-08-15 22:40:29 -07:00
Yuri Kunde Schlesner
9ae5a09655
GPU: Implement TextureCopy-mode display transfers
...
Fixes glitchy garbage in Fire Emblem 3D scenes.
2015-08-16 01:52:51 -03:00
bunnei
5989a6ac57
Merge pull request #1032 from lioncash/swap
...
vfp: use std::swap where applicable
2015-08-16 00:20:35 -04:00
Yuri Kunde Schlesner
840b85690b
Kernel: Remove unused legacy heap MapBlock_* functions
2015-08-16 01:03:49 -03:00
Yuri Kunde Schlesner
38bfbe1b2b
APT: Adjust shared font hack so it works with the new linear heap code
2015-08-16 01:03:48 -03:00
Yuri Kunde Schlesner
14eca982f4
Kernel: Implement svcGetProcessInfo in a basic way
...
This also adds some basic memory usage accounting. These two types are
used by Super Smash Bros. during startup.
2015-08-16 01:03:48 -03:00
Yuri Kunde Schlesner
74d4bc0af1
Kernel: Add more infrastructure to support different memory layouts
...
This adds some structures necessary to support multiple memory regions
in the future. It also adds support for different system memory types
and the new linear heap mapping at 0x30000000.
2015-08-16 01:03:47 -03:00
Yuri Kunde Schlesner
c39b52f974
HLE: Remove empty ConfigMem and SharedPage Shutdown functions
2015-08-16 01:03:47 -03:00
Yuri Kunde Schlesner
69c3021a8d
Move core/mem_map.{cpp,h} => core/hle/kernel/memory.{cpp,h}
2015-08-16 01:03:46 -03:00
Yuri Kunde Schlesner
e2c7954be5
Memory: Move address type conversion routines to memory.cpp/h
...
These helpers aren't really part of the kernel, and mem_map.cpp/h is
going to be moved there next.
2015-08-16 01:03:46 -03:00
Yuri Kunde Schlesner
a12a30c9e0
Process: Store kernel compatibility version during loading
2015-08-16 01:03:45 -03:00
Yuri Kunde Schlesner
cdeeecf080
Kernel: Properly implement ControlMemory FREE and COMMIT
2015-08-16 01:03:45 -03:00
Yuri Kunde Schlesner
ccab02c723
Memory: Move PAGE_MASK and PAGE_BITS to memory.h
2015-08-16 01:03:44 -03:00
Yuri Kunde Schlesner
306408d174
VMManager: Introduce names for used ResultCodes
2015-08-16 01:03:44 -03:00
Yuri Kunde Schlesner
b9a9ad9742
VMManager: Make LogLayout log level configurable as a parameter
2015-08-16 01:03:43 -03:00
Yuri Kunde Schlesner
785407d06f
VMManager: Change block offsets to size_t
2015-08-16 01:03:43 -03:00
Lioncash
46b0277cbf
vfp: use std::swap where applicable
2015-08-15 19:08:51 -04:00
bunnei
094ae6fadb
Shader: Initial implementation of x86_x64 JIT compiler for Pica vertex shaders.
...
- Config: Add an option for selecting to use shader JIT or interpreter.
- Qt: Add a menu option for enabling/disabling the shader JIT.
2015-08-15 18:01:07 -04:00
Benjamin Barenblat
c0a87bc89f
Properly indicate that CIA support is not implemented yet
...
Make `Loader::LoadFile` return an `ErrorNotImplemented` if you call
it on a CIA file.
2015-08-15 16:05:38 -04:00
Benjamin Barenblat
cd8be1846b
Give CIA file type a name
...
Make `GetFileTypeString` return ‘CIA’ for CIA (CTR Importable
Archive) files.
2015-08-15 15:45:27 -04:00
bunnei
cebf245504
Merge pull request #1027 from lioncash/debugger
...
debugger: Add the ability to view VFP register contents
2015-08-13 18:13:25 -04:00
Emmanuel Gil Peyrot
5115d0177e
ARM Core, Video Core, CitraQt, Citrace: Use CommonTypes types instead of the standard u?int*_t types.
2015-08-11 22:38:44 +01:00
aroulin
38c87733d9
arm_disasm: ARMv6 mul/div and abs media instructions
...
SMLAD, SMUAD, SMLSD, SMUSD, SMLALD, SMLSLD,
SMMLA, SMMUL, SMMLS
USAD8, USADA8
2015-08-11 12:48:28 +02:00
aroulin
4a1db13072
arm_disasm: ARMv6 parallel add/sub media instructions
...
{S, U, Q, UQ, SH, UH}{ADD16, ASX, SAX, SUB16, ADD8, SUB8}
2015-08-11 12:48:23 +02:00
aroulin
0be8e1bfb6
arm_disasm: ARMv6 reversal media instructions
...
REV, REV16, REVSH
Only their ARM encoding, Thumb encoding is still missing.
2015-08-09 13:52:51 +02:00
aroulin
e4ff244288
arm_disasm: ARMv6 saturation media instructions
...
SSAT, SSAT16, USAT, USAT16
2015-08-09 01:31:10 +02:00
aroulin
47657a1817
arm_disasm: ARMv6 packing and sign-extend media instructions
...
PKH, SEL
SXTAB, SXTAB16, SXTB, SXTB16, SXTH, SXTAH
UXTAB, UXTAB16, UXTB, UXTB16, UXTH, UXTAH
2015-08-09 01:31:03 +02:00
Lioncash
f48a89af8b
Merge pull request #1026 from lioncash/disasm
...
arm_disasm: Remove unnecessary code
2015-08-07 07:29:27 -04:00
Lioncash
3b457a5876
arm_interface: Implement interface for retrieving VFP registers
2015-08-06 21:24:25 -04:00
Lioncash
59d5358068
arm_disasm: Remove unnecessary code
...
This part of disassembly only determines the opcode, there's no need for offset calculation here.
2015-08-06 19:55:41 -04:00
aroulin
3425cfe54a
Disassembler: ARMv6K REX instructions
2015-08-06 15:50:54 +02:00
aroulin
5d81a2fd48
Disassembler: ARMv6K hint instructions
2015-08-06 15:25:08 +02:00
bunnei
ce65925bc3
Merge pull request #1008 from lioncash/pc
...
dyncom: Handle the case where PC is the source register for STR/VSTM/VLDM
2015-07-30 10:44:50 -04:00
bunnei
a5f77c9886
Merge pull request #1014 from lioncash/unused-warn
...
core: Eliminate some unused variable warnings
2015-07-29 16:47:44 -04:00
Yuri Kunde Schlesner
ea1b04f5da
Merge pull request #1013 from lioncash/unused
...
dyncom: Remove an unused variable
2015-07-29 09:59:37 -07:00
Lioncash
75631b2a9f
core: Eliminate some unused variable warnings
2015-07-29 12:34:18 -04:00
Lioncash
46663d657f
dyncom: Remove an unused variable
...
This was used prior to InterpreterTranslate existing.
2015-07-29 12:21:16 -04:00
Lioncash
12a9e8502c
core: Fix missing prototype warnings
2015-07-29 12:12:39 -04:00
Yuri Kunde Schlesner
8165de065b
Merge pull request #1009 from lioncash/table
...
am_net: Update function table data
2015-07-29 08:40:19 -07:00
Lioncash
6b25e93119
am_net: Add missing function to the function table
2015-07-29 11:37:55 -04:00
Lioncash
bed3618480
am_net: Add correct function name to the function table
2015-07-29 11:37:09 -04:00
bunnei
e5606d9d6e
Merge pull request #982 from Subv/home
...
Service/APT: Return proper parameters in GetLockHandle.
2015-07-29 11:12:17 -04:00
Lioncash
2e420aba3c
dyncom: Handle the case where PC is the source register for STR/VSTM/VLDM
2015-07-29 10:57:47 -04:00
Lioncash
2182adff9e
dyncom: Handle left-operand PC correctly for data-processing ops
...
This is considered deprecated in the ARM manual (using PC as an operand),
however, this is still able to be executed on the MPCore (which I'm quite
sure would be rare to begin with).
2015-07-28 20:14:08 -04:00
bunnei
4ccc171db4
Merge pull request #899 from zawata/Winsock-Deprecation
...
SOC:U : Fix WinSock function deprecation
2015-07-28 16:44:29 -04:00
bunnei
fe15cf0019
Merge pull request #1003 from lioncash/armcruft
...
dyncom: Minor cleanups.
2015-07-28 09:58:42 -04:00
Tony Wasserka
62adb4ee7b
Merge pull request #873 from jroweboy/input_array
...
Move input values into an array.
2015-07-28 13:17:12 +02:00
Lioncash
9be4ef3879
dyncom: Remove an unnecessary typedef
2015-07-28 03:41:25 -04:00
Lioncash
89540ea761
dyncom: Use enum class for instruction decoding results
2015-07-28 02:27:57 -04:00
James Rowe
1bc7829ee9
Move input values into an array
2015-07-27 21:41:21 -06:00
Lioncash
7e4fb4db19
dyncom: Remove code duplication regarding thumb instructions
2015-07-27 22:22:00 -04:00
Lioncash
a507ea23c1
dyncom: Migrate exclusive memory access control into armstate
2015-07-27 22:06:59 -04:00
Lioncash
db4e99c186
dyncom: Remove duplicated typedef and extern
...
These are already present in arm_dyncom_dec.h.
2015-07-27 22:06:51 -04:00
Lioncash
816b1ca776
dyncom: Use std::array for register arrays
2015-07-26 13:21:04 -04:00
Lioncash
0ecc6e2f04
dyncom: Use ARMul_State as an object
...
Gets rid of C-like parameter passing.
2015-07-26 13:18:32 -04:00
Lioncash
03213f893e
dyncom: Remove unnecessary initialization code.
...
Targeting ARM version variants was only a thing on armemu.
The reset routine also does basically the same thing as NewState.
2015-07-25 22:10:54 -04:00
Lioncash
3257d797e1
dyncom: Remove unnecessary abort-related cruft
...
Both the MPCore and the ARM9 have the same data abort model (base restored), so differentiating isn't necessary.
2015-07-25 22:10:53 -04:00
Lioncash
dfb424b6d1
dyncom: Rename armdefs.h to armstate.h
2015-07-25 22:10:44 -04:00
Lioncash
4bb1a5ca47
dyncom: Get rid of skyeye typedefs
2015-07-25 20:52:10 -04:00
Lioncash
0191c26521
dyncom: Move helper functions to their own header
2015-07-25 20:35:18 -04:00
Lioncash
6b73e4566b
dyncom: Move arminit.cpp and armsupp.cpp into skyeye_common
2015-07-25 20:01:44 -04:00
Yuri Kunde Schlesner
453764aefc
Merge pull request #989 from lioncash/extern
...
armdefs: Remove unnecessary extern keywords
2015-07-25 15:40:23 -07:00
Lioncash
f7ba683dc3
armdefs: Remove unnecessary extern keywords
2015-07-25 18:32:57 -04:00
Lioncash
43d799fd9d
loader: Remove unnecessary else usages
2015-07-25 18:10:13 -04:00
Yuri Kunde Schlesner
24d7c05c8d
Merge pull request #888 from zawata/Warning-Fixes-2
...
Core\HLE : Fix Warning
2015-07-25 12:55:34 -07:00
Yuri Kunde Schlesner
9a0f9f12cd
Merge pull request #892 from zawata/another-warning-fixes
...
Yet More Warning Fixes
2015-07-25 12:50:32 -07:00
Subv
599744921d
Service/APT: Fixed a regression, PreloadLibraryApplet should also start an applet when called.
2015-07-23 21:32:30 -05:00
Subv
ce31184557
Service/APT: Return proper parameters in GetLockHandle.
...
Documented some APT functions
This allows applets to boot.
2015-07-23 20:46:11 -05:00
Yuri Kunde Schlesner
a989522384
Merge pull request #983 from yuriks/null-memory-fill
...
GSP: Don't try to write memory fill registers if start address is 0
2015-07-23 17:31:38 -07:00
Yuri Kunde Schlesner
3b61dd97e0
GSP: Don't try to write memory fill registers if start address is 0
...
Verified to be what GSP does via REing. Fixes invalid virt->phys
translation error spam in some games.
2015-07-23 21:20:01 -03:00
Subv
6c0ea5f5e8
Qt/GPU Breakpoints: Added three more breakpoint types:
...
* IncomingDisplayTransfer: Triggered just before a display transfer is performed.
* GSPCommandProcessed: Triggered right after a GSP command is processed.
* BufferSwapped: Triggered when the frames flip
2015-07-23 11:47:34 -05:00
bunnei
4a9e97d67d
Merge pull request #962 from Subv/am_app
...
Services/AM: Stubbed am:app::GetNumContentInfos to return 0 results.
2015-07-21 18:26:31 -04:00
bunnei
d0b45d45b5
Merge pull request #966 from Subv/log
...
Services/Logging: Log more useful information when some operations fail.
2015-07-21 15:14:35 -04:00
Subv
f5bff67b0b
Services/Logging: Log more useful information when some operations fail.
...
Namely OpenFileDirectly, OpenDirectory and OpenArchive
2015-07-21 13:49:08 -05:00
bunnei
dcc8f1bef2
Merge pull request #957 from Subv/hwtest_crash
...
Kernel/Scheduling: Clean up a thread's wait_objects when its scheduled.
2015-07-21 12:11:48 -04:00
Lioncash
c2689b8c2c
dyncom: Pass SVC immediates directly.
...
Previously it would just re-read the already decoded instruction and extract the immediate value.
2015-07-21 03:56:29 -04:00
Subv
13f93a0188
Services/AM: Stubbed am:app::GetNumContentInfos to return 0 results.
...
Named the service functions in am:app as per 3dbrew.
This fixes an illegal read loop in Steel Diver
2015-07-21 00:12:13 -05:00
Subv
38a7f1b727
Services/CFG: Added some missing functions to cfg:s
2015-07-20 19:52:07 -05:00
Subv
275aaeef9c
Kernel/Scheduling: Clean up a thread's wait_objects when its scheduled.
...
They'll be reset if needed during the next svcWaitSynchronization call (if there's any pending)
2015-07-20 17:15:54 -05:00
bunnei
cd2bb2dc69
Merge pull request #939 from Subv/queryprocmem
...
Kernel/SVC: Implemented svcQueryProcessMemory
2015-07-20 00:34:41 -04:00
bunnei
863a963911
Merge pull request #951 from Subv/bit5
...
GPU/DisplayTransfer: Implemented bit 5 in the transfer flags.
2015-07-19 22:42:44 -04:00
bunnei
21a696abde
Merge pull request #946 from archshift/update-frdu
...
Add more frd:u unknown service commands from 3dbrew
2015-07-19 22:39:51 -04:00
zawata
395e63d5aa
SOC:U : Update deprecated function gethostbyname() to getaddrinfo()
2015-07-19 19:32:12 -07:00
Subv
63dbff9b1f
GPU/DisplayTransfer: Implemented bit 5 in the transfer flags.
...
It tells the GPU to not swizzle/de-swizzle the input during the transfer.
2015-07-19 21:30:42 -05:00
Lioncash
a2f0a3d019
dyncom: Properly retrieve the PC value in BX if used.
2015-07-19 22:20:14 -04:00
archshift
84a88005e2
Change trace/unimplemented service call logs to use hex
...
Changes the log to use hex in the parameter list instead of decimal.
2015-07-19 13:34:38 -07:00
archshift
d1e6afaba1
Add more frd:u unknown service commands from 3dbrew
2015-07-19 13:30:20 -07:00
zawata
972dccc3f6
Core : Change variable type
...
and fix various warnings
2015-07-19 04:12:39 -07:00
zawata
1be1ff23a9
Core : Fix Conversion Warnings
2015-07-19 03:59:47 -07:00
Yuri Kunde Schlesner
13286903e6
Dyncom: Support for a missing ARMv6 Thumb MOV encoding
2015-07-18 03:41:49 -03:00
Subv
83fa3f977d
Kernel/SVC: Implemented svcQueryProcessMemory
2015-07-17 14:55:35 -05:00
Yuri Kunde Schlesner
41513cfb0c
Merge pull request #938 from Subv/querymem
...
Kernel/SVC: Implemented svcQueryMemory.
2015-07-17 12:33:26 -07:00
Subv
9e2962081a
Kernel/SVC: Implemented svcQueryMemory.
2015-07-17 11:03:56 -05:00
bunnei
32be6a4553
Merge pull request #937 from yuriks/codeset-leak
...
Ensure all kernel objects are released during shutdown
2015-07-17 11:03:28 -04:00
zawata
f723a498e7
Core\HLE : Fix Warning
...
"signed/unsigned mismatch"
2015-07-17 00:50:53 -07:00
Yuri Kunde Schlesner
dc39d06950
Ensure all kernel objects are released during shutdown
...
This commit fixes several kernel object leaks. The most severe of them
was threads not being removed from the private handle table used for
CoreTiming events. This resulted in Threads never being released, which
in turn held references to Process, causing CodeSets to never be freed
when loading other applications.
2015-07-17 02:24:13 -03:00
Lioncash
23dbbb786a
arm_dyncom_interpreter: Simplify assignment in SMLAW
...
Also a side-benefit of not having implementation-defined behavior.
2015-07-16 22:08:12 -04:00
bunnei
946f0ee2f4
Merge pull request #918 from yuriks/romfs
...
Do not load entire RomFS to memory, read from the file as needed instead (rebased)
2015-07-16 18:08:46 -04:00
archshift
2501f111a6
Merge pull request #904 from aroulin/y2r-narrowing-warning
...
Y2R: Fix narrowing warning
2015-07-13 22:07:39 -07:00
Yuri Kunde Schlesner
62c2a262b2
Loader: Fix variable type and remove unused variable
2015-07-13 21:10:13 -03:00
Yuri Kunde Schlesner
a1f08788d9
Archive: Correct a few incorrect types in function signatures
...
Buffer lengths should be size_t, and file offsets should be u64.
2015-07-13 21:10:12 -03:00
Yuri Kunde Schlesner
2d7299a86f
Loader: Remove unnecessary pointer indirection to IOFile
2015-07-13 20:00:56 -03:00
condut
c385b7767d
FS: Stream RomFS from file instead of loading all of it to memory
2015-07-13 19:57:12 -03:00
Tony Wasserka
29abb11e8f
CiTrace: Clean up initialization method.
2015-07-13 22:27:21 +02:00
Tony Wasserka
fd62580985
CiTrace: Record default vertex attributes.
2015-07-13 22:27:21 +02:00
Tony Wasserka
902fa4da52
Add CiTrace recording support.
...
This is exposed in the GUI as a new "CiTrace Recording" widget.
Playback is implemented by a standalone 3DS homebrew application (which only runs reliably within Citra currently; on an actual 3DS it will often crash still).
2015-07-13 22:27:20 +02:00
Tony Wasserka
93d66475d4
GPU: Be robust against nullptr addresses; properly reset busy bits in the trigger registers.
2015-07-13 22:27:20 +02:00
Tony Wasserka
256bdfb579
HW: Fix a stupid issue which led to unknown register reads/writes.
2015-07-13 22:27:20 +02:00
bunnei
b6719ec922
Merge pull request #921 from linkmauve/fix-applet
...
Fix applet includes using iwyu
2015-07-12 17:25:55 -04:00
Yuri Kunde Schlesner
d4f35fd989
Kernel: Add CodeSet case to Object::IsWaitable
2015-07-12 18:15:16 -03:00
Emmanuel Gil Peyrot
fe909b3b5a
Core: Fix applet includes using iwyu.
2015-07-12 22:10:37 +01:00
aroulin
1f125a04c3
Y2R: Fix narrowing warning
2015-07-12 03:49:16 -04:00
bunnei
f4e1d8ea36
Merge pull request #823 from Subv/applets_drawing
...
Library applet support (swkbd for now)
2015-07-11 23:56:59 -04:00
Subv
725d5eea78
Applets: Reworked how the Applet update event is handled.
...
Applets are now cleaned up in AppletUpdateEvent after calling their respective Update method.
2015-07-11 22:32:12 -05:00
Yuri Kunde Schlesner
5c5cf2f8e0
Core: Properly configure address space when loading a binary
...
The code now properly configures the process image to match the loaded
binary segments (code, rodata, data) instead of just blindly allocating
a large chunk of dummy memory.
2015-07-11 23:54:42 -03:00
Yuri Kunde Schlesner
51820691e7
Memory: Fix unmapping of pages
2015-07-11 23:49:53 -03:00
Yuri Kunde Schlesner
34f5f77507
Loader: Clean up 3dsx loader a bit, fixing a potential buffer overrun
2015-07-11 23:49:52 -03:00
Yuri Kunde Schlesner
fdbf410bd7
Loader: Make 3dsx loader logs a bit less confusing
2015-07-11 23:49:52 -03:00
Yuri Kunde Schlesner
d9556912b4
Kernel: Remove unused member from Event
2015-07-11 23:49:51 -03:00
Subv
621ee10eae
Applets: Add infrastructure to allow custom drawing and input handling in Applets.
2015-07-11 21:47:23 -05:00
Subv
2a6ebadf66
HLE/APT: Initial HLE support for applets.
...
Currently only the SWKBD is emulated, and there's currently no way to ask the user for input, so it always returns "Subv" as the text.
2015-07-11 21:47:22 -05:00
Yuri Kunde Schlesner
867c28ae03
Merge pull request #876 from linkmauve/include-cleanups
...
Cleanup includes, mostly in common
2015-07-10 16:36:12 -07:00
aroulin
769407e4fa
Loader: Remove log line causing warning
2015-07-08 00:04:21 +02:00
bunnei
0ef3f12c71
Merge pull request #797 from linkmauve/blended-downscaling
...
Implement blended downscaling for display transfers
2015-07-06 11:35:55 -04:00
bunnei
c19f9945b7
Merge pull request #885 from Subv/ipc_headers
...
Services/SOC: Added command headers to some of the soc commands.
2015-07-06 11:19:58 -04:00
Lioncash
e3e8ad48c1
vfp: Change return type of VFPInit from unsigned int to void.
2015-06-29 14:51:38 -04:00
Lioncash
32a6379bc8
vfp: Handle accesses to FPINST/FPINST2 system registers
...
Also has a side-benefit of correcting access to the FPEXC register.
2015-06-29 03:27:26 -04:00
Emmanuel Gil Peyrot
641e78bccf
GPU: Implement blended downscaling for display transfers.
2015-06-28 15:11:26 +01:00
Emmanuel Gil Peyrot
8ee814ec27
GPU: Use shifts instead of multiplications to calculate the actual size of the output.
2015-06-28 14:31:13 +01:00
Emmanuel Gil Peyrot
4964a359e1
Core: Cleanup hw includes.
2015-06-28 00:46:39 +01:00
Emmanuel Gil Peyrot
7b746914b9
Core: Cleanup soc:U includes.
2015-06-28 00:36:55 +01:00
Emmanuel Gil Peyrot
f48b28ad27
Core, VideoCore: Replace or fix exit() calls.
2015-06-28 00:36:55 +01:00
Emmanuel Gil Peyrot
e5fcabdd69
Core: Cleanup file_sys includes.
2015-06-28 00:36:54 +01:00
Emmanuel Gil Peyrot
aea15f5c73
Core: Cleanup core includes.
2015-06-28 00:36:54 +01:00
Emmanuel Gil Peyrot
45c4781544
CitraQt: Cleanup includes.
2015-06-28 00:36:54 +01:00
Emmanuel Gil Peyrot
596b7c4f63
Common: Cleanup key_map includes.
2015-06-28 00:36:54 +01:00
Emmanuel Gil Peyrot
2d044a67c9
Common: Cleanup memory and misc includes.
2015-06-28 00:36:54 +01:00
Emmanuel Gil Peyrot
8cf9eb7f43
Common: Fix FileUtil includes, and everything relying on those.
2015-06-28 00:36:53 +01:00
Emmanuel Gil Peyrot
c345247431
Services: Use the standard _WIN32 define in soc:U instead of our own EMU_PLATFORM.
2015-06-27 14:43:56 +01:00
Subv
bd336cfdce
Services/SOC: Added command headers to some of the soc commands.
2015-06-25 12:55:27 -05:00
Yuri Kunde Schlesner
81488d7a6a
Add helpers to create IPC command buffer headers and descriptors
2015-06-22 19:24:19 -03:00
Yuri Kunde Schlesner
dc09a2ecb5
Merge pull request #860 from yuriks/y2r-color
...
Color support for Y2R
2015-06-21 17:22:34 -07:00
Yuri Kunde Schlesner
3e6663da43
Y2R: Rework conversion process, enabling support for all formats
2015-06-21 20:58:55 -03:00
bunnei
9850f98339
Merge pull request #855 from purpasmart96/service_rearrangment
...
Services: Continue separation of services into their own folders
2015-06-21 10:55:02 -04:00
Yuri Kunde Schlesner
29d2b70ea4
Y2R: Re-organize how params are stored. Support SetConversionParams
2015-06-20 19:21:16 -03:00
bunnei
71e8822d23
kernel: Fix svcWaitSynch to always acquire requested wait objects.
2015-06-16 22:34:39 -04:00
Lioncash
f1ff0fbf07
Merge pull request #866 from lioncash/typo
...
hw: Fix mismatched Write call
2015-06-16 17:04:34 -04:00
Lioncash
bbe4430922
hw: Fix mismatched Write call
2015-06-16 15:49:22 -04:00
Lioncash
71858fc7cc
vfp: Handle accesses to the VFP media feature registers
...
These are able to be accessed in any privilege mode.
2015-06-12 20:21:51 -04:00
Lioncash
e817224f89
vfp: Implement VMOVBCR/VMOVBRC
2015-06-12 02:47:10 -04:00
purpasmart96
7933dbe6a0
Services: Continue separation of services into their own folders
2015-06-11 20:41:59 -07:00
Lioncash
04f204ed00
arm_dyncom_thumb: Fix handling of writeback for thumb LDMIA
2015-06-04 08:42:14 -04:00
Subv
66c1db7288
ExtSavedata: Save the icon passed to CreateExtSaveData to the correct folder.
...
Organize the ExtSaveData folders as they are stored in the console.
2015-06-01 21:48:19 -05:00
Lioncash
1974da272d
Merge pull request #838 from lioncash/thumb
...
arm_dyncom_thumb: Implement missing instructions.
2015-05-31 22:19:31 -04:00
Lioncash
c00781a908
arm_dyncom_thumb: Fix encoding of BKPT's immediate
2015-05-31 21:51:46 -04:00
Lioncash
85b1dddda1
arm_dyncom_thumb: Implement CPS and SETEND
2015-05-31 21:51:25 -04:00
Lioncash
7caef19c89
arm_dyncom_thumb: Implement SXTH, SXTB, UXTH, and UXTB.
2015-05-31 21:50:57 -04:00
Lioncash
b64dea80ce
arm_dyncom_thumb: Implement REV, REV16, and REVSH.
2015-05-31 21:50:18 -04:00
archshift
0414ad20cb
Merge pull request #811 from archshift/commonify
...
Commonify video_core utility headers
2015-05-31 09:55:29 -07:00
bunnei
833936fc64
Merge pull request #832 from yuriks/refresh-rate-option
...
Remove gpu_refresh_rate configuration option
2015-05-31 04:48:20 -04:00
archshift
76690392bf
Move video_core/color.h to common/color.h
2015-05-30 11:17:37 -07:00
Yuri Kunde Schlesner
8a04c65e20
Merge pull request #810 from yuriks/memmap
...
Kernel: Add VMManager to manage process address spaces
2015-05-29 18:00:17 -07:00
Yuri Kunde Schlesner
d65b42a69a
Remove gpu_refresh_rate configuration option
...
Changing it makes emulation inherently inaccurate. It also had a wrong
default value (30, whereas the real system has a refresh rate of 60 Hz)
which, even if changed, would continue to be used unless people manually
removed it from their config files.
2015-05-29 19:39:26 -03:00
Emmanuel Gil Peyrot
b1503b2020
Remove every trailing whitespace from the project (but externals).
2015-05-29 21:59:29 +01:00
Lioncash
a3cad6c332
hid: Get rid of undefined behavior
...
Modifying a variable twice across a sequence point.
2015-05-27 12:20:12 -04:00
Yuri Kunde Schlesner
88365a23e7
Memmap: Remove unused global pointers to memory areas
2015-05-27 03:24:12 -03:00
Yuri Kunde Schlesner
0a60aa75c2
Kernel: Add VMManager to manage process address spaces
...
This enables more dynamic management of the process address space,
compared to just directly configuring the page table for major areas.
This will serve as the foundation upon which the rest of the Kernel
memory management functions will be built.
2015-05-27 03:24:12 -03:00
Yuri Kunde Schlesner
ad883db7a9
Merge pull request #826 from lioncash/tables
...
arm_dyncom_thumb: Merge STR/LDR table subsets.
2015-05-26 22:05:13 -07:00
Lioncash
0265d950e6
arm_dyncom_thumb: Merge STR/LDR table subsets.
2015-05-26 21:15:29 -04:00
Lioncash
0ff414f561
Merge pull request #825 from lioncash/dync
...
dyncom: Minor cleanup.
2015-05-26 20:27:48 -04:00
Lioncash
f62ab75c67
arm_dyncom_interpreter: Remove unused variable
...
Thum decoding directly checks if the thumb bit is set instead of using a temporary.
2015-05-26 17:43:08 -04:00
bunnei
4d93c30c97
Merge pull request #821 from Subv/ImportDisplayCaptureInfo
...
Service/GSP: Implemented ImportDisplayCaptureInfo.
2015-05-26 01:14:21 -04:00
Subv
fa397494b0
Service/GSP: Implemented ImportDisplayCaptureInfo.
2015-05-25 23:35:14 -05:00
Subv
732839b1f4
Core/SVC: Map the shared memory created in CreateMemoryBlock to the specified address.
...
This SharedMemory can be passed to service functions (Which should map the memory into their own address space).
2015-05-25 16:17:26 -05:00
Lioncash
8c1ab1c2c4
arm_dyncom_interpreter: Remove unused macro
2015-05-24 19:21:05 -04:00
Lioncash
6278937a28
dyncom: Get rid of armemu.h
2015-05-23 20:51:02 -04:00
Lioncash
ebca3a4902
y2r_u: Remove unused variable in StartConversion
2015-05-23 00:46:22 -04:00
Lioncash
92fd2753c5
dyncom: Remove unused cpu parameter from decode_thumb_instr
2015-05-22 23:42:23 -04:00
Lioncash
097d8282a6
dyncom: remove load_r15 from arm_inst
...
It's entirely unused. Also allows getting rid of more clunky macros.
2015-05-22 23:38:00 -04:00
Lioncash
8617938441
dyncom: Remove unnecessary parameter for load/store operations
2015-05-22 23:14:22 -04:00
bunnei
41531eeb32
Merge pull request #801 from purpasmart96/hid_stubs
...
HID: Stub DisableAccelerometer and DisableGyroscopeLow
2015-05-22 20:44:22 -04:00
Lioncash
932aeb333f
Merge pull request #802 from bunnei/vfp-trace-log
...
VFP: Log as trace to get rid of spamming.
2015-05-22 19:44:22 -04:00
bunnei
3a348a90fd
VFP: Log as trace to get rid of spamming.
2015-05-22 19:42:44 -04:00
purpasmart96
0c62b7b106
HID: Stub DisableAccelerometer and DisableGyroscopeLow
2015-05-22 15:55:27 -07:00
tfarley
62668688e1
Flush for y2r (moflex)
2015-05-22 15:51:34 -07:00
tfarley
05dc633a8c
OpenGL renderer
2015-05-22 15:51:18 -07:00
tfarley
6d995b1ff6
INI hw/sw renderer toggle
2015-05-22 14:37:55 -07:00
Yuri Kunde Schlesner
eca2b71fa8
Merge pull request #798 from yuriks/y2r-bw
...
Service::Y2R: Support for grayscale decoding of specific formats
2015-05-22 14:06:20 -07:00
Yuri Kunde Schlesner
9108482888
Service::Y2R: Support for grayscale decoding of specific formats
...
Implements unrotated planar YUV 4:2:0 -> RGB24 conversions in Y2R.
Currently only the Y (luma) channel is used, so the results don't
contain color. This will be added in a later PR at some point.
This is enough to get all currently know Moflex videos to decode. (Some
don't display on-screen due to seemingly unrelated reasons.)
Thanks to @archshift for doing the initial implementation which I
cleaned up and then fixed the 8x8 block mode.
2015-05-22 17:57:21 -03:00
Lioncash
572c91a024
dyncom: Eliminate clang warnings
...
Gets rid of a whole load of missing brace initialization warnings.
2015-05-21 16:43:21 -04:00
Emmanuel Gil Peyrot
b8f93e6b18
Kernel: Fix a warning introduced with ResourceLimit, and remove the fallback code to prevent it from happening again.
2015-05-21 20:54:49 +02:00
bunnei
25f14e76f1
y2r_u: Stub StartConversion to prevent moflex games from hanging.
2015-05-20 18:05:47 -04:00
bunnei
0b7d2941cf
Kernel: Move reschedules from SVCs to actual mechanisms that reschedule.
2015-05-20 18:05:47 -04:00
bunnei
859707642e
Merge pull request #766 from purpasmart96/cfg_service_update
...
CFG: Update the cfg service to be like other integrated services
2015-05-18 10:18:58 -04:00
bunnei
f0365f28c2
Merge pull request #772 from lioncash/warn
...
core/video_core: Fix a few warnings when compiling on MSVC.
2015-05-18 08:08:49 -04:00
archshift
11057488f9
Implement svcBreak
2015-05-16 22:06:59 -07:00
bunnei
9fb9750411
Merge pull request #781 from archshift/delete
...
Delete unused hle/coprocessor.cpp
2015-05-16 11:16:29 -04:00
archshift
4b300ba763
Delete unused hle/coprocessor.cpp
2015-05-15 23:24:11 -07:00
purpasmart96
dd9aed9ea9
CFG: Update the cfg service to be like other integrated services
2015-05-15 20:19:29 -07:00
purpasmart96
0fd727f3ad
APT/FS: Remove asserts that were causing false positives
2015-05-15 19:25:02 -07:00
Yuri Kunde Schlesner
12f6216741
Merge pull request #774 from lioncash/decodings
...
dyncom: Add ARMv6K NOP and hint instructions to the interpreter.
2015-05-15 11:36:20 -07:00
bunnei
6abed88092
Merge pull request #770 from lioncash/dyncom_clean
...
dyncom: Minor cleanup.
2015-05-15 09:44:39 -04:00
Subv
d3634d4bf4
Core/ResourceLimits: Implemented the basic structure of ResourceLimits.
...
Implemented svcs GetResourceLimit, GetResourceLimitCurrentValues and GetResourceLimitLimitValues.
Note that the resource limits do not currently keep track of used objects, since we have no way to distinguish between an object created by the application, and an object created by some HLE module once we're inside Kernel::T::Create.
2015-05-14 22:50:13 -05:00
Yuri Kunde Schlesner
dd4430609a
Memory: Use a table based lookup scheme to read from memory regions
2015-05-15 00:04:43 -03:00
Yuri Kunde Schlesner
52158c1b8d
Memory: Read SharedPage directly from Memory::Read
2015-05-15 00:04:41 -03:00
Yuri Kunde Schlesner
ec514b16a6
Memory: Read ConfigMem directly from Memory::Read
2015-05-15 00:04:39 -03:00
Yuri Kunde Schlesner
7ada357b2d
Memmap: Re-organize memory function in two files
...
memory.cpp/h contains definitions related to acessing memory and
configuring the address space
mem_map.cpp/h contains higher-level definitions related to configuring
the address space accoording to the kernel and allocating memory.
2015-05-15 00:04:38 -03:00
Yuri Kunde Schlesner
a251721bf3
Memmap: Remove unused declarations
2015-05-15 00:04:38 -03:00
Lioncash
8cd72428c9
dyncom: Add ARMv6K NOP and hint instructions to the decoding table
2015-05-14 16:25:02 -04:00
Lioncash
699b67d7cf
dyncom: Handle some MSR variants individually
...
This is necessary, as hint instructions will be recognized as MSR, which is pretty bad.
2015-05-14 16:24:51 -04:00
Lioncash
be0119be08
dyncom: Move exclusive load/stores above bbl and swi in the decoding table
2015-05-14 16:24:39 -04:00
Lioncash
1e0255364c
dyncom: Remove duplicate enums/prototypes
...
These are already defined in arm_dyncom_interpreter_dec.cpp.
2015-05-14 14:32:17 -04:00
Lioncash
f4921d0f9d
dyncom: Remove unnecessary defines
...
These can simply be const vars.
2015-05-14 14:32:16 -04:00
Lioncash
0530fd2499
dyncom: Make translation-unit functions and variables static
2015-05-14 14:32:07 -04:00
Lioncash
773b1ef6bf
vfp: Get rid of warnings
...
- Unary minus operator applied to unsigned type.
- Unsafe use of bool.
2015-05-14 13:54:15 -04:00
Lioncash
150e700729
process: Get rid of warnings
...
Sign mismatches and "forcing value to bool" warnings.
2015-05-14 12:59:14 -04:00
Lioncash
f3c4de4ce4
dyncom: Remove unnecessary typedefs
2015-05-14 11:51:46 -04:00
Lioncash
a48b4ec583
dyncom: Remove unused structs
2015-05-14 11:33:50 -04:00
Lioncash
207087c856
thread: Fix a conditional check in Reschedule
2015-05-14 11:10:04 -04:00
bunnei
e83bc5b7ee
dyncom: Removed irrelevant log.
2015-05-14 00:24:38 -04:00
Lioncash
832c130ed1
dyncom: Fix decoding of BKPT's immediate
...
A shift here is intended since the representation is imm12:imm4
2015-05-13 14:11:03 -04:00
bunnei
7d21b0663b
Merge pull request #756 from purpasmart96/ptm_service_changes
...
PTM: Changed the ptm services to be like the IR, HID, and APT services.
2015-05-12 23:10:54 -04:00
bunnei
cb2b2071a8
Merge pull request #748 from Subv/tls_max
...
Core/Memory: Add TLS support for creating up to 300 threads
2015-05-11 23:32:28 -04:00
bunnei
ee8da4c356
Merge pull request #751 from yuriks/idle-thread
...
Thread: Remove the idle thread
2015-05-11 23:22:47 -04:00
bunnei
6e26d063a5
Merge pull request #757 from Subv/scheduling
...
Core/Scheduling: Prepare the new priority in the thread queue when svcSetPriority is called
2015-05-11 22:54:00 -04:00
bunnei
6223496a49
Merge pull request #752 from lioncash/flush
...
vfp: Handle flush-to-zero mode.
2015-05-11 21:43:33 -04:00
bunnei
d22bc68175
Merge pull request #755 from lioncash/mcrr-mrrc
...
dyncom: Stub MCRR and MRRC
2015-05-11 21:42:45 -04:00
Yuri Kunde Schlesner
4f7a055081
Thread: Remove the idle thread
...
Instead just use nullptr to represent no thread is active.
2015-05-11 22:39:39 -03:00
Subv
dda94e56dd
Core/Memory: Add TLS support for creating up to 300 threads
2015-05-11 20:09:23 -05:00
Yuri Kunde Schlesner
820b97787c
Merge pull request #750 from Subv/process_svc
...
Core/HLE: Implemented the SVCs GetProcessId and GetProcessIdOfThread
2015-05-11 17:44:26 -07:00
Subv
dbc1320923
Core/Scheduling: Prepare the new priority in the thread queue when svcSetPriority is called
2015-05-11 19:38:10 -05:00
purpasmart96
53130fffd9
PTM: Changed the way the ptm services are handled to be like the
...
IR, HID, and APT services.
2015-05-11 17:11:26 -07:00
Subv
25c010dc7d
fixup!
2015-05-11 18:23:45 -05:00
Lioncash
dc7ac751f2
dyncom: Stub MCRR and MRRC
...
There's no other coprocessor outside the VFP (which has its own VMOV variants) in which the MPCore can send/retrieve data from.
Stubbed so citra won't crash and burn on the odd chance someone actually tries to use these.
2015-05-11 18:31:45 -04:00
purpasmart96
046044618d
NWM_UDS: Fix a typo in the nwm service port name
2015-05-11 15:18:54 -07:00
Lioncash
ffc51161f3
vfp: Handle flush-to-zero mode.
2015-05-11 15:56:02 -04:00
Subv
41f74a16fd
Core/HLE: Implemented the SVCs GetProcessId and GetProcessIdOfThread
2015-05-11 09:15:10 -05:00
Yuri Kunde Schlesner
d16c2bd956
Thread: Correctly set main thread initial stack position
2015-05-11 05:08:47 -03:00
archshift
e98fbadf4a
Merge pull request #740 from yuriks/gsp-shmem
...
Fix crashes due to un-initialized GSP shared memory
2015-05-10 18:07:44 -07:00
Subv
115ad8e16a
fixup! Set the TLS address in the scheduler
2015-05-10 18:43:59 -05:00
Subv
000876858d
Core/Memory: Give every emulated thread it's own TLS area.
...
The TLS area for thread T with id Ti is located at TLS_AREA_VADDR + (Ti - 1) * 0x200.
This allows some games like Mario Kart 7 to continue further.
2015-05-10 18:35:37 -05:00
Yuri Kunde Schlesner
fd85367621
fixup! GSP: Small tweaks to shared memory initialization
2015-05-10 20:09:41 -03:00
Yuri Kunde Schlesner
1538a34eda
GSP: Small tweaks to shared memory initialization
2015-05-10 20:05:30 -03:00
Yuri Kunde Schlesner
774eea8374
Kernel: Zero-fill shared memory blocks when mapping
...
This works around crashes related to GSP/HID/etc. shared memory blocks
having garbage values. The proper fix requires proper management of
mapped memory blocks in the process.
2015-05-10 20:05:29 -03:00
Yuri Kunde Schlesner
c96f22490a
Kernel: Capture SharedMemory attributes at creation, not when mapping
2015-05-10 19:47:07 -03:00
Yuri Kunde Schlesner
b700b55696
Common: Remove the BIT macro
...
When the macro was introduced in 326ec51261
it wasn't noticed that it conflicted in name with a heavily used macro
inside of dyncom. This causes some compiler warnings. Since it's only
lightly used, it was opted to simply remove the new macro.
2015-05-09 18:16:46 -03:00
Tony Wasserka
e35e72d0a5
Merge pull request #734 from yuriks/memmap
...
Small memory map definitions cleanup
2015-05-09 15:57:29 +02:00
Yuri Kunde Schlesner
417c867e14
Loader: Add missing include
2015-05-09 05:05:59 -03:00
Yuri Kunde Schlesner
17a8cae003
Memory: Add GetPhysicalPointer helper function
2015-05-09 04:02:32 -03:00
Yuri Kunde Schlesner
28a9e4c1d5
Memory: Support more regions in the VAddr-PAddr translation functions
...
Also adds better documentation and removes the one-off reimplementation
of the function in pica.h.
2015-05-09 03:08:11 -03:00
Yuri Kunde Schlesner
e7b6ed7578
Memory: Sort memory region variables by VAddr
2015-05-09 01:31:00 -03:00
Yuri Kunde Schlesner
1c0b87edc2
Memory: Re-organize and rename memory area address constants
2015-05-09 01:29:52 -03:00
Yuri Kunde Schlesner
eb3eb9f75d
Loader: Remove .bin file support
...
It is of very limited practical utility currently, and will soon be
impossible to support due to more accurate memory map emulation.
2015-05-08 23:09:41 -03:00
Yuri Kunde Schlesner
7c50b999fa
Kernel: Remove unused g_main_thread variable
2015-05-08 22:12:12 -03:00
Yuri Kunde Schlesner
3cb19c9589
Process: Rename StaticAddressMapping => AddressMapping
2015-05-08 22:12:10 -03:00
Yuri Kunde Schlesner
83ccf85bb2
Process: Add more documentation to the class members
2015-05-08 22:11:49 -03:00
Yuri Kunde Schlesner
2f5904611d
Process: Use BitField to store process flags
2015-05-08 22:11:48 -03:00
Yuri Kunde Schlesner
7eb413155f
Loader/NCCH: Fix formatting of braces
2015-05-08 22:11:48 -03:00
Yuri Kunde Schlesner
2af30d465f
Process: Support parsing of exheader kernel caps
2015-05-08 22:11:44 -03:00
Yuri Kunde Schlesner
a5eba2f984
Kernel: Remove g_program_id
...
This has been obsoleted by the field in Process.
2015-05-08 22:11:03 -03:00
Yuri Kunde Schlesner
6d60acf0f1
Kernel: Introduce skeleton Process class to hold process data
2015-05-08 22:11:02 -03:00
Yuri Kunde Schlesner
0f39cc359b
Core: Fix sorting in CMakeFiles.txt
2015-05-08 03:03:04 -03:00
Lioncash
1622068198
Merge pull request #728 from lioncash/vars
...
dyncom: Remove an unnecessary variable in the interpreter
2015-05-07 21:09:03 -04:00
Lioncash
ae0c38a333
Remove unnecessary dyncom header files
2015-05-07 20:45:28 -04:00
Lioncash
31dc8b8890
dyncom: Remove an unnecessary variable in the interpreter
...
All this was doing was needlessly aliasing a variable.
2015-05-07 19:34:04 -04:00
Yuri Kunde Schlesner
3396f352cb
Common: Remove mem_arena.cpp/h
...
It is superfluous for Citra. (It's only really necessary if you're doing
JIT. We were using it but not taking any advantage from it.) This should
make 32-bit builds work again.
2015-05-07 19:01:09 -03:00
Yuri Kunde Schlesner
c956e8a686
Fix printf format warning
2015-05-07 15:45:22 -03:00
Yuri Kunde Schlesner
e1fbac3ca1
Common: Remove common.h
2015-05-07 15:45:22 -03:00
Yuri Kunde Schlesner
c0eaa662d4
Clean-up includes
2015-05-06 23:45:06 -03:00
Yuri Kunde Schlesner
b89f644cfe
FileSys: De-inline Path members
2015-05-06 23:45:06 -03:00
Yuri Kunde Schlesner
6f89d25f90
FileSys: Clean-up includes, de-inline destructors
2015-05-06 23:45:06 -03:00
Yuri Kunde Schlesner
c916bcf7b5
Move typedefs from kernel.h to more appropriate places
2015-05-06 23:45:05 -03:00
Yuri Kunde Schlesner
ecff2351a1
HLE: Clean up SVC dispatch mechanism
2015-05-06 00:24:39 -03:00
Yuri Kunde Schlesner
0749687b8d
Core: Remove some unused functions and types
2015-05-04 00:16:43 -03:00
bunnei
5a855bdb2f
CoreTiming: Initialize static variables at bootup.
2015-05-01 18:27:05 -04:00
bunnei
d3c2f9a4a4
HLE: Properly initialize and shutdown remaining modules.
2015-05-01 18:27:05 -04:00
bunnei
bab5abaf46
Dyncom: Move cream cache to ARMul_State.
2015-05-01 18:27:04 -04:00
bunnei
c7dc799e19
Kernel: Properly initialize and shutdown all modules.
2015-05-01 18:27:03 -04:00
bunnei
57aaaf92db
HW: Properly initialize and shutdown all modules.
2015-05-01 18:27:02 -04:00
bunnei
e0cb85691a
Services: Initialize all state variables at bootup.
2015-05-01 18:27:02 -04:00
bunnei
bbabed8e98
Memory: Properly cleanup & shutdown.
2015-05-01 18:27:01 -04:00
purpasmart96
8716445621
ConfigMem: Remove duplicate retail bit
2015-04-28 16:22:50 -07:00
bunnei
2cc6511039
Merge pull request #692 from purpasmart96/log_improvements
...
Services/Loader: Use more sensible log formats for certain functions along with more info being logged.
2015-04-28 10:12:50 -04:00
purpasmart96
c3a480160e
Services/Loader: Use more sensible log formats for certain functions
...
along with more info being logged.
2015-04-27 23:07:08 -07:00
Lioncash
1baab50e7c
ptm_sysm: Add static specifier to IsLegacyPowerOff
2015-04-24 18:23:20 -04:00
Lioncash
8b2b620a5e
dyncom: Remove more unused/unnecessary code
...
Gets rid of a sizeable amount of stuff in armdefs.
2015-04-20 16:30:34 -04:00
Lioncash
d66a12c6f6
dyncom: Remove unused/unnecessary VFP cruft
2015-04-17 20:46:05 -04:00
bunnei
3ee9f6c5d8
Merge pull request #696 from yuriks/interface-deinline
...
De-inline functions from Interface, removing them from service.h
2015-04-14 19:14:27 -04:00
Emmanuel Gil Peyrot
2e860bd59c
Core_ARM11: Replace debug prints with our own logging functions in vfpsingle.
2015-04-14 21:34:36 +02:00
Emmanuel Gil Peyrot
0d69b2f7bd
Kernel: Use the correct format string for u64 hex.
2015-04-14 21:18:31 +02:00
Emmanuel Gil Peyrot
bdcf28e3bc
Headers: Add some forgotten overrides, thanks clang!
2015-04-14 21:18:25 +02:00
Yuri Kunde Schlesner
ad3e25b414
De-inline functions from Interface, removing them from service.h
...
This reduces the time for a full recompile from 65.43s to 59.53s (~9%)
2015-04-14 15:34:28 -03:00
bunnei
db4bd98bac
SVC: Assert on unsupported CreateThread processor ID.
2015-04-09 22:55:18 -04:00
bunnei
c077bcefa9
SVC: Update various SVCs to cause a reschedule.
...
- CreateMutex/ReleaseMutex/ReleaseSemaphore/SetTimer/CancelTimer/ArbitrateAddress
2015-04-09 19:06:42 -04:00
bunnei
9c3419ebcc
Kernel: Implemented priority inheritance for mutexes.
2015-04-09 19:06:39 -04:00
bunnei
7b9f428b23
Thread: Implement priority boost for starved threads.
...
SVC: Return correct error code on invalid CreateThread processor ID.
SVC: Assert when creating a thread with an invalid userland priority.
2015-04-09 19:05:21 -04:00
bunnei
ee3377b67d
SVC: Reschedule on svcCreateThread.
2015-04-09 19:04:20 -04:00
bunnei
bdd190363d
APT: (Subv) Fix bug where start event was being incorrectly signaled.
2015-04-09 19:04:19 -04:00
bunnei
e08f55b1a7
Kernel: Fixed default thread priority.
2015-04-09 19:04:19 -04:00
Gareth Higgins
25a43cd2ec
Initialize base address to 0x0
2015-04-08 20:34:41 -04:00
Tony Wasserka
8af5753da5
Merge pull request #689 from lioncash/format
...
gpu: Fix a missing format specifier
2015-04-08 15:41:21 +02:00
bunnei
114126b216
Merge pull request #688 from lioncash/unused
...
dyncom: Remove unnecessary enum and typedef
2015-04-07 23:03:08 -04:00
bunnei
e630fd2a95
Merge pull request #676 from purpasmart96/ir_service_refc
...
IR: Move The IR services to their own folder and implement "GetHandles"
2015-04-07 23:01:07 -04:00
Lioncash
7da90dee42
gpu: Fix a missing format specifier
2015-04-07 10:38:49 -04:00
Lioncash
a6c9e453b2
dyncom: Remove unnecessary enum and typedef
...
Also fixes descriptions in the process.
2015-04-07 08:05:41 -04:00
Lioncash
29a4b6c7ed
vfp: Make the FPSID values match the MPCore
2015-04-06 16:09:35 -04:00
Lioncash
f9cc6d6484
vfp: Get rid of the VFP_OFFSET macro
2015-04-06 16:09:28 -04:00
bunnei
14dcd98653
Merge pull request #685 from lioncash/cpregs
...
dyncom: Set the MPCore CP15 register reset values on initialization.
2015-04-06 15:06:07 -04:00
Lioncash
8004d35ea1
core: Migrate 3DS-specific CP15 register setting into Init
2015-04-06 13:01:19 -04:00
Lioncash
c3ffe8f9c3
arm_interface: Support retrieval/storage to CP15 registers
2015-04-06 12:57:49 -04:00
Lioncash
b7b8b67620
Move CP15 enum definitions into their own enum.
...
Also gets rid of preprocessor mumbo-jumbo
2015-04-06 12:48:35 -04:00
Lioncash
23dd2ca8a6
dyncom: Properly return the value of the user RO thread register
2015-04-06 09:26:04 -04:00
Lioncash
e628ed4810
dyncom: Set CP15 reset values on initialization
2015-04-06 09:16:42 -04:00
Lioncash
bb7dac022e
dyncom: Suppress uninitialized variable warnings
...
The switch cases will always be hit, but this makes compilers stop complaining.
2015-04-05 23:49:06 -04:00
Yuri Kunde Schlesner
34b009cf38
Clean-up mem_map constants and fix framebuffer translation errors
2015-04-05 20:14:33 -03:00
bunnei
64196976b9
Merge pull request #680 from archshift/bg-color
...
Allow the user to set the background clear color during emulation
2015-04-04 15:14:14 -04:00
purpasmart96
d6c9af600f
IR: Move The IR services to their own folder and implement "GetHandles"
2015-04-03 19:36:03 -07:00
bunnei
3fd2cc566b
Merge pull request #641 from purpasmart96/service_stubs
...
Services: Stubs and minor changes
2015-04-03 22:16:50 -04:00
archshift
cae89fb315
Allow the user to set the background clear color during emulation
...
The background color can be seen at the sides of the bottom screen or when the window is wider than normal.
2015-04-03 15:35:51 -07:00
purpasmart96
198c0ddc72
Services: Stubs and minor changes
2015-04-02 20:05:11 -07:00
Lioncash
490df716f3
dyncom: Move CP15 register writing into its own function.
...
Also implements writing to the rest of the ARM11 MPCore CP15 register set.
2015-04-02 00:20:52 -04:00
Lioncash
5e5954c63b
dyncom: Move CP15 register reading into its own function.
...
Keeps everything contained. Added all supported readable registers in an ARM11 MPCore.
2015-04-02 00:19:11 -04:00
Lioncash
de6eba0288
dyncom: Migrate InAPrivilegedMode to armsupp
...
It's a generic helper function, so it should be here anyway.
2015-03-26 09:22:02 -04:00
bunnei
c4767f3bb2
Merge pull request #672 from purpasmart96/citra_moar_app_mem
...
ConfigMem: Set the app memory to be 96MB instead of the default 64MB
2015-03-24 23:22:56 -04:00
bunnei
b3d4a10e29
Merge pull request #674 from lioncash/sys-instrs
...
dyncom: Implement RFE and SRS.
2015-03-24 23:21:44 -04:00
Lioncash
a80d93685a
dyncom: Implement SRS
2015-03-24 12:44:31 -04:00
Lioncash
cde671795c
dyncom: Implement RFE
2015-03-24 11:34:48 -04:00
Lioncash
2df10d2284
dyncom: Remove unused/unnecessary macros and macro constants
2015-03-24 09:55:56 -04:00
purpasmart96
e0c72ec871
ConfigMem: Set the app memory to be 96MB instead of the default 64MB
2015-03-23 18:53:22 -07:00
bunnei
03ceb7adf9
Merge pull request #656 from Subv/nz
...
Services/FS: Implemented DeleteExtSaveData, CreateSystemSaveData and Del...
2015-03-22 14:58:38 -04:00
Lioncash
f23f2a9a42
armmmu: Remove unnecessary enum values
...
We don't need to care about XScale or Intel specific ARM stuff.
2015-03-20 19:35:32 -04:00
bunnei
1981aa3d7e
Merge pull request #659 from lioncash/setend
...
Implement SETEND.
2015-03-19 21:37:43 -04:00
Subv
b9612fe919
Service/FS: Document and log some unknown values.
...
In CreateExtSaveData, DeleteExtSaveData and CreateSystemSaveData
2015-03-19 17:39:00 -05:00
bunnei
580b317821
Merge pull request #650 from Subv/scaling
...
GPU: Fixed the bit 25 in the display transfer flags.
2015-03-17 19:13:06 -04:00
Lioncash
9fdb311d6e
dyncom: Make Load/Store instructions support big endian
2015-03-17 15:13:32 -04:00
bunnei
0bb4b77b78
Merge pull request #655 from purpasmart96/hid_fixes
...
HID: Proper Signal Interrupts for EnableAccelerometer & EnableGyroscopeLow along with a stub for GetSoundVolume
2015-03-17 10:19:59 -04:00
purpasmart96
5b1757d6a5
HID: Proper Signal Interrupts for EnableAccelerometer & EnableGyroscopeLow along
...
with a stub for GetSoundVolume
2015-03-16 18:55:58 -07:00
bunnei
ef0c4aac86
Merge pull request #660 from purpasmart96/ncch_updates
...
NCCH: Minor updates to the ncch header
2015-03-16 21:21:54 -04:00
Subv
23b401c3ac
GPU/DisplayTransfer: Made the scaling bits a single 2bit value
...
Rephrased some comments.
2015-03-16 17:54:06 -05:00
Lioncash
8cf81643a9
arm_interface: Get rid of GetTicks.
...
Removes a TODO.
2015-03-16 12:18:37 -04:00
purpasmart96
061c69a6bb
NCCH: Minor updates to the ncch header
2015-03-15 14:17:19 -07:00
Lioncash
f280806214
dyncom: Implement SETEND
2015-03-14 23:08:36 -04:00
Subv
fb8f47060b
GPU: Implemented the flip_data (bit 0) bit in display transfers.
2015-03-14 15:26:42 -05:00
Subv
1d61cd4460
Services/FS: Implemented DeleteExtSaveData, CreateSystemSaveData and DeleteSystemSaveData
...
Also fixed a bug with CreateExtSaveData that made it unable to create ExtSaveData archives in the SDMC directory.
2015-03-14 12:00:01 -05:00
bunnei
ed5b275d21
Merge pull request #642 from bunnei/touchpad
...
Touchpad support
2015-03-11 21:28:57 -04:00
bunnei
4bbddda377
hid_user: Removed unnecessary includes.
2015-03-11 00:01:03 -04:00
bunnei
e79c27f1e0
HID: Removed unnecessary global variables.
2015-03-11 00:00:39 -04:00
bunnei
85cbccb1d3
HID: Added additional variable comments and some code cleanups.
2015-03-10 23:58:13 -04:00
bunnei
d61b26b79f
HID: Complete refactor of pad/touch input to fix threading issues.
2015-03-10 23:58:07 -04:00
bunnei
b56829df02
Merge pull request #629 from archshift/lcdfb
...
Implement SetLcdForceBlack and add implementation for color filling in the GPU code
2015-03-10 18:08:55 -04:00
bunnei
a1a1a5c6c5
HID: Cleanup how `next_touch_index` is calculated for Pad and touch.
2015-03-10 18:05:19 -04:00
bunnei
432aa1044c
HID: Changed TouchDataEntry `valid` to a BitField and added some doc strings.
2015-03-10 18:05:19 -04:00
bunnei
e9b9f1842b
HID: Added static asserts to check register position in shared memory.
2015-03-10 18:05:19 -04:00
bunnei
1a904ded40
HID: Added functions to emulate the touchpad.
2015-03-10 18:05:17 -04:00
bunnei
3229b048d9
HID: Moved some docstrings to the header.
2015-03-10 18:05:17 -04:00
bunnei
83a66dd701
HID: Refactored shared memory decoding for touchpad support.
2015-03-10 18:05:16 -04:00
Subv
ae0dfcae1d
GPU: Fixed the bit 25 in the display transfer flags.
...
It is used to downscale the input image horizontally and vertically, previously we were only downscaling it vertically so this caused a hard-to-debug memory corruption problem.
2015-03-10 14:18:25 -05:00
Lioncash
e34ba68e1f
dyncom: Minor cleanup
...
Assemblers will exit with an error when trying to assemble instructions with disallowed registers.
2015-03-10 08:13:58 -04:00
archshift
041e99b613
Added LCD registers, and implementation for color filling in OGL code.
2015-03-09 15:51:41 -07:00
Tony Wasserka
511bf30a69
Merge pull request #648 from Subv/fill_bit
...
GPU: Use the correct position for the finished bit in memory fills
2015-03-09 23:17:11 +01:00
Subv
0abba5874c
GPU: Use the correct position for the finished bit in memory fills
2015-03-09 17:15:13 -05:00
Tony Wasserka
e3a697b9f9
Merge pull request #646 from Subv/24bit_fills
...
GPU: Corrected the 24 bit memory fills component order
2015-03-09 23:12:30 +01:00
bunnei
8a1cc5b805
Merge pull request #589 from kevinhartman/config-errors
...
Fix errorcodes for bad config block request
2015-03-09 15:44:34 -04:00
Subv
a762f9c176
GPU: Corrected the 24 bit memory fills component order
2015-03-09 09:01:41 -05:00
Lioncash
386dbab5ea
dyncom: Fix an indexing bug in STM
...
Previously it would write the contents of register 13 for the case where the link register (r14) is supposed to be written.
2015-03-08 22:03:11 -04:00
Lioncash
36dab56c31
dyncom: General cleanup of STM
2015-03-08 22:03:06 -04:00
Lioncash
e37425b380
dyncom: Increment addr when accessing LR in LDM
2015-03-08 21:46:57 -04:00
Tony Wasserka
93e32bce72
Merge pull request #538 from yuriks/perf-stat
...
Add profiling infrastructure and widget
2015-03-07 15:30:40 +01:00
archshift
47010fea31
Implement SetLcdForceBlack, move register enum to hw.h
2015-03-05 19:38:23 -08:00
bunnei
8e4e28aacb
Merge pull request #615 from Subv/services
...
Services: Moved the PTM and APT services to their own folder
2015-03-04 21:27:24 -05:00
Subv
83a8975cb8
Services: Moved the PTM and APT services to their own folder
...
This coincidentally fixes an issue about the PTM service failing to create its SharedExtSaveData archive due to the FS service not being initialized by the time the creating code runs.
Ideally I'd like to move each process to its own folder, and have a single file per process that registers the service classes, which would be in their own files inside that folder. Then each service class would just call functions from the process to complete the commands.
2015-03-03 21:48:08 -05:00
bunnei
8fc8c51118
Merge pull request #625 from lioncash/warn
...
vfp: Get rid of warnings
2015-03-03 19:15:32 -05:00
Lioncash
4b89cf9e43
vfp: Get rid of warnings
2015-03-03 19:13:01 -05:00
bunnei
34c31db14a
GPU: Added RGB565/RGB8 framebuffer support and various cleanups.
...
- Centralizes color format encode/decode functions.
- Fixes endianness issues.
- Implements remaining framebuffer formats in the debugger.
2015-03-03 18:26:03 -05:00
Yuri Kunde Schlesner
44f46254dc
Merge pull request #622 from Subv/titles
...
Services/AM: Stubbed TitleIDListGetTotal and GetTitleIDList.
2015-03-02 10:26:56 -03:00
Subv
9a72fb79fc
Services/AM: Stubbed TitleIDListGetTotal and GetTitleIDList.
...
They will always return 0 titles for every media type for now.
This is needed to boot Home Menu further
2015-03-02 08:12:04 -05:00
bunnei
d175f2b7f3
Merge pull request #623 from Subv/card
...
Services/FS: Stubbed CardSlotIsInserted to always return false
2015-03-01 22:49:29 -05:00
bunnei
9a47eb117c
Merge pull request #618 from lioncash/ref
...
result: Make comparison operators take references
2015-03-01 22:27:28 -05:00
bunnei
5d0e557689
Merge pull request #621 from Subv/power
...
Services/PTM: Stubbed PTM_Sysm::IsLegacyPowerOff.
2015-03-01 22:21:08 -05:00
Yuri Kunde Schlesner
cd1fbfcf1b
Add profiling infrastructure and widget
2015-03-01 21:47:13 -03:00
Subv
db1a5d4222
Services/FS: Stubbed CardSlotIsInserted to always return false
...
We won't be emulating this for the foreseeable future and it is needed for Home Menu to boot further
2015-02-28 23:00:46 -05:00
Subv
c36778e602
Services/PTM: Stubbed PTM_Sysm::IsLegacyPowerOff.
...
This allows the Home Menu to boot further
2015-02-28 19:51:13 -05:00
archshift
c1d29ac202
Merge pull request #616 from archshift/5551
...
Added RGBA5551 compatibility in the rasterizer
2015-02-28 13:52:47 -08:00
bunnei
d362eb2669
Merge pull request #620 from lioncash/bkpt
...
arm_disasm: Show conditional code for BKPT instructions.
2015-02-27 22:53:33 -05:00
archshift
7f9ee69a2b
Added RGBA5551 compatibility in the rasterizer
...
This allows Virtual Console games to display properly.
2015-02-27 19:15:08 -08:00
Lioncash
9ed3488925
arm_disasm: Show conditional code for BKPT instructions.
...
Changed cond_to_str to take a uint32, since unsigned numbers are only ever passed to it, and this can be a source of warnings for some compilers (also indexing an array without bounds checking a signed number is kind of iffy).
2015-02-27 21:59:30 -05:00
Lioncash
1a70782cda
arm_disasm: Remove unused variable
...
Also declared an array as static, as it's only used in this translation unit.
2015-02-27 21:31:36 -05:00
Lioncash
99ff8bbb0c
result: Make comparison operators take references
...
It's unnecessary to make copies for simple comparisons like this.
2015-02-27 21:16:21 -05:00
bunnei
c9ef377afa
Merge pull request #599 from Subv/morton
...
GPU: Implemented bits 3 and 1 from the display transfer flags.
2015-02-26 22:40:27 -05:00
Subv
c564c21668
GPU: Implemented bits 3 and 1 from the display transfer flags.
...
Bit 3 is used to specify a raw copy, where no processing is done to the data, seems to behave exactly as a DMA.
Bit 1 is used to specify whether to convert from a tiled format to a linear format or viceversa.
2015-02-26 21:17:14 -05:00
Lioncash
8812d2fbdb
arm: The CP15 Main ID register is not writeable
2015-02-26 09:28:31 -05:00
Yuri Kunde Schlesner
1b5ee96797
Merge pull request #604 from Subv/arc_ssd
...
Archives: Properly implemented the SystemSaveData archive.
2015-02-25 22:35:55 -03:00
Subv
9db5c9b6dc
Archives: Properly implemented the SystemSaveData archive.
...
Ported to the new factory pattern we have for archives.
2015-02-25 19:37:10 -05:00
Lioncash
1bb400be1b
arm: Remove unnecessary booleans
...
We don't care about any of these.
2015-02-25 10:55:50 -05:00
Subv
ef66feaeba
Services: Implemented Y2R_U::GetTransferEndEvent
...
Aero Porter was throwing an "Invalid Handle" fatal error without this.
2015-02-24 08:28:36 -05:00
bunnei
3700263f71
Merge pull request #595 from linkmauve/new-3ds-input
...
Frontends, HID: Add New 3DS specific pad buttons, and stub the touch one.
2015-02-23 21:13:29 -05:00
bunnei
50a0c4f14f
Merge pull request #581 from archshift/tfe
...
Added information reporting from ThrowFatalError
2015-02-23 01:23:15 -05:00
Subv
b1284222f2
GPU: Fixed RGBA8 as output format in a display transfer.
...
Verified with hwtests
2015-02-22 15:22:14 -05:00
archshift
0420a4d1de
Added information reporting from ThrowFatalError
...
This was RE'd from the errdisp applet.
2015-02-22 12:19:30 -08:00
Emmanuel Gil Peyrot
aa64f69af0
Frontends, HID: Add New 3DS specific pad buttons, and stub the touch one.
2015-02-22 21:09:08 +01:00
bunnei
89a71eb6a4
Merge pull request #471 from archshift/pp3ports3
...
GPU: Add support for more framebuffer formats in display transfers.
2015-02-22 14:54:56 -05:00
Tony Wasserka
23c6764b2b
GPU: Add support for more framebuffer formats in display transfers.
2015-02-22 11:48:02 -08:00
bunnei
dfe807b2cd
Merge pull request #596 from kevinhartman/unaligned-cleanup
...
Clean up unaligned 32-bit memory reads
2015-02-22 12:48:28 -05:00
bunnei
d120757f32
Merge pull request #594 from Subv/display_transfer
...
GPU: Fixed the RGBA8 input format and RGB8 output format
2015-02-22 12:44:57 -05:00
Kevin Hartman
05c098a9e7
Cleaned up unaligned access.
2015-02-21 17:25:31 -08:00
Subv
fbbfb52a2c
GPU: Fixed the RGBA8 input format and RGB8 output format
...
in Display Transfers, tested with hwtests.
2015-02-21 18:43:53 -05:00
Kevin Hartman
a6fdb8f217
Fix error message for bad config block request.
2015-02-20 21:47:58 -08:00
bunnei
5f9939070e
Merge pull request #588 from archshift/somebranch
...
Sweeping cleanup of Common
2015-02-20 11:41:30 -05:00
archshift
4fb75d220a
Misc cleanup of common and related functions
2015-02-19 22:26:25 -08:00
archshift
302f0b32f5
Remove duplication of INSERT_PADDING_WORDS between pica.h and gpu.h
2015-02-19 22:26:25 -08:00
archshift
5efd149ad5
Remove the useless msg_handler compilation unit that was left over from Dolphin
2015-02-18 22:26:22 -08:00
archshift
3c48697ea3
Convert a few C stdlib asserts to Citra's own asserts
2015-02-18 21:52:36 -08:00
bunnei
ec8f2210e3
Merge pull request #580 from lioncash/emplace
...
core/video_core: Use in-place construction where possible
2015-02-18 17:36:34 -05:00
Tony Wasserka
0da6a7e234
GPU: Properly implement memory fills.
2015-02-18 14:02:58 +01:00
bunnei
745b42d236
Merge pull request #570 from purpasmart96/config_mem
...
ConfigMem: Clean up the Config memory to be more like the shared page
2015-02-18 00:12:37 -05:00
bunnei
8e731b129d
Merge pull request #582 from lioncash/warnings
...
vfpinstr: Fix trivial signed/unsigned mismatch warnings
2015-02-17 23:57:54 -05:00
bunnei
60f9cd6a4a
Merge pull request #579 from lioncash/bkpt
...
dyncom: Support conditional BKPT instructions
2015-02-17 23:54:01 -05:00
Lioncash
4f910bb1a1
vfpinstr: Fix trivial signed/unsigned mismatch warnings
2015-02-17 18:53:50 -05:00
Lioncash
5d2366e1e9
core/video_core: Use in-place construction where possible
2015-02-17 17:57:23 -05:00
Lioncash
a7120662e6
dyncom: Support conditional BKPT instructions
2015-02-17 01:37:22 -05:00
purpasmart96
c3c309f33d
ConfigMem: Clean up the Config memory to be more like the shared page and moved
...
the helper macro for padding to common_funcs.h
2015-02-16 15:12:05 -08:00
Subv
cb3d254517
Services: Fixed "Tried to connect to named port err:f".
...
err:f is a named port, not a service
2015-02-16 15:24:15 -05:00
bunnei
2b2b343ce0
Merge pull request #574 from lioncash/warn
...
vfpdouble: Use %p for printing pointer addresses.
2015-02-16 09:45:43 -05:00
Lioncash
012d1e32ad
dyncom: Actually set the destination register for USAD8/USADA8.
...
Idiotville: Population: 1 - Inhabitant name: Lioncash
2015-02-16 01:03:01 -05:00
Lioncash
f0c4bd629c
vfpdouble: Use %p for printing pointer addresses.
2015-02-15 17:11:02 -05:00
bunnei
20dc07721c
Merge pull request #539 from linkmauve/framebuffer-formats
...
Framebuffer formats
2015-02-15 10:00:48 -05:00
Emmanuel Gil Peyrot
c439b3074d
video_core: Implement the remaining framebuffer formats in the OpenGL renderer.
2015-02-15 14:08:12 +00:00
Lioncash
473afa4530
arm: Set the A bit on reset.
...
This enum value is ORed against in ARMul_Reset (and used to refer to all interrupt bits in the CPSR). So simply updating this is enough.
2015-02-15 00:35:50 -05:00
bunnei
12181c8a64
Merge pull request #529 from Subv/master
...
Build: Fixed some warnings
2015-02-14 15:50:26 -05:00
Lioncash
0c6434c379
core: Apply static to local functions
2015-02-13 10:48:32 -05:00
Lioncash
a75e1ff6e6
arm: General cleanup
...
- Remove several typedefs for ARMul_State.
- Remove unused functions
- Remove unused/unnecessary headers
- Removed unused enums, etc.
2015-02-13 09:11:12 -05:00
Lioncash
b7fac494cd
dyncom: Switch the app and system cores into the correct mode at initialization
2015-02-12 21:54:28 -05:00
Lioncash
c3211c9c80
dyncom: Clean up the constructor
...
Some function calls aren't necessary and would be handled by regular initialization routines.
2015-02-12 21:50:51 -05:00
Lioncash
df9e0c0f81
dyncom: Remove warning for SXTAH
...
This is tested to work correctly.
2015-02-12 20:11:20 -05:00
Lioncash
e3f5c6366c
arm: Remove ARMul_EmulateInit
...
This was only used for armemu, which has since been removed. Removed components related to this as well.
2015-02-12 11:30:28 -05:00
Subv
8e2b248e05
Build: Fixed some warnings
2015-02-12 09:25:35 -05:00
Lioncash
f48b0100a6
armdefs: Remove unnecessary extern C
2015-02-12 08:29:57 -05:00
Kevin Hartman
a56f3f290e
Implemented WriteHWRegsWithMask for GSP.
2015-02-11 11:03:17 -08:00
Lioncash
49a22acd02
arm: Remove ARM26 support.
...
This will never be used. 32-bit is the norm.
2015-02-11 12:23:21 -05:00
bunnei
c51b23b052
Merge pull request #559 from lioncash/clean
...
arm: Some cleanup. Also fixed the initial ARM mode that is emulated.
2015-02-11 12:02:35 -05:00
Lioncash
c94c41f95a
arm: Get rid of some magic constants. Specify proper ARM mode.
...
Initially, we were starting the emulator in USER26MODE, which is incorrect, this should be USER32MODE.
2015-02-11 10:49:55 -05:00
Lioncash
93cd199633
arm: Change some more constants into enums
2015-02-11 10:14:20 -05:00
archshift
ef24e72b26
Asserts: break/crash program, fit to style guide; log.h->assert.h
...
Involves making asserts use printf instead of the log functions (log functions are asynchronous and, as such, the log won't be printed in time)
As such, the log type argument was removed (printf obviously can't use it, and it's made obsolete by the file and line printing)
Also removed some GEKKO cruft.
2015-02-10 18:30:31 -08:00
bunnei
168eb27aee
GSP: Fixed typo in SignalInterrupt
2015-02-10 19:57:48 -05:00
bunnei
76e7d41f88
Merge pull request #552 from bunnei/setbufferswap-fix
...
GSP SetBufferSwap fix
2015-02-10 19:21:48 -05:00
bunnei
9eae2400c0
GSP: Call SetBufferSwap for each screen on corresponding signal interrupt.
2015-02-10 19:05:56 -05:00
bunnei
ca22ee3239
Merge pull request #526 from purpasmart96/citra_stubs
...
Services: Stub some functions
2015-02-10 18:39:37 -05:00
bunnei
5b735bdeea
Merge pull request #556 from lioncash/clean
...
arm: Remove TRUE/FALSE defines
2015-02-10 18:28:30 -05:00
bunnei
8f35772bd7
Merge pull request #555 from lioncash/lut
...
arm_dyncom_thumb: Make lookup tables static
2015-02-10 18:27:47 -05:00
Lioncash
088fab743f
arm: Remove TRUE/FALSE defines
...
- Removed the Debug parameter from ARMul_State since it isn't used.
- Changed ARMul_CoProInit to a void function. It always returned true.
2015-02-10 13:09:41 -05:00
Subv
0d2b6dd656
PTM: Fixed a problem with the gamecoin PTM file.
2015-02-10 13:43:46 -02:00
Subv
1bbf0567b1
Archives: Made the Format function more generic.
2015-02-10 13:43:46 -02:00
Subv
071663e074
Archives: Expose the File and Directory classes to HLE
2015-02-10 13:43:45 -02:00
Subv
ca1a87ef7d
ResultVal: Fixed compilation when reassigning a ResultVal.
2015-02-10 13:43:44 -02:00
Yuri Kunde Schlesner
3f1a3952d7
FS: Allow multiple instances of the same archive type to be open at once
2015-02-10 13:43:44 -02:00
Yuri Kunde Schlesner
4468625080
FS: Get rid of completely useless Archive class
2015-02-10 13:43:43 -02:00
Lioncash
8d2fb3bb2b
arm_dyncom_thumb: Make lookup tables static
...
These don't need to be recreated all the time.
2015-02-10 10:42:09 -05:00
bunnei
67db6aa4ce
Merge pull request #553 from lioncash/denorm
...
vfp: Normalize accumulator for multiply accumulate instructions
2015-02-10 10:09:45 -05:00
Lioncash
3eccc66abf
dyncom: Add more regs to MCR/MRC
...
Adds the registers that were left out of some coprocessor ranges.
2015-02-10 09:34:42 -05:00
Lioncash
a86d5e2752
vfp: Normalize accumulator for multiply accumulate instructions
2015-02-10 08:16:26 -05:00
Kevin Hartman
5fcbfc06eb
Scheduler refactor Pt. 1
...
* Simplifies scheduling logic, specifically regarding thread status. It should be much clearer which statuses are valid
for a thread at any given point in the system.
* Removes dead code from thread.cpp.
* Moves the implementation of resetting a ThreadContext to the corresponding core's implementation.
Other changes:
* Fixed comments in arm interfaces.
* Updated comments in thread.cpp
* Removed confusing, useless, functions like MakeReady() and ChangeStatus() from thread.cpp.
* Removed stack_size from Thread. In the CTR kernel, the thread's stack would be allocated before thread creation.
2015-02-09 21:47:12 -08:00
bunnei
848795f383
Merge pull request #551 from bunnei/mutex-fixes
...
Mutex/synch fixes
2015-02-09 22:17:20 -05:00
bunnei
1b0bf00cbc
Mutex: Locks should be recursive.
2015-02-09 22:06:09 -05:00
bunnei
caa58acc84
WaitSynch: Always reschedule (verified behavior on hw).
2015-02-09 22:05:39 -05:00
Lioncash
53fa04f326
vfpdouble: Fix the FTOUI NaN sign setting
...
This was fixed for vfpsingle, but not vfpdouble
2015-02-09 17:18:29 -05:00
Lioncash
a734e9fdca
Throw more unused/unnecessary VFP code out
2015-02-09 11:54:39 -05:00
Lioncash
ca7babe062
vfp_helper: Convert some flags to enums. Throw out more duplicated FPSCR stuff
2015-02-09 09:53:17 -05:00
Lioncash
d832c48864
vfp_helper: Normalize tabs to spaces
2015-02-09 09:32:56 -05:00
purpasmart96
60ce36f721
Services: Stub some functions
2015-02-07 17:34:59 -08:00
Lioncash
1ecd75ea1a
vfp_helper: Remove unnecessary extern C blocks
2015-02-06 14:52:29 -05:00
Lioncash
3e576219c4
vfp: Move FPSID, FPEXC, and FPSCR values over to enums.
...
Also got rid of duplicate definitions of some of these values.
2015-02-06 14:52:05 -05:00
bunnei
7f900ac68e
Merge pull request #537 from lioncash/vfp
...
vfp: Fix VCVT
2015-02-04 14:58:36 -05:00
bunnei
4d36a6a255
Merge pull request #536 from lioncash/dead
...
vfp: Throw out unused code
2015-02-04 14:57:00 -05:00
Lioncash
82e8f25fe7
vfp: Fix VCVT
...
These variants exclusively read from the single precision regs and write to double-precision registers
Fixes issues where converted values would be way off from what they should be due to the results being stored in the wrong registers.
2015-02-04 14:06:10 -05:00
Lioncash
7ecedfb970
vfp: Throw out unused code
2015-02-04 13:11:03 -05:00
Lioncash
3a5a39c6aa
dyncom: Remove more unnecessary code
2015-02-03 14:05:53 -05:00
Lioncash
676daef3c7
core: Fix some warnings on OSX
2015-02-03 08:14:42 -05:00
Yuri Kunde Schlesner
88a4a808c6
Kernel: Stop creating useless Handles during object creation
...
They're finally unnecessary, and will stop cluttering the application's
handle table.
2015-02-02 15:37:09 -02:00
Yuri Kunde Schlesner
52f58e64ef
Kernel: Make WaitObjects share ownership of Threads waiting on them
...
During normal operation, a thread waiting on an WaitObject and the
object hold mutual references to each other for the duration of the
wait.
If a process is forcefully terminated (The CTR kernel has a SVC to do
this, TerminateProcess, though no equivalent exists for threads.) its
threads would also be stopped and destroyed, leaving dangling pointers
in the WaitObjects.
The solution is to simply have the Thread remove itself from WaitObjects
when it is stopped. The vector of Threads in WaitObject has also been
changed to hold SharedPtrs, just in case. (Better to have a reference
cycle than a crash.)
2015-02-02 15:37:08 -02:00
Yuri Kunde Schlesner
7725256f64
Explicitly instantiate constructors/destructors for Kernel objects
...
This should speed up compile times a bit, as well as enable more liberal
use of forward declarations. (Due to SharedPtr not trying to emit the
destructor anymore.)
2015-02-02 15:37:07 -02:00
Yuri Kunde Schlesner
4e84df8be3
Mutex: Replace g_mutex_held_locks with a set inside Thread
2015-02-02 15:37:06 -02:00
Yuri Kunde Schlesner
0f69668fc6
HID: Fix crash when pressing a key when the emulator is stopped
2015-02-02 15:37:05 -02:00
Yuri Kunde Schlesner
c4208c1171
SVC: Enable CloseHandle, clean up DuplicateHandle
2015-02-02 15:37:04 -02:00
Yuri Kunde Schlesner
e8330dd162
Kernel: Fix bug in HandleTable::Close
2015-02-02 15:37:04 -02:00
Yuri Kunde Schlesner
5354a479bc
Kernel: Remove Object::GetHandle (it's not used anymore :D)
2015-02-02 15:37:04 -02:00
Yuri Kunde Schlesner
869ec46683
Kernel: Introduce unique Object ids for debugging
2015-02-02 15:37:03 -02:00
Yuri Kunde Schlesner
a9b86db3cf
Kernel: Use separate Handle tables for CoreTiming userdata
...
This is to support the removal of GetHandle soon
2015-02-02 15:37:03 -02:00
Yuri Kunde Schlesner
ec9c773251
Kernel: Remove previous scheduled event when a Timer is re-Set
2015-02-02 15:37:02 -02:00
Yuri Kunde Schlesner
8441591659
FS: Remove use of GetHandle
2015-02-02 15:37:01 -02:00
Yuri Kunde Schlesner
664c79ff47
Thread: Modernize two functions that slipped through previous rebases
2015-02-02 15:37:01 -02:00
Yuri Kunde Schlesner
6e11570862
Service: Store function names as const char* instead of std::string
...
Uses less memory (strings and function table is stored in constant data)
and speeds up start up (no need to allocate and copy strings).
2015-02-02 15:37:00 -02:00
Yuri Kunde Schlesner
a79d21c83e
Service: Clean-up Interface
2015-02-02 15:36:59 -02:00
Yuri Kunde Schlesner
8779b31fe6
Make Port/Service registration and querying more HW-accurate
2015-02-02 15:36:59 -02:00
Yuri Kunde Schlesner
5e91fc0d1a
Filesys: Move creation of Handles for File/Directory to service handlers
2015-02-02 15:36:58 -02:00
bunnei
c915d0b727
Merge pull request #514 from rohit-n/fix-warnings
...
Silence a few warnings.
2015-02-01 00:31:06 -05:00
bunnei
c8628f5d56
Merge pull request #525 from lioncash/armwarn
...
vfp: Get rid of some compile warnings
2015-02-01 00:28:50 -05:00
Lioncash
8c944bd1f0
vfp: Get rid of some compile warnings
2015-01-31 22:14:00 -05:00
Lioncash
3f00dd9117
arm: Clean up ARMul_State
...
Remove unnecessary/unused struct variables.
2015-01-31 21:55:34 -05:00
Lioncash
f44781fd7b
arm: Adios armemu
2015-01-31 20:43:03 -05:00
Tony Wasserka
73a7a379d6
Merge pull request #512 from lioncash/assignment
...
shared_memory: Fix assignments in SharedMemory::Map
2015-01-31 12:59:00 +01:00
Lioncash
b6cfc48a0b
dyncom: clean up arm_dyncom_dec.h
2015-01-30 16:28:52 -05:00
Lioncash
fc1a9e35fb
arm: Move headers over to pragma once
2015-01-30 16:17:02 -05:00
Lioncash
83bc1a3120
arm: Get rid of armcpu.h and skyeye_types.h
2015-01-30 16:16:58 -05:00
Lioncash
904194c3e8
arm: Clean out armos.h and armmmu.h
2015-01-30 15:48:57 -05:00
bunnei
88a62b671b
Merge pull request #513 from lioncash/cleanup
...
arm: Cleanup.
2015-01-30 15:30:30 -05:00
Rohit Nirmal
5ebf35db96
Silence a few warnings.
2015-01-30 19:20:34 +00:00
Lioncash
09a66860e2
arm: Throw out a lot of unnecessary code
2015-01-30 13:32:03 -05:00
Lioncash
3dfef1701c
armdefs: Move some defines over to enums
2015-01-30 12:43:58 -05:00
Lioncash
96c174aed4
shared_memory: Fix assignments in SharedMemory::Map
2015-01-30 11:37:53 -05:00
Lioncash
0c4685ca12
loader: Add missing printf argument
2015-01-30 11:34:05 -05:00
Lioncash
551264f815
archive: Fix initializer list order for the File class.
2015-01-30 11:30:22 -05:00
Lioncash
0c53cc52bd
apt_u: Fix missing printf specifiers
2015-01-30 11:28:09 -05:00
Yuri Kunde Schlesner
d917a9bf77
Kernel: Mark all appropriate kernel objects as "final"
2015-01-30 11:49:46 -02:00
Yuri Kunde Schlesner
58b544db99
SVC: Use CASCADE_RESULT in SVC handlers
2015-01-30 11:49:46 -02:00
Yuri Kunde Schlesner
09ae6e1fa3
Remove result.h InvalidHandle
...
It was only being used in two places, where it was replaced by a local
constant.
2015-01-30 11:49:45 -02:00
Yuri Kunde Schlesner
44f90340dc
SVC: Change return type of handlers to ResultCode
2015-01-30 11:49:44 -02:00
Yuri Kunde Schlesner
d52d859936
Kernel: Convert Event to not use Handles
2015-01-30 11:49:43 -02:00
Yuri Kunde Schlesner
ad80ff1e32
Kernel: Convert Timer to (mostly) not use Handles
2015-01-30 11:47:07 -02:00
Yuri Kunde Schlesner
882b6fed75
Kernel: Convert Mutex to not use Handles
2015-01-30 11:47:06 -02:00
Yuri Kunde Schlesner
38e7122f23
Kernel: Convert AddressArbiter to not use Handles
2015-01-30 11:47:06 -02:00
Yuri Kunde Schlesner
d9b19be1d9
Kernel: Convert Semaphore to not use Handles
2015-01-30 11:47:05 -02:00
Yuri Kunde Schlesner
4bb33dfc30
Kernel: Convert SharedMemory to not use Handles
2015-01-30 11:47:04 -02:00
Yuri Kunde Schlesner
afc416c607
Additions to ResultVal to make it more convenient to use.
2015-01-30 11:47:02 -02:00
Yuri Kunde Schlesner
b5ee4f9df9
Move VAddr/PAddr typedefs to kernel.h
2015-01-30 11:47:01 -02:00
Yuri Kunde Schlesner
9a345de2bd
Kernel: Remove useless/duplicated comments; mark functions static
2015-01-30 11:47:01 -02:00
bunnei
206cabc0e4
Merge pull request #412 from purpasmart96/svc_table_cleanup
...
SVC: Update the SVC function table
2015-01-28 17:36:23 -05:00
Lioncash
7a3e371141
dyncom: Minor cleanup
...
Narrow scopes for the instruction variables. Remove unnecessary parentheses.
2015-01-27 08:51:18 -05:00
purpasmart96
62f4365db1
SVC: Update the SVC function table
2015-01-26 20:42:28 -08:00
bunnei
326c451758
Merge pull request #345 from purpasmart96/apt_stubs
...
APT_U: Stub some functions & misc changes
2015-01-26 23:13:54 -05:00
bunnei
547737f720
Update vfp.cpp
...
VFP: Changed a debug log to trace.
2015-01-26 21:38:53 -05:00
bunnei
e7dd4d34aa
Merge pull request #485 from Subv/more_servs
...
Services: Stubbed more services.
2015-01-25 22:13:13 -05:00
Subv
2ea60bdc7f
Services/HID: Removed some files due to a rebase error
2015-01-24 15:54:24 -05:00
Subv
c2e9990149
Services: Stubbed more services.
...
Implemented FSUser::CreateExtSaveData
2015-01-24 15:44:40 -05:00
bunnei
cc34462b71
Merge pull request #410 from chinhodado/cleanup
...
Cleanup: Logging in Core
2015-01-24 00:41:10 -05:00
Lioncash
e09fb7becc
vfp: Clean up vertical alignment for instructions
2015-01-23 13:35:08 -05:00
purpasmart96
2dd23b6467
APT_U: Stub some functions & misc changes
2015-01-22 16:03:48 -08:00
archshift
92a75df9b1
cam_u.h: fix indentation
...
Withholding my profanity towards Xcode.
2015-01-22 12:51:53 -08:00
bunnei
92550013cf
Merge pull request #493 from archshift/ptmplay
...
Stubbed some services
2015-01-22 13:25:19 -05:00
Lioncash
8810dfe1de
dyncom: Minor cleanup
...
Removes some unused macros and cleans up indentation inconsistencies
2015-01-22 09:39:41 -05:00
bunnei
731154f79e
WaitSynchronization: Added a result code for invalid result, fixed bug.
2015-01-21 20:49:43 -05:00
bunnei
68ddaaa2f5
Thread: Fix WaitSynchronization1 to not set register 1 on thread wakeup.
2015-01-21 20:48:46 -05:00
bunnei
4255f25647
Thread: Use std::find in CheckWait_WaitObject.
2015-01-21 20:48:46 -05:00
bunnei
2f3020a102
Mutex: Cleanup and remove redundant code.
2015-01-21 20:48:36 -05:00
bunnei
f09806aed2
Kernel: Renamed some functions for clarity.
...
- ReleaseNextThread->WakeupNextThread
- ReleaseAllWaitingThreads->WakeupAllWaitingThreads.
2015-01-21 20:48:30 -05:00
bunnei
15b6a4d9ad
Kernel: Changed "ShouldWait" to return bool and "Acquire" to return void.
2015-01-21 20:47:49 -05:00
bunnei
c68eb15695
WaitObject: Renamed "Wait" to "ShouldWait", made "ShouldWait" and "Acquire" pure virtual.
2015-01-21 20:47:49 -05:00
bunnei
69c5830ef2
Event: Fix implementation of "non-sticky" events.
2015-01-21 20:47:48 -05:00
bunnei
9e6ec3b6cd
Session: Change to a WaitObject.
2015-01-21 20:47:47 -05:00
bunnei
d2759c578e
Kernel: Reschedule on SignalEvent and SendSyncRequest, fix some bugs.
2015-01-21 20:47:47 -05:00
bunnei
dde02f79af
Mutex: Fix a bug where the thread should not wait if it already has the mutex.
2015-01-21 20:47:46 -05:00
bunnei
9412996c8f
Kernel: Moved Wait and Acquire to WaitObject, added way to retrieve a WaitObject safely.
2015-01-21 20:47:46 -05:00
bunnei
c06d64528a
SVC: Removed a Sleep that made no sense
...
- Would deadlock the calling thread
- Code would never get hit anyways
2015-01-21 20:47:45 -05:00
bunnei
254e4ebd58
AddressArbiter: Changed to Kernel::Object, big cleanup, removed code that made no sense.
2015-01-21 20:47:45 -05:00
bunnei
e5a9f1c644
Kernel: Get rid of WaitTypes and simplify lots of code, removing hacks.
2015-01-21 20:47:38 -05:00
bunnei
6deb1a0119
WaitSynchronizationN: Improved comments
2015-01-21 19:12:51 -05:00
bunnei
6643673f28
WaitSynchronizationN: Refactor to fix several bugs
...
- Separate wait checking from waiting the current thread
- Resume thread when wait_all=true only if all objects are available at once
- Set output to correct wait object index when there are duplicate handles
2015-01-21 19:11:47 -05:00
bunnei
aa01c57ae9
Kernel: Separate WaitSynchronization into Wait and Acquire methods.
2015-01-21 19:10:24 -05:00
bunnei
627e96fc15
WaitSynchronizationN: Handle case where handles=nullptr.
2015-01-21 19:09:10 -05:00
bunnei
f5c6d367c9
WaitSynchronizationN: Handle case where handle_count is invalid.
2015-01-21 19:09:09 -05:00
bunnei
064be2b86f
WaitSynchronizationN: Handle case where handle_count=0.
2015-01-21 19:09:09 -05:00
bunnei
7faf2d8e06
WaitSynchronizationN: Implement return values
2015-01-21 19:09:03 -05:00
bunnei
e4a5d8ad4f
Event: Fixed some bugs and cleanup (Subv)
2015-01-21 18:43:50 -05:00
bunnei
1f7a04f05a
Thread: Keep track of multiple wait objects.
2015-01-21 18:42:04 -05:00
bunnei
14cbbf4d9b
Event: Get rid of permanent_lock hack.
2015-01-21 18:42:04 -05:00
bunnei
5e77e2e1de
WaitObject: Added RemoveWaitingThread, fixed a bug, and cleanup.
2015-01-21 18:41:58 -05:00
bunnei
c22bac6398
Kernel: Added WaitObject and changed "waitable" objects inherit from it.
2015-01-21 18:41:00 -05:00
archshift
1f109c6b49
Added HID_SPVR service and split HID_U implementation into service/hid/hid.xxx
2015-01-21 13:31:10 -08:00
archshift
a68dda6328
Stubbed cam:u service
2015-01-21 12:50:18 -08:00
archshift
7516ceaf93
Stubbed ptm:play service
2015-01-21 12:50:18 -08:00
bunnei
8571befc64
Merge pull request #498 from lioncash/statics
...
core_timing: Mark several variables as static
2015-01-20 14:34:07 -05:00
Lioncash
a3f5e5605c
core: Fix a few docstrings
2015-01-20 13:52:44 -05:00
Lioncash
bfef0aa07e
core_timing: Mark several variables as static
...
These are only used in this translation unit.
2015-01-20 13:49:10 -05:00
bunnei
cbbe9e1500
Merge pull request #492 from archshift/apt
...
Expose GetSharedFont and NotifyToWait to APT:A and APT:S respectively
2015-01-20 12:55:53 -05:00
bunnei
205170fa62
Merge pull request #241 from linkmauve/better-loader
...
Improve the loader a bit
2015-01-20 12:55:28 -05:00
Lioncash
8c6edc680c
dyncom: Clarify precedence for ternary statements
2015-01-19 20:35:55 -05:00
bunnei
004b23153b
Merge pull request #494 from lioncash/shift
...
dyncom: Implement missing shifts in ScaledRegisterPostIndexed, etc
2015-01-19 16:42:31 -05:00
Chin
fa8e6272c8
Cleanup: Logging in Core
2015-01-19 16:01:06 -05:00
Lioncash
a873f157d0
dyncom: Implement missing shifts in ScaledRegisterPostIndexed, etc
2015-01-18 18:32:02 -05:00
bunnei
be8f665142
Merge pull request #383 from zhuowei/shared_page
...
Add some support for the shared page
2015-01-18 18:31:52 -05:00
archshift
4d316cbd8e
Expose GetSharedFont and NotifyToWait to APT:A and APT:S respectively
2015-01-18 15:15:14 -08:00
Lioncash
8575010a68
dyncom: Handle the ARM A2 encoding of STRT/LDRT
...
These were also missing the shifted register case.
2015-01-17 13:53:35 -05:00
Lioncash
0a5d450e94
dyncom: Handle the ARM A2 encoding of LDRBT/STRBT.
2015-01-16 21:05:27 -05:00
Zhuowei Zhang
edb8450420
Add some support for the shared page (currently 3d slider is implemented)
2015-01-15 22:16:13 -05:00
bunnei
2572a62480
APT: Fix typo in setting return code for NotifyToWait
2015-01-15 18:23:53 -05:00
bunnei
350c5a7e32
DSP: Removed useless spam log for SignalInterrupt
2015-01-15 18:20:58 -05:00
bunnei
4b47ed6194
Merge pull request #482 from yuriks/fix-vblank
...
Correctness fixes for GPU flipping and interrupts
2015-01-15 18:11:03 -05:00
Emmanuel Gil Peyrot
df0d66c7cf
Loader: Clean up the ELF AppLoader.
2015-01-15 22:23:08 +01:00
Emmanuel Gil Peyrot
84e52a944d
Loader: Clean up the 3DSX AppLoader.
2015-01-15 22:23:08 +01:00
Emmanuel Gil Peyrot
08aaa33500
Loader: Clean up the NCCH AppLoader.
2015-01-15 22:23:08 +01:00
Emmanuel Gil Peyrot
2c24e539a2
Loader: Display the type of the file being loaded.
2015-01-15 22:23:08 +01:00
Emmanuel Gil Peyrot
82ec17db7d
Loader: Guess filetype from the magic, or fallback to the extension.
2015-01-15 22:23:08 +01:00
Emmanuel Gil Peyrot
04622a859c
Loader: Don’t assume the file hasn’t been read before.
2015-01-15 22:23:07 +01:00
Emmanuel Gil Peyrot
b5237e885d
Loader: Keep a reference to the file and pass it to the correct AppLoader, instead of loading it multiple times.
2015-01-15 21:21:26 +00:00
Emmanuel Gil Peyrot
2d63df90a9
Loader: Initialize the default NCCH values in the class declaration, not in the constructor.
2015-01-15 21:21:26 +00:00
Emmanuel Gil Peyrot
9d3bb8b7c0
Loader: Remove the useless THREEDSXReader class.
2015-01-15 21:21:26 +00:00
Emmanuel Gil Peyrot
85030c6e6b
Loader: Never forget to change is_loaded.
2015-01-15 21:21:26 +00:00
Emmanuel Gil Peyrot
43e699d849
Loader: Don’t duplicate the docstring into the cpp file.
2015-01-15 21:21:26 +00:00
Emmanuel Gil Peyrot
bc2212106f
Loader: Fix indentation, whitespace, and a few other such cosmetic stuff.
2015-01-15 21:21:25 +00:00
bunnei
3ff5a80d46
Merge pull request #481 from Subv/hm_b
...
APTU: Stubbed NotifyToWait, taken from 3dmoo.
2015-01-14 21:39:49 -05:00
Sebastian Valle
fd1b600e05
APT: Fixed the comment style in some variables
2015-01-14 10:14:22 -05:00
bunnei
394d44cf74
Merge pull request #480 from Subv/arb_2
...
AddrArbiter: Implement arbitration types 3 and 4.
2015-01-14 10:04:33 -05:00
Yuri Kunde Schlesner
a09f71521e
GPU: Fix buffer overrun in Display Transfers
...
Display transfers with the horizontal downscaling flag were calculating
the wrong output size, causing them to write double the amount of data
intended. It is likely that this was perceived as correct due to a
separate bug in calculating source indices which caused the image to be
padded unless the previous bug was present.
This fixes both issues, correcting flickering issues in 3dscraft,
blargSnes and more (caused by the transfer overwriting the back buffer
which followed) as well as potentially fixing other crashes.
2015-01-14 05:20:14 -02:00
Yuri Kunde Schlesner
7630b31672
GSP: Fix appending of interrupts to the shared memory buffer
...
The code was previously appending the interrupt to after the end of the
buffer, instead of at the end.
2015-01-14 05:20:13 -02:00
Yuri Kunde Schlesner
9e084826b8
GPU: Do periodic VBlank updates using CoreTiming
2015-01-14 05:20:13 -02:00
Yuri Kunde Schlesner
e29dd76e12
GPU: Correct wrong default framebuffer address for sub-screen.
...
It appears this is a mistake, since the sub-screen has no right
framebuffer.
2015-01-14 05:20:13 -02:00
Yuri Kunde Schlesner
5961a2852d
GSP: Update framebuffer info on all interrupts
...
Hardware testing determined that the GSP processes shared memory
framebuffer update info even when no memory transfer or filling GX
commands are used. They are now updated on every interrupt, which isn't
confirmed correct but matches hardware behaviour more closely.
This also reverts the hack introduced in #404 . It made a few games
behave better, but I believe it's incorrect and also breaks other games.
2015-01-14 05:20:12 -02:00
Yuri Kunde Schlesner
98e3274935
GPU: Fire GPU interrupts at the correct places.
...
PDC0 and PDC1 are both VBlank interrupts. PDC0 was being treated as a
HBlank interrupt and fired many more times than it should. They now both
fire together at 60 Hz. This puzzlingly *improves* apparent framerate on
many applications.
A few other interrupts were being fired inside the GSP command
processing instead of on the actual GPU register writes, so they were
moved there, which should cover direct writes tho those registers not
going through the GX command queue.
2015-01-14 05:07:35 -02:00
Subv
728c932dba
APTU: Stubbed NotifyToWait, taken from 3dmoo.
...
Also renamed some handles in the APT:U service to be more descriptive.
Fixed a typo in InquireNotification
2015-01-13 19:18:10 -05:00
Subv
9e2ae289b8
AddrArbiter: Implement arbitration types 3 and 4.
2015-01-13 14:49:26 -05:00
Subv
cf071cd897
Services: Added some missing services.
...
cfg:s, ptm:sysm, apt:s.
apt:s is almost exactly the same as apt:u as per 3dbrew
2015-01-13 14:43:30 -05:00
Lioncash
9288893d29
vfp: Remove dead code
2015-01-12 15:24:57 -05:00
Lioncash
f7770b83d4
dyncom: Fix 32-bit ASR shifts for immediates
2015-01-12 14:15:24 -05:00
Lioncash
e16b35eb53
dyncom: Remove unused flag macros
2015-01-12 12:57:15 -05:00
bunnei
f3a7b66267
Merge pull request #472 from lioncash/overflow
...
dyncom: Fix some more V-flag setting ops. Plus some cleanup.
2015-01-12 10:35:19 -05:00
Lioncash
2843d1b98b
dyncom: Get rid of unnecessary outer-scope variables in InterpreterMainLoop
2015-01-12 01:11:46 -05:00
Lioncash
3ace75a49f
dyncom: Fix overflow flag setting for ADD/RSB/RSC/SUB/SBC
...
Also cleans up CMN, and CMP.
2015-01-12 01:03:58 -05:00
Lioncash
9c2c89b7e1
dyncom: Add a helper function for addition with a carry
2015-01-12 00:44:28 -05:00
darkf
67c644e317
Fix building on MinGW
2015-01-11 20:22:08 -08:00
Lioncash
d2a05bbbc6
dyncom: Fix ADC overflow flag setting
2015-01-11 22:27:09 -05:00
bunnei
b33380ca59
Merge pull request #456 from Subv/waitsync1
...
SVC: Wake up the thread after the delay in WaitSync1
2015-01-11 18:52:09 -05:00
Lioncash
eabfa5cf43
dyncom: Fix conditional execution of MSR
2015-01-11 18:45:45 -05:00
bunnei
542b0b0057
Merge pull request #466 from Subv/wake
...
Thread: Prevent waking a thread multiple times.
2015-01-11 13:39:23 -05:00
Subv
b68d51ed30
Thread: Prevent waking a thread multiple times.
...
If a thread was woken up by something, cancel the wakeup timeout.
2015-01-11 13:18:52 -05:00
Subv
38da198aa1
SVC: Wake up the thread after the delay in WaitSync1
2015-01-11 10:42:59 -05:00
archshift
3b555e2512
Stubbed y2r:u IsBusyConversion
...
There is no documentation available on this function, but we set the result to false as a stub.
This allows Super Little Acorns to move all the way in game with pp3c.
2015-01-10 22:47:31 -08:00
archshift
95be6ad7ae
Added Archive ID to fs:USER debug logs involving opening the archive.
2015-01-10 14:32:11 -08:00
archshift
228843c43e
Logging: Log all called service functions (under trace). Compile out all trace logs under release for performance.
2015-01-10 14:32:10 -08:00
Yuri Kunde Schlesner
8ad41775cc
Kernel: Start using boost::intrusive_ptr for lifetime management
2015-01-09 19:43:52 -02:00
Yuri Kunde Schlesner
d751de7341
Kernel: Don't re-assign object's handle when duplicating one
2015-01-09 19:43:51 -02:00
bunnei
6ae12424df
Merge pull request #444 from yuriks/handle-reform2
...
Kernel Lifetime Reform Pt. 2
2015-01-09 12:59:35 -05:00
bunnei
86e07124ad
Merge pull request #436 from kevinhartman/system-core
...
Warn if a new thread is intended to be run on the system CPU core
2015-01-09 11:14:35 -05:00
Yuri Kunde Schlesner
78ea76e12f
Thread: Fix nullptr access in a logging function
2015-01-09 04:02:28 -02:00
Yuri Kunde Schlesner
7f1557fbbd
Thread: Rename thread_queue => thread_list
2015-01-09 04:02:17 -02:00
Yuri Kunde Schlesner
9bf8462b96
Thread: Reduce use of Handles and move some funcs to inside the class.
2015-01-09 04:02:15 -02:00
Yuri Kunde Schlesner
ba72208cd4
Kernel: Move Thread's definition to the header file
2015-01-09 03:51:55 -02:00
Yuri Kunde Schlesner
7b3452c730
Move ThreadContext to core/core.h and deal with the fallout
2015-01-09 03:51:55 -02:00