Commit graph

4194 commits

Author SHA1 Message Date
Weiyi Wang
1388a44c41 GSP: uses a dedicate VirtualToPhysical converter 2018-11-13 11:24:46 -05:00
Weiyi Wang
12daaeedf1 Memory: Use the fixed PAddr directly in RasterizerFlushVirtualRegion 2018-11-13 11:24:46 -05:00
Weiyi Wang
248106d972 Skyeye: unstub cp15 virtual to physical address 2018-11-13 11:24:46 -05:00
Weiyi Wang
b1f55c9cab
Merge pull request #4429 from wwylele/io-size
Memory: IO area is at most 4MB
2018-11-13 11:09:14 -05:00
Weiyi Wang
fe47243690
Merge pull request #4413 from wwylele/memory-global
Fix shared font addres; Remove global PhysicalToVirtualAddress
2018-11-13 00:14:24 -05:00
Weiyi Wang
194118011a Memory: IO area is at most 4MB 2018-11-12 15:12:12 -05:00
Weiyi Wang
c57ee36222 SVC: hide details in pimpl 2018-11-12 13:59:34 -05:00
Weiyi Wang
aec8b1e375 SVC: use context and generic templates 2018-11-12 13:59:34 -05:00
Weiyi Wang
28513c5177 ResultCode: use default copy assignment
Our definition of the copy assignment is equivalent to the default one, but prevents the type being trivially copyable
2018-11-12 13:59:34 -05:00
Weiyi Wang
d373a6430d SVC: move function_wrappers.h into kernel
It is only used by kernel/SVC
2018-11-12 13:59:34 -05:00
Weiyi Wang
29ade3e610 Process: check source/target overlap for Map/Unmap 2018-11-11 12:39:05 -05:00
Weiyi Wang
3db8915356 ldr_ro: properly map CRS/CRO buffer 2018-11-11 12:39:05 -05:00
Weiyi Wang
617b388354 Kernel/Process: implement prvileged Map/Unmap
This is used by svcControlProcessMemory and maps memory as Locked/AliasCode pair.

Also fixed a bug where map didn't apply specified permissions to the alias memory
2018-11-11 12:39:05 -05:00
Ben
f43524fff1
Merge pull request #4415 from wwylele/tls-state
Kernel: correct MemoryState for TLS
2018-11-11 17:53:18 +01:00
Weiyi Wang
5179915fb4 filesys/ncch: prevent buffer overflow on calculating SHA256 2018-11-10 22:58:32 -05:00
Weiyi Wang
d0edb81182 Memory: convert PAddr for N3DS FCRAM extension 2018-11-09 10:40:04 -05:00
Weiyi Wang
98ddea4ddd Kernel: correct MemoryState for TLS 2018-11-09 00:14:13 -05:00
Weiyi Wang
5325388e24 SVC: QueryMemory merges similar VMA 2018-11-08 20:42:21 -05:00
Weiyi Wang
2654a679b3 Memory: replace PhysicalToVirtualAddress with a more dedicated function
There is no external use of PhysicalToVirtualAddress any more, so it there is no need to have a generic function that handles all physical regions. Also, the previous APT change makes it possible that linear heap has some regions mapped to old and new VAddr regions at the same time, so we need to check both region and mark cached for the mapped one. RasterizerMarkRegionCached would skip the unmapped one in its loop
2018-11-08 00:19:57 -05:00
Weiyi Wang
8c65433ab5 Kernel, APT: SharedFont/SharedMemoryOnSharedDevice should always use old linear heap VAddr 2018-11-08 00:19:19 -05:00
Valentin Vanelslande
0f4a6e39c9
ldr_ro: change std::tie to structured binding 2018-11-07 13:38:52 -05:00
Weiyi Wang
1444d60109
Merge pull request #4400 from wwylele/core-timing-global
CoreTiming: wrap into class
2018-11-06 20:04:56 -05:00
Weiyi Wang
2067946f59
Kernel: reimplement memory management on physical FCRAM (#4392)
* Kernel: reimplement memory management on physical FCRAM

* Kernel/Process: Unmap does not care the source memory permission

What game usually does is after mapping the memory, they reprotect the source memory as no permission to avoid modification there

* Kernel/SharedMemory: zero initialize new-allocated memory

* Process/Thread: zero new TLS entry

* Kernel: fix a bug where code segments memory usage are accumulated twice

It is added to both misc and heap (done inside HeapAlloc), which results a doubled number reported by svcGetProcessInfo. While we are on it, we just merge the three number misc, heap and linear heap usage together, as there is no where they are distinguished.

Question: is TLS page also added to this number?

* Kernel/SharedMemory: add more object info on mapping error

* Process: lower log level; SharedMemory: store phys offset

* VMManager: add helper function to retrieve backing block list for a range
2018-11-06 15:00:47 -05:00
Weiyi Wang
9458e4d8ec CoreTiming: wrap into class 2018-11-04 10:26:38 -05:00
Weiyi Wang
2d9dfe5bce Kernel: thread manager still has to be destructed first 2018-11-04 09:29:28 -05:00
Weiyi Wang
57e1f47a52 Kernel: destruct thread/timer managers after processes (#4399)
Processes can keep some Thread/Timer object alive while the manager is already destructed, resulting use-after-free in Thread::Stop and Timer::dtor. To resolve this, the manager objects should be destructed after all related object destructed.
Fixes a bug where quiting citra causes crash while the game is using a Timer.
2018-11-04 10:24:37 +01:00
Weiyi Wang
fc84091d88 Service, Kernel: move named port list to kernel 2018-11-01 12:56:40 -04:00
Weiyi Wang
ece96807c4 Kernel: move memory_regions into Kernel instance 2018-11-01 12:56:40 -04:00
Weiyi Wang
263290d48c HLE: move SharedPage into Kernel
similar to config_mem, kernel is responsible for setting up this
2018-11-01 12:56:40 -04:00
Weiyi Wang
773ec47629 Kernel: make config_mem and MapSharedPages members of KernelSystem 2018-11-01 12:56:40 -04:00
Weiyi Wang
95790218f2 HLE: move config_mem to kernel
ConfigMem is initialized in kernel and only used by kernel. It is also likely how it works on real 3DS
2018-11-01 11:21:34 -04:00
Weiyi Wang
a753b9c6cc
Merge pull request #4228 from NarcolepticK/lle-mapped-buffer
LLE Mapped Buffer: Add unmapping of write buffer, zero-size, and multiple page handling
2018-10-30 19:18:11 -04:00
Weiyi Wang
445538c2cf
Merge pull request #4371 from wwylele/kernel-global-3
Kernel: eliminate global state for threads and timers
2018-10-30 00:36:10 -04:00
Weiyi Wang
2183d0d6be core: use internal kernel pointer directly 2018-10-30 00:35:37 -04:00
Weiyi Wang
bd4beb6558
Merge pull request #4386 from wwylele/codeset-class
Kernel/CodeSet: change struct to class
2018-10-30 00:30:50 -04:00
NarcolepticK
c97146226a LLE Mapped Buffer: Addressed comments. 2018-10-29 18:35:34 -04:00
Weiyi Wang
f63098ccdf Kernel/CodeSet: change struct to class
Fix a warning where class definition and forward declaration mismatch. CodeSet is a kernel object and have ctor/dtor/private members like others, so in convention it should be a class
2018-10-28 10:35:40 -04:00
Weiyi Wang
67888f92e5
Merge pull request #4348 from B3n30/native_firm_keys
Load keys from save mode native firm
2018-10-28 10:24:29 -04:00
fearlessTobi
6e6c437a52 applets: stub mii selector to always return a standard mii
To obtain the data, the LLEd mii selector of system version 11.8.0 was used.
In AppletManager::GlanceParameter, the following code was added to write the returned buffer data to a file:

    if (parameter.buffer.size() == 132) {
        std::u16string name(10, '\0');
        std::memcpy(name.data(), parameter.buffer.data() + 0x26, 10 * sizeof(u16));
        name = std::u16string(name.data());
        FileUtil::IOFile file{fmt::format("{}.mii", Common::UTF16ToUTF8(name)), "wb"};
        file.WriteBytes(parameter.buffer.data(), parameter.buffer.size());
    }

Then "xxd -i" was used on the file to convert it to a hex array.
2018-10-27 12:23:24 +02:00
fearlessTobi
b7117bf050 compatdb: Use a seperate endpoint for testcase submission 2018-10-27 12:20:03 +02:00
Weiyi Wang
5b7d21c3cd FileSys/DelayGenerator: add missing #include and virtual dtor (#4363)
* FileSys/DelayGenerator: add missing #include and virtual dtor

Added the needed include so that it won't cause error if another file includes this without including the depended files

Deleting a virtual class via base type without virtual dtor is UB, which happens inFileBackend.

* FileSys/DelayGenerator: move function definition into cpp file/n/nTo avoid generating vtable in all units that includes the header file

* filesys/delay_generator: rearrange #include
2018-10-27 12:46:03 +08:00
Weiyi Wang
59cb0ec570
Merge pull request #4359 from FearlessTobi/port-webstuff
web_service: Port yuzu-emu/yuzu#1465 and Port yuzu-emu/yuzu#1473 (Many self-contained changes)
2018-10-26 22:34:51 -04:00
Weiyi Wang
e5b93741d3 kernel/timer: add TimerManager for timer system states 2018-10-26 16:07:45 -04:00
Weiyi Wang
20ae37ba4f kernel/Thread: move thread list into the manager 2018-10-26 16:07:45 -04:00
Weiyi Wang
7fc61920cc kernel/Thread: move thread wake up table and callback handle into the manager 2018-10-26 16:07:45 -04:00
Weiyi Wang
0478bc3dee Kernel/Thread: move thread queue, current thread, and scheduling related function into the manager
As we touched it, remove IPC::GetCommandBuffer
2018-10-26 16:07:11 -04:00
Weiyi Wang
876729ab52 kernel/thread: move next_thread_id into manager 2018-10-26 16:07:11 -04:00
Weiyi Wang
34f1fe088c kernel/thread: add ThreadManager 2018-10-26 16:07:11 -04:00
Weiyi Wang
f3ee5feb02
Merge pull request #4358 from wwylele/kernel-global-2
kernel: Eliminate global state in process and handle_table
2018-10-26 15:51:36 -04:00
Weiyi Wang
8ad6cbfde2 kernel/thread: change owner_process parameter to reference
To enforce a valid process object
2018-10-26 09:37:46 -04:00
Weiyi Wang
fa0e82b812
SeedDB: replace seek(tell, set) with seek(cur) (#4344) 2018-10-25 21:39:26 -04:00
Weiyi Wang
e5c5d1ecce Kernel: change owner_process in Thread/SharedMemory to raw pointer
Otherwise circular ownership would form in Process->handle_table->thread->owner_process
2018-10-25 19:54:06 -04:00
Tobias
dec3fb2dcf nfc: Add Amiibo support (REOPENED) (#4337)
* Initial implementation

* Various fixes and new features

* Address some review comments

* Fixes

* Address more comments

* Use g_hle_lock

* Add more state checking, remove unneeded include

* Minor changes
2018-10-24 21:01:38 -04:00
Weiyi Wang
8d32843d68 thread/kernel: remove unused callback_id
we use the thread id for the same purpose now
2018-10-23 10:06:32 -04:00
Lioncash
6fb6737642 core/CMakeLists: Make all web_service-related libraries private
Now that all external dependencies are hidden, we can remove
json-headers from the publically linked libraries, as the use of this
library is now completely hidden from external users of the web_service
library. We can also make the web_services library private as well,
considering it's not a requirement. If a library needs to link in
web_service, it should be done explicitly -- not via indirect linking.
2018-10-23 15:43:40 +02:00
Lioncash
7142d3cf78 telemetry_session: Remove doxygen comment for a non-existent parameter
There's no "func" parameter, so this can just be removed.
2018-10-23 15:30:07 +02:00
Lioncash
61627c2042 telemetry_session: Add missing includes
Prevents potential compilation issues in the future by including missing
headers for certain functions and types.
2018-10-23 15:28:50 +02:00
Lioncash
d5bb2a21aa telemetry_session: Remove unimplemented FinalizeAsyncJob prototype
This isn't implemented anywhere, so it can just be removed.
2018-10-23 15:27:05 +02:00
Weiyi Wang
eb285c33fd kernel: make handle table per-process 2018-10-22 21:32:34 -04:00
Weiyi Wang
fda2a5cf54 kernel/thread: use std::unordered_map for callback record 2018-10-22 21:32:34 -04:00
Weiyi Wang
5b45a3e1b5 Kernel/Timer: use unordered_map for callback recording 2018-10-22 21:32:34 -04:00
Weiyi Wang
8fb3d8ff38 kernel/process: move current process to kernel instance
Two functional change:
QueryProcessMemory uses the process passed from handle instead current_process
Thread::Stop() uses TLS from owner_process instead of current_process
2018-10-22 21:32:34 -04:00
Weiyi Wang
d9342622b0 kennel/process: move process list to kernel instance 2018-10-22 21:32:34 -04:00
Weiyi Wang
4238754d8c kernel/process: move next_process_id to kernel instance 2018-10-22 09:30:48 -04:00
Lioncash
930abb4b5e svc: Correct vma_map boundary check within QueryProcessMemory
This should be using the process instance retrieved within the function,
and not g_current_process, otherwise this is potentially comparing
iterators from unrelated vma_map instances (which is undefined
behavior).
2018-10-21 22:00:12 -04:00
Weiyi Wang
6f1759c5bd
Merge pull request #4341 from wwylele/kernel-global
Kernel: make a kernel instance and remove object ID counter from global state
2018-10-21 18:53:36 -04:00
Zak Kurka
92f8b71137 Make ApplyIPS static and private 2018-10-21 10:42:23 -05:00
Zak Kurka
05c1816504 Stay in bounds 2018-10-21 07:48:54 -05:00
Zak Kurka
1c62bc06cf Add rle record support 2018-10-21 07:48:29 -05:00
Zak Kurka
d8284dfacc Log invalid IPS attempt 2018-10-21 07:47:27 -05:00
Zak Kurka
d0b54e9939 Check for EOF 2018-10-20 23:25:16 -05:00
Zak Kurka
2778801dc5 Updated based on review 2018-10-20 19:45:16 -05:00
Zak Kurka
2a5b56bb1d Be more intentional with check 2018-10-20 18:17:54 -05:00
Zak Kurka
261dc33507 Merge branch 'master' of github.com:citra-emu/citra into ips-patches 2018-10-20 18:11:38 -05:00
Zak Kurka
bf50bb06f1 Minor style changes and use memcpy 2018-10-20 18:10:32 -05:00
Weiyi Wang
11729eafe1
Merge pull request #4315 from FearlessTobi/port-1332
WebService: Backport review comments from yuzu-emu/yuzu#1332
2018-10-20 18:05:06 -04:00
Zak Kurka
2496ecbaf6 Added IPS patching 2018-10-20 13:09:05 -05:00
Weiyi Wang
65ec8de31e web_service: hide dependencies to private 2018-10-20 10:47:17 -04:00
fearlessTobi
9901b289b6 Review comments -part 4 2018-10-20 10:35:55 -04:00
fearlessTobi
b0aed19823 Address a bunch of review comments 2018-10-20 10:35:55 -04:00
Weiyi Wang
18caa787d2
Merge pull request #4197 from B3n30/spsc_queue_wait
threadsafe_queue: Add PopWait and use it where possible
2018-10-19 19:36:37 -04:00
Weiyi Wang
751ebe55e9 Kernel: pass ref down to Object and wrap ID counter into kernel state 2018-10-18 21:41:36 -04:00
Weiyi Wang
87426b29ff kernel: pass ref to shared memory 2018-10-18 21:41:36 -04:00
Weiyi Wang
2a411bb501 Kernel: wrap resource limit state into kernel state; pass ref to resource limit 2018-10-18 21:41:36 -04:00
Weiyi Wang
13c26b4371 Kernel: pass ref to session pair 2018-10-18 21:41:36 -04:00
Weiyi Wang
1213a298df Kernel: pass ref to port 2018-10-18 21:41:36 -04:00
Weiyi Wang
c141657d83 Kernel: pass ref to timer 2018-10-18 21:41:36 -04:00
Weiyi Wang
247249d5d3 Kernel: pass ref to sempahore 2018-10-18 21:41:36 -04:00
Weiyi Wang
181646679c ServiceManager: pass down core reference 2018-10-18 21:41:36 -04:00
Weiyi Wang
d940293d32 Kernel: pass ref to thread 2018-10-18 21:41:36 -04:00
Weiyi Wang
9565091fc2 kernel: pass ref in Process 2018-10-18 21:41:36 -04:00
Weiyi Wang
213b259cf1 kernel: pass ref in CodeSet 2018-10-18 21:41:36 -04:00
Weiyi Wang
7449ba85a6 Kernel: pass ref in Mutex 2018-10-18 21:41:36 -04:00
Weiyi Wang
eec11a94cb Kernel: pass Kernel ref in Event 2018-10-18 21:41:36 -04:00
Weiyi Wang
734be98966 Kernel: pass Kernel reference into AddressArbiter 2018-10-18 21:41:00 -04:00
Weiyi Wang
f446fd1fe5 Kernel: add KernelSystem class 2018-10-18 21:41:00 -04:00
Weiyi Wang
1de63f9b16
Merge pull request #4328 from B3n30/remove_current_module
remove GetCurrentModule() functions in HLE Services
2018-10-18 21:39:24 -04:00
Weiyi Wang
ad232efbf0 apply fixes 2018-10-17 18:35:16 +02:00
B3n30
be3bd18c42 Load keys from new3DS native firm 2018-10-17 17:44:54 +02:00
B3n30
15c9db0883 Load keys from the o3DS save mode native firm 2018-10-17 17:44:52 +02:00
B3n30
1849e8b09c HW::AES: add generator_constant 2018-10-17 16:07:11 +02:00
Ben
f48157c6ea
Load AES keys stored in boot9.bin (#4335)
* Load AES keys stored in boot9.bin
2018-10-17 10:13:55 +02:00
Ben
b01b94d843 FileSys::Ticket::Load: Return error if signature type does not match (#4339)
* FileSys::Ticket::Load: Return error if signature type does not match

* fixup! FileSys::Ticket::Load: Return error if signature type does not match
2018-10-15 11:26:35 -04:00
Pengfei Zhu
0df32275a7
Merge pull request #4282 from zhaowenlan1779/frame-advance
core, citra_qt: add frame advancing to framelimiter
2018-10-15 21:25:41 +08:00
B3n30
eb3af0f16a Add GetModule() helper functions, for HID, CAM, and CFG 2018-10-12 11:50:50 +02:00
B3n30
1b1de23a98 Fixup: Remove unneeded GetUsername 2018-10-11 20:05:45 +02:00
B3n30
9d53136f20 remove GetCurrentModule() functions in HLE Services 2018-10-11 19:23:14 +02:00
Weiyi Wang
0962ab8da9
Merge pull request #4305 from wwylele/fs-global
FS/archive: wrap states into ArchiveManager class
2018-10-11 13:04:02 -04:00
Weiyi Wang
9adc407112
Merge pull request #4304 from B3n30/std_optional
Replace boost::optional with std::optional where possible
2018-10-11 12:40:00 -04:00
B3n30
e267377111 More fixes 2018-10-09 10:26:44 +02:00
B3n30
ad8b9c0429 Adressed review comments 2018-10-08 23:28:54 +02:00
Sebastian Valle
f405134913
Merge pull request #4306 from Subv/apt_jump
Services/APT: Better implementation of PrepareToDoApplicationJump and DoApplicationJump.
2018-10-08 15:44:38 -05:00
Ben
d99b1f581f NWM_UDS: Signal bind_node_event in Unbind (#4321) 2018-10-08 15:44:14 -05:00
Weiyi Wang
756a3d404a
Merge pull request #4283 from valentinvanelslande/seed-db
Implement SeedDB & Seed Crypto
2018-10-08 14:18:42 -04:00
Weiyi Wang
0b7b9a51d6
Merge pull request #4299 from B3n30/uds
NWM_UDS: Fix some issues, cleanups, better PacketHandling
2018-10-07 13:56:59 -04:00
Subv
8ec2a9817c Services/APT: Better implementation of PrepareToDoApplicationJump and DoApplicationJump.
The real console can't launch an Application directly from within another Application so it has to go through the Home Menu. We do not have such limitation and can directly launch the requested title.
2018-10-06 17:08:24 -05:00
Valentin Vanelslande
7b6c5cd988
fix reply header 2018-10-06 16:59:57 -05:00
Weiyi Wang
389d3d630e fs/archive: wrap states into archive manager 2018-10-06 01:23:03 -04:00
Weiyi Wang
7678327bf2 fs/archive: move file and directory classes to their own files 2018-10-06 01:23:03 -04:00
Valentin Vanelslande
dcd6e7f99f movie: fix some checks
Fixes invalid movie error
2018-10-05 17:20:14 -05:00
Weiyi Wang
b163502744
Core: pass down Core::System reference to all services (#4272)
* Core: pass down Core::System reference to all services

This has to be done at once due to unified interface used by HLE/LLE switcher

* apt: eliminate Core::System::GetInstance

* gpu_gsp: eliminate Core::System::GetInstance in service

* hid: eliminate Core::System::GetInstance

* nwm: eliminate Core::System::GetInstance

* err_f: eliminate Core::System::GetInstance
2018-10-05 10:59:43 -04:00
B3n30
2306af3600 Handle cases when std::optional does not contain a value 2018-10-05 16:51:33 +02:00
Pengfei Zhu
2a90426cb8
Merge pull request #4267 from zhaowenlan1779/movie
movie: Add clock init time to CTM header
2018-10-05 08:20:33 -05:00
B3n30
d37a2270d6 Replace boost::optional with std::optional where possible 2018-10-05 13:51:09 +02:00
B3n30
7efe60ed23 Use SPSCQueue::PopWait in Scripting 2018-10-05 11:25:23 +02:00
Pengfei Zhu
87e16c80ac
Merge pull request #4229 from zhaowenlan1779/open-folder
citra_qt, core: game list "Open XXX Location" improvements
2018-10-05 00:46:43 -05:00
Weiyi Wang
eb494c574d
Merge pull request #4244 from wwylele/swap-enum
common/swap: add swap template for enum
2018-10-04 14:51:49 -04:00
B3n30
458346d1e8 Adressed feedback 2018-10-04 12:34:51 +02:00
B3n30
38f136048e Cleanup NWM_UDS::SendTo 2018-10-04 00:00:49 +02:00
Weiyi Wang
ea53b0f795
Merge pull request #4298 from Subv/am_titles
Services/AM: Implemented BeginImportProgramTemporarily, EndImportProgramWithoutCommit and CommitImportPrograms.
2018-10-03 17:41:40 -04:00
B3n30
7e7f17c78d Add filter to PacketHandling; Fix some issues with Disconnect 2018-10-03 23:07:31 +02:00
Weiyi Wang
cfa52e2b7b
Merge pull request #4296 from B3n30/service_getter
Give frontend access to the hle service interfaces
2018-10-03 15:58:27 -04:00
Subv
0f6f7cfd95 Services/AM: Implemented BeginImportProgramTemporarily, EndImportProgramWithoutCommit and CommitImportPrograms.
These functions are pretty much identical to BeginImportProgram and EndImportProgram.

We don't need to do anything special in EndImportProgramWithoutCommit and CommitImportPrograms because we don't need to implement the two-phase title installation that the 3DS uses to prevent corruption of the title.db.
2018-10-03 14:48:39 -05:00
B3n30
544eb25c99 fixup! Give frontend access to the hle service interfaces 2018-10-03 20:08:01 +02:00
B3n30
d3694a930e Give frontend access to the hle service interfaces 2018-10-03 19:44:23 +02:00
Sebastian Valle
3790ccc7b2
Merge pull request #4287 from Subv/am_subfile
Services/AM: Support using FS subfiles with the CIA-related service functions.
2018-10-03 10:13:46 -05:00
Subv
5165b63512 Services/AM: Support using FS subfiles with the CIA-related service functions.
FS subfiles are created with File::OpenSubFile, they have a start offset that must be added to all read/write operations.

The implementation in this commit is done using a new FileBackend that wraps the FS::File along with the start offset.
2018-10-03 09:57:05 -05:00
bunnei
2d116607fe
Merge pull request #4288 from Subv/am_system_mutex
Services/AM: Implement the GetSystemUpdaterMutex function.
2018-10-02 11:14:04 -04:00
Valentin Vanelslande
b067b5aa5a Implement SeedDB & Seed Crypto 2018-10-02 10:12:40 -05:00
Subv
7aa97198a3 Services/AM: Implement the GetSystemUpdaterMutex function.
This function just returns a Mutex.
2018-10-02 09:07:00 -05:00
NarcolepticK
32aecd42a2 LLE Mapped Buffer: Corrected behavior 2018-10-01 21:07:25 -04:00
zhupengfei
8cf1132b2e
ncch_container: choose the first id as extdata id when extended save data access is used 2018-10-02 08:15:10 +08:00
zhupengfei
cb775eb1ba
core, citra_qt: add frame advancing to framelimiter
Frame advancing is a commonly used TAS feature which basically means running the game frame by frame. TASers use this feature to press exact buttons at the exact frames. This commit added frame advancing to the framelimiter and two actions to the Movie menu. The default hotkey is `\` for advancing frames, and `Ctrl+A` for toggling frame advancing. The `Advance Frame` hotkey would automatically enable frame advancing if not already enabled.
2018-10-02 07:28:58 +08:00
Weiyi Wang
fceec34945
Merge pull request #4278 from wwylele/cfg-ptm-direct-fs
cfg, ptm: access FS via backend directly
2018-10-01 18:32:43 -04:00
Weiyi Wang
0e77cd385a
Merge pull request #4277 from wwylele/cecd-direct-fs
cecd: access FS via backend directly
2018-10-01 18:26:51 -04:00
Weiyi Wang
fb720c00b7
Merge pull request #4273 from wwylele/apt-direct-fs
APT: access FS via backend directly
2018-10-01 14:24:06 -04:00
Weiyi Wang
5fb3137bdc
Merge pull request #4181 from wwylele/cia-crypto
Add encrypted CIA support
2018-10-01 14:23:35 -04:00
NarcolepticK
51d53a6281 LLE Mapped Buffer: addressed comments 2018-09-30 23:23:21 -04:00
NarcolepticK
19291ba465 LLE Mapped Buffer: Add unmapping, zero-size, and multiple page handling 2018-09-30 22:34:13 -04:00
bunnei
9f972b9f5c
Merge pull request #4276 from MerryMage/jit_breakpoints
arm_dynarmic: Pass breakpoints to gdbstub
2018-09-30 21:42:00 -04:00
bunnei
27203c0d47
Merge pull request #4274 from wwylele/http-direct-fs
http_c: access FS via backend directly
2018-09-30 21:37:07 -04:00
zhupengfei
bbf391abb9
citra_qt, core: game list "Open XXX Location" improvements 2018-10-01 08:42:22 +08:00
MerryMage
b4d9d9661a arm_dynarmic: Pass breakpoints to gdbstub
Allow gdbstub to handle execution breakpoints
2018-09-30 19:40:49 +01:00
zhupengfei
9d142f981d
movie: fix default value in StartPlayback 2018-09-30 14:26:38 +08:00
Weiyi Wang
4a30a502a0
Merge pull request #4211 from wwylele/web-cleanup
web_service: stop using std::future + callback style async
2018-09-29 23:02:27 -04:00
Weiyi Wang
edc6e419b0
Merge pull request #4232 from wwylele/multi-region
loader, cfg: choose region based on language if multiple regions available
2018-09-29 23:01:36 -04:00
Weiyi Wang
f5a3ec18c2
Merge pull request #4072 from B3n30/httpc3
Service::HTTP_C: Implement Client Cert opening and closing
2018-09-29 22:53:49 -04:00
Lioncash
d64094a0d2 kernel/object: Remove unnecessary std::move from DynamicObjectCast()
boost::static_pointer_cast for boost::intrusive_ptr (what SharedPtr is),
takes its parameter by const reference. Given that, it means that this
std::move doesn't actually do anything other than obscure what the
function's actual behavior is, so we can remove this. To clarify, this
would only do something if the parameter was either taking its argument
by value, by non-const ref, or by rvalue-reference.
2018-09-29 23:14:10 +02:00
Weiyi Wang
bcb5d438a9 cfg: access FS via backend directly 2018-09-28 17:32:05 -04:00
Weiyi Wang
2757eff122 ptm: access FS via backend directly 2018-09-28 17:21:45 -04:00
Weiyi Wang
b03332d09b fs: remove ArchiveFactory_ExtSaveData::Initialize
This is unnecessary as any open archive would create the full path for themselves
2018-09-28 17:08:39 -04:00
Weiyi Wang
bb252ecab3 cecd: access FS via backend directly 2018-09-28 17:03:24 -04:00
Weiyi Wang
0bc98cdca4 http_c: access FS via backend directly 2018-09-28 14:25:19 -04:00
Weiyi Wang
94b273ac20 APT: access FS via backend directly 2018-09-28 14:08:30 -04:00
zhupengfei
ae5c658997
movie: Add clock init time to CTM header
This adds a clock init time field to the CTM header. The clock settings would be overridden when playing a movie. And when recording a movie, if the clock is set to System Time, it would be set to fixed init time at the current moment as well. In this way this keeps consistency with the RNG even if the user does just no setting.
2018-09-27 22:18:10 +08:00
Weiyi Wang
7c97e8df62
Merge pull request #4256 from wwylele/country-list
archive_ncch: add open source country list archive
2018-09-27 10:09:37 -04:00
Weiyi Wang
892ca2a94a
Merge pull request #4209 from zhaowenlan1779/play-coin
service/ptm, citra_qt: Add Play Coins setting
2018-09-27 10:09:02 -04:00
Weiyi Wang
08bfba5d8e
Merge pull request #4005 from NarcolepticK/stub-cecd
service/cecd: Implement some functions
2018-09-27 10:08:14 -04:00
Weiyi Wang
f05740a5fd
Merge pull request #4224 from FearlessTobi/port-1310
Port #734 and #1310 from yuzu: Changes to Thread-related enums
2018-09-25 23:07:43 -04:00
EverOddish
15d44f0450 Review changes for enable/disable scripting 2018-09-23 20:13:28 -04:00
EverOddish
fce7afb8dc Added CMake option to enable/disable scripting support 2018-09-23 19:16:18 -04:00
Weiyi Wang
9668852c0d Service/AM: handle encrypted CIA 2018-09-23 13:05:55 -04:00
Weiyi Wang
df77491938 FileSys/cia: add ticket parsing 2018-09-23 13:05:55 -04:00
Weiyi Wang
b70e2bce58 HW/AES: add common key loading and selecting 2018-09-23 13:00:07 -04:00
Pengfei Zhu
6b538a49ac
Merge pull request #4246 from FearlessTobi/port-1346
Port yuzu-emu/yuzu#1346: "svc_wrap: Convert the PARAM macro into a function"
2018-09-23 13:10:11 +08:00
Weiyi Wang
20e42592ff
Merge pull request #4249 from FearlessTobi/port-760
Port yuzu-emu/yuzu#760: "file_util: Use an enum class for GetUserPath()"
2018-09-22 23:42:59 -04:00
Weiyi Wang
1123580738 archive_ncch: add open source country list archive 2018-09-22 16:11:57 -04:00
Lioncash
d2cd4a464d svc_wrap: Convert the PARAM macro into a function
This can just be a regular function, getting rid of the need to also
explicitly undef the define at the end of the file. Given FuncReturn()
was already converted into a function, it's #undef can also be removed.
2018-09-22 21:20:22 +02:00
Lioncash
b3221c3180 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-09-22 21:18:56 +02:00
Lioncash
46da908a00 service: Use nested namespace specifiers where applicable
There were a few places where nested namespace specifiers weren't being
used where they could be within the service code. This amends that to
make the namespacing a tiny bit more compact.
2018-09-22 16:14:10 +02:00
Weiyi Wang
41d53cee1f nwm/uds_data: specify endianness for enum 2018-09-22 00:28:44 -04:00
Weiyi Wang
e0336403ee nwm/uds_connection: specify endiannes for enum 2018-09-22 00:28:44 -04:00
Weiyi Wang
16b36b6025 service/cro: specify endianness for enum 2018-09-22 00:28:44 -04:00
Weiyi Wang
18e94897c4 hle/swkbd: specify endianness for enum and other members 2018-09-22 00:28:44 -04:00
Weiyi Wang
39feb0610b filesys/archive_selfncch: specify endiannes for enum 2018-09-22 00:28:44 -04:00
Weiyi Wang
9564b4b292 filesys/archive_ncch: specify endianness for enum
NCCHArchivePath::media_type is unchanged because its underlying type is unclear
2018-09-22 00:28:44 -04:00
Weiyi Wang
d1a576eb14
Merge pull request #4113 from namkazt/soc_recv_from
fix soc service - RecvFrom - SendTo
2018-09-21 12:33:23 -04:00
Weiyi Wang
e9ed1c98da
Merge pull request #4114 from namkazt/soc_recv_from_other
Implement soc - RecvFromOther
2018-09-21 12:33:12 -04:00
fearlessTobi
3ee9f669c1 Address review comments 2018-09-21 16:39:10 +02:00
James Rowe
687e3e74ca
Merge pull request #3959 from zhaowenlan1779/semi-reset
service/apt: Implement soft reset & CloseApplication
2018-09-19 21:02:59 -06:00
Weiyi Wang
697bc1a9c7 loader, cfg: choose region based on language if multiple regions available 2018-09-18 10:26:31 -04:00
Lioncash
5ddd382a9b kernel/svc: Do nothing if svcOutputDebugString's length is <= 0
While likely very uncommon, this sanitizes the input and does nothing in
the event of the length being equal to or less than zero, avoiding
constructing a std::string when there's no need to. It also avoids an
out-of-memory scenario, as a negative value would wrap around to its
equivalent unsigned representation in std::string's constructor.

e.g. If someone was silly and a length of -1 was specified, this would
make a string with a length of 0xFFFFFFFFFFFFFFFF on a 64-bit platform,
which will obviously eventually fail due to the allocation being way too
large.
2018-09-17 19:52:53 -04:00
Lioncash
ca3d9d659e kernel/thread: Include thread-related enums within the kernel namespace
Previously, these were sitting outside of the Kernel namespace, which
doesn't really make sense, given they're related to the Thread class
which is within the Kernel namespace.
2018-09-15 17:16:20 +02:00
Lioncash
5dfa7b74b5 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-09-15 17:02:44 +02:00
zhupengfei
458f8d103b
service/ptm: Add Get/SetPlayCoins functions 2018-09-14 22:28:38 +08:00
Weiyi Wang
77c1f647cb web_service: stop using std::future + callback style async 2018-09-13 16:14:34 -04:00
Valentin Vanelslande
dce26367a2
ipc: fix typo 2018-09-13 11:51:08 -05:00
Weiyi Wang
0a4d338ffa
Merge pull request #4138 from FearlessTobi/change-web-links
web_service: Unify links for web service endpoints
2018-09-12 16:31:59 -04:00
fearlessTobi
b82bf1ccdb Change variable name to web_api_url 2018-09-12 19:07:06 +02:00
EverOddish
04dd91be82 Initial support for scripting (#4016)
* Add ZeroMQ external submodule

* ZeroMQ libzmq building on macOS

* Added RPC namespace, settings and logging

* Added request queue handling and new classes

* Add C++ interface to ZeroMQ

* Added start of ZeroMQ RPC Server implementation.

* Request construction and callback request handling

* Read and write memory implementation

* Add ID to request format and send reply

* Add RPC setting to macOS UI

* Fixed initialization order bug and added exception handling

* Working read-write through Python

* Update CMakeLists for libzmq to resolve target name conflict on Windows

* Platform-specific CMake definitions for Windows/non-Windows

* Add comments

* Revert "Add RPC setting to macOS UI"

* Always run RPC server instead of configurable

* Add Python scripting example. Updated .gitignore

* Rename member variables to remove trailing underscore

* Finally got libzmq external project building on macOS

* Add missing dependency during libzmq build

* Adding more missing dependencies [skip ci]

* Only build what is required from libzmq

* Extra length checks on client input

* Call InvalidateCacheRange after memory write

* Revert MinGW change. Fix clang-format. Improve error handling in request/reply. Allow any length of data read/write in Python.

* Re-organized RPC static global state into a proper class. [skip ci]

* Make sure libzmq always builds in Release mode

* Renamed Request to Packet since Request and Reply are the same thing

* Moved request fulfillment out of Packet and into RPCServer

* Change request thread from sleep to condition variable

* Remove non-blocking polling from ZMQ server code. Receive now blocks and terminates properly without sleeping. This change significantly improves script speed.

* Move scripting files to dist/ instead of src/

* C++ code review changes for jroweboy [skip ci]

* Python code review changes for jroweboy [skip ci]

* Add docstrings and tests to citra.py [skip ci]

* Add host OS check for libzmq build

* Revert "Add host OS check for libzmq build"

* Fixed a hang when emulation is stopped and restarted due to improper destruction order of ZMQ objects [skip ci]

* Add scripting directory to archive packaging [skip ci]

* Specify C/CXX compiler variables on MinGW build

* Only specify compiler on Linux mingw

* Use gcc and g++ on Windows mingw

* Specify generator for mingw

* Don't specify toolchain on windows mingw

* Changed citra.py to support Python 3 instead of Python 2

* Fix bug where RPC wouldn't restart after Stop/Start emulation

* Added copyright to headers and reorganized includes and forward declarations
2018-09-11 22:00:12 +02:00
NarcolepticK
0d15b99bfc service/cecd: Corrected cecd:s function table 2018-09-11 14:39:48 -04:00
NarcolepticK
105bcc95c0 service/cecd: Add hmac handling 2018-09-10 19:53:23 -04:00
NarcolepticK
192a0f3b92 service/cecd: Update handling of /outbox/boxinfo and /outbox/obindex 2018-09-10 04:21:24 -04:00
Valentin Vanelslande
5c4da2d218
svc: change unknown to thread in CreateThread 2018-09-08 07:40:24 -05:00
NarcolepticK
648cecf1aa service/cecd: Utilize CryptoPP::Base64Encoder for message id 2018-09-07 23:09:14 -04:00
zhupengfei
ad6b140cb0
service/apt: Implement soft reset & CloseApplication 2018-09-08 11:05:23 +08:00
NarcolepticK
ff1beca74a service/cecd: Fixed enum item naming style 2018-09-07 19:36:33 -04:00
Weiyi Wang
7d8f115185 Prefix all size_t with std::
done automatically by executing regex replace `([^:0-9a-zA-Z_])size_t([^0-9a-zA-Z_])` -> `$1std::size_t$2`
2018-09-06 16:03:28 -04:00
Merry
eca98eeb3e
Merge pull request #4143 from zhaowenlan1779/shared-font-text-fix
core, citra_qt: unify status of system archives and shared fonts
2018-09-06 20:51:32 +01:00
NarcolepticK
69b3217394 service/cecd: Addressed comments, code cleanup 2018-09-06 15:50:27 -04:00
NarcolepticK
c89759f597 service/cecd: Corrected eventlog.dat creation 2018-09-06 15:50:27 -04:00
NarcolepticK
c185c35bc2 service/cecd: Clang format fixup 2018-09-06 15:50:27 -04:00
NarcolepticK
dd7234a6d0 service/cecd: Migrate Common::StringFromFormat(...) to fmt::format(...) 2018-09-06 15:50:27 -04:00
NarcolepticK
25e7209d5c service/cecd: Updated function names 2018-09-06 15:50:27 -04:00
NarcolepticK
7a8477d106 service/cecd: Implement mboxlist handling 2018-09-06 15:50:27 -04:00
NarcolepticK
0e8398b51c service/cecd: Update header checks and increased debug logging 2018-09-06 15:50:27 -04:00
NarcolepticK
71204e525f service/cecd: Corrected behaviour, started checking and updating file headers 2018-09-06 15:50:27 -04:00
NarcolepticK
d88ad61da4 service/cecd: Output icon to MBoxData.001 and title to MBoxData.010 2018-09-06 15:50:27 -04:00
NarcolepticK
010fbd8614 service/cecd: Update default values for in/out box info header 2018-09-06 15:50:27 -04:00
NarcolepticK
d99585aa53 service/cecd: Add MBox directory check to OpenAndRead and OpenAndWrite and added a CreateAndPopulateMBoxDirectory function 2018-09-06 15:50:27 -04:00
NarcolepticK
30bbea3f4e service/cecd: Add initial files to archive after it is formatted 2018-09-06 15:50:27 -04:00
NarcolepticK
e27c1bd1f5 service/cecd: Addressed comment about PopEnum 2018-09-06 15:50:27 -04:00
NarcolepticK
413f1651b7 service/cecd: Implement basic file handling functions. 2018-09-06 15:50:26 -04:00
NarcolepticK
2ee395d7de service/cecd: Implement functions 2018-09-06 15:50:26 -04:00
NarcolepticK
5dacf92fd7 service/cecd: Stub some functions 2018-09-06 15:50:26 -04:00
fearlessTobi
cf8b1726df Address review comments 2018-09-06 00:00:21 +02:00
fearlessTobi
cb3ef488c7 Fixup! string_util: Remove StringFromFormat() and related functions 2018-09-06 00:00:21 +02:00
Lioncash
3284bef360 string_util: Remove StringFromFormat() and related functions
Given we utilize fmt, we don't need to provide our own functions for formatting anymore
2018-09-06 00:00:21 +02:00
fearlessTobi
0d6b1d161b web_service: Unify links for web service endpoints 2018-09-05 03:07:03 +02:00
B3n30
dfb82b4dfd fixup! fix num_client_certs in CloseClientCertContext 2018-09-04 08:16:25 +02:00
Nguyen Dac Nam
a8af14ad12
change buffer index from 1 to 0. 2018-09-04 09:41:34 +07:00
Weiyi Wang
ae6007bf9d
Merge pull request #4069 from B3n30/wait_for_service_register
Service::SM: Wait till client is registered
2018-09-04 01:57:28 +03:00
Weiyi Wang
fffa55b5d8
Merge pull request #4139 from tgsm/hid-update-table
Service/HID: update function table
2018-09-04 01:47:26 +03:00
B3n30
cfd81be661 fixup! fixup! Service::SM: Wait till client is registered 2018-09-02 22:50:13 +02:00
B3n30
ae37b404c6 fixup! fixup! Service::SM: Wait till client is registered 2018-09-02 16:42:41 +02:00
Merry
978611e51e
Merge pull request #4086 from MerryMage/dynarmic-update-201808
externals: Update dynarmic
2018-09-02 09:55:32 +01:00
Merry
f1b8d091db
Merge pull request #4157 from FearlessTobi/port-1048
Port #1048 from yuzu: "kernel/object: Tighten object against data races"
2018-09-02 09:54:49 +01:00
Merry
85e0553a1f
Merge pull request #4165 from B3n30/log_ncch_load
NCCH_Container: Add file_path log to Load()
2018-09-02 09:52:30 +01:00
Pengfei Zhu
ac419c8612
Merge pull request #4159 from FearlessTobi/port-1067
Port yuzu-emu/yuzu#1067 from yuzu: "emu_window: Ensure WindowConfig members are always initialized"
2018-08-31 19:44:33 +08:00
Pengfei Zhu
13f2cc9964
Merge pull request #4162 from FearlessTobi/port-1126
Port yuzu-emu/yuzu#1126 from yuzu: "Don't allocate std::string instances for program lifetime in GetTelemetryId() and RegenerateTelemetryId()"
2018-08-31 17:39:49 +08:00
B3n30
bfbb6f13b4 NCCH_COntainer: Add file_path log to Load() 2018-08-31 11:00:34 +02:00
Lioncash
893f6e9766 telemetry_session: Don't allocate std::string instances for program lifetime in GetTelemetryId() and RegenerateTelemetryId()
Given these functions aren't intended to be used frequently, there's no
need to keep the std::string instances allocated for the whole lifetime
of the program. It's just a waste of memory.
2018-08-31 01:51:32 +02:00
Lioncash
d82ecb67f7 emu_window: Ensure WindowConfig members are always initialized
Previously we weren't always initializing all members of the struct.
Prevents potentially wonky behavior from occurring.
2018-08-31 00:55:04 +02:00
Lioncash
8fa861c2c6 memory: Make prototype parameter names match their definitions
Keeps the code consistent.
2018-08-31 00:33:20 +02:00
Lioncash
379b8c65b9 memory: Remove unnecessary const qualifiers in prototypes
These aren't necessary, as value-wise const only matters in the
definition.
2018-08-31 00:22:55 +02:00
Lioncash
c47e1db46d kernel/object: Tighten object against data races
Despite being covered by a global mutex, we should still ensure that the
class handles its reference counts properly. This avoids potential
shenanigans when it comes to data races.

Given this is the root object that drives quite a bit of the kernel
object hierarchy, ensuring we always have the correct behavior (and no
races) is a good thing.
2018-08-31 00:14:48 +02:00
tgsm
7136777fec Service/HID: update function table
update
2018-08-29 17:51:47 -04:00
zhupengfei
f28bc28d6b
core, citra_qt: unify status of system archives and shared fonts
Shared fonts is no different from any other system archives, and there is not really any point to make a separate status for it. This also fixes the incorrect error message that was introduced when I made the UI text improvements.
2018-08-27 22:40:35 +08:00
James Rowe
83cc398514
Merge pull request #4127 from FearlessTobi/port-929
Port #929 from yuzu: "gdbstub: Minor changes "
2018-08-26 12:21:11 -06:00
James Rowe
a6723ec2eb
Merge pull request #4126 from FearlessTobi/port-892
Port #892 from yuzu: "Make global EmuWindow instance part of the base renderer class"
2018-08-26 12:00:55 -06:00
Ben
b20607dfc6 Add system time configuration (#4043)
* Add setting to switch between a fixed start time and the system time

Add clock settings to SDL

Make clock configureable in qt

Add a SharedPage handler class

Init shared_page_handler for tests
2018-08-26 11:47:45 -06:00
James Rowe
13262c187c
Merge pull request #3922 from zhaowenlan1779/qt-movie
movie: Add Qt Movie feature
2018-08-26 11:07:15 -06:00
MerryMage
1817e30eff arm_dynarmic: Print current instruction when ExceptionRaised 2018-08-26 00:50:40 +01:00
MerryMage
75f3d2ba31 externals: Update dynarmic to 7a2a4c8 2018-08-26 00:50:38 +01:00
Merry
9b9227089b
Merge pull request #4121 from FearlessTobi/port-894
Port #894 from yuzu: "kernel: Move object class to its own source files"
2018-08-26 00:02:33 +01:00
Lioncash
91559bfdfe 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-25 15:34:21 +02:00
fearlessTobi
80f1ffd8dc Remove newline 2018-08-25 15:27:47 +02:00
Lioncash
8a109333b7 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-25 15:27:46 +02:00
Lioncash
db8ec37066 gdbstub: Replace PAddr alias with VAddr
In all cases, a virtual address is being passed in, not a physical one.
2018-08-25 15:25:12 +02:00
fearlessTobi
f61c9c3eb7 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-25 15:20:40 +02:00
Merry
b49d042200
Merge pull request #4101 from Hedges/GDBClean
GDB Modernization
2018-08-25 13:58:38 +01:00
fearlessTobi
8fceac801c Fix clang-format 2018-08-25 14:05:59 +02:00
Merry
0a5621fafc
Merge pull request #3970 from FearlessTobi/more-popup-madness
citra_qt: Add more verbose popups for video_core errors
2018-08-24 19:21:35 +01:00
Merry
cf4f8463f1
Merge pull request #4122 from FearlessTobi/port-905
Port #905 from yuzu: "kernel/vm_manager: Minor changes"
2018-08-24 19:01:57 +01:00
Merry
f2816aa430
Merge pull request #4123 from FearlessTobi/port-914
Port #914 from yuzu: "kernel/process: Use accessors instead of class members for referencing segment array"
2018-08-24 19:01:07 +01:00
zhaowenlan1779
642f0bd62b Port "kernel/event: Make data members private" from yuzu (#4077)
* kernel/event: Make data members private

Instead we can simply provide accessors to the required data instead of
giving external read/write access to the variables directly.

* fix compile error
2018-08-24 19:43:28 +02:00
zhaowenlan1779
75927ee462 Port "client_port: Make all data members private" from yuzu (#4064)
* client_port: Make all data members private

These members don't need to be entirely exposed, we can instead expose
an API to operate on them without directly needing to mutate them

We can also guard against overflow/API misuse this way as well, given
active_sessions is an unsigned value.

* make the condition an assert
2018-08-24 19:31:20 +02:00
fearlessTobi
2abe11ee1e Fix compile errors 2018-08-23 18:23:21 +02:00
Lioncash
c786df3e4b kernel/process: Use std::array where applicable 2018-08-23 18:08:20 +02:00
Lioncash
37e78de206 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-23 18:08:03 +02:00
Lioncash
469ed4a09f kernel/vm_manager: Convert loop into std::any_of() 2018-08-23 17:53:37 +02:00
Lioncash
c7e1dab45b kernel/vm_manager: Use const where applicable
Makes our immutable state explicit.
2018-08-23 17:53:20 +02:00
Lioncash
bb88c3b7b5 kernel/vm_manager: Use the VAddr type alias in CarveVMA()
These two variables correspond to address ranges.
2018-08-23 17:39:18 +02:00
Lioncash
63c7b44ba8 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-23 17:31:59 +02:00
Nguyen Dac Nam
41f256f3cd
fix clang-format 2018-08-21 22:22:50 +07:00
Nguyen Dac Nam
8d98a387ac
only get src_adr if input_adr available 2018-08-21 21:39:45 +07:00
Nguyen Dac Nam
0e89555a89
only get src_adr if input_adr available 2018-08-21 21:33:19 +07:00
Nguyen Dac Nam
e8bb79be2d
do not init and copy to ctr_dest_addr unless have data 2018-08-21 20:51:13 +07:00
Nguyen Dac Nam
3b736a72a5
fix clang-format 2018-08-21 13:45:28 +07:00
Nguyen Dac Nam
c5eec5656d
add RecvFromOther cmd 2018-08-21 13:40:11 +07:00
Nguyen Dac Nam
2cb979ed29
add header RecvFromOther 2018-08-21 13:38:14 +07:00
Nguyen Dac Nam
fc8c199895
fix soc service - RecvFrom crash on Citra but not on 3DS 2018-08-21 12:59:02 +07:00
Nguyen Dac Nam
7d8569d799
fix soc service - Fcntl failed on validate header 2018-08-21 12:14:18 +07:00
zhupengfei
3b459f6eb3 citra_qt, movie: allow recording/playback before emulation starts 2018-08-20 11:34:27 +02:00
zhupengfei
0f44f7b481 core/movie: Movie refactor, add a completion callback 2018-08-20 11:27:25 +02:00
fearlessTobi
d1c5f01afe Add more verbose popups for video_core errors 2018-08-19 15:48:40 +02:00
Jarek Syrylak
039fb95f80 More fixes as per PR feedback. 2018-08-16 19:44:31 +01:00
Jarek Syrylak
a6ecb3c913 Fixed as per PR feedback. 2018-08-16 16:24:16 +01:00
Jarek Syrylak
bd658a8801 GDB Modernization:
- Can be used in either DynCom or Dynarmic mode
- Added support for threads
- Proper support for FPU registers
- Fix for NibbleToHex conversion that used to produce false error codes
- Fix for clang-format failing under Windows
2018-08-16 10:40:52 +01:00
Weiyi Wang
1b1439c6af NWM_UDS: use sizeof(<var being used>) instead of hard-coded type (#4093)
* NWM_UDS: use sizeof(<var being used>) instead of hard-coded type

Intend to fix #4090. 

` node_map.node.second` type was changed to `u16` in #3985. However the type change wasn't reflected here. Should have used variable name instead to automatically do type change

* NWM_UDS: ... and also the node.first one

* NWM_UDS: ... and here

* Network: bump version because we changed UDS packet layout

* Update nwm_uds.cpp
2018-08-12 22:47:48 +02:00
Merry
c18a7896e0
Merge pull request #4078 from zhaowenlan1779/port-yuzu-934
Port " core_timing: Make GetGlobalTimeUs() return std::chrono::microseconds" from yuzu
2018-08-11 10:26:21 +01:00
zhupengfei
e1ae14d508
input_common/udp: allow changing pad index 2018-08-11 13:23:10 +08:00
Merry
4aec7ec96b
Merge pull request #4079 from zhaowenlan1779/port-yuzu-932
Port "core_timing: Use transparent functors where applicable" from yuzu
2018-08-10 21:15:00 +01:00
Merry
44fc338f21
Merge pull request #4083 from zhaowenlan1779/port-yuzu-904
Port "kernel/thread: Minor changes" from yuzu
2018-08-10 21:08:22 +01:00
Lioncash
39d5ada4e1 kernel/thread: Remove unimplemented function prototype
Given there's no implementation, we may as well remove the code
entirely.
2018-08-10 17:05:01 +08:00
B3n30
10ef3109a4 fix num_client_certs in CloseClientCertContext 2018-08-10 09:55:59 +02:00
Lioncash
596caf70b7 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-10 10:13:50 +08:00
Lioncash
893d9c5ff3 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-10 10:13:49 +08:00
Lioncash
c71c9e63ec 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-10 10:13:48 +08:00
Lioncash
a431c85b6b core_timing: Convert typedef into a type alias
Makes the alias a little more readable from left-to-right.
2018-08-10 10:00:36 +08:00
Lioncash
196ab8be89 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-10 09:59:17 +08:00
Lioncash
660be9499d core_timing: Make GetGlobalTimeUs() return std::chrono::microseconds
Enforces the time unit being returned and also allows using the standard
time utilities to manipulate it.
2018-08-10 09:56:17 +08:00
B3n30
c431b922d0 fix error code comment 2018-08-09 23:55:04 +02:00
B3n30
c6bdcf72a4 service::HTTP_C: Implement OpenClientCertContext, OpenDefaultClientCertContext, CloseClientCertContext 2018-08-09 23:05:09 +02:00
Ben
5e658efdb8
Service::HTTP_C: Add decryption of the ClCertA (#4045)
* Service::HTTP_C: Add decryption of the ClCertA

* fixup! Service::HTTP_C: Add decryption of the ClCertA

* fixup! Service::HTTP_C: Add decryption of the ClCertA

* FileSys:: Add MakeNCCHArchivePath and MakeNCCHFilePath; Small fixes in HTTP_C::DecryptDefaultClientCert

* fixup! fixup! Service::HTTP_C: Add decryption of the ClCertA

* fixup! fixup! fixup! Service::HTTP_C: Add decryption of the ClCertA
2018-08-09 23:02:53 +02:00
BreadFish64
d09646ab9d citra-qt: service: add convenient LLE service module configuration (#3967)
* citra-qt: service: add convenient LLE service module configuration

* fix SDL settings

* unexpose AttemptLLE

* static

* fix array includes

* use default with writesetting
2018-08-09 21:10:11 +02:00
James Rowe
cc6d3ce22f
Merge pull request #4053 from Steveice10/master
am: Corrections to handling of non-existent content indices.
2018-08-09 09:39:44 -06:00
B3n30
aa98e55a88 fixup! Service::SM: Wait till client is registered 2018-08-08 23:42:45 +02:00
B3n30
02a3b5ae2b Service::SM: Wait till client is registered 2018-08-08 23:30:48 +02:00
Weiyi Wang
84fc8eaaba
Merge pull request #4020 from wwylele/loader-crypto-new
ncch_container: support encrypted games
2018-08-08 22:12:19 +03:00
Ben
8ae126eb33
Merge pull request #4001 from Subv/http2
Services/HTTP: Corrected some error codes and added a few new ones.
2018-08-08 15:37:33 +02:00
Subv
b72e7d48e8 Service/HTTP: Added logs to some of the error conditions. 2018-08-08 08:32:46 -05:00
James Rowe
6bcbda5ab2 Input: UDP Client to provide motion and touch controls
An implementation of the cemuhook motion/touch protocol, this adds the
ability for users to connect several different devices to citra to send
direct motion and touch data to citra.
2018-08-07 21:05:09 -06:00
wwylele
d4a808c885 ncch_container: support encrypted games 2018-08-07 18:53:06 +03:00
Steveice10
4c3961d5dd am: Correct ListDLCContentInfos index bounds. 2018-08-04 01:27:05 -07:00
Steveice10
d93ed644f6 am: Return empty path string for non-existent content indices. 2018-08-04 01:03:29 -07:00
zhupengfei
0c37140690 video_core: Allow changing background color while emulation is running
As @jroweboy stated, this is just one more atomic in VideoCore.
2018-08-04 15:11:51 +08:00
Subv
79db1f8b49 Service/HTTP: Log the PIDs in the Initialize functions. 2018-08-03 15:24:26 -05:00
James Rowe
c35a251d86
Merge pull request #3985 from BreadFish64/fix-warnings
core: clean up warnings
2018-08-02 11:14:57 -06:00
James Rowe
14b0435df2
Merge pull request #3994 from FearlessTobi/replace-clamp-functions
Remove MathUtil::Clamp and replace it with its std:: counterpart
2018-08-02 11:08:07 -06:00
Weiyi Wang
9b558253a0
Merge pull request #4031 from zhaowenlan1779/port-yuzu-723
Port "gdbstub: Get rid of a few signed/unsigned comparisons" from yuzu
2018-08-02 11:17:38 +03:00
Weiyi Wang
14bc20fc8d
Merge pull request #3996 from NarcolepticK/dsp-remove-weakptr
service/dsp: Clean up global state
2018-08-02 11:14:59 +03:00
BreadFish64
74cd98ecad core: clean up warnings 2018-08-01 14:10:23 -05:00
Merry
6a9e18a49a
Merge pull request #4022 from zhaowenlan1779/port-yuzu-837
Port yuzu-emu/yuzu#837 from yuzu
2018-08-01 15:01:17 +01:00
Lioncash
8e103d0675
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-08-01 17:49:52 +08:00
James Rowe
05eb0ccb03
Merge pull request #4014 from wwylele/old-service
service: remove deprecated service interface
2018-07-30 11:31:54 -06:00
zhupengfei
5a47cbed17
no need to cast to u32 according to @wwylele comment 2018-07-30 22:40:56 +08:00
Lioncash
b4cdbf3ee8
gdbstub: Get rid of a few signed/unsigned comparisons
Ensures both operands in comparisons are the same signedness.
2018-07-30 22:40:43 +08:00
Weiyi Wang
71729fd47a
Merge pull request #3951 from zhaowenlan1779/cfg-country-code
service/cfg, citra_qt: add country code configuration
2018-07-30 12:02:07 +03:00
Weiyi Wang
1f14ebf35d
Merge pull request #3977 from B3n30/bad_word_list
Add virtual bad word list; Load if dump is missing
2018-07-30 12:01:45 +03:00
Merry
f4a389dca5
Merge pull request #4023 from zhaowenlan1779/port-yuzu-797
Port yuzu-emu/yuzu#797 from yuzu
2018-07-30 08:28:35 +01:00
Lioncash
661f7bbcfd 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-30 08:21:13 +08:00
NarcolepticK
8f70e9a318 service/dsp: Addressed comments about function name and pointer type 2018-07-29 15:18:30 -04:00
Ben
04bd104c4a
Merge pull request #3992 from Subv/applets_close
Services/HLE: Implement PrepareToCloseLibraryApplet and CloseLibraryApplet
2018-07-29 10:34:32 +02:00
Weiyi Wang
383cde84d3
Merge pull request #3917 from Steveice10/master
am: Fix DLC loading.
2018-07-28 18:48:28 +03:00
B3n30
97fda30839 Use std::begin and std::end for system archives c array 2018-07-28 12:07:11 +02:00
wwylele
323313b2e9 service: remove deprecated service interface 2018-07-27 21:22:15 +03:00
NarcolepticK
5c52c6e64a service/boss: Migrate to ServiceFramework (#3998)
* service/boss: Migrate to ServiceFramework

* service/boss: Addressed comments

* service/boss: Added TODO: verify ResetType
2018-07-27 16:07:23 +03:00
NarcolepticK
5a4ed10982 service/csnd: Moved into csnd folder and stubbed a few functions (#4006)
* service/csnd: Moved into csnd folder and stubbed a few functions

* service/csnd: Addresed comment about missing rb.Skip
2018-07-27 11:25:20 +03:00
Weiyi Wang
719bec84cd
Merge pull request #4007 from B3n30/romfs_file
RomFS: add RomFSFile and RomFS::GetFile
2018-07-27 11:24:31 +03:00
Weiyi Wang
7babd78a23
Merge pull request #3928 from zhaowenlan1779/log-settings
citra_qt: Log settings on launch
2018-07-27 11:22:23 +03:00
fearlessTobi
71e1d6e25d Fix compile errors 2018-07-26 13:23:25 +02:00
B3n30
123c0886e6 RomFSFile: Default constructor 2018-07-26 13:10:56 +02:00
B3n30
b1f8c2fe67 Remove RomFS::GetFilePointer 2018-07-26 12:59:31 +02:00
B3n30
b62978b5a1 RomFS: add RomFSFile and GetRomFSFile 2018-07-26 12:31:59 +02:00
Subv
d19dbe8419 Services/HTTP: Added error handling to AddRequestHeader 2018-07-25 16:48:04 -05:00
Subv
03294ce6b4 Services/HTTP: Implemented the InitializeConnectionSession function. 2018-07-25 16:13:47 -05:00
Subv
28c296a13b Services/HTTP: Corrected some error codes and added a few new ones.
Use the session data to store information about the HTTP session state.
This is based on reverse engineering of the HTTP module.

The AddRequestHeader function is still mostly incorrect, this will be fixed in follow up PRs
2018-07-25 14:59:29 -05:00
James Rowe
e4d65927c2
Merge pull request #3991 from zhaowenlan1779/no-lle-applets
applet_manager: disable loading LLE applets
2018-07-25 09:54:02 -06:00
James Rowe
9d95373282
Merge pull request #3999 from NarcolepticK/stub-service-ps
service/ps: Boilerplate to register service, no functions implemented
2018-07-25 09:52:45 -06:00
Sebastian Valle
472ee00e8f
Merge pull request #3981 from B3n30/httpc
Migrate HTTP_C to the ServiceFramework and implement functions
2018-07-25 10:20:27 -05:00
NarcolepticK
081becc9f5 service/ps: Boilerplate to register service, no functions implemented 2018-07-25 02:25:51 -04:00
B3n30
050d116cb6 Fixed include in http_c,h; added ERROR_CONTEXT_ERROR to CreateContext 2018-07-24 23:38:19 +02:00
NarcolepticK
b840c63386 service/dsp: Clean up global state 2018-07-24 16:15:37 -04:00
Subv
cce882b688 Services/HLE: Implement PrepareToCloseLibraryApplet and CloseLibraryApplet.
This allows LLE library applets (like swkbd) to properly close and return to the application instead of hanging.

There is still a bug in our rasterizer cache that may cause crashes some time after an applet is closed, but that is tangential to this change and should be tackled separately.
2018-07-24 14:50:19 -05:00
fearlessTobi
7a3e126a4f Replace MathUtil::Clamp with its std counterpart 2018-07-24 19:08:17 +02:00
zhupengfei
44db59be2b
applet_manager: disable loading LLE applets
Currently LLE applets cannot exit properly in Citra and causes Citra to hang. We are already providing HLE for applets, and the LLE applets are preventing users who dumped their system files from using the applets correctly. Before the further fix is done, I think we should temporaily disable loading LLE applets.
2018-07-24 23:24:27 +08:00
B3n30
daac1349db Service/HTTP_C: Add some comments; Fixed header in CloseContext 2018-07-23 21:14:41 +02:00
Weiyi Wang
14878a17d9
Merge pull request #3978 from zhaowenlan1779/remove-app-warning
core/loader: avoid "different type" warning for .app
2018-07-23 21:02:54 +03:00
B3n30
2f50bf0007 Service/HTTP_C: Fix error in CreateContext 2018-07-23 18:02:35 +02:00
zhupengfei
4fb16098a4
core/loader: avoid "different type" warning for .app
Previously for installed titles, the file type would be NCCH (assumed as CXI) and the extension would be ".app". This would trigger a warning of the file "having a different type than its extension", which is actually not true here.
2018-07-23 17:37:52 +08:00
B3n30
7605e26b94 Add virtual bad word list; Load if dump is missing 2018-07-22 22:55:44 +02:00
Weiyi Wang
8388e5519b
Merge pull request #3944 from wwylele/soc-new-framework
Service/SOC: convert to ServiceFramework
2018-07-22 22:23:05 +03:00
B3n30
2d09355a25 Make Service::HTTP::Context non-copyable 2018-07-22 18:15:44 +02:00
B3n30
5af6a1d8ee Revert stubbed InitializeConnectionSession 2018-07-22 18:15:44 +02:00
B3n30
32155cd683 Service/HTTP: stubbed InitializeConnectionSession 2018-07-22 18:15:44 +02:00
B3n30
65c7ed8445 Service/HTTP: Moved declarations to the header file 2018-07-22 15:01:32 +02:00
B3n30
0606e7010c Services/HTTP: Implemented the AddRequestHeader service function. 2018-07-22 13:38:31 +02:00
Subv
799b45233f Services/HTTP: Stubbed the CloseContext service function.
It is currently unknown how the real http module handles trying to close contexts for requests that are already in flight.
2018-07-21 20:11:20 -05:00
Subv
34baa882c8 Services/HTTP: Corrected the error code for an invalid request method. 2018-07-21 19:50:13 -05:00
Subv
70e6979695 Services/HTTP: Implemented the CreateContext function handler. 2018-07-21 19:30:40 -05:00
B3n30
87ec3934a6 Services/HTTP: Added structures to represent an HTTP context.
More fields will probably need to be added to these structures in the future.
2018-07-21 19:10:00 -05:00
B3n30
fe5a3d22c5 Services/HTTP: Added structures to store both client and server certificates. 2018-07-21 19:00:50 -05:00
B3n30
1f865fd524 Services/HTTP: Stubbed the Initialize function. 2018-07-21 18:54:06 -05:00
B3n30
28124c053a Services/HLE: Convert the http:C service to the new service framework. 2018-07-21 18:48:57 -05:00
Alexandre LittleWhite Laurent
578b08c53b Truncating UTF16 text before converting them toUTF8 2018-07-21 18:17:46 +02:00
Alexandre LittleWhite Laurent
e28c527bfa Fix missing return value 2018-07-20 19:53:23 +02:00
zhupengfei
e8ac58c480
settings: move log code to settings 2018-07-19 08:38:57 +08:00
Ben
7f1303a834 Use open source Shared Font if no dumped file is available (#3881)
* Add virtual SharedFont; Load if dumped is missing

* Move open_source_archives to externals; add readme and git hash to open_source_archives

* Updated shared font to newest version: m fixed, symbols fixed
2018-07-18 10:20:31 -06:00
James Rowe
2f8c9c8126
Merge pull request #3831 from FearlessTobi/add-volume-slider
citra_qt: Add a volume slider
2018-07-18 09:56:47 -06:00
zhupengfei
e61b7d265f
service/cfg, citra_qt: add country code configuration 2018-07-18 20:09:34 +08:00
wwylele
aa02c50a2e Service/SOC: convert to ServiceFramework 2018-07-18 09:52:51 +03:00
James Rowe
bf6da61da5
Merge pull request #3850 from zhaowenlan1779/swkbd
applets/swkbd: Software Keyboard Implementation
2018-07-17 09:02:55 -06:00
zhupengfei
a9e922e68f service/fs: implement obsoleted Create/DeleteExtSaveData (#3948)
* service/fs: implement obsoleted Create/DeleteExtSaveData

* service/fs: remove the STUBBED warning
2018-07-17 17:59:42 +03:00
zhupengfei
b54e3b7aa9
frontend/applets/swkbd: use system username 2018-07-17 22:42:53 +08:00
Merry
47d283a1e4
Merge pull request #3909 from MerryMage/rm-SetDevice
sink_details: Tidy-up device listing code
2018-07-12 20:49:29 +01:00
NarcolepticK
c39daa3c01 service/dsp: Migrate to ServiceFramework (#3915)
* service/dsp: Migrate to ServiceFramework

* service/dsp: Removed redundant buffer copy

* service/dsp: Addressed comment about pushing u32 instead of bool

* service/dsp: Fix clang format

* service/dsp: Addressed comment about minimizing global state

* service/dsp: Addressed comments and fixed log call issue

* service/dsp: Fix missed clang format
2018-07-12 17:54:26 +03:00
Weiyi Wang
edcea90948
Merge pull request #3921 from B3n30/fixGetStartupArgument
Fix parameter_size in APT::GetStartupArgument
2018-07-11 11:41:04 +03:00
B3n30
208e789182 Fix error log 2018-07-11 09:00:05 +02:00
朱鹏飞
aaeba160a1 telemetry: Add a few fields of UserConfig (#3927)
* telemetry: Add a few fields of UserConfig

* telemetry: change entry names a bit
2018-07-11 09:51:02 +03:00
zhupengfei
5407ed8b5e
citra_qt/applets/swkbd: QtKeyboard and misc fixes
* Addressed comments and removed the applet interface

* swkbd: address @lioncash's comments

* core: more fixes

** Moved registered_swkbd to System

** Removed an usused virtual

** Removed functionality of DrawScreenKeyboard

** Removed src/core/settings.h change

* swkbd: address @lioncash's 2nd review

* swkbd: update logging macro

* QtKeyboard: Make dialog modal and hide help
2018-07-10 12:49:55 +08:00
Steveice10
56488a969d am: Run clang-format and attribute TODOs. 2018-07-09 16:05:52 -07:00
B3n30
468c689cf4 Set max parameter_size to 0x1000 2018-07-07 18:52:27 +02:00
B3n30
be1ae17c61 Fix parameter_size in GetStartupArgument 2018-07-07 18:38:38 +02:00
Weiyi Wang
01c4f49e75
Merge pull request #3873 from wwylele/nwm-new-framework
Service/NWM: convert to ServiceFramwework
2018-07-07 18:44:31 +03:00
Steveice10
ba35079449 am: Revert changes to content index handling. 2018-07-06 17:15:30 -07:00
Steveice10
d67f119589 am: Address review comments. 2018-07-06 14:16:15 -07:00
Steveice10
680c6e694d am: Correct reported DLC content indices. 2018-07-06 11:00:57 -07:00
Steveice10
142c2b6cfe am: Correct content index bounds in ListDLCContentInfos. 2018-07-06 10:49:13 -07:00
Steveice10
c1ef7a753a am: Add contentIndex to documentation for GetTitleContentPath. 2018-07-06 10:47:50 -07:00
Steveice10
630a1311ca am: Properly handle operations involving content indices. 2018-07-06 00:44:22 -07:00
Steveice10
932eeefff0 am: Correct definition of ContentInfo. 2018-07-05 23:27:47 -07:00
fearlessTobi
a780f3821e citra_qt: Add a volume slider 2018-07-03 17:26:50 +02:00
NarcolepticK
acefa81ae3 service/csnd: Addressed comments and removed outdated information 2018-07-02 22:09:29 -04:00
NarcolepticK
84c23ce2e5 service/csnd: Fix clang format 2018-07-02 22:09:29 -04:00
NarcolepticK
1f345642c4 service/csnd: Stubbed DataCache functions 2018-07-02 22:09:29 -04:00
NarcolepticK
41d5b31a76 service/csnd: Migrate to ServiceFramework 2018-07-02 22:09:29 -04:00
MerryMage
d269beab0d sink_details: Listing available devices should be separate from sink construction 2018-07-02 14:09:17 +01:00
NarcolepticK
d6f86caf30 service/cecd: Addressed comment about using PushEnum instead of Push<u32> 2018-07-01 12:54:53 -04:00
NarcolepticK
37532f8a76 service/cecd: Fixed clang format 2018-06-30 23:52:45 -04:00
NarcolepticK
363d6fdb89 service/cecd: Migrate to ServiceFramework 2018-06-30 23:38:54 -04:00
Weiyi Wang
ffae5be1ea
Merge pull request #3895 from NarcolepticK/pm-migrate-framework
service/pm: Migrate to ServiceFramework
2018-06-30 13:20:31 +03:00
zhupengfei
f23443b921
applets/swkbd: Implement DefaultCitraKeyboard 2018-06-30 08:01:50 +08:00
zhupengfei
18664c719e
frontend/applets: misc fixes
* Renamed applet to applets

* Added log classes Applet and Applet.SWKBD

* Fixes to get it compile
2018-06-30 08:01:49 +08:00
James Rowe
caacefcc2e
frontend/applets: frontend swkbd base
Original commits by @jroweboy:

* Rebase out the other commit

* changing branches

* More work on stuff and things ecks DEE

Changes by @zhaowenlan1779:

* Removed #include of result.h
2018-06-30 08:01:31 +08:00
James Rowe
f9a89ff410
Merge pull request #3894 from wwylele/log-finalize
Finalize logging system migration
2018-06-29 17:46:07 -06:00
Valentin Vanelslande
7ffcf71d5d
Service/DLP: IsChild: Skip parameter 2018-06-29 13:40:03 -05:00
Valentin Vanelslande
482dc91dd6
Service/DLP: Fix IsChild 2018-06-29 13:03:16 -05:00
NarcolepticK
f72d114335 service/pm: Migrate to ServiceFramework 2018-06-29 10:31:56 -04:00
wwylele
0eab948728 reformat all files with clang-format 2018-06-29 16:56:12 +03:00
wwylele
7c5a76e58b log: replace all NGLOG with LOG 2018-06-29 14:18:07 +03:00
NarcolepticK
a1e56c1811 service/dlp: Addressed comment about what value to push 2018-06-29 04:27:37 -04:00
NarcolepticK
f5f5ac2197 service/dlp: Migrate to ServiceFramework 2018-06-29 04:24:38 -04:00
Weiyi Wang
fc8f997a28
Merge pull request #3874 from wwylele/ssl-new-framework
service/SSL: convert to ServiceFramework
2018-06-29 11:17:26 +03:00
NarcolepticK
db75b80e22 service/mvd: Migrate to ServiceFramework (#3890)
* service/mvd: Migrate to ServiceFramework

* service/mvd: Silenced clang format
2018-06-29 11:14:49 +03:00
NarcolepticK
3e42b361b1 service/qtm: Migrate to ServiceFramework (#3892)
* service/qtm: Migrate to ServiceFramework

* service/qtm: Fix clang format
2018-06-29 11:13:56 +03:00
Weiyi Wang
7d535140f6
Merge pull request #3885 from wwylele/fix-fs-log
FS: fix log with incorrect type
2018-06-28 18:06:56 +03:00
NarcolepticK
f96497abdb service/dsp: Migrate logging macros (#3863)
* service/dsp: Migrate logging macros

* service/dsp: Fixed width count
2018-06-28 18:05:45 +03:00
NarcolepticK
d25cfbc4cc service/gsp: Addressed comment about global state 2018-06-27 11:05:38 -04:00
NarcolepticK
188979b3e2 service/gsp: Migrate gsp_lcd to ServiceFramework 2018-06-27 10:40:37 -04:00
wwylele
5150de8613 FS: fix log with incorrect type 2018-06-27 17:15:01 +03:00
NarcolepticK
b94cb61de8 service/gsp: Add Stub for InvalidateDataCache 2018-06-27 04:19:45 -04:00
NarcolepticK
c6554f1fbc service/gsp: Fixed typo in FlushDataCache IPC::RequestParser creation 2018-06-27 04:19:45 -04:00
NarcolepticK
c43f1ed088 service/gsp: Move service/gsp_lcd.* into service/gsp/ folder 2018-06-27 04:19:45 -04:00
Weiyi Wang
689977bbf8
Merge pull request #3876 from NarcolepticK/kernel-migrate-logging
hle/kernel: Migrate logging macros
2018-06-24 01:34:22 +03:00
NarcolepticK
ed18140daa hle/kernel: Addressed comment about obscure formating 2018-06-23 14:12:54 -04:00
Weiyi Wang
fc62da57be
Merge pull request #3877 from tgsm/soc-logging-macro
Service/SOC: migrate logging macro
2018-06-23 12:24:53 +03:00
NarcolepticK
c2efd49997 service/ldr: Migrate logging macros (#3867)
* service/ldr: Migrate logging macros

* service/ldr: Fix clang format

* service/ldr: Addressed comment about .c_str() equivalent .data()

* service/ldr: Fix clang format
2018-06-23 12:24:05 +03:00
tgsm
15442352fd Service/SOC: migrate logging macro 2018-06-22 21:52:29 -04:00
NarcolepticK
d433a07b6b hle/kernel: Fix clang format 2018-06-22 19:20:58 -04:00
NarcolepticK
a8110cfd3f hle/kernel: Migrate logging macros 2018-06-22 18:54:50 -04:00
wwylele
b06f468049 service/SSL: convert to ServiceFramework 2018-06-22 18:52:24 +03:00
Weiyi Wang
7b38bde95b
Merge pull request #3872 from NarcolepticK/applets-migrate-logging
applets: Migrate logging macros
2018-06-22 17:35:26 +03:00
wwylele
7471373058 Service/NWM: convert to ServiceFramwework 2018-06-22 17:14:23 +03:00
Weiyi Wang
64adf94ef2
Merge pull request #3871 from NarcolepticK/nwm-migrate-logging
service/nwm: Migrate logging macros
2018-06-22 16:21:34 +03:00
Weiyi Wang
ed8f69614d
Merge pull request #3870 from NarcolepticK/dlp-migrate-logging
service/dlp: Migrate logging macro
2018-06-22 15:27:39 +03:00
Weiyi Wang
e4b5b9daab
Merge pull request #3869 from NarcolepticK/news-migrate-logging
service/news: Migrate logging macro
2018-06-22 15:27:26 +03:00
Weiyi Wang
53ad300144
Merge pull request #3868 from NarcolepticK/ptm-migrate-logging
service/ptm: Migrate logging macros
2018-06-22 13:33:46 +03:00
NarcolepticK
a42287587e service/fs: Migrate logging macros (#3866)
* service/fs: Migrate logging macros

* service/fs: Fix clang format
2018-06-22 13:33:30 +03:00
Weiyi Wang
1449f8e725
Merge pull request #3865 from NarcolepticK/applet_manager-migrate-logging
service/apt/applet_manager: Migrate logging macros
2018-06-22 13:33:12 +03:00
Weiyi Wang
199710f346
Merge pull request #3864 from NarcolepticK/am-migrate-logging
service/am: Migrate logging macros
2018-06-22 13:33:00 +03:00
Weiyi Wang
ad4a943c7a
Merge pull request #3861 from NarcolepticK/y2r-migrate-logging
service/y2r: Migrate logging macros
2018-06-22 11:48:01 +03:00
Weiyi Wang
c3466f38d7
Merge pull request #3860 from NarcolepticK/service-migrate-logging
service/service: Migrate logging macros
2018-06-22 11:47:49 +03:00
Weiyi Wang
274859b8ef
Merge pull request #3859 from NarcolepticK/sm-migrate-logging
service/sm: Migrate logging macros
2018-06-22 11:47:34 +03:00
NarcolepticK
584e7d71e2 service/ns: Migrate logging macros (#3857)
* service/ns: Migrate logging macros

* service/ns: Addressed comment about PRIx64

* service/ns: Missed 'x' in format when removing PRIx64
2018-06-22 11:47:02 +03:00
NarcolepticK
2d94c25265 service/cfg: Migrate logging macros (#3853)
* service/cfg: Migrate logging macros

* service/cfg: Fix clang format

* service/cfg: Addressed comment about char cast

* service/cfg: Changed to static_cast<char>
2018-06-22 11:46:22 +03:00
NarcolepticK
958d39a76f applets: Migrate logging macros 2018-06-22 04:24:54 -04:00
NarcolepticK
42b32ac1ea service/nwm: Migrate logging macros 2018-06-22 04:16:38 -04:00
NarcolepticK
3b712321b4 service/dlp: Migrate logging macro 2018-06-22 03:57:23 -04:00
NarcolepticK
bd368d6921 service/news: Migrate logging macro 2018-06-22 03:55:18 -04:00
NarcolepticK
db256c69a4 service/ptm: Migrate logging macros 2018-06-22 03:47:18 -04:00
NarcolepticK
428ae40728 service/apt/applet_manager: Migrate logging macros 2018-06-21 22:43:27 -04:00
NarcolepticK
ccfa92a14f service/am: Migrate logging macros 2018-06-21 22:34:26 -04:00
NarcolepticK
4c67f1c7c6 service/nim: Migrate logging macros (#3856) 2018-06-21 12:20:10 +03:00
NarcolepticK
4666d0c958 service/nfc: Migrate logging macros (#3855) 2018-06-21 12:19:44 +03:00
NarcolepticK
394b626e51 service/mic: Migrate logging macros (#3854) 2018-06-21 12:19:10 +03:00
NarcolepticK
a955385ec0 service/gsp: Migrate logging macros (#3852)
* service/gsp: Migrate logging macros

* service/gsp: Fix clang format
2018-06-21 12:16:10 +03:00
NarcolepticK
831e3a0b54 service/err_f: Migrate logging macros (#3849)
* service/err_f: Migrate logging macros

* service/err_f: Added static_cast<u32>
2018-06-21 12:14:59 +03:00
NarcolepticK
0525b27b19 service/y2r: Fix clang format 2018-06-21 01:28:47 -04:00
NarcolepticK
9bd4fb2f53 service/y2r: Migrate logging macros 2018-06-21 01:14:27 -04:00
NarcolepticK
fcf42bbe8a service/service: Migrate logging macros 2018-06-21 00:37:06 -04:00
NarcolepticK
b10d2badd0 service/sm: Migrate logging macros 2018-06-20 23:59:58 -04:00
NarcolepticK
964602dfcb service/cam: Migrate logging macros (#3848)
* service/cam: Migrate logging macros

* service/cam: Fix clang format

* service/cam: Missed one clang format fixup
2018-06-20 13:39:05 +03:00
Weiyi Wang
b2cbf2403f
Merge pull request #3820 from daniellimws/core-macros-1
core: Replace logging macros
2018-06-20 13:36:48 +03:00
Weiyi Wang
3938e6c592
Merge pull request #3847 from NarcolepticK/ir-migrate-logging
service/ir: Migrate logging macros
2018-06-20 13:34:52 +03:00
Weiyi Wang
2d98b2e77a
Merge pull request #3845 from NarcolepticK/hid-migrate-logging
service/hid: Migrate logging macros
2018-06-20 13:34:41 +03:00
Weiyi Wang
9ef9e6c48e
Merge pull request #3844 from NarcolepticK/frd-migrate-logging
service/frd: Migrate logging macros
2018-06-20 13:34:32 +03:00
Weiyi Wang
0ed4d575f4
Merge pull request #3843 from NarcolepticK/csnd-migrate-logging
service/csnd_snd: Migrate logging macros
2018-06-20 13:34:15 +03:00
NarcolepticK
8c08678606 service/ir: Migrate logging macros 2018-06-20 01:09:50 -04:00
zhupengfei
7b4738ad33
service/ac: fix clang format 2018-06-20 09:42:39 +08:00
NarcolepticK
ad70214dbf service/hid: Migrate logging macros 2018-06-19 19:52:03 -04:00
NarcolepticK
705eb597c8 service/frd: Migrate logging macros 2018-06-19 19:46:12 -04:00
NarcolepticK
a7a3718fce service/csnd_snd: Migrate logging macros 2018-06-19 19:30:59 -04:00
NarcolepticK
c9737ff16c service/cecd: Migrate logging macros 2018-06-19 15:07:17 -04:00
NarcolepticK
f410974644 AC Migrate Logging Macros (#3838)
* service/ac: Migrate logging macros

* service/ac: Added 0x on hex

* service/ac: Changed lowercase x to uppercase X
2018-06-19 11:54:59 -06:00
James Rowe
574824a26c
Merge pull request #3632 from N00byKing/3dtv_botenable
Add Support for Stereoscopic 3D
2018-06-17 21:05:15 -06:00
N00byKing
74367203cf emu_window: Adapt Touchscreen to 3D Settings 2018-06-17 14:00:47 +02:00
Daniel Lim Wee Soong
f0ea96f144
Merge branch 'master' into core-macros-1 2018-06-11 22:30:21 +08:00
James Rowe
6811eda2b9
Merge pull request #3764 from zhaowenlan1779/camera-flip
camera: camera refinement
2018-06-09 14:02:50 -06:00
Daniel Lim Wee Soong
4d2cbf271c Fix wrongly replaced arguments 2018-06-09 16:35:37 +08:00
Steveice10
e24fb768e3 boss: Return buff_size in parameter 2 of ReceiveProperty. 2018-06-08 18:12:35 -07:00
Daniel Lim Wee Soong
ac4d85ca16 core/telemetry_session: Replace logging macros 2018-06-07 23:07:33 +08:00
Daniel Lim Wee Soong
e633d744eb core/memory: Replace logging macros 2018-06-07 23:07:15 +08:00
Daniel Lim Wee Soong
2865d23064 core/frontend: Replace logging macros 2018-06-07 23:07:02 +08:00
Daniel Lim Wee Soong
d81cacfb9e core/file_sys: Replace logging macros 2018-06-07 23:06:44 +08:00
Daniel Lim Wee Soong
bef6c6d174 core/core_timing: Replace logging macros 2018-06-07 23:06:26 +08:00
Daniel Lim Wee Soong
f407917eb7 core/core: Replace logging macros 2018-06-07 23:06:03 +08:00
zhupengfei
7c48160beb
StillImageCamera: move GetFilePath to UI thread 2018-06-07 14:57:06 +08:00
zhupengfei
3cb91338e9
camera: migrate logging macros 2018-06-07 14:57:05 +08:00
zhupengfei
5ebd466869
camera: Add camera flip config 2018-06-07 14:57:03 +08:00
MerryMage
b8c5007153 arm_dyncom_interpreter: Clear exclusive memory state after SVC call 2018-06-03 21:06:57 +01:00
wwylele
b611b2934f UDS: fix RecvBeaconBroadcastData response header 2018-06-02 00:38:54 +03:00
N00byKing
d27312b816 shared_page: Remove Get3DSliderstate 2018-06-01 17:05:29 +02:00
N00byKing
594e95084b shared_page: Set 3D Slider 2018-06-01 17:05:09 +02:00
N00byKing
f4894d5677 shared_page: Allow Setting the 3D Slider
Currently, changing the Option while the Game is running does not work
2018-06-01 17:05:02 +02:00
N00byKing
e4788130e5 citra, citra_qt, settings.h: Add Options for Stereoscopic 3D 2018-06-01 17:01:00 +02:00
James Rowe
72f9142bb1
Merge pull request #3746 from wwylele/ndm-new-framework
Service/NDM: convert to ServiceFramework
2018-05-29 23:54:21 -06:00
James Rowe
aa95604928
Merge pull request #3652 from N00byKing/3dtv_crashfix
gsp_gpu, shared_page: Change 3D LED State on SetLedForceOff
2018-05-29 22:43:52 -06:00
wwylele
549abe556b Service/NDM: convert to ServiceFramework 2018-05-28 11:28:13 +03:00
James Rowe
64a8c8ee07
Merge pull request #3741 from wwylele/glvtx-last
gl_rasterizer: implement AccelerateDrawBatch to emulate PICA shader on hardware
2018-05-18 13:03:40 -06:00
Daniel Lim Wee Soong
7861be67bb core/arm/skyeye_common: Migrate logging macros (#3684)
* core/arm/skyeye_common: Migrate logging macros

Use the new logging macros NGLOG

* Replace specifiers that were missed out

* Replace printf with NGLOG

* skyeye_common: fix NGLOG without log class
2018-05-14 11:22:32 +03:00
wwylele
06815ec905 video_core: receive hardware shader settings 2018-05-14 10:17:35 +03:00
wwylele
97f9cfac70 settings: add hardware shader related settings 2018-05-13 10:44:47 +03:00
朱鹏飞
57827de38b citra_qt: camera integration (#3566)
* Implement camera feature

* Make OpenCVCamera optional

* Fix styling problems

* CI configuration

* Fix CI

* Hopefully final fix

* Hopefully final fix

* Fix all the problems

* Oops..

* Add Qt Multimedia Camera

* Another oops

* Try to fix broken linux CI

* Try to fix broken linux CI

* Fix problems

* Improve UI

* Fix problems

* camera: Add support for Qt <5.10 and fix preview error

* CI: try to fix linux-frozen travis build

* camera: fix problems and add multiple handlers support

* fix CI

* remove most ServiceFramework changes

* Fix format

* Remove last ServiceFramework change

* camera: remove unused interfaces; revert submodule change

* camera: fix CI error

* ci: use ccache for opencv build

* citra_qt: fix configuration error; CI: add mediaservice plugin

* citra_qt: fix clang-format

* citra_qt: fix documentation error

* citra_qt: fix configuration page; camera: fix pausing crash

* citra_qt: fix preview not stopping

* camera: extend handlers length

* camera: fix camera resume error

* camera: fix clang-format

* camera: remove all OpenCV; citra_qt: rewrite configuration

* camera: remove all OpenCV; citra_qt: rewrite configuration

* camera: remove all OpenCV; citra_qt: rewrite configuration

* CI: fix linux ci

* camera: check settings update; citra_qt: fix configuration error

* service_cam: use a better way to apply configuration

* Service_CAM: rewrite camera reload

* cam: fix clang format

* citra_qt: fix argument load issue; camera: base of system camera selection

* citra_qt: Add system camera selection

* camera: fix image upside down, Implement SetFrameRate in Qt Multimedia Camera

* camera: Add missing <array> include, update SetFrameRate and add settings in Qt Multimedia Camera header

* camera: move started in Qt Multimedia Camera header

* QtMultimediaCamera: Move frame rates to SetFrameRate; Set minimum and maximum frame rate

* Update appveyor.yml
2018-05-11 11:42:23 -06:00
Weiyi Wang
79ac4766b4
Merge pull request #3668 from daniellimws/gdbstub-macros
core/gdbstub: Migrate logging macros
2018-05-05 16:48:52 +03:00
Valentin Vanelslande
473fd552c8 Service/AM: Implement GetProductCode (#3549)
* [skip ci]

* [skip ci]

* [skip ci]

* [skip ci]

* Service/AM: Implement GetProductCode

* fix?

* remove close

* Use PushRaw

* Use NCCHContainer

* 2 if found

* struct

* fix build?

* fix

* remove return

* fix?

* 6 words
2018-05-05 16:43:31 +03:00
FearlessTobi
36c4765054 citra_qt: Add a game region column 2018-05-01 19:57:01 +02:00
Daniel Lim Wee Soong
51398e0301 Logging: Add customizable logging backends and fmtlib based macros
* Change the logging backend to support multiple sinks through the
Backend Interface
* Add a new set of logging macros to use fmtlib instead.
* Qt: Compile as GUI application on windows to make the console hidden by
default. Add filter configuration and a button to open log location.
* SDL: Migrate to the new logging macros
2018-04-23 21:32:56 -06:00
Daniel Lim Wee Soong
10f0fbc0e5 core/gdbstub: Migrate logging macros
Change to use the new logging macros
2018-04-18 21:53:26 +08:00
Merry
d5b1c33587
Merge pull request #3656 from lioncash/relocate
sm: Relocate the service manager to the System class
2018-04-15 10:34:14 +01:00
Merry
9e21094dea
Merge pull request #3631 from daniellimws/boss-fmt
service/boss: Migrate logging macros
2018-04-15 08:59:42 +01:00
Lioncash
a78920e60b
sm: Relocate the service manager to the System class
Rather than have it live as a global variable, place it into the System class and make it instance-based.
2018-04-13 07:15:34 -04:00
Lioncash
5309b51c12 cam: Correct forward declaration type for Core::EventType
This is actually a struct, not a class.
2018-04-12 23:15:16 -04:00
Weiyi Wang
dfe9b4edf8
Merge pull request #3587 from valentinvanelslande/apt-fmt
Service/APT: Migrate logging macros
2018-04-12 22:47:44 +03:00
Weiyi Wang
6df2e3ccc9
Merge pull request #3614 from valentinvanelslande/movie-fmt
movie: migrate logging macros
2018-04-12 22:46:15 +03:00
N00byKing
f29f4ccdc9 gsp_gpu, shared_page: Change 3D LED State on SetLedForceOff 2018-04-12 16:44:29 +02:00
Daniel Lim Wee Soong
2d45e46558 service/boss: Migrate logging macros 2018-04-06 19:43:09 +08:00
Weiyi Wang
a9544ca015
Merge pull request #3580 from daniellimws/common-fmt
common: Migrate logging macros
2018-04-06 12:38:08 +03:00
Weiyi Wang
a2e87075c5
Merge pull request #3489 from B3n30/UDS_send_node_information
NWM_ UDS:Let connected clients handle the eapol packet
2018-04-05 16:14:39 +03:00
B3n30
f64f118e3b fix Subvs suggestions 2018-04-05 14:57:35 +02:00
B3n30
2d72b2be8b fix Subvs suggestions 2018-04-05 14:43:21 +02:00
Daniel Lim Wee Soong
1e4eb7def8 arm/dyncom: Migrate logging macros 2018-04-02 16:01:19 +08:00
Valentin Vanelslande
4fa1628fb6
movie: migrate logging macros 2018-03-31 00:24:21 -06:00
Lioncash
0e7ca706dc disk_archive: Make DiskDirectory's constructor explicit
Prevents implicit conversions/construction.
2018-03-31 00:54:17 -04:00
Lioncash
07855c48d1 disk_archive: Remove unnecessary const in DiskDirectory's Read() declaration
This only applies in the definition of the function, not the
declaration.
2018-03-31 00:54:17 -04:00
Lioncash
ed64d15060 disk_archive: Remove unused total_entries_in_directory member from DiskDirectory
Also converts initializer list assignments to in-class initializers
where relevant.
2018-03-31 00:52:47 -04:00
Merry
a567a92468
Merge pull request #3593 from daniellimws/loader-fmt
core/loader: Migrate logging macros
2018-03-29 14:45:25 +01:00
Weiyi Wang
1c4b230346
Merge pull request #3604 from lioncash/ptr
archive_systemsavedata: Remove pointer cast from GetSystemSaveDataPath()
2018-03-29 11:52:36 +03:00
Weiyi Wang
82b9387315
Merge pull request #3605 from valentinvanelslande/am-popu64
Service/AM: Use Pop<u64>() in DeleteUserProgram and DeleteProgram
2018-03-29 09:47:56 +03:00
Weiyi Wang
da91fb41db
Merge pull request #3597 from lioncash/lzss
ncch_container: Get rid of pointer casts in LZSS_GetDecompressedSize() and LZSS_Decompress()
2018-03-29 09:42:25 +03:00
Weiyi Wang
feb4eca2ff
Merge pull request #3598 from lioncash/boss
boss: Correct ReceiveProperty()'s response data payload
2018-03-29 09:38:33 +03:00
Weiyi Wang
115fd1cbf0
Merge pull request #3599 from lioncash/err
err_f: Add missing break in ThrowFatalError()
2018-03-29 09:38:19 +03:00
Valentin Vanelslande
528d8a6ccb
CiTrace: Migrate logging macros 2018-03-28 20:48:59 -06:00
Valentin Vanelslande
492fca114d
Service/AM: Use Pop<u64>() in DeleteUserProgram and DeleteProgram 2018-03-28 20:28:18 -06:00
Lioncash
26b1aec3c1 archive_systemsavedata: Remove pointer cast from GetSystemSaveDataPath()
These kinds of casts invoke undefined behavior due to alignment rules.

Use memcpy instead which always does the right thing.
2018-03-28 22:17:26 -04:00
Valentin Vanelslande
542b11ccdc
Change line 203 2018-03-28 19:05:54 -06:00
Lioncash
5ec576ff78 err_f: Add missing break in ThrowFatalError()
Introduced by 691f069743

If we hit a prefetch abort, the DFSR and DFAR contents aren't really going to be
that useful.
2018-03-28 20:33:25 -04:00
Lioncash
31100c582a boss: Correct ReceiveProperty()'s response data payload
This was previously overwriting data in the same index.
2018-03-28 20:26:33 -04:00
Lioncash
3af976e41e ncch_container: Get rid of pointer casts in LZSS_GetDecompressedSize() and LZSS_Decompress()
These kinds of casts invoke undefined behavior, due to both the aliasing
rule, and from an alignment point-of-view. Use the way that's guaranteed
to always work instead.
2018-03-28 19:55:49 -04:00
Daniel Lim Wee Soong
fbfc1103fd core/loader: Migrate logging macros
Replace logging to use NGLOG instead of LOG.
2018-03-29 00:08:26 +08:00
Valentin Vanelslande
ca6642aa2a
[skip ci] 2018-03-28 08:45:39 -06:00
Daniel Lim Wee Soong
730f8a4103 Fix formatting mistakes 2018-03-28 22:28:55 +08:00
Valentin Vanelslande
a53365d69e Fix clang 2018-03-27 18:17:04 -06:00
Valentin Vanelslande
f1e26fad7f
Fix build 2018-03-27 15:25:57 -06:00
Valentin Vanelslande
4a37d91bc6
change line 528 2018-03-27 14:23:31 -06:00
Valentin Vanelslande
e7ac03c941
Service/APT: Migrate logging macros
Macro of line 528 not changed
2018-03-27 14:03:00 -06:00
Daniel Lim Wee Soong
20776b37be Fix wrongly converted specifiers
Sorry that was a lot in one go so some of them had some mistakes
2018-03-27 23:37:36 +08:00
Daniel Lim Wee Soong
968569aa61 Replace format specifiers for all usages of ASSERT_MSG 2018-03-27 23:28:42 +08:00
Ben
4be12d5f56 NWM_UDS:: Check flags in SendTo (#3481)
* NWM_UDS:: Check flags in SendTo

* NWM_UDS: SendTo from Host to only oneClient

* fix u8 in flags

* Send node_map to clients

* Libnetwork: Increase libnetwork version

* Broadcast on dest_node_id 0xFFFF

* fixup: dest_node_id offset

* fixup: dest_node_id offset part 2

* Adressed wwyleles feedback

* Adressed wwylele's nits
2018-03-27 15:01:29 +03:00
Daniel Lim Wee Soong
7abfdb164b hw: Migrate logging macros (#3584)
* hw: Migrate logging macros

Use NGLOG instead of LOG prefixed macros for logging

* gpu: Remove unnecessary casting

At first this line without any casting gave an error. Without knowing which argument is causing the error, I just casted everything. After that forgot to check which argument is the one causing trouble.

* hw: Change format specifiers for the one missed
2018-03-27 12:02:19 +01:00
Valentin Vanelslande
e2c5666883 Service/AM: Fix crash when scanning titles with installed titles with invalid title IDs (#3542)
* Service/AM: Fix crash when scanning titles with installed titles with invalid title IDs

Fixes #3332
2018-03-24 13:06:50 -06:00
Weiyi Wang
171cb4452f
Merge pull request #3498 from wwylele/cfg-new-framework
Service/CFG: convert to ServiceFramework
2018-03-17 13:54:29 +02:00
Starlet
935bcdbd20 Convert ACT to the new service framework (#3521)
* Convert ACT to the new service framework

* Fix clang-format

* le updates to fix stuff

* Fixed one last thing.

* Well, I fucked up.

* Quick hotfix
2018-03-16 11:36:35 +02:00
wwylele
ea82203780
ipc_helper: remove interface for operating on command buffer directly
Now IPC helpers are only supposed to use on top of ServiceFramework
2018-03-10 13:37:05 +02:00
wwylele
b179b86f14
Service/CFG: convert to ServiceFramework 2018-03-10 13:37:03 +02:00
wwylele
672fbcf37d Memory: remove RasterizerCachedSpecial page type 2018-03-10 01:14:38 +02:00
B3n30
29d6e05044 Let connected clients handle the eapol packet 2018-03-09 19:15:06 +01:00
James Rowe
f61141e86a Update the entire application to use the new clang format style 2018-03-09 10:54:43 -07:00
wwylele
e40d693057 Service/NFC: convert to ServiceFramework 2018-03-09 18:59:04 +02:00
Ben
42d68d6ea4
Merge pull request #3470 from wwylele/news-framework
Service/NEWS: convert to ServiceFramework
2018-03-09 17:52:21 +01:00
Weiyi Wang
5dc8ac80dd
Merge pull request #3469 from wwylele/frd-new-framework
Service/FRD: convert to ServiceFramework
2018-03-07 15:33:49 +02:00
tgsm
7054b63d4d Service/CFG: add system model value for New 2DS XL 2018-03-06 02:11:01 -05:00
Weiyi Wang
4befbddc34
Merge pull request #3281 from jroweboy/texcache-pt2
Texture Cache Rework
2018-03-05 11:57:25 +02:00
James Rowe
f3234db5e2
Merge pull request #3440 from B3n30/file_read_delay
File_Sys: Add a size dependent delay for each file read
2018-03-04 21:32:50 -07:00
James Rowe
739f8e5367 Fix clang format 2018-03-04 20:59:42 -07:00
James Rowe
ce725f24ca
Merge pull request #3444 from jroweboy/fix-multiplayer
UDS: Add non zero mac address to the shared page
2018-03-04 20:40:37 -07:00
James Rowe
d26cf11399 Fix clang format 2018-03-04 20:27:22 -07:00
James Rowe
878217372b Remove useless static cast 2018-03-04 20:16:36 -07:00
wwylele
61069d2b67 Service/NEWS: convert to ServiceFramework 2018-03-04 20:47:55 +02:00
wwylele
3566987ecc Service/NEWS: fix command id for news:u:AddNotification
this one is different from the one in news:s
2018-03-04 20:47:54 +02:00
wwylele
54af348cfc IPC helpers: remove deprecated static buffer interface 2018-03-04 14:47:33 +02:00
wwylele
6ebd3f396f Service/FRD: convert to ServiceFramework 2018-03-04 14:47:32 +02:00
Weiyi Wang
e4d558d114
Merge pull request #3468 from wwylele/nim-new-framework
Service/NIM: convert to ServiceFramework
2018-03-04 13:25:54 +02:00
Ben
d6157a49db APT: Implement SendCaptureBufferInfo and ReceiveCaptureBufferInfo (#3467)
* APT: Implement SendCaptureBufferInfo and ReceiveCaptureBufferInfo

* adressed comments

* Clear screen_capture_buffer on Receive

* fix response in ReceiveCaptureBufferInfo

* fix response in ReceiveCaptureBufferInfo

* fix clang-format
2018-03-04 13:25:33 +02:00
wwylele
508bba2932 Service/NIM: convert to ServiceFramework 2018-03-03 19:25:26 +02:00
Weiyi Wang
001ad9da3b
Merge pull request #3462 from wwylele/am-new-framework
Service/AM: convert to ServiceFramework
2018-03-03 18:29:47 +02:00
Ben
7c1a22358a
Merge pull request #3456 from hubslave/master
Fix build on OpenBSD
2018-03-02 21:58:43 +01:00
hubslave
fd79b70a87 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-03-02 18:12:51 +02:00
wwylele
7c4ed77e06 Service/AM: fix some headers 2018-03-02 02:53:59 +02:00
wwylele
61e5f320c9 ipc_helpers: remove some deprecated functions 2018-03-02 02:53:59 +02:00
wwylele
e19475481c Service/AM: convert to ServiceFramework 2018-03-01 17:02:34 +02:00
B3n30
98771a6363 GSP_GPU: Release the GPU right if the active session closes the gsp_gpu session 2018-03-01 14:54:38 +01:00
wwylele
ff15d887fa remove dead code 2018-03-01 15:02:51 +02:00
Weiyi Wang
941ccaeed6
Merge pull request #3441 from wwylele/fs-new-framework
Service/FS: convert to ServiceFramework
2018-03-01 14:51:24 +02:00
Valentin Vanelslande
ac626edabc Service/AM: Implement DeleteProgram and DeleteUserProgram (#3446)
* Update am.cpp

* Update am.h

* Update am_net.cpp

* Service/AM: Implement DeleteProgram

* fix clang

* Address comments

* Service/AM: DeleteProgram: Scan for all titles after deleting the title

* fix

* Service/AM: DeleteProgram: return error if the title was not found

* fix clang

* [skip ci]

* [skip ci]

* [skip ci]

* [skip ci]

* Service/AM: Implement DeleteUserProgram

* fix clang

* FileUtil::DeleteDirRecursively unexpectedly failed
2018-02-28 16:25:33 +02:00
B3n30
d8ac3a3435 Fix include 2018-02-24 14:46:42 +01:00
B3n30
143878a474 Rebased usage of SleepClientThread 2018-02-24 14:25:02 +01:00
B3n30
06a7676ed1 Add DelayGenerator for all file backends 2018-02-24 14:15:57 +01:00
B3n30
58b16c5459 File_Sys: Add a size dependend delay for each file read 2018-02-24 14:15:57 +01:00
James Rowe
1f87766b86 Change to use CryptoPP random and address review comments 2018-02-22 22:31:58 -07:00
hubslave
27b20359b4 core: EMULTIHOP isn't defined on all Unixes 2018-02-22 23:29:54 +02:00
James Rowe
752cfcaaae Move writing to shared page to the nwm init 2018-02-22 10:20:34 -07:00
James Rowe
ffe94421b2 UDS: Add non zero mac address to the shared page
Apparently several games check the shared page mac address and wifi
link level values, and will refuse to start UDS if they are not correct.
This change gives a default value (in case you aren't connected to a
network) and will read the value from Room if you are connected.
2018-02-22 10:17:38 -07:00
wwylele
26a9c5832d keep the namespace comment 2018-02-22 17:46:31 +02:00
wwylele
d9500ecf9b Revert "Kernel/Threads: Add a new thread status that will allow using a Kernel::Event to put a guest thread to sleep inside an HLE handler until said event is signaled" 2018-02-22 17:31:58 +02:00
Weiyi Wang
e2eab46535
Merge pull request #3070 from B3n30/uds_connect_disconnect
NWM_UDS: change to Service Framework
2018-02-22 16:55:59 +02:00
wwylele
dfc22661a4 NWM_UDS: change SleepClientThread to use std::chrono::nanoseconds 2018-02-22 16:44:04 +02:00
Weiyi Wang
48512d9011
Merge pull request #3101 from Subv/hle_thread_pause2
Kernel/Threads: Add a new thread status that will allow using a Kernel::Event to put a guest thread to sleep inside an HLE handler until said event is signaled
2018-02-22 16:23:34 +02:00
wwylele
42ab8d9d0b HLE: specify that the command buffer is an array of u32_le 2018-02-22 16:12:39 +02:00
Subv
b0f4390247 HLE: Use std::chrono::nanoseconds instead of a plain u64 in SleepClientThread. 2018-02-21 22:03:46 -05:00
wwylele
f3d22ccde4 APT: don't skip translation parameters 2018-02-19 22:30:38 +02:00
James Rowe
33fe6c30e0
Merge pull request #3322 from MerryMage/DSP
audio_core: Remove global state
2018-02-19 09:08:37 -07:00
B3n30
853a79c94c clang-format fix 2018-02-17 13:45:52 +01:00
B3n30
7cb3d84a98 HW checked signals Disconnect, Destroy and Shutdown 2018-02-17 12:54:48 +01:00
wwylele
e003e75dc5 FS: fix wrong response header of Initialize 2018-02-16 21:33:39 +02:00
B3n30
237835a8b6 NWM_UDS: More of wwyleles comments 2018-02-15 23:00:32 +01:00
B3n30
cbf514190e NWM_UDS: Addressed wwyleles comments 2018-02-15 22:48:27 +01:00
B3n30
cc6a83621c fix clang 2018-02-15 22:48:27 +01:00
B3n30
d793624c61 fixup! NWM_UDS: Convert to service framework 2018-02-15 22:48:27 +01:00
B3n30
27e6e03d16 Fixups from Subvs comments 2018-02-15 22:48:27 +01:00
B3n30
520ecf7be6 NWM_UDS: Convert to service framework 2018-02-15 22:48:27 +01:00
B3n30
5904e11215 fixup! UDS: Add coonnect and disconnect 2018-02-15 22:48:27 +01:00
B3n30
f29a9ac3c1 UDS: Add coonnect and disconnect 2018-02-15 22:48:27 +01:00
wwylele
6c6e42375c FS: correct maximum session
the number is got from FS module code
2018-02-15 23:28:03 +02:00
wwylele
36169144b5 FS: fix documentation of service functions 2018-02-15 23:03:21 +02:00
wwylele
71fac7bd72 FS: convert to service framework 2018-02-15 23:02:09 +02:00
wwylele
e8c95a9a41 ipc_helpers: add PopPID; remove PushCurrentPIDHandle
It doesn't make sense for a service to tell its own PID to a client, and there is no such use case. Also the name "handle" is misleading as the PID is not a handle
2018-02-15 11:16:41 +02:00
wwylele
19d7324075 fs/archive: convert Directory to ServiceFramework 2018-02-14 21:47:08 +02:00
wwylele
4935dcaf56 fs/archive: remove dead code
the std::hash bug is fixed in gcc 6.1, and we are now targeting 7.0 , so the workaround is no longer needed
2018-02-14 19:49:54 +02:00
Weiyi Wang
775fb388c2
Merge pull request #3429 from Cuyler36/fs_user-stub-secure-value-functions
Service/FS_User: Stub Secure Value Functions
2018-02-14 17:32:26 +02:00
bunnei
b9963e131c
Merge pull request #3421 from wwylele/apt-new-framework-2
Service/APT: convert to ServiceFramework
2018-02-14 10:06:49 -05:00
wwylele
c4db298a7d
HLE/IPC: remove assertion on empty buffer.
Some service functions do require to push an empty buffer in some cases. See APT:ReceiveParameter/GlanceParameter
2018-02-11 00:09:52 +02:00
wwylele
66141ed004 apt: fix doc format 2018-02-09 18:10:46 +02:00
Weiyi Wang
3c03da12c8
Merge pull request #3069 from B3n30/announce_room_webservice
Announce room webservice
2018-02-08 18:46:10 +02:00
Cuyler36
71c7dddac4 Service/FS_User: Stub Secure Value Functions
Stubbing these functions results in save loading fixes in games which require a secure value.

An example is shown here with Animal Crossing: New Leaf:
[Before](https://puu.sh/zidZC/f1523e81cb.png)

[After](https://puu.sh/zifeT/57026eae44.png)
2018-02-06 19:31:22 -05:00
wwylele
8970e28031
APT: convert to ServiceFramework 2018-02-03 19:40:22 +02:00
MerryMage
ab3d53131a audio_core: Remove global state 2018-02-03 15:15:17 +00:00
bunnei
dca5fd291f
Merge pull request #3272 from MerryMage/dynarmic
core/arm: Backend-specific context implementations
2018-02-02 12:27:52 -08:00
bunnei
40b9e55e60
Merge pull request #3408 from wwylele/apt-new-framework
APT/Applet: move applet management into its own class
2018-02-02 12:15:57 -08:00
bunnei
ee0bd3a8db
Merge pull request #3367 from wwylele/y2r-new-framework
Service/Y2R: convert to ServiceFramework
2018-02-02 12:12:47 -08:00
James Rowe
b002511df0
citra-qt: Add customizable speed limit target (#3353)
citra-qt: Add customizable speed limit target

* Update SDL config for the new frame_limit option
* Made max lag time a function of target speed percent.
* Added a checkbox to enable/disable frame limiter
* UI: Prevent frame_limit from under/overflowing
* UI: Hide target speed percent when frame limiter is off
* Disable frame limit spin box when framelimit isn't enabled
2018-01-25 22:24:40 -07:00
wwylele
92f0064b47
APT/Applet: move applet managing into its own class 2018-01-25 22:20:08 +02:00
B3n30
33b0b5163f
Merge pull request #3136 from Subv/mem_aliasing1
Kernel/Memory: Added a function to change the memory state of an address range
2018-01-24 10:17:25 +01:00
Subv
a7a5c5aa0d Kernel/IPC: Partially implement MappedBuffer translation.
Right now only MappedBuffers that only span a single page and are not aligned are implemented.

MappedBuffers are unmapped during the reply part of ReplyAndReceive. Only unmapping of ReadOnly buffers is currently implemented.
2018-01-23 08:27:00 -05:00
Subv
928202f744 Kernel/VMManager: Added a function to map a block of memory into the first available address after a given base. 2018-01-23 08:24:15 -05:00
Subv
e4f35f70ac Memory: Added a function to change the memory state of an address range.
This will be useful when implementing memory aliasing operations.
2018-01-23 08:19:47 -05:00
James Rowe
44d07574b1
Merge pull request #2882 from danzel/movie-squash
Movie (Game Inputs) recording and playback
2018-01-23 01:03:37 -07:00
James Rowe
0e8c25fdfa
Merge pull request #3361 from wwylele/ptm-new-framework
Service/PTM: convert to ServiceFramework
2018-01-22 11:57:44 -07:00
wwylele
f42f7dfcab
Service/Y2R: convert to ServiceFramework 2018-01-12 13:38:20 +02:00
Weiyi Wang
9b647d459b
Merge pull request #3324 from Subv/gspgpu
Services: Keep track of per-session data in GSPGPU
2018-01-11 20:03:46 +02:00
wwylele
9be3ce83db
Service/PTM: convert to ServiceFramework 2018-01-10 14:23:35 +02:00
Emmanuel Gil Peyrot
7f9fae5f7c Telemetry: Disable CPU detection on ¬x86_64 2018-01-08 19:21:21 +01:00
Emmanuel Gil Peyrot
e5a3dc2956 Core: Disable the JIT when dynarmic is not available 2018-01-08 19:13:58 +01:00
Emmanuel Gil Peyrot
2cd2a7491c CMakeLists: Disable dynarmic on ¬x86_64 2018-01-08 17:58:00 +01:00
Subv
34685f48dc GSP: Allow the signaling of the PDC0/1 interrupts even if the GPU right hasn't been acquired.
This was verified with a hwtest.
2018-01-06 13:51:33 -05:00
Weiyi Wang
a66e4585a0
Merge pull request #3304 from wwylele/hid-new-framework
HID: convert to ServiceFramework
2018-01-04 11:04:57 +02:00
Subv
aa90198ec5 Services: Make SessionDataBase's destructor virtual. 2018-01-03 10:52:46 -05:00
Subv
75f68c4860 Services/GSP: Mark the thread ids as unused when a GSP session is destroyed.
This fixes the games that call RegisterInterruptRelayQueue and UnregisterInterruptRelayQueue frequently.
2018-01-02 12:10:58 -05:00
Subv
d17f148e48 Services/GSP: Assign a thread id to each connected session when the session is created.
Most applications call AcquireRight before calling RegisterInterruptRelayQueue so we can't assign the thread id there.
This fixes the bug with LLE applets not launching properly.
2018-01-02 12:07:26 -05:00
Weiyi Wang
3f7f2b42c0
Merge pull request #3257 from tgsm/y2r-ipc
y2r: convert some functions to use IPC helper
2018-01-02 12:55:56 +02:00
tgsm
ee779a5a4d y2r: convert some functions to use IPC helper 2018-01-01 22:46:34 -05:00
wwylele
7daa2a51d7
Kernel/SVC: fix typo in GetResourceLimitLimitValues 2017-12-30 23:42:32 +02:00
Subv
fbef978b98 GSP: Return the correct result code if AcquireRight is called multiple times from the same thread. 2017-12-24 12:15:01 -05:00
Subv
68fc3b36e6 HLE/GSP: Only trigger GSP interrupts for the current active GSP thread.
This is true for all interrupts except PDC0 and PDC1, which should be triggered for all registered threads.

TODO: The real GSP module seems to only trigger PDC0 after updating the screens (both top and bottom). PDC1 doesn't seem to be triggered at all.
2017-12-24 12:15:00 -05:00
Subv
05a44ed353 HLE/GSP: Keep track of the thread that currently has the GPU right.
This thread is the only one for which the GSP interrupts should be signaled, except for the PDC0/1 interrupts.
2017-12-24 12:14:59 -05:00
Subv
aabb07cca4 HLE/GSP: Make RegisterInterruptRelayQueue work in a per-session basis.
The registered interrupt event is unique to each session that calls RegisterInterruptRelayQueue, and only that event should be reset when UnregisterInterruptRelayQueue is called.
2017-12-24 12:14:58 -05:00
James Rowe
1c4d1d1ace Move trasnfer_framebuffer to a member of RasterCache. Address review comments 2017-12-23 16:10:32 -07:00
James Rowe
10fb9242ae Fix clang format 2017-12-23 16:10:32 -07:00
James Rowe
13606a6d0b Memory: Remove count of cached pages and add InvalidateRegion
In a future commit, the count of cached pages will be reintroduced in
the actual surface cache. Also adds an Invalidate only to the cache
which marks a region as invalid in order to try to avoid a costly flush
from 3ds memory
2017-12-23 16:10:25 -07:00
James Rowe
c821c14908 Settings: Change resolution scaling to an integer instead of a float 2017-12-23 16:10:25 -07:00
Sebastian Valle
c3c684cd2b
Merge pull request #3301 from Subv/exitprocess2
Kernel/SVC: Partially implemented svcExitProcess.
2017-12-23 10:49:36 -05:00
wwylele
bf23f8d542 HID: convert to ServiceFramework 2017-12-22 12:41:41 +02:00
Sebastian Valle
ae42267cc7
Merge pull request #3307 from Subv/gsp_new_frame
HLE: Convert GSP_GPU to ServiceFramework.
2017-12-21 10:31:41 -05:00
Subv
3652809408 HLE: Convert GSP_GPU to ServiceFramework.
The only functional change is the error handling of GSP_GPU::ReadHWRegs function. We previously didn't return error codes (not even for success). The new returns were found by reverse engineering the GSP module.
2017-12-21 10:30:22 -05:00
MerryMage
19814d68c1 gdbstub: Correct typo
Constructing and destructing a Core::System instance for the
GetInstance() call isn't the smartest thing to do.
2017-12-20 18:47:06 +00:00
Merry
3f37976fd3
Merge pull request #3309 from wwylele/cro-session-slot
ldr_ro: use ServiceFramework's session slot for client slot
2017-12-18 18:22:39 +00:00
Merry
32b2d5bdfe
Merge pull request #3253 from lioncash/mic-ipc
mic_u: Migrate to the new service framework
2017-12-18 14:34:47 +00:00
danzel
0238e0c5e7 Convert Movie to a class with a static instance, and other fixes based on B3n30 feedback. 2017-12-17 17:55:56 +13:00
danzel
04541150b1 Movie (recorded inputs) playback and recording. SDL has command lines to control it. 2017-12-17 16:43:09 +13:00
wwylele
eeec04fcaa ldr_ro: use ServiceFramework's session slot for client slot 2017-12-17 01:43:12 +02:00
Subv
f4b595331f GSP/GPU: Make FrameBufferInfo::active_fb use the entire u32 instead of just one bit.
The GSP module reads the entire 32 bit word from this field to determine the framebuffer.
2017-12-16 13:33:42 -05:00
Sebastian Valle
125f5d1e68
Merge pull request #3284 from Subv/session_data
HLE/Services: Allow specifying a SessionData template parameter to ServiceFramework.
2017-12-16 09:14:34 -05:00
Lioncash
d613c6f74f mic_u: Migrate to the new service framework 2017-12-15 19:22:58 -05:00
Subv
1856aa7b32 Kernel/SVC: Partially implemented svcExitProcess.
Terminating processes with ready threads is not currently implemented and will assert. It is currently unknown how the 3DS kernel stops ready threads or threads running in another core.
2017-12-15 15:47:33 -05:00
Sebastian Valle
4fd28e715e
Merge pull request #3252 from Subv/fs_user
HLE/FS: Converted some functions to use IPCHelpers
2017-12-15 15:40:36 -05:00
Sebastian Valle
4b4e1861c7
Merge pull request #3265 from Subv/getappletinfo
HLE/APT: Implement GetAppletInfo for LLE applets.
2017-12-15 10:29:53 -05:00
Subv
9a22e8d9ed HLE/APT: Implement GetAppletInfo for LLE applets.
Calling this function for AppletId::Application is not yet implemented because we don't support launching applications from APT.
2017-12-14 19:30:12 -05:00
Subv
674bd550a4 HLE/APT: Stubbed FinishPreloadingLibraryApplet.
An applet is considered "loaded" when the parent application calls this function.
2017-12-14 19:30:11 -05:00
Sebastian Valle
542f14d3c5
Merge pull request #3249 from Subv/logo
NCCH: Load the "logo" file from the specified offset if it's present instead of the ExeFS.
2017-12-14 18:30:19 -05:00
Subv
b5bfaaae29 HLE/FS: Use the SessionData parameter of ServiceFramework in the File class. 2017-12-14 18:24:03 -05:00
Subv
daecd812b0 HLE/Services: Allow specifying a SessionData template parameter to ServiceFramework.
Some services can have multiple clients at the same time, and they identify the different clients using the server session as a key.
This parameter (if present) should be a structure that contains the per-session data for each service.
The data can be retrieved using ServiceFramework::GetSessionData(session)
2017-12-14 18:24:02 -05:00
B3n30
a5e63a8c35 Use Common::Event 2017-12-14 12:36:37 +01:00
B3n30
eba2351f9e Announce-Service: Add conditional variable for the wait in the announce thread 2017-12-14 12:36:37 +01:00
B3n30
93742f17b3 fixup! fixup! Add a service to announce multiplayer rooms to web service; Add the abiltiy to receive a list of all announced rooms from web service 2017-12-14 12:36:37 +01:00
B3n30
1485093fd9 fixup! Add a service to announce multiplayer rooms to web service; Add the abiltiy to receive a list of all announced rooms from web service 2017-12-14 12:36:37 +01:00
B3n30
0432fc17eb Add a service to announce multiplayer rooms to web service; Add the abiltiy to receive a list of all announced rooms from web service 2017-12-14 12:36:37 +01:00
bunnei
4b8a7eb1ca
Merge pull request #3192 from wwylele/cro-new-frame
ldr_ro: convert to ServiceFramework
2017-12-13 22:30:03 -05:00
bunnei
c23c39132a
Merge pull request #3239 from wwylele/cam-new-frame
cam: convert to ServiceFramework
2017-12-13 22:27:58 -05:00
bunnei
9b598d936d
Merge pull request #3248 from wwylele/ir-new-frame
ir: convert to ServiceFramework
2017-12-13 22:24:51 -05:00
Subv
2552efac01 HLE/FS: Use PopEnum in OpenFile. 2017-12-13 19:51:36 -05:00
Subv
d790ac465c HLE/FS: Use IPCHelper in CreateFile. 2017-12-13 19:51:21 -05:00
Subv
92e71aff57 HLE/FS: Use IPCHelper in DeleteDirectoryRecursively. 2017-12-12 17:48:15 -05:00
Subv
67382e46c0 HLE/FS: Use IPCHelper in DeleteDirectory. 2017-12-12 17:48:12 -05:00
Subv
b631f77d11 HLE/FS: Use IPCHelper in RenameFile. 2017-12-12 17:48:10 -05:00
Subv
a6c69bfca0 HLE/FS: Use IPCHelper in DeleteFile. 2017-12-12 17:48:07 -05:00
Subv
e9a70ce2fc HLE/FS: Use IPCHelper in OpenFileDirectly. 2017-12-12 17:48:03 -05:00
Subv
90fdc8dcbf FS: Make LowPathType a strongly typed enum. 2017-12-12 17:48:00 -05:00
Sebastian Valle
6afd091c37
Merge pull request #3235 from Subv/dlp3
HLE/FS: Implemented FSFile::OpenSubFile.
2017-12-12 17:01:18 -05:00
bunnei
4695f12a08
Merge pull request #3264 from lioncash/cmake-target
CMakeLists: Derive the source directory grouping from targets themselves
2017-12-12 14:34:51 -05:00
MerryMage
fb2d34997e core/arm: Backend-specific context implementations 2017-12-12 19:12:03 +00:00
MerryMage
7d5c3b00a8 dynarmic: Update to d1d4705 2017-12-12 19:08:53 +00:00
Subv
c9ddd5b0ae HLE/FS: Implemented FSFile::OpenSubFile.
The File class now holds a list of connected sessions along with data unique to each session.

A subfile is a window into an existing file. They have a few limitations compared to normal files:

* They can't be written to.
* They can't be flushed.
* Their size can not be changed.
* New subfiles can't be created from another subfile.
2017-12-12 13:34:02 -05:00
Sebastian Valle
b4bb74a101
Merge pull request #3268 from lioncash/ipc-enum
ipc_helpers: Add member functions for pushing and popping strongly typed enums
2017-12-12 12:52:02 -05:00
Lioncash
ab021d163e 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.
2017-12-11 21:11:52 -05:00
MerryMage
533feb42d1 core: Don't Shutdown before we've even Init-ed 2017-12-12 00:30:46 +00:00
Merry
5c802d35ef
Merge pull request #3262 from lioncash/warn
common/core: Silence initialization order warnings
2017-12-11 19:52:53 +00:00
Sebastian Valle
1e3113b1b2
Merge pull request #3251 from Subv/fs_numseeds
HLE/FS: Stubbed GetNumSeeds to always return 0 seeds.
2017-12-11 14:13:10 -05:00
Sebastian Valle
4a3d7863fa
Merge pull request #3250 from Subv/news_notifications
HLE/News: Stubbed GetTotalNotifications to always return 0 notifications.
2017-12-11 14:12:22 -05:00
Lioncash
eb58dbda32 ncch: Add missing return statement in ReadUpdateRomFs 2017-12-11 01:33:08 -05:00
Lioncash
91a804707b ipc_helpers: Add member functions for pushing and popping strongly typed enums
Alleviates the need to static_cast to an enum type at the call sites of the Push and Pop calls.

We only allow strongly typed enums, as they have a defined type of int
by default if an underlying type isn't explicitly specified, whereas
with regular enums, if an underlying type isn't specified, an
implementation-defined  type is used that can fit all the enumeration
values.
2017-12-10 23:10:00 -05:00
Lioncash
c31f932afe common/core: Silence initialization order warnings 2017-12-10 19:50:45 -05:00
B3n30
2146311ad1
Merge pull request #3091 from Subv/hle_request_delat
Kernel/IPC: Add a small delay after each SyncRequest to prevent thread starvation.
2017-12-10 19:59:19 +01:00
Subv
0ac82af50f HLE/FS: Stubbed GetNumSeeds to always return 0 seeds.
We don't yet implement the SEEDDB store.
This number is supposed to be modified by the AddSeed function (0x087A0180) but there's too little info about it on 3dbrew.
2017-12-10 13:08:04 -05:00
Subv
98e3872353 Kernel/IPC: Use 39 microseconds for the SendSyncRequest delay approximation.
As measured by the time it takes for to return when performing the SetLcdForceBlack IPC request to the GSP:GPU service in a n3DS with firmware 11.6

See https://gist.github.com/ds84182/ecdbbd25b56a29bd4e5b32a7544b8e92 for the source code of the test.
2017-12-10 13:00:05 -05:00
Sebastian Valle
c72262d7e3
Merge pull request #3246 from Steveice10/pxidev
HLE: Add pxi:dev stub.
2017-12-10 12:21:35 -05:00
Sebastian Valle
2859b98884
Merge pull request #3234 from Subv/dlp2
HLE/FS: Implemented FS::GetProgramLaunchInfo.
2017-12-10 08:58:08 -05:00
Sebastian Valle
951b023a3d
Merge pull request #3259 from lioncash/init-order
ac: Correct constructor initialization order
2017-12-10 08:46:11 -05:00
Yuri Kunde Schlesner
312281fd61
Merge pull request #3256 from yuriks/move-svc
HLE: Move svc.cpp to kernel/
2017-12-10 01:13:46 -05:00
Lioncash
bca58546b1 ac: Correct constructor initialization order
The parent class constructor will always run before the
class' initializers for member variables.
2017-12-09 23:48:40 -05:00
Yuri Kunde Schlesner
21188f5683 HLE: Move SVC handlers to the Kernel namespace 2017-12-09 20:32:58 -08:00
Sebastian Valle
ae82b8d5cc
Merge pull request #3232 from Dragios/add-applet-id
Services/APT: Add remaining Applet IDs
2017-12-09 21:12:25 -05:00
Yuri Kunde Schlesner
ad71e23f23 HLE: Move svc.{cpp,h} to kernel/ 2017-12-09 18:10:47 -08:00
Subv
7d038b9bd8 HLE/FS: Implemented FS::GetProgramLaunchInfo.
This function is used by the DLP system module during the DLPSRVR initialization.
2017-12-09 18:46:34 -05:00
Dragios
8b864a74e9 Add new AppID (eShop) 2017-12-10 07:38:56 +08:00
Dragios
ebb731b9a1 Fill up the rest of Applet IDs 2017-12-10 07:38:23 +08:00
Merry
25afbe5707
Merge pull request #3254 from lioncash/fs
file_sys: std::move data argumnets in the constructor where applicable
2017-12-09 23:35:08 +00:00
Steveice10
16b26e73c9 HLE: Add pxi:dev stub. 2017-12-09 14:45:56 -08:00
Lioncash
11705857cd file_sys: std::move the vector in NCCHFile's constructor
Avoids making unnecessary copies of the source vector's data.
2017-12-09 14:33:09 -05:00
Lioncash
370d77f13a file_sys: std::move std::shared_ptr instances in constructors where applicable
By default, a regular copy requires an atomic increment and decrement. A
move avoids this from occurring, which makes sense when the constructor
is taking the shared_ptr by value.
2017-12-09 14:33:04 -05:00
James Rowe
a709e6528e
Merge pull request #3242 from Subv/extdata
HLE/FS: Always use 0x48000 as the high dword when opening the SharedExtData archive
2017-12-09 10:18:30 -07:00
Subv
8e9b55e939 NCCH: Load the "logo" file from the specified offset if it's present instead of the ExeFS.
This is "new" behavior as of firmware 5.0.0-11, older titles have the logo offset and size set to 0, indicating that the logo is stored in the ExeFS.
2017-12-09 12:17:02 -05:00
Subv
dd0bd5520d HLE/News: Stubbed GetTotalNotifications to always return 0 notifications.
This prevents an invalid read loop on games that call it.
2017-12-09 11:28:57 -05:00
wwylele
35b1306941 ir_user: convert to ServiceFramework 2017-12-09 18:14:51 +02:00
wwylele
4812e98e05 ir_rst: convert to ServiceFramework
also fix the wrong header in Shutdown
2017-12-09 18:14:51 +02:00
wwylele
f3e41fe941 ir_u: convert to ServiceFramework 2017-12-09 12:34:23 +02:00
Subv
b54e278eeb FS/ExtData: Use the ExtSaveDataArchivePath structure instead of reinterpret_cast. 2017-12-09 00:17:43 -05:00
Subv
37cb18358b HLE/FS: Always use 0x48000 as the high dword when opening the SharedExtData archive
The FS module overrides whatever value was in the saveid high dword with 0x48000 when trying to open the archive.

This fixes the problem where the Home Menu would create a few SharedExtData archives with 0x48000 as the saveid high, but then try to open them with 0 as the high value and fail.
2017-12-09 00:16:51 -05:00
wwylele
5026480b36 svc: correct GetProcessInfo(20) 2017-12-08 21:28:48 +02:00
Sebastian Valle
69caf8c5dc
Merge pull request #3236 from Tilka/block_name
cfg: refer to ConsoleModelBlockID by name
2017-12-08 09:01:22 -05:00
wwylele
07acc6ceab cam: convert to ServiceFramework 2017-12-08 11:20:48 +02:00
Tillmann Karras
6752576de9 cfg: refer to ConsoleModelBlockID by name 2017-12-08 06:56:00 +00:00
Subv
e90daa6a4f Kernel/IPC: Add a small delay after each SyncRequest to prevent thread starvation.
In a real 3DS, threads that call svcSyncRequest are put to sleep until the server responds via svcReplyAndReceive. Our HLE services don't implement this mechanism and are effectively immediate from the 3DS's point of view. This commit makes it so that we at least simulate the IPC delay.

Specific HLE handlers might need to put their callers to sleep for a longer period of time to simulate IO timings. This is their responsibility but doing so is currently not implemented.

See https://gist.github.com/ds84182/4a7690c5376e045cab9129ca4185bbeb for a test that was not passing before this commit.
2017-12-07 22:40:15 -05:00
Lioncash
ff96c5dba0 svc: Provide names for svc 0x59 and 0x5A
Updated according to 3dbrew.
2017-12-07 22:14:55 -05:00
wwylele
2b907dadf4 cro_helper: add todo about process handle 2017-12-07 16:20:15 +02:00
wwylele
9749a43cc4 ldr_ro: create per-client storage; pass process where needed 2017-12-07 16:01:01 +02:00
wwylele
8e4e663113 memory: add overload with process parameter for ZeroBlock and CopyBlock 2017-12-07 15:59:54 +02:00
wwylele
de8dbbf0b6 ldr_ro: convert to ServiceFramework 2017-12-07 15:59:54 +02:00
Lioncash
088c8521bf dyncom: Remove unnecessary includes 2017-12-07 00:02:55 -05:00
bunnei
1f36472fff
Merge pull request #3229 from lioncash/decode
arm_dyncom_dec: Hide the decoding table from external view
2017-12-06 22:46:01 -05:00
bunnei
77493860ca
Merge pull request #3228 from lioncash/explicit
arm: Make CPU backend constructors explicit
2017-12-06 22:44:39 -05:00
bunnei
d8ba07a430
Merge pull request #3227 from MerryMage/cro
Allow for partial invalidation of instruction cache
2017-12-06 22:43:58 -05:00
Lioncash
ab857f5e45 arm_dyncom_dec: Hide the decoding table from external view
This isn't used externally anywhere (and really shouldn't be).
2017-12-06 20:55:52 -05:00
Lioncash
982039be95 arm_dynarmic_cp15: Add missing header guard 2017-12-06 19:51:46 -05:00
Lioncash
e960628a14 arm: Make CPU backend constructors explicit
Avoids implicit conversions
2017-12-06 19:37:56 -05:00
MerryMage
a9af4be363 ldr_ro: Use ranged instruction cache invalidation 2017-12-06 20:59:09 +00:00
MerryMage
647e553f64 ARM_Interface: Allow for partial invalidation of instruction cache 2017-12-06 20:57:55 +00:00
Sebastian Valle
4b1253b51a
Merge pull request #3226 from Subv/arbiter_timeout
HLE/AddressArbiter: Remove threads that were awoken by timeout from an Arbiter's waitlist
2017-12-06 12:11:23 -05:00
Subv
8c16b90eae HLE/AddressArbiter: Remove threads that were awoken by timeout from the arbiter's waitlist when using WaitIfLessThanWithTimeout and DecrementAndWaitIfLessThanWithTimeout.
Fixes a regression introduced in #3096
2017-12-06 09:06:45 -05:00
B3n30
b9db9af9e8 fixup! Applet: Print unknown AppletId on ASSERT 2017-12-06 13:52:21 +01:00
B3n30
ddc59e3881 Applet: Print unknown AppletId on ASSERT 2017-12-06 12:41:46 +01:00
bunnei
e165b5bb94
Merge pull request #3184 from MerryMage/timing
core/arm: Improve timing accuracy before service calls in JIT
2017-12-05 23:12:24 -05:00
Lioncash
8599b1e7cc dyncom: Convert the SPSR checking define to a function
Same thing, with less indirection hiding
2017-12-05 20:07:45 -05:00
CDAGaming
2052a201c0 Fix Clang Format Error 2017-12-05 14:21:59 -05:00
Subv
3d000c834b Kernel/Threads: Implement an SleepClientThread function for HLERequestContext-based services to make performing async tasks on the host while in an HLE service function easier.
An HLE service function that wants to perform an async operation should put the caller guest thread to sleep using SleepClientThread, passing in a callback to execute when the thread is resumed.
SleepClientThread returns a Kernel::Event that should be signaled to resume the guest thread when the host async operation completes.
2017-12-05 14:21:59 -05:00
wwylele
6050d000fa fs: correct header code; remove dead code 2017-12-05 16:34:01 +02:00
Yuri Kunde Schlesner
9f806384f5
Merge pull request #3190 from Subv/errf_srv_framework
HLE/Services: Convert err:f to the new ServiceFramework.
2017-12-05 00:49:44 -05:00
bunnei
56db8e0858
Merge pull request #3173 from shinyquagsire23/nfc-o3ds-stub
Services/NFC: Stub StartTagScanning as it should be for o3DS
2017-12-04 16:11:54 -05:00
bunnei
990846f393
Merge pull request #3174 from MerryMage/vfp_reg_zero
dyncom: Remove VFP_REG_ZERO
2017-12-04 16:10:28 -05:00
Subv
30bffb1964 HLE/Services: Convert err:f to the new ServiceFramework. 2017-12-04 14:03:11 -05:00
B3n30
3249187ad6
Merge pull request #3181 from wwylele/ipc-handle-split
ipc_helper: split PushMoveObjects and PushCopyObjects
2017-12-04 18:49:42 +01:00
wwylele
fda023c9fa ipc_helper: split PushMoveObjects and PushCopyObjects 2017-12-04 19:46:44 +02:00
MerryMage
f6dfdc3588 core/arm: Improve timing accuracy before service calls in CPU interpreter 2017-12-03 16:40:21 +00:00
MerryMage
7cd8b437aa core/arm: Improve timing accuracy before service calls in JIT
We also correct the CPU JIT's implementation of Step.
2017-12-03 16:06:46 +00:00
wwylele
ff00cb391a service/ptm: add missing % in logging 2017-12-03 11:52:42 +02:00
Weiyi Wang
2664042325
Merge pull request #3086 from Subv/swkbd_launch
HLE/APT: Allow launching native applets instead of HLE ones.
2017-12-03 11:38:29 +02:00
Weiyi Wang
14819d0b84
Merge pull request #3138 from wwylele/ipc-mapped-buffer
Kernel/IPC: Implement MappedBuffer translation for HLE services that use the HLERequestContext architecture.
2017-12-03 11:33:48 +02:00
wwylele
a79a8d17fa FS: transform File to ServiceFramework 2017-12-03 00:05:20 +02:00
wwylele
cef6b15de4 IPC Helpers: Implement MappedBuffer translation helper for new interface 2017-12-03 00:05:20 +02:00
wwylele
3ecf650bf9 Kernel/IPC: Implement MappedBuffer translation for HLE services that use the HLERequestContext architecture. 2017-12-03 00:05:20 +02:00
MerryMage
b37a850654 dyncom: Remove VFP_REG_ZERO
Fixes two issues that will never happen:

1. There are cases when VFP_REG_ZERO will be non-zero, but these will
   never be encoutered in well behaved guest code (i.e. writing to D16).

2. If CONFIG_VFPv3 is defined, accessing VFP_REG_ZERO would be out of
   bounds.
2017-12-02 12:06:51 +00:00
shinyquagsire23
5ad4cf619e Services/NFC: Stub StartTagScanning as it should be for o3DS 2017-12-01 12:42:23 -07:00
Lioncash
89f67ad90f services: Silence warnings related to logging 2017-11-29 18:59:54 -05:00
bunnei
b2a99043e3
Merge pull request #2968 from Subv/hle_thread_pause
Kernel/Threads: Add a new thread status that will allow using a Kernel::Event to put a guest thread to sleep inside an HLE handler until said event is signaled
2017-11-29 10:45:48 -05:00
Sebastian Valle
dc5d7a802f
Merge pull request #3120 from shinyquagsire23/ncch-container-offsets
file_sys/ncch_container: Expose ncch_offset during instantiation and in OpenFile
2017-11-28 11:48:46 -05:00
Subv
1be31e271a NS/Applets: Added the MiiSelector applet to the list of native applet ids. 2017-11-28 09:12:52 -05:00
Subv
9543e1a1bf HLE/IPC: Don't assert in HLERequestContext::AddStaticBuffer when there's already a static buffer with the desired id.
This could happen if the guest application performs a request with static buffer id X, and the service module responds with another static buffer with the same id X.
2017-11-28 09:01:15 -05:00
B3n30
e9a95b2e7d
CoreTiming: Reworked CoreTiming (#3119)
* CoreTiming: New CoreTiming; Add Test for CoreTiming
2017-11-25 14:56:57 +01:00
James Rowe
b7cf793814
Merge pull request #3113 from shinyquagsire23/sdl-cia-install
SDL CIA Installation
2017-11-24 10:23:20 -07:00
shinyquagsire23
70ff3c72f1 Services/AM: Detect encrypted CIAs 2017-11-20 20:45:21 -07:00
shinyquagsire23
c0eb233bf1 file_sys/title_metadata: Fix encrypted bitmask 2017-11-20 20:45:06 -07:00