Yuri Kunde Schlesner
3feb3ce283
Merge pull request #2434 from mailwl/nfc-amiibo
...
Service/NFC: stub some functions
2017-01-25 23:47:56 -03:00
Kloen
095f7c83fc
core: fix mic_u warnings on MSVC
2017-01-23 16:53:05 +01:00
wwylele
2c7676d371
HID: reset acceleroeter and gyroscope index in Init
2017-01-20 23:33:50 +02:00
wwylele
0045ea662f
CFG: override language setting on boot
2017-01-19 10:28:35 +02:00
Thomas Farr
bb1f277db1
loader: Add support for 3DSX special relocation types, fixes citra-emu/citra#2449
...
As per devkitPro/3dstools@47bea18
2017-01-19 01:34:58 +13:00
wwylele
47960b0659
CoreTiming: use named constant for ARM11 clock rate
2017-01-16 09:59:16 +02:00
wwylele
3c333c53f1
HID: manages updating itself using correct ticks
2017-01-16 09:51:44 +02:00
mailwl
efe7e245b2
Service/NFC: stub some functions
...
Tested on: Mini-Mario & Friends - amiibo Challenge
2017-01-14 16:15:16 +03:00
mailwl
b458d7447c
GSP::WriteHWRegsWithMask: fix register mask
2017-01-14 13:37:04 +03:00
bunnei
7ddfd3054d
Merge pull request #2425 from Subv/cleanup_todos
...
Implement some TODOs in the code.
2017-01-12 10:14:30 -05:00
bunnei
597a7c615c
Merge pull request #2308 from mailwl/ac-i
...
Service/AC: add ac:i service
2017-01-12 10:12:46 -05:00
Subv
1ddff14511
Threads: Check the process' resource limit for the max allowed priority when creating a thread and remove the priority clamping code.
2017-01-11 16:38:05 -05:00
Subv
f2f2572fed
Thread: Added priority range checking to svcSetThreadPriority and removed priority clamping code from Thread::SetPriority.
2017-01-11 16:38:04 -05:00
Subv
5ddc2e09b1
Y2R: Use the proper error code when GetStandardCoefficient receives an invalid value.
2017-01-11 16:38:03 -05:00
wwylele
cf3a272332
CAM: implement basic camera functions with a blank camera
2017-01-11 11:46:44 +02:00
bunnei
84d72fd92f
Merge pull request #2397 from Subv/pulse
...
Kernel: Implemented Pulse event and timers.
2017-01-10 10:45:00 -05:00
bunnei
9fc8ead842
Merge pull request #2384 from bunnei/internal-res-option
...
config: Add option for specifying screen resolution scale factor.
2017-01-08 12:25:12 -05:00
bunnei
7cfe3ef046
Merge pull request #1951 from wwylele/motion-sensor
...
Emulate motion sensor in frontend
2017-01-07 12:39:20 -05:00
bunnei
22ad9094e6
config: Add option for specifying screen resolution scale factor.
2017-01-07 03:23:22 -05:00
bunnei
b5eac78b43
Merge pull request #2410 from Subv/sleepthread
...
Don't yield execution in SleepThread(0) if there are no available threads to run
2017-01-06 22:01:33 -05:00
bunnei
59f4f1d7ff
Merge pull request #2396 from Subv/sema_acquire
...
Kernel/Semaphore: Fixed a regression in semaphore waits.
2017-01-06 22:00:12 -05:00
Hyper
f0199a17f6
Kernel: Fix SharedMemory objects always returning error when addr = 0 ( #2404 )
...
Closes #2400
2017-01-06 08:21:22 -05:00
bunnei
1c792389e6
Merge pull request #2408 from Subv/priority_boosting
...
Kernel: Removed the priority boost code for starved threads.
2017-01-06 00:40:39 -05:00
Subv
fc2266130b
Kernel: Don't attempt to yield execution in SleepThread(0) if there are no available threads to run.
...
With this we avoid an useless temporary deschedule of the current thread.
2017-01-05 19:11:34 -05:00
Subv
5e2a8ebabf
Kernel: Remove some unused functions.
2017-01-05 13:17:06 -05:00
Subv
933df2606a
Kernel: Removed the priority boost code for starved threads.
...
After hwtesting and reverse engineering the kernel, it was found that the CTROS scheduler performs no priority boosting for threads like this, although some other forms of scheduling priority-starved threads might take place.
For example, it was found that hardware interrupts might cause low-priority threads to run if the CPU is preempted in the middle of an SVC handler that deschedules the current (high priority) thread before scheduling it again.
2017-01-05 13:12:39 -05:00
Subv
e52ca85711
Kernel: Implemented Pulse event and timers.
...
Closes #1904
2017-01-05 13:06:17 -05:00
Subv
4251eb26ec
Kernel/Semaphore: Fixed a regression in semaphore waits.
...
The regression was caused by a missing check in #2260 .
The new behavior is consistent with the real kernel.
2017-01-05 13:00:05 -05:00
Sebastian Valle
f20d872643
Merge pull request #2393 from Subv/synch
...
Kernel: Mutex priority inheritance and synchronization improvements.
2017-01-05 12:55:01 -05:00
Subv
dda4ec93be
Kernel: Add some asserts to enforce the invariants in the scheduler.
2017-01-05 09:40:18 -05:00
Subv
7f1dca8cd2
Kernel: Remove a thread from all of its waiting objects' waiting_threads list when it is awoken.
...
This fixes a potential bug where threads would not get removed from said list if they awoke after waiting with WaitSynchronizationN with wait_all = false
2017-01-05 09:40:15 -05:00
Subv
fd95b6ee26
Kernel: Remove Thread::wait_objects_index and use wait_objects to hold all the objects that a thread is waiting on.
2017-01-05 09:40:14 -05:00
Subv
cef5f45de2
Kernel: Use different thread statuses when a thread calls WaitSynchronization1 and WaitSynchronizationN with wait_all = true.
...
This commit removes the overly general THREADSTATUS_WAIT_SYNCH and replaces it with two more granular statuses:
THREADSTATUS_WAIT_SYNCH_ANY when a thread waits on objects via WaitSynchronization1 or WaitSynchronizationN with wait_all = false.
THREADSTATUS_WAIT_SYNCH_ALL when a thread waits on objects via WaitSynchronizationN with wait_all = true.
2017-01-04 15:58:50 -05:00
Subv
d3ff5b91e1
Kernel/Mutex: Propagate thread priority changes to other threads inheriting the priority via mutexes
2017-01-04 15:58:48 -05:00
Subv
b6a0355568
Kernel/Mutex: Update a mutex priority when a thread stops waiting on it.
2017-01-04 15:58:47 -05:00
Subv
7abf185390
Kernel/Mutex: Implemented priority inheritance.
...
The implementation is based on reverse engineering of the 3DS's kernel.
A mutex holder's priority will be temporarily boosted to the best priority among any threads that want to acquire any of its held mutexes.
When the holder releases the mutex, it's priority will be boosted to the best priority among the threads that want to acquire any of its remaining held mutexes.
2017-01-04 15:58:46 -05:00
Subv
e6a7723f2f
Kernel: Object ShouldWait and Acquire calls now take a thread as a parameter.
...
This will be useful when implementing mutex priority inheritance.
2017-01-04 15:58:45 -05:00
Subv
38a90882a4
Kernel/Synch: Do not attempt a reschedule on every syscall.
...
Not all syscalls should cause reschedules, this commit attempts to remedy that, however, it still does not cover all cases.
2017-01-04 15:58:44 -05:00
Jonathan Hao
c18cb1b192
Fix some warnings ( #2399 )
2017-01-04 13:48:29 -03:00
Lectem
ee6e88fdb5
fix comments alignment
2016-12-30 15:55:42 +01:00
mailwl
f2985f7080
Service/NFC: stub GetTagInRangeEvent
...
Fix Fatal Error in Mini-Mario & Friends - amiibo Challenge
2016-12-30 09:40:54 +03:00
mailwl
c6f4b93f2e
Service/AC: add ac:i service
2016-12-30 09:20:11 +03:00
bunnei
f556d6ee90
Merge pull request #2240 from wwylele/auto-region
...
Config: auto-select region and language
2016-12-29 22:09:01 -05:00
wwylele
d7d40b3c56
Frontend: make motion sensor interfaced thread-safe
2016-12-29 21:18:36 +02:00
wwylele
f927beb5e2
Core: remove unused hle.cpp
2016-12-27 10:27:48 +02:00
Lectem
f91c51467a
move Pop methods out of class body
2016-12-26 14:42:06 +01:00
Lectem
8baae9d982
IPC helpers example
2016-12-26 14:07:29 +01:00
Lectem
8f2b642415
IPC helpers
2016-12-26 14:07:29 +01:00
wwylele
bcf9d20d57
Frontend: emulate motion sensor
2016-12-26 10:52:16 +02:00
wwylele
fe2ed4bf72
Core: reset cpu_core in Shutdown to make IsPoweredOn work properly
2016-12-24 20:55:38 +02:00
MerryMage
64f98f4d0f
core: Move emu_window and key_map into core
...
* Removes circular dependences (common should not depend on core)
2016-12-23 13:42:39 +00:00
mailwl
069a88dad7
Service/NWM: add nwm services
2016-12-22 22:51:27 +03:00
bunnei
76890672a0
Merge pull request #2366 from MerryMage/MemoryReadCode
...
arm_dynarmic: Provide MemoryReadCode callback
2016-12-22 14:25:15 -05:00
bunnei
aa47af7fb6
Merge pull request #2343 from bunnei/core-cleanup
...
Core: Top-level consolidate & misc cleanup
2016-12-22 11:47:44 -05:00
MerryMage
f8cf87ce34
arm_dynarmic: Provide MemoryReadCode callback
...
Change of interface in dynarmic 36082087ded632079b16d24137fdd0c450ce82ea
2016-12-22 16:07:14 +00:00
bunnei
17d740299a
Merge pull request #2285 from mailwl/csnd-format
...
csnd:SND: Reformat source code
2016-12-22 00:47:50 -05:00
bunnei
8b1e269e58
ThreadContext: Move from "core" to "arm_interface".
2016-12-22 00:27:49 -05:00
bunnei
e26fbfd1d7
core: Replace "AppCore" nomenclature with just "CPU".
2016-12-22 00:27:46 -05:00
bunnei
5ac5cbeab7
Address clang-format issues.
2016-12-21 23:48:14 -05:00
bunnei
4fc8b8229e
core: Remove HLE module, consolidate code & various cleanups.
2016-12-21 23:48:13 -05:00
bunnei
232ef55c1a
core: Consolidate core and system state, remove system module & cleanups.
2016-12-21 23:29:13 -05:00
bunnei
198b6c9bdd
core: Consolidate top-level system state into a singleton.
2016-12-21 23:29:04 -05:00
bunnei
81e22ae8c7
loader: Remove duplicate docstrings.
2016-12-21 23:27:50 -05:00
bunnei
4798b1d04d
Revert "Memory: Always flush whole pages from surface cache"
2016-12-17 19:13:33 -05:00
wwylele
5728e42634
Thread: remove the thread from the thread list when exiting
2016-12-17 19:23:52 +02:00
bunnei
ca5a8966ac
Merge pull request #2337 from lioncash/gdb
...
gdbstub: const correctness changes
2016-12-16 11:32:33 -05:00
Merry
acc83a1c32
Merge pull request #2322 from MerryMage/ctx-mnu
...
game_list: Add a context menu with "Open Save Location" option
2016-12-16 15:08:04 +00:00
wwylele
4c9b80cee3
Kernel: remove object's waiting thread if it is dead
2016-12-16 12:33:18 +02:00
Lioncash
38a964735f
gdbstub: const correctness changes
...
Also uses size_t as the length indicator type, as is common with buffers.
2016-12-16 04:06:26 -05:00
bunnei
cda7210fad
Merge pull request #2260 from Subv/scheduling
...
Threading: Reworked the way our scheduler works.
2016-12-16 00:41:22 -05:00
Yuri Kunde Schlesner
2427a5e976
Merge pull request #2328 from wwylele/fix-trace
...
Fix debug build from #2249
2016-12-15 21:06:12 -08:00
Yuri Kunde Schlesner
7524a55133
Merge pull request #2332 from lioncash/gdb
...
gdbstub: Remove global variable from public interface
2016-12-15 21:05:20 -08:00
Yuri Kunde Schlesner
63e8174caa
Merge pull request #2320 from mailwl/cecd-update
...
Service/CECD: Add cecd:ndm service
2016-12-15 21:01:51 -08:00
bunnei
9dc43d3720
Merge pull request #2331 from lioncash/trunc
...
hid: Get rid of a double -> float truncation warning
2016-12-15 17:45:24 -05:00
wwylele
a7cd452ea1
FS: fix debug build from #2249
2016-12-16 00:22:36 +02:00
Lioncash
ba20dd9b61
gdbstub: Remove global variable from public interface
...
Currently, this is only ever queried, so adding a function to check if the
server is enabled is more sensible.
If directly modifying this externally is ever desirable, it should be done
by adding a function to the interface, rather than exposing implementation
details directly.
2016-12-15 16:37:22 -05:00
Sebastian Valle
3e4cc6b3d2
Merge pull request #2330 from lioncash/pragma
...
core: Add missing #pragma once directives where applicable
2016-12-15 16:06:43 -05:00
Lioncash
3faa675d6b
hid: Get rid of a double -> float truncation warning
...
float literals need to have the 'f' prefix.
2016-12-15 15:52:15 -05:00
Lioncash
2f3c1bdfb4
core: Add missing #pragma once directives where applicable
2016-12-15 15:40:51 -05:00
Lioncash
d467b5ce4f
act: Fix docstring typo
...
These aren't the AM services.
2016-12-15 14:51:45 -05:00
bunnei
bdb6956879
Merge pull request #2314 from mailwl/account
...
Service/ACT: move ACT services to folder
2016-12-15 13:51:29 -05:00
MerryMage
351b5d23f4
loader: Implement ReadProgramId
2016-12-15 18:42:38 +00:00
MerryMage
40b0ea1086
archive_source_sd_savedata: Add static method to get a specific save data path
2016-12-15 09:59:41 +00:00
Yuri Kunde Schlesner
f2b9be9bd3
Memory: Always flush whole pages from surface cache
...
This prevents individual writes touching a cached page, but which don't
overlap the surface, from constantly hitting the surface cache lookup.
2016-12-14 23:46:59 -08:00
mailwl
7f27be1521
Service/CECD: Add cecd:ndm service
2016-12-15 09:52:40 +03:00
Yuri Kunde Schlesner
905fc92ce1
Merge pull request #2249 from Subv/sessions_v3
...
Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
2016-12-14 20:35:33 -08:00
Subv
016307ae65
Fixed the codestyle to match our clang-format rules.
2016-12-14 12:45:36 -05:00
Subv
5b1edc6ae7
Fixed the codestyle to match our clang-format rules.
2016-12-14 12:35:01 -05:00
mailwl
5dea1faedd
Service/ACT: move ACT services to folder
2016-12-14 09:05:46 +03:00
JamePeng
ac2ed18a3b
Minor amendment of GSP_GPU::ImportDisplayCaptureInfo code
2016-12-13 17:01:53 +08:00
mailwl
1238e48c58
csnd:SND reformat source code
2016-12-12 21:19:36 +03:00
Sebastian Valle
2589c30cbe
Merge pull request #2267 from JayFoxRox/fix-mingw-cc
...
Support mingw cross-compilation
2016-12-11 14:44:21 -05:00
mailwl
e53cd12c42
APT::GetStartupArgument: force clear startup argument
2016-12-11 22:36:12 +03:00
Emmanuel Gil Peyrot
643e590b5c
Core: Add a forgotten #include <cstring> for memcpy.
2016-12-11 01:20:45 +00:00
Lioncash
963aedd8cc
Add all services to the Service namespace
...
Previously there was a split where some of the services were in the
Service namespace and others were not.
2016-12-11 00:07:27 +00:00
Subv
406907d570
Properly remove a thread from its wait_objects' waitlist when it is awoken by a timeout.
2016-12-10 13:29:31 -05:00
bunnei
6edb024d38
Merge pull request #2291 from lioncash/svc
...
service: Add the cfg:nor service
2016-12-09 14:15:20 -05:00
Subv
ebbb55ec8f
Moved the HLE command buffer translation task to ServerSession instead of the HLE handler superclass.
2016-12-09 12:52:12 -05:00
Subv
deb83c9fc5
Kernel/IPC: Small codestyle cleanup
2016-12-09 12:39:12 -05:00
Subv
17b29d8865
WaitSynch: Removed unused variables and reduced SharedPtr copies.
...
Define a variable with the value of the sync timeout error code.
Use a boost::flat_map instead of an unordered_map to hold the equivalence of objects and wait indices in a WaitSynchN call.
2016-12-09 12:23:09 -05:00
Lioncash
a2d69adad1
service: Add cfg:nor service
2016-12-09 05:07:41 -05:00
Yuri Kunde Schlesner
a5cd925a95
Merge pull request #2292 from lioncash/bool
...
ptm: Use boolean instead of integral value
2016-12-09 01:43:57 -08:00
Lioncash
934b8ffcf8
ptm: Use boolean instead of integral value
...
The third parameter of Write is actually a bool type, not an int.
2016-12-09 04:04:28 -05:00
Lioncash
823d58ac9b
service: Drop '_Interface' from cfg service names
2016-12-09 01:08:35 -05:00
Yuri Kunde Schlesner
18bf4acb9b
Merge pull request #2287 from lioncash/svc
...
service: Minor PTM changes
2016-12-08 19:34:32 -08:00
Sebastian Valle
998390ac1a
Merge pull request #2280 from Subv/citrace_size
...
Fixed the gpu command list size when creating CiTraces.
2016-12-08 15:45:53 -05:00
Subv
5719467add
Fixed the gpu command list size when creating CiTraces.
2016-12-08 15:21:02 -05:00
Subv
386112da32
Added a framework for partially handling Session disconnections.
...
Further implementation will happen in a future commit.
Fixes a regression.
2016-12-08 15:01:10 -05:00
Subv
f9bcf89510
Use std::move where appropriate.
2016-12-08 11:06:19 -05:00
Lioncash
007815647c
service: Add the ptm:s service
...
3dbrew documents this as being the exact same as ptm:sysm
2016-12-08 06:14:55 -05:00
Lioncash
56656b75ab
service: Add common ptm:u commands to other ptm services
...
3dbrew indicates that all services have access to these commands
except for ptm:sets.
2016-12-08 06:13:10 -05:00
Lioncash
cd778cf991
service: Drop '_Interface' in ptm service class names
...
Inheriting from Service::Interface makes this obvious.
2016-12-08 06:13:04 -05:00
Lioncash
41c03f481a
service: Add ptm::gets and ptm::sets services
2016-12-08 05:43:08 -05:00
Lioncash
2061d2014d
service: Add mvd and qtm services
...
Adds the two New3DS-only modules.
3dbrew was used for command information.
2016-12-08 04:34:03 -05:00
Yuri Kunde Schlesner
d098d941d7
Merge pull request #2284 from lioncash/svc
...
service: Add nfc services
2016-12-08 00:34:09 -08:00
Yuri Kunde Schlesner
63d3dd5262
Merge pull request #2277 from lioncash/explicit
...
file_sys: Make a few single-argument constructors explicit
2016-12-08 00:29:38 -08:00
Lioncash
e8a960f6a1
service: Add nfc services
...
3dbrew was used for the command information.
2016-12-08 03:24:41 -05:00
Yuri Kunde Schlesner
43558dc40a
Merge pull request #2283 from lioncash/svc
...
service: Update function tables
2016-12-07 22:45:12 -08:00
Yuri Kunde Schlesner
bc48e2bda6
Merge pull request #2281 from lioncash/applet
...
applet: minor interface changes
2016-12-07 22:36:40 -08:00
Lioncash
a09602d6f6
ssl_c: Update function table
...
Updated based off information from 3dbrew
2016-12-08 00:57:53 -05:00
Lioncash
ab900f8a25
ptm: Update ptm_sysm function table
...
Updated based off information from 3dbrew.
2016-12-08 00:57:53 -05:00
Lioncash
c67dae54b9
pm_app: Update function table
...
Updated based off information from 3dbrew.
2016-12-08 00:57:45 -05:00
Lioncash
9f2ad62084
nwm_uds: Update function table
...
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash
4a150a8f3c
nim: Update function tables
...
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash
c4bcd5c4ac
http_c: Update function table
...
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash
65d94857c3
gsp_lcd: Update function table
...
Updated based off information from 3dbrew.
2016-12-08 00:56:47 -05:00
Lioncash
006e6a7f4a
fs_user: Update function table
...
Updated based off information from 3dbrew.
2016-12-08 00:56:46 -05:00
Lioncash
093aa35c87
dlp_srvr: Update function table
2016-12-08 00:56:46 -05:00
Lioncash
733c8890aa
cfg: Update function tables
...
Updated based off information from 3dbrew
2016-12-08 00:56:46 -05:00
Lioncash
0229983ff2
cecd_u: Update function table
...
Updated based off information from 3dbrew.
2016-12-08 00:56:46 -05:00
Lioncash
4ebdb7e3e1
boss_p: Update function table
2016-12-08 00:56:45 -05:00
Lioncash
74b3f0faa7
act: Update function tables
...
Updated based off information from 3dbrew.
2016-12-08 00:56:39 -05:00
Lioncash
258694996f
apt: Update apt function tables
...
Updated based off information from 3dbrew.
2016-12-07 22:53:10 -05:00
Lioncash
26ea6b9546
Update AM service function tables
...
Updated based off information from 3dbrew.
2016-12-07 20:55:59 -05:00
Lioncash
5e9f1ec096
file_sys: Make a few single-argument constructors explicit
...
Prevents implicit conversions.
2016-12-07 17:26:56 -05:00
Lioncash
f1709b8b59
applet: Move common IsRunning underlying variable to the Applet class
...
Gets rid of basic duplication.
2016-12-07 17:13:46 -05:00
Lioncash
6f71fb2954
applet: Make virtual destructor defaulted
2016-12-07 17:04:14 -05:00
Lioncash
d3f4fd1777
applet: Make constructor protected
...
Considering the class is abstract, there's no need to make the constructor
public.
2016-12-07 16:50:32 -05:00
wwylele
84e78790ab
Config: auto-select region and language
2016-12-07 20:52:42 +02:00
bunnei
8d529a5cda
Merge pull request #2232 from wwylele/other-save
...
FS: implement archives for other game save data
2016-12-07 10:17:02 -05:00
Subv
7cde5b83bc
Use boost remove_erase_if instead of the erase-remove idiom
2016-12-06 19:31:53 -05:00
Subv
1f286b72a1
Improved the algorithm for GetHighestPriorityReadyThread.
2016-12-06 19:15:32 -05:00
emmauss
c4e4fa53d9
Implement Frame rate limiter ( #2223 )
...
* implement frame limiter
* fixes
2016-12-06 14:33:19 -05:00
Subv
c93c5a72bb
Return an error code when connecting to a saturated port.
...
The error code was taken from the 3DS kernel.
2016-12-05 13:59:57 -05:00
Subv
61a2fe8c3b
HLE: Use a member variable instead of a virtual function to retrieve the max number of sessions that can be connected to an HLE service at the same time.
2016-12-05 13:44:41 -05:00
Jannik Vogel
0aee903ada
gdbstub: Remove unused include
2016-12-05 19:09:16 +01:00
Jannik Vogel
45d941d62e
Support mingw cross-compile
2016-12-05 19:09:16 +01:00
Subv
00f0c77570
Split SessionRequestHandler::HandleSyncRequest into HandleSyncRequest, TranslateRequest and HandleSyncRequestImpl.
...
HandleSyncRequest now takes care of calling the command buffer translate function before actually invoking the command handler for HLE services.
2016-12-05 12:05:00 -05:00
Subv
29d809b6e1
Kernel: Remove the Redirection handle type.
2016-12-05 11:13:22 -05:00
Subv
dd8887c8cf
KServerPorts now have an HLE handler "template", which is inherited by all ServerSessions created from it.
2016-12-05 11:02:08 -05:00
Subv
bdad00c73f
Threading: Added some utility functions and const correctness.
2016-12-04 09:58:36 -05:00
Yuri Kunde Schlesner
efc8179747
GSP: Downgrade log severity of SetAxiConfigQoSMode
...
This function doesn't need to do anything for HLE and some games call it
quite often, spamming up the logs.
2016-12-04 06:14:27 -08:00
Subv
8634b8cb83
Threading: Reworked the way our scheduler works.
...
Threads will now be awakened when the objects they're waiting on are signaled, instead of repeating the WaitSynchronization call every now and then.
The scheduler is now called once after every SVC call, and once after a thread is awakened from sleep by its timeout callback.
This new implementation is based off reverse-engineering of the real kernel.
See https://gist.github.com/Subv/02f29bd9f1e5deb7aceea1e8f019c8f4 for a more detailed description of how the real kernel handles rescheduling.
2016-12-03 22:38:14 -05:00
Subv
2ce61344d6
Declare empty ServerSession and ClientSession constructors as default.
2016-12-02 22:58:02 -05:00
Subv
ed210c32b3
Threads do not wait for the server endpoint to call AcceptSession before returning from a ConnectToPort or GetServiceHandle call.
2016-12-01 10:47:06 -05:00
Subv
2eceee3a4c
Fixed the rebase mistakes.
2016-11-30 23:28:31 -05:00
Subv
009b15b3aa
A bit of a redesign.
...
Sessions and Ports are now detached from each other.
HLE services are handled by means of a SessionRequestHandler class, Interface now inherits from this class.
The File and Directory classes are no longer kernel objects, but SessionRequestHandlers instead, bound to a ServerSession when requested.
File::OpenLinkFile now creates a new session pair and binds the File instance to it.
2016-11-30 23:12:35 -05:00
Subv
c5e7e0fa26
IPC/HLE: Associate the ClientSessions with their parent port's HLE interface if it exists.
...
Pass the triggering ServerSession to the HLE command handler to differentiate which session caused the request.
2016-11-30 23:04:00 -05:00
Subv
c19afd2118
Kernel/HLE: Service::Interface no longer inherits from any Kernel object, and is now its own standalone class.
...
Interface is now used by aggregation in ClientPort, to forward service commands to their HLE implementation if needed.
2016-11-30 23:03:59 -05:00
Subv
0a33d915f8
fixup! Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
2016-11-30 23:02:06 -05:00
Subv
073653e858
Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
...
All handles obtained via srv::GetServiceHandle or svcConnectToPort are references to ClientSessions.
Service modules will wait on the counterpart of those ClientSessions (Called ServerSessions) using svcReplyAndReceive or svcWaitSynchronization[1|N], and will be awoken when a SyncRequest is performed.
HLE Interfaces are now ClientPorts which override the HandleSyncRequest virtual member function to perform command handling immediately.
2016-11-30 23:02:05 -05:00
mailwl
5b136aa211
Set client SDK version to Service APIs
2016-11-30 09:51:14 +03:00
wwylele
589b642790
FileSys: Implement OtherSaveData
2016-11-29 23:50:00 +02:00
wwylele
b25f19ac26
FS: add missing MediaType
2016-11-29 23:50:00 +02:00
wwylele
5af117e00c
FileSys: abstract SD save data archive source
2016-11-29 23:50:00 +02:00
Yuri Kunde Schlesner
3174bfd50c
Merge pull request #2196 from Subv/system_mode
...
Kernel/Loader: Grab the system mode from the NCCH ExHeader.
2016-11-27 17:04:11 -08:00
Yuri Kunde Schlesner
e279a6955e
Merge pull request #2222 from linkmauve/die-frameskip-die
...
Remove the broken frame_skip option
2016-11-27 16:01:45 -08:00
Sebastian Valle
4ba5acdaff
Merge pull request #2132 from wwylele/fix-fs-err
...
Correct FS error codes & add path boundary checks
2016-11-27 18:56:56 -05:00
Subv
d171409f29
Kernel/Loader: Grab the system mode from the NCCH ExHeader.
...
3dsx and elf files default to system mode 2 (96MB allocated to the application).
This allows Home Menu to boot without modifications.
Closes #1849
2016-11-27 18:03:48 -05:00
Emmanuel Gil Peyrot
0820c99462
GPU: Remove the broken frame_skip option.
...
Fixes #1960 .
2016-11-27 21:19:56 +00:00
Sebastian Valle
d3b7f57b2b
Merge pull request #2168 from mailwl/mic
...
MIC_U: Stub service funcions
2016-11-27 00:19:33 -05:00
MerryMage
27be446049
dynarmic: Add ticks based on ticks executed, not ticks requested
2016-11-26 20:32:33 +00:00
mailwl
ec15e485c9
Output parameters to log
2016-11-25 09:37:20 +03:00
mailwl
d4cadf11fc
MIC_U: Stub service funcions
2016-11-25 09:37:19 +03:00
James Rowe
bbe57a66ca
Expose page table to dynarmic for optimized reads and writes to the JIT
2016-11-24 20:41:18 -07:00
pippo2931
0c9c97e5ea
Bravely Default/Second stuck #1822 ( #2188 )
...
* Bravely Default/Second stuck #1822
CancelLibraryApplet stub
* Log parameter.
* Taking care of comments
* Sync with 3DBrew
* White space ?
* lower case
2016-11-23 22:57:56 -05:00
Yuri Kunde Schlesner
ef421696e3
Merge pull request #2186 from wwylele/config9
...
cfg: add config block 0x00090000
2016-11-23 18:51:01 -08:00
Yuri Kunde Schlesner
fefa645ec7
Merge pull request #1654 from JamePeng/errdisp
...
Rework the code of err:f service!
2016-11-23 17:43:02 -08:00
bunnei
f1798c1db6
Merge pull request #2193 from Subv/pulse_events
...
Kernel/Events: Log an error when trying to create Pulse events and timers
2016-11-19 22:19:45 -05:00
Subv
1323ab2f5f
Kernel/Loader: Grab the system mode from the NCCH ExHeader.
...
3dsx and elf files default to system mode 2 (96MB allocated to the application).
This allows Home Menu to boot without modifications.
Closes #1849
2016-11-19 20:40:04 -05:00
Subv
4ab8692475
Kernel/Events: Log an error when trying to create Pulse events and timers.
...
Related to #1904
2016-11-19 14:00:08 -05:00
Subv
d7ab4fd53d
APT/Applets: Renamed the members of the SignalType enum.
...
Names now make sense and match 3dbrew.
2016-11-19 13:42:07 -05:00
wwylele
d7d6975af0
FileSys: rename SaveDataCheck archive to NCCH archive
...
According to the observation from game and 3dbrew "Used for accessing general NCCH data"
2016-11-19 18:55:35 +02:00
wwylele
f775a3781b
FileSys: remove unused DiskArchive
...
All "subclasses" of DiskArchive are splitted out. This class is useless
2016-11-19 18:55:34 +02:00
wwylele
5c6e13a171
PTM & CFG: use the correct path and error code according to the new FileSys policy
2016-11-19 18:55:34 +02:00
wwylele
0647f86649
FileSys: w->rw permission lift only happens in SDMC archive
2016-11-19 18:55:34 +02:00
wwylele
0987783699
FileSys: add SDMCWriteOnlyArchive
2016-11-19 18:55:34 +02:00
wwylele
93aa14e345
FileSys: add SDMCArchive
...
Now DiskArchive only serves for SDMC, then it should be just a "SDMCArchive"
2016-11-19 18:24:37 +02:00
wwylele
a879984c06
FileSys: add ExtSaveDataArchive
...
ExtSaveData is more similar to SaveData, so let it be a subclass of SaveData
2016-11-19 18:24:37 +02:00
wwylele
7166fdc490
FileSys: add SaveDataArchive
...
The error checking of SaveDataArchive is completely different from DiskArchive, so it has to be a new class instead of a subclass of DiskArchive.
2016-11-19 17:17:19 +02:00
wwylele
9a0405858a
FileSys: remove Open from FileBackend
...
Same as directory, file shouldn't expose Open either.
2016-11-19 17:17:19 +02:00
wwylele
0e754875d1
FileSys: remove Open from DirectoryBackend
...
Open should not be an interface exposed by Directory because it is the Archive thats implement the methed to open the directory. The service API of 3DS also implies this - Open is not a function of directory service, but is of FS main service
2016-11-19 17:17:19 +02:00
wwylele
75ee2f8c67
FileSys: add PathParser
2016-11-19 17:17:19 +02:00
wwylele
dd5c15abd0
cfg: add config block 0x00090000
2016-11-17 19:34:02 +02:00
bunnei
fb13bfe693
Merge pull request #2172 from jroweboy/fix-mingw
...
Fix mingw compilation support
2016-11-15 20:07:23 -05:00
James Rowe
c3ea6f4ddb
Add mingw compile support
2016-11-13 23:50:46 -07:00
James Rowe
2b1654ad9b
Support additional screen layouts.
...
Allows users to choose a single screen layout or a large screen layout.
Adds a configuration option to change the prominent screen.
2016-11-05 02:55:41 -06:00
mailwl
af7f5bef8d
Style fix
2016-11-02 09:38:44 +03:00
mailwl
5872abeab9
Rename AcConfig, change types u8 to u32
2016-11-02 09:38:44 +03:00
mailwl
a62df98686
AC_U: Stub functions, used if EULA agreed
2016-11-02 09:38:44 +03:00
wwylele
4dd8a831bd
FileSys: make Archive interfaces return error code
...
and make the mode parameter a reference since it is a BitField union
2016-11-01 18:30:32 +02:00
bunnei
ae2fab4a0e
Merge pull request #2126 from wwylele/stub-nwm
...
NWM: stub Initialize with an error
2016-10-31 16:16:12 -04:00
bunnei
946b62c03d
Merge pull request #2123 from jbeich/freebsd
...
Fix build on DragonFly and FreeBSD
2016-10-31 15:33:39 -04:00
mailwl
3c37ee434a
Small fix to let IDA see target.xml
2016-10-28 20:50:45 +03:00
Jan Beich
702439b519
core: some errno values are uncommon on Unix
...
src/core/hle/service/soc_u.cpp:107:6: error: 'ENODATA' was not declared in this scope
{ENODATA, 43},
^
src/core/hle/service/soc_u.cpp:117:6: error: 'ENOSR' was not declared in this scope
{ENOSR, 53},
^
src/core/hle/service/soc_u.cpp:118:6: error: 'ENOSTR' was not declared in this scope
{ENOSTR, 54},
^
src/core/hle/service/soc_u.cpp:139:6: error: 'ETIME' was not declared in this scope
{ETIME, 75},
^
2016-10-27 23:28:30 +00:00
mailwl
f672c7bd24
FRD: fix GetMyFriendKey
2016-10-25 09:54:29 +03:00
Ricardo de Almeida Gonzaga
13d46f6820
Fix typos
2016-10-20 12:26:59 -02:00
wwylele
32789a70fb
NWM: stub Initialize with an error
2016-10-12 22:33:44 +08:00
bunnei
cc7f1155a8
Merge pull request #2024 from JamePeng/update-boss-code
...
Update the stub code of BOSS
2016-10-07 23:02:39 -04:00
JamePeng
691f069743
Rework the code of err:f service
2016-10-06 21:03:12 +08:00
bunnei
09c3e444d4
Merge pull request #1652 from wwylele/kernal-tool
...
Debugger: implement wait tree widget
2016-10-04 23:01:56 -04:00
bunnei
7ed97fb89a
Merge pull request #2106 from wwylele/delete-recursive
...
FS: implement DeleteDirectoryRecursively
2016-10-03 20:34:56 -04:00
JamePeng
bd8c80a7b4
Update the stub code of BOSS
2016-10-02 17:36:57 +08:00
wwylele
257e7afb79
fs: clean up log format
2016-10-02 12:39:28 +08:00
wwylele
96b0e9476b
fs: implement DeleteDirectoryRecursively
2016-10-02 11:29:16 +08:00
wwylele
58ae94af4c
gpu: DisplayTransfer: a less amazing algorithm for flip
...
the old implementation modifies the loop variable in the loop. Though it actually works, it is really confusing. Makes it morereadable now.
2016-09-29 10:01:34 +08:00
wwylele
30ab0fa45d
gpu: keep the old signal strategy for null pointer
...
previous commits changes the behaviour of interrupt when meeting invalid params. Regresses to the same behaviour as before
needs more hwtest
2016-09-29 10:01:34 +08:00
wwylele
48470e57fc
gpu: add validity check for TextureCopy, DisplayTransfer and FillMemory
...
prevent further operation with invalid values which may cause assertion failure or divided by zero.
needs more hwtest
2016-09-29 10:01:34 +08:00
wwylele
3f87d70f0e
memory: fix IsValidVirtualAddress for RasterizerCachedMemory
...
RasterizerCachedMemory doesn't has pointer but should be considered as valid
2016-09-29 10:01:34 +08:00
wwylele
c88cdc9a2b
gpu: move MemoryFill, TextureCopy and DisplayTransfer into functions
...
The old code indented too much to read. Split into functions and do general cleanup.
2016-09-29 10:01:34 +08:00
wwylele
85a83158fb
move ResetType to kernel.h
2016-09-22 13:52:52 +08:00
wwylele
1c0179ad1b
name objects
2016-09-22 13:52:52 +08:00
wwylele
f69a543110
implement wait tree widget
2016-09-22 13:52:52 +08:00
Yuri Kunde Schlesner
f120e78b56
Remove special rules for Windows.h and library includes
2016-09-21 00:16:33 -07:00
Yuri Kunde Schlesner
84fbbe2629
Use negative priorities to avoid special-casing the self-include
2016-09-21 00:15:56 -07:00
Emmanuel Gil Peyrot
ebdae19fd2
Remove empty newlines in #include blocks.
...
This makes clang-format useful on those.
Also add a bunch of forgotten transitive includes, which otherwise
prevented compilation.
2016-09-21 11:15:47 +09:00
Yuri Kunde Schlesner
396a8d91a4
Manually tweak source formatting and then re-run clang-format
2016-09-18 21:14:25 -07:00
Emmanuel Gil Peyrot
dc8479928c
Sources: Run clang-format on everything.
2016-09-18 09:38:01 +09:00
Emmanuel Gil Peyrot
bfc454e951
Dyncom: Disable clang-format on the decoding table.
2016-09-18 09:36:57 +09:00
bunnei
1b95f61d82
arm_dynarmic: Implement GetVFPSystemReg/SetVFPSystemReg.
2016-09-15 17:58:06 -04:00
bunnei
05e120a4cc
arm: ResetContext shouldn't be part of ARM_Interface.
2016-09-15 17:49:30 -04:00
bunnei
85861d44b7
arm_dynarmic/arm_dyncom: Remove unnecessary "virtual" keyword.
2016-09-15 17:49:30 -04:00
bunnei
b7aef81cb4
dyncom: Use VFP_FPSCR/VFP_FPEXC.
2016-09-15 17:49:29 -04:00
bunnei
14085ec670
core: Add configuration option for CPU JIT.
2016-09-15 17:49:27 -04:00
bunnei
1976a2d773
dynarmic: Implement ARM CPU interface.
2016-09-15 17:49:26 -04:00
bunnei
09063dc5bb
Merge pull request #2032 from bunnei/qt-graphics
...
Qt graphics configure & V-Sync option
2016-08-31 22:20:54 -04:00
MerryMage
dc3f6a34f8
configure_audio: User-configuratble option to enable/disable audio stretching
2016-08-31 16:59:37 +01:00
bunnei
7c934c5164
Merge pull request #2023 from yuriks/autobase-bcfnt
...
Auto-detect original shared_font.bin memory base
2016-08-30 09:26:38 -04:00
bunnei
7299895b48
system: Add a function to see if the emulator is running.
2016-08-29 21:42:31 -04:00
bunnei
08ad9b36d4
config: Add a setting for graphics V-Sync.
2016-08-29 21:42:30 -04:00
Yuri Kunde Schlesner
474586bc53
Merge pull request #1948 from wwylele/cro++
...
Implemented CRO
2016-08-28 22:21:24 -07:00
Yuri Kunde Schlesner
950f6c0c20
Merge pull request #1987 from Lectem/ipcdescriptors
...
fix #1942 and add a few IPC functions for descriptors
2016-08-27 09:58:35 -07:00
wwylele
1c9612b791
LDR: Implement CRO
2016-08-27 21:38:06 +08:00
wwylele
2161f52661
ARM: add ClearInstructionCache function
2016-08-27 21:38:06 +08:00
wwylele
b2df959733
Memory: add ReadCString function
2016-08-27 21:38:06 +08:00
Yuri Kunde Schlesner
1f7ec4be9b
Auto-detect original shared_font.bin memory base
...
This allows a file dumped from either an o3DS or a n3DS (and potentially
even an original unrebased file) to be used.
2016-08-27 01:04:26 -07:00
MerryMage
15b2eec4bd
dyncom: Read-after-write in SMLA
...
In the case when RD === RN, RD was updated before AddOverflow was called
to check for an overflow, resulting in an incorrect state of the Q flag.
2016-08-22 15:13:33 +01:00
MerryMage
50407a8dc8
Dyncom: Correct implementation of STM for R15
2016-08-14 00:49:34 +01:00
Lectem
a94fb932ff
fix #1942 and adds a few IPC functions for descriptors
2016-08-02 16:45:15 +02:00
bunnei
47fcd68b01
Merge pull request #1950 from JamePeng/fix-apt-0x0055004-and-0x00560000
...
Correct APT::0x00550040 and APT::0x00560000 function
2016-07-28 20:50:49 -04:00
Henrik Rydgard
9a9e9dc375
Instead of segfaulting, log an error to remind the user to dump the shared font file
2016-07-28 21:47:57 +02:00
bunnei
5c743ddfa8
Merge pull request #1959 from MerryMage/revsh-upstream
...
dyncom: Fix translation of thumb REVSH
2016-07-28 08:43:51 -04:00
MerryMage
60c93ca3b5
dyncom: Fix translation of thumb REVSH
2016-07-28 11:51:29 +01:00
wwylele
d63a76f4ce
CoreTiming: avoid overflow
2016-07-23 14:30:23 +03:00
wwylele
00c34e4df7
HLE: implement system time
2016-07-23 14:30:23 +03:00
JamePeng
d5aa474788
Correct APT::0x00550040 and APT::0x00560000 function
2016-07-15 19:47:01 +08:00
Yuri Kunde Schlesner
ffda82eea5
Merge pull request #1894 from wwylele/set-config-block
...
Implement config savegame editing & clean up
2016-07-09 20:39:19 -07:00
bunnei
6fa7b1f486
Merge pull request #1940 from JamePeng/fix-archive-error-code
...
Fix the errorcode of archive handle
2016-07-06 18:37:43 -04:00
Sebastian Valle
ff2d1a2b74
Merge pull request #1921 from Subv/fs_funcs
...
HLE/FS: Document some command parameters and implemented command 0x08560240
2016-07-05 14:45:40 -07:00
JamePeng
f87bb8ba0a
Fix the errorcode of archive handle
2016-07-05 00:39:09 +08:00
mailwl
e06f2705f0
HLE/Applets: Implement ErrEula applet
2016-07-04 09:54:51 +03:00
Subv
8752f07e8e
HLE/FS: Document some command parameters and implemented command 0x08560240 (CreateLegacySystemSaveData)
2016-07-03 13:42:52 -05:00
wwylele
ab2eef396a
Service::CFG/FS: add and refactor out utilities for front-end
2016-07-03 08:23:59 +03:00
wwylele
457b6413e6
Service::CFG: move known block ID to an enum
2016-07-03 08:23:59 +03:00
wwylele
324c8d21a4
Service::CFG: add SetConfigInfoBlk4
2016-07-03 08:23:58 +03:00
wwylele
f00e8d4b2b
Service::CFG: add missing language
2016-07-02 11:44:25 +03:00
wwylele
3687a805ec
Service::CFG: name sound output modes
2016-07-02 11:44:25 +03:00
wwylele
e023a4cfd0
Result: fix and update ErrorModule
2016-06-30 11:26:53 +03:00
Yuri Kunde Schlesner
de79b6fc48
Merge pull request #1869 from wwylele/dont-be-lazy
...
Switch context to the same thread if necessary
2016-06-28 21:03:52 -07:00
bunnei
87c07643ff
Merge pull request #1867 from mailwl/srv-update
...
srv: Update according 3dbrew
2016-06-28 18:53:10 -04:00
bunnei
8f86cc4df9
Merge pull request #1877 from wwylele/wait-fix-timeout
...
Thread: update timeout when reruning WaitSynch
2016-06-18 01:08:22 -04:00
bunnei
251457b9d5
Merge pull request #1898 from archshift/interpreter-split-take2
...
Refactor arm_dyncom_interpreter into several files (take 2)
2016-06-16 14:47:55 -04:00
archshift
ca20b1f87d
Make arm_dyncom_trans* into a fully fledged compilation unit
2016-06-12 01:54:45 -07:00
archshift
54b5178f6c
arm_dyncom_interpreter: slightly change AllocBuffer to be intuitive
2016-06-12 00:31:52 -07:00
bunnei
78f2b85fe6
Merge pull request #1842 from Subv/ports
...
Kernel: Added ClientPort and ServerPort classes, along with svcCreatePort.
2016-06-11 22:46:35 -04:00
Subv
7b445ddff0
Kernel/SVC: Implemented svcCreatePort.
2016-06-11 08:37:37 -05:00
wwylele
43183db51f
hid: add missing header
2016-06-11 08:45:29 +03:00
bunnei
f99961581e
Merge pull request #1789 from wwylele/input-refactor
...
Refactor input mapping & implement circle pad modifier
2016-06-10 22:28:58 -04:00
archshift
765eef3319
arm_dyncom_interpreter: Add specialized GetAddressingOpLoadStoreT func
...
This allows us to get the addressing operation for STRT, LDRT, STRBT,
and LDRBT. We do this so that translation functions don't need to
see the addressing ops directly.
2016-06-10 18:45:48 -07:00
archshift
eac4c016cb
arm_dyncom_interpreter: rename operation functions to fit style guide
2016-06-10 18:42:08 -07:00
archshift
5297f5dfc9
arm_dyncom_interpreter: Rename anonymous enum to TransExtData
2016-06-10 18:35:57 -07:00
archshift
2c482722e7
arm_dyncom_interpreter.cpp: #include translation info from inc files
2016-06-10 18:25:30 -07:00
archshift
0637dd93b5
Revert "Split huge interpreter source file into translation info and interpreter (+ some tiny misc style fixes)"
2016-06-10 17:41:15 -07:00
archshift
a371744575
arm_dyncom_interpreter: rename operation functions to fit style guide
2016-06-08 21:03:49 -07:00
archshift
c7ffd8a920
arm_dyncom_interpreter.cpp: Split by translation and interpreter logic
...
To facilitate the split, some small changes were made to names of
various structures and functions.
2016-06-08 20:59:24 -07:00
shinyquagsire23
c6f87f7e2c
gdbstub: E0 should be E00
2016-06-08 14:14:59 -07:00
Subv
3d9fbffbab
Kernel: Added ClientPort and ServerPort classes.
...
This is part of an ongoing effort to implement support for multiple processes.
2016-06-05 09:35:31 -05:00
Lioncash
64b6a7c006
service: Add other DLP services
...
Specifically, dlp::CLNT and dlp::FKCL
Moves them to their own folder like with other services.
2016-06-04 19:43:33 -04:00
wwylele
7d56e88369
Thread: update timeout when rerunning WaitSynch
2016-06-04 09:27:16 +03:00
mailwl
07cc781163
gsp::gpu: Reset g_thread_id in UnregisterInterruptRelayQueue
2016-06-01 09:40:15 +03:00
mailwl
e85b22320a
Fix parameter name in EnableNotification
2016-05-31 10:06:00 +03:00
mailwl
eea08f281d
Fix mistakes, add output header codes
2016-05-31 10:06:00 +03:00
mailwl
eb231cb19d
remove ugly function
2016-05-31 10:06:00 +03:00
mailwl
dc338ccecf
srv: Update according 3dbrew
2016-05-31 10:06:00 +03:00
wwylele
81d3462a19
Switch context on the same thread if necessary
2016-05-30 07:34:53 +03:00
bunnei
ab4b27f0f5
Merge pull request #1692 from Subv/rm_getpointer2
...
Memory: Remove most usages of GetPointer
2016-05-29 21:57:07 -04:00
bunnei
1104913a8f
Merge pull request #1756 from wwylele/config-cleanup
...
Config block: clean up
2016-05-28 20:42:17 -04:00
Subv
0aef634a54
Memory: Handle RasterizerCachedMemory and RasterizerCachedSpecial page types in the memory block manipulation functions.
2016-05-28 13:52:50 -05:00
Subv
660499ac01
Memory: Make ReadBlock and WriteBlock accept void pointers.
2016-05-28 13:52:49 -05:00
Subv
99695d03d2
SOC_U: Remove usage of GetPointer
2016-05-28 13:52:49 -05:00
MerryMage
59b268de35
SSL_C: Remove use of Memory::GetPointer
2016-05-28 13:52:48 -05:00
MerryMage
5f33d2cf07
GSP_GPU: Remove use of Memory::GetPointer
2016-05-28 13:52:47 -05:00
MerryMage
31d49e0109
Memory: CopyBlock
2016-05-28 13:44:49 -05:00
MerryMage
e936f5952c
DSP_DSP: Remove use of Memory::GetPointer
2016-05-28 13:44:49 -05:00
MerryMage
896e5009ae
FS/Archive: Remove use of Memory::GetPointer
2016-05-28 13:44:44 -05:00
Mat M
031a9c57bb
Merge pull request #1568 from JayFoxRox/fix-printf
...
Fix ftoi and disable VFPv3
2016-05-26 19:03:00 -04:00
bunnei
859c36c269
Merge pull request #1810 from JayFoxRox/fix-float-exceptions
...
Fix float exceptions
2016-05-26 18:28:00 -04:00
Mat M
ade0889519
Merge pull request #1855 from MerryMage/memory-headers-20160526
...
Memory: Added necessary headers and removed unnecessary header
2016-05-26 14:19:31 -04:00
MerryMage
80abe6eb08
Memory: Added necessary headers and removed unnecessary header
2016-05-26 18:55:37 +01:00
bunnei
f50a32bfce
Merge pull request #1817 from linkmauve/smdh-stuff
...
Improve SMDH support in loaders and frontends
2016-05-25 16:40:36 -04:00
bunnei
c106f71beb
New3DS: Minor style cleanup to #1520 .
2016-05-24 17:24:11 -04:00
bunnei
2e5e7d9be0
Merge pull request #1520 from JamePeng/checknew3ds
...
Implement CheckNew3DS and CheckNew3DSApp
2016-05-24 17:19:26 -04:00
Emmanuel Gil Peyrot
080a2d719c
Loader: Split SMDH into its own header and import helpers from QGameList
...
Also rewrite Qt wrappers to use those.
2016-05-21 20:15:42 +01:00
MerryMage
64068583fb
CFG: Remove use of Memory::GetPointer
2016-05-21 11:14:13 -05:00
MerryMage
fddd243b17
APT: Remove use of Memory::GetPointer
2016-05-21 11:14:12 -05:00
MerryMage
1ebaaf9bb1
Kernel/Thread: Remove use of Memory::GetPointer
2016-05-21 11:14:11 -05:00
MerryMage
aa84cab4e9
Applets/swkdb: Remove use of Memory::GetPointer
2016-05-21 11:14:10 -05:00
MerryMage
ca17df5757
Memory: ZeroBlock
2016-05-21 11:14:09 -05:00
MerryMage
2be17a0c6e
FileSys/Path: Replace Memory::GetPointer with Memory::ReadBlock
2016-05-21 11:14:03 -05:00
MerryMage
3873b36db3
Memory: ReadBlock/WriteBlock
2016-05-21 11:12:36 -05:00
MerryMage
c084fc824c
Memory: IsValidVirtualAddress/IsValidPhysicalAddress
2016-05-21 11:12:35 -05:00
Emmanuel Gil Peyrot
314ce5e505
CitraQt: Simplify the game list loader code
2016-05-21 17:09:59 +01:00
Emmanuel Gil Peyrot
9a35d1fb4a
Loader: Add a GetFileType method to get the type of a loaded file
2016-05-21 17:09:59 +01:00
Emmanuel Gil Peyrot
8fc9c03126
Loader, Frontends: Refactor loader creation and game loading
...
This allows frontends to keep a single loader and use it multiple times
e.g. for code loading and SMDH parsing.
2016-05-21 17:09:56 +01:00
wwylele
86ea7995ad
SVC::WaitSynchronizationN: Reschedule at the end
2016-05-21 18:29:38 +03:00
Jannik Vogel
edf30d84cc
Remove exceptions
parameter from normaliseround
VFP functions
2016-05-18 16:28:13 +02:00
Jannik Vogel
693cca8f1f
Fix exception propagation for VFP single precision
2016-05-18 15:24:42 +02:00
Jannik Vogel
7dde13f875
Fix exception propagation for VFP double precision
2016-05-18 15:24:42 +02:00
Jannik Vogel
3a45eacb16
Fix read-after-write in SMUAD, SMLAD, SMUSD, SMLSD
2016-05-18 14:03:02 +02:00
András Domonkos
960297e577
Update ACT:U and create ACT:A ( #1809 )
...
* Update ACT_U
* Create act_a.h
* Create act_a.cpp
* Add service ACT:A
* Add ACT:A source and header
* Fix wrong header
2016-05-17 21:28:25 -04:00
bunnei
a39144050b
Merge pull request #1800 from JayFoxRox/set-fpscr
...
Set fpscr for new threads
2016-05-17 21:24:57 -04:00
Jannik Vogel
af37dd0d52
Set fpscr for new threads
2016-05-17 08:59:52 +02:00
Jannik Vogel
501d0bc5ed
Fix ftoi behaviour
2016-05-16 15:00:45 +02:00
Jannik Vogel
6fe0cb671d
Respect fpscr in ftoiz
2016-05-16 15:00:45 +02:00
Jannik Vogel
1643786c04
Disable VFP3 instructions
2016-05-16 15:00:45 +02:00
Maribel
5c8beca792
DSP_DSP: Remove GetHeadphoneStatus logspam ( #1799 )
2016-05-15 20:43:01 -04:00
wwylele
6cccdcacd2
fixup! fixup! Refactor input system
2016-05-15 19:35:06 +03:00
wwylele
416faa20d1
implement circle pad modifier
2016-05-15 13:24:22 +03:00
wwylele
03631f9b8f
Refactor input subsystem
2016-05-15 13:24:22 +03:00
Subv
64da2bf0cd
Memory: Fixed a regression caused by #1695 and #1689 .
...
Reserve enough space in the vector that holds the linear heap memory to prevent relocations of the backing memory when growing too much.
Closes #1790
2016-05-14 11:24:19 -05:00
bunnei
18b517e236
Merge pull request #1689 from Subv/shmem
...
Kernel: Implemented shared memory.
2016-05-13 15:33:44 -04:00
bunnei
0d8bd3ba36
Merge pull request #1695 from Subv/tls_alloc
...
Kernel/Threads: Dynamically allocate the TLS region for threads.
2016-05-12 21:51:35 -04:00
Subv
ac2de12ed8
HLE/Applets: Give each applet its own block of heap memory, and use that when creating the framebuffer shared memory block.
2016-05-12 20:01:59 -05:00
Subv
d261984f54
Kernel: Account for automatically-allocated shared memories in the amount of used linear heap memory.
2016-05-12 20:01:59 -05:00
Subv
abf8dcd700
APT: Move the shared font loading and relocation functions to their own subdirectory services/apt/bcfnt.
2016-05-12 20:01:54 -05:00
Subv
5679d066b5
Kernel/SharedMemory: Log an error when Map fails.
2016-05-12 20:01:27 -05:00
Subv
0fb6d2a247
Kernel: Implemented shared memory permissions.
2016-05-12 20:01:26 -05:00
Subv
9005cda664
APT: Implement relocating the shared font to its true address.
2016-05-12 20:01:20 -05:00
Subv
f72bd57212
Kernel/Memory: Remove the Shared Memory region from the legacy memory map.
2016-05-12 20:00:33 -05:00
Subv
1bd0cf542f
Kernel/SharedMemory: Properly implemented shared memory support.
...
Applications can request the kernel to allocate a piece of the linear heap for them when creating a shared memory object.
Shared memory areas are now properly mapped into the target processes when calling svcMapMemoryBlock.
Removed the APT Shared Font hack as it is no longer needed.
2016-05-12 20:00:32 -05:00
Subv
42a50da76b
Kernel/SVC: Fixed the register order for svcCreateMemoryBlock.
...
R0 is used as the last parameter instead of R4.
2016-05-12 20:00:29 -05:00
Lioncash
0a52e1f587
gdbstub: Silence missing prototype warnings
2016-05-10 09:17:07 -04:00
Lioncash
0f941d0245
dyncom: Reset the context into user mode correctly
...
The other mode was system mode.
2016-05-09 16:30:55 -04:00
bunnei
282a2ad539
Merge pull request #1766 from Subv/log_cpu
...
Kernel/Threading: Warn when a thread can be scheduled in the Syscore (Core 1)
2016-05-08 15:03:08 -04:00
bunnei
6abc6003f5
Merge pull request #1718 from alex-laties/fixup-type-conversions
...
fixup simple type conversions where possible
2016-05-07 17:24:16 -04:00
bunnei
8e9b33a34a
Merge pull request #1761 from Subv/applets_fb
...
HLE/Applets: Use the correct size for the framebuffer SharedMemory
2016-05-07 17:21:48 -04:00
Alexander Laties
0a31e373f1
fixup simple type conversions where possible
2016-05-07 11:41:55 -04:00
Subv
5b7f86708c
Kernel/Threading: Warn when a thread can be scheduled in the Syscore (Core 1).
...
We do not currently implement any cores other than the AppCore (Core 0).
2016-05-07 10:23:03 -05:00
Subv
d192fb066d
Kernel/Threads: Dynamically allocate the TLS region for threads in the BASE region of the linear heap.
...
Each thread gets a 0x200-byte area from the 0x1000-sized page, when all 8 thread slots in a single page are used up, the kernel allocates a new page to hold another 8 entries.
This is consistent with what the real kernel does.
2016-05-07 10:18:47 -05:00
Subv
6970b7d3d5
HLE/Applets: Use the correct size for the framebuffer SharedMemory in the swkbd and MiiSelector applets.
2016-05-07 10:01:40 -05:00
wwylele
d2182568ad
fix:return proper error
2016-05-06 21:42:13 +03:00
bunnei
75cbfeee58
Merge pull request #1762 from bunnei/global
...
hle: Get rid of direct global access to g_reschedule
2016-05-05 21:45:57 -04:00
bunnei
4cb2995c61
HLE: Rename RescheduleIsPending to IsReschedulePending.
2016-05-05 21:34:10 -04:00
bunnei
55946cdc11
Merge pull request #1700 from wwylele/gamelist-icon
...
Qt: display game icon and title in the game list
2016-05-05 18:35:24 -04:00
mailwl
e311398a22
Layout Mii parameters input/output, and return success as result of applet work
2016-05-05 22:31:33 +03:00
wwylele
5d5dd66d92
add icon & title to game list
2016-05-04 13:02:49 +03:00
wwylele
9b66e0dc8b
clean up config block
2016-05-03 19:27:47 +03:00
bunnei
a6e76c0903
Merge pull request #1732 from wwylele/config00170000
...
add config block 0x00170000; remove duplicated content
2016-05-02 19:04:20 -04:00
wwylele
7e1b76d406
remove duplicated function declaration
2016-05-01 07:44:55 +03:00
Emmanuel Gil Peyrot
691a42fe98
VideoCore: Run include-what-you-use and fix most includes.
2016-04-30 17:02:41 +01:00
Emmanuel Gil Peyrot
387d935a54
LCD: Remove unneeded #undef with no matching #define.
2016-04-30 13:58:26 +01:00
bunnei
c1f0044a4b
Merge pull request #1729 from MerryMage/null-sink
...
Audio Config: Implement null sink and implement sink configuration
2016-04-30 03:49:11 -04:00
MerryMage
4e971f44a2
Audio: Add sink selection to configuration files
2016-04-30 07:41:02 +01:00
bunnei
594bd182b4
Merge pull request #1650 from JamePeng/update-the-ndm-code
...
Update the stub code of NDM service!
2016-04-30 00:38:15 -04:00
bunnei
15d21c0dc5
Merge pull request #1647 from mailwl/acu-closeasync
...
ac:u: stub CloseAsync; align memory size in svc:GetProcessInfo(type=2)
2016-04-30 00:11:08 -04:00
bunnei
eb2d6e4015
Merge pull request #1699 from mailwl/gpu-rights
...
gsp::Gpu: implement AcquireRight, ReleaseRight functions
2016-04-29 20:50:08 -04:00
wwylele
84ade0713c
add config block 0x00170000
2016-04-29 13:31:29 +03:00
Yuri Kunde Schlesner
e3a8292495
Common: Remove section measurement from profiler ( #1731 )
...
This has been entirely superseded by MicroProfile. The rest of the code
can go when a simpler frametime/FPS meter is added to the GUI.
2016-04-29 00:07:10 -07:00
bunnei
1ecee38468
Merge pull request #1708 from MerryMage/dsp_dsp
...
DSP Service: Cleanup
2016-04-27 11:34:38 -04:00
MerryMage
c379b22117
DSP_DSP: Fix log format strings and arguments
2016-04-27 06:35:12 +01:00
MerryMage
2929b67c5f
DSP_DSP: Add return IPC headers
2016-04-27 06:35:08 +01:00
MerryMage
ff6db69c60
DSP_DSP: Updated interrupt implementation
2016-04-27 06:35:06 +01:00
bunnei
12f72a6597
y2r_u: Cleanup some formatting.
2016-04-26 21:50:56 -04:00
bunnei
61992170ac
Merge pull request #1447 from JamePeng/update-y2r-service
...
Update the code of service y2r!
2016-04-26 19:29:57 -04:00
Sam Spilsbury
e16541e47c
am: title_id is long long uint
2016-04-24 23:40:41 +08:00
MerryMage
913f7ee524
DSP_DSP: Remove unused variable
2016-04-24 09:01:53 +01:00
mailwl
67c657bf80
return checks if event and memory created
2016-04-23 16:17:03 +03:00
Sam Spilsbury
60f2587eac
ncch: Use correct format specifier (for long long uint)
2016-04-23 11:54:02 +08:00
Sam Spilsbury
040b7386a9
fs: Fix what appears to be a typo (filename_size / file_size)
2016-04-23 11:54:02 +08:00
Sam Spilsbury
41ec40e9aa
gdbstub: Don't check if unsigned int is > 0
2016-04-23 11:54:02 +08:00
mailwl
efdff9ad3e
gsp::Gpu: implement AcquireRight, ReleaseRight functions
2016-04-22 21:15:25 +03:00
tfarley
22f3a7e94c
HWRasterizer: Texture forwarding
2016-04-21 17:27:56 -04:00
tfarley
e46d086189
Config: Add scaled resolution option
2016-04-21 17:27:48 -04:00
mailwl
bd8cc69893
ac:u: stub CloseAsync; check memory size aling in svc:GetProcessInfo(type=2)
2016-04-21 10:34:45 +03:00
JamePeng
14602287f7
Update the stub code of NDM service!
2016-04-21 02:25:58 +08:00
JamePeng
854912ca5d
Update the code of service y2r!
2016-04-20 18:38:01 +08:00
JamePeng
7129611e65
Implement CheckNew3DS and CheckNew3DSApp
...
Append an item[is_new3ds] to config file[System] group
Implement APT::SetNSStateField,it will update the unknown NS_state_field
2016-04-20 18:12:05 +08:00
bunnei
32dfd4b4fe
Merge pull request #1612 from ObsidianX/get-set-sockopt
...
SOC:U GetSockOpt/SetSockOpt
2016-04-18 20:45:19 -04:00
Lioncash
1cc183703a
core: Clean out some unnecessary header includes
2016-04-16 00:08:49 -04:00
bunnei
2b422fbcc5
Merge pull request #1667 from wwylele/ncch-loader-fix
...
loader: only decompress code section
2016-04-15 17:13:34 -04:00
JamePeng
8d5a6110f7
Y2R: num_tiles should be allowed when its value is 128 ( #1669 )
2016-04-14 21:36:07 -07:00
wwylele
727d508e02
ncch:only decompress .code section
2016-04-14 18:33:42 +03:00
bunnei
38f4c9cce9
Merge pull request #1613 from mailwl/anp
...
Set Kernel config "Hardware Inited" to 1 (true)
2016-04-11 16:26:47 -04:00
Jannik Vogel
f2c8619704
CitraQt: Apply config at startup
2016-04-11 15:18:00 +02:00
mailwl
df0a81621f
Set Kernel config "Unknown Value" to 0x1
2016-04-11 13:47:52 +03:00
mailwl
2efc1c9348
Fix BLX LR opcode interpretation
2016-04-09 19:11:02 +03:00
bunnei
a4c5d8fd50
Merge pull request #1644 from polaris-/gdb-fixes
...
Adopted WinterMute's gdbstub changes
2016-04-08 16:03:40 -04:00
JamePeng
9045c57d6f
update the code of AM service! ( #1623 )
2016-04-08 15:44:00 -04:00
mailwl
61ec5fa776
cecd:u: stub GetCecStateAbbreviated ( #1648 )
2016-04-08 15:39:52 -04:00
mailwl
4630209c4c
Update cpsr (T)humb bit while creating thread
2016-04-08 18:41:09 +03:00
bunnei
f531d4b810
Merge pull request #1577 from JamePeng/update-apta-func
...
Append the missing function name"GetAppletInfo", "SetAppCpuTimeLimit" and "GetAppCpuTimeLimit" to APT:A
2016-04-06 21:07:08 -04:00
mailwl
06a4369f75
Fix thumb ADR instruction alignment
2016-04-06 19:46:58 +03:00
polaris-
44d746fc92
Adopted WinterMute's gdbstub changes
...
This fixes the comments left on the PR (whitespace, SO_REUSEADDR,
comment changes).
2016-04-06 07:01:00 -04:00
JamePeng
857bf9cd09
append SetAppCpuTimeLimit and GetAppCpuTimeLimit to APT:A
2016-04-06 14:24:09 +08:00
bunnei
dccadce074
Merge pull request #1435 from mailwl/frd_u
...
frd:u: Initial stub some functions
2016-04-05 23:04:35 -04:00
Mathew Maidment
aa6380e5bc
Merge pull request #1643 from MerryMage/make_unique
...
Common: Remove Common::make_unique, use std::make_unique
2016-04-05 20:10:11 -04:00
MerryMage
a06dcfeb61
Common: Remove Common::make_unique, use std::make_unique
2016-04-05 13:31:17 +01:00
JamePeng
af9a8258b9
implement APT::GetStartupArgument
2016-04-05 02:04:58 +08:00
JamePeng
ef47d855ce
Append the missing function name"GetAppletInfo" to APT:A
2016-04-05 01:57:18 +08:00
bunnei
6d24c73ea9
Merge pull request #1616 from exhalatio/dlp_dummy
...
Dummy implementation dlp:SRVR Service.
2016-04-03 10:10:58 -04:00
exhalatio
bbdfbe44e6
Dummy implementation dlp:SRVR Service.
2016-04-03 06:05:20 +09:00
bunnei
e5e3b97db2
Merge pull request #1619 from mailwl/cecd
...
cecd:u: stub GetCecInfoEventHandle, GetChangeStateEventHandle
2016-04-02 01:43:35 -04:00
Ryan Loebs
58ee548ed8
Rework sockopt translation to match the error translation code already in place
2016-04-01 22:19:21 -07:00
bunnei
9d7028bcfb
Merge pull request #1390 from purpasmart96/citra_gsp_error_codes
...
GSP: Return proper error codes for register writes
2016-04-01 10:50:36 -04:00
Mathew Maidment
80c16961ae
Merge pull request #1618 from MerryMage/one-step
...
Prevent cache overflow when single stepping
2016-03-31 11:00:42 -04:00
bunnei
67c982be1b
Merge pull request #1419 from mailwl/branch-gsp
...
Add gsp functions: SetAxiConfigQoSMode, UnregisterInterruptRelayQueue
2016-03-31 08:52:38 -04:00
mailwl
cb8e85a37d
cecd:u: stub GetCecInfoEventHandle, GetChangeStateEventHandle
2016-03-31 14:59:10 +03:00
mailwl
f7619a9a19
Add gsp functions: SetAxiConfigQoSMode, UnregisterInterruptRelayQueue
2016-03-31 10:40:25 +03:00
purpasmart96
abe5c6efec
GSP: Return proper error codes for register writes
2016-03-30 18:31:49 -07:00
Ryan Loebs
2faafff1b9
Code style
2016-03-30 13:51:34 -07:00
MerryMage
cbba0bec7c
DynCom: Optimize single stepping
2016-03-30 18:57:59 +01:00
Ryan Loebs
b1f89408dd
Added GetSockOptName
...
Filter out and translate invalid sockopt names.
2016-03-30 00:25:19 -07:00
Ryan Loebs
0a7d53692a
Derp: win32: typedef int socklen_t;
2016-03-29 14:48:25 -07:00
Ryan Loebs
64815a8b16
But of course, Windows uses 'int' while Linux uses 'socklen_t'
2016-03-29 14:33:32 -07:00
Ryan Loebs
b8422b24bd
Compiling on Windows now
2016-03-29 14:24:03 -07:00
Ryan Loebs
aa5bb3b997
Formatting...
2016-03-29 04:45:17 -07:00
Ryan Loebs
65883d9327
Addressing PR comments
2016-03-29 04:42:58 -07:00
Ryan Loebs
91dbebbcc5
SOC Updates
...
-Implement GetSockOpt / SetSockOpt
-Fix bug in RecvFrom where sending from localhost
does not fill in src_addr/src_addr_len on Linux
2016-03-28 23:34:34 -07:00
Ryan Loebs
1ce8cb148c
Add common methods to all cfg:* ports
2016-03-28 23:32:25 -07:00
mailwl
81d988b022
frd:u: Initial stub some functions
2016-03-27 10:08:04 +03:00
wwylele
aeb29a1a60
use reference instead of pointer
2016-03-26 10:50:02 +03:00
bunnei
39da819b55
Merge pull request #1549 from wwylele/acc_gyro
...
hid: implement accelerometer and gyroscope back-end
2016-03-25 21:07:21 -04:00
wwylele
1d2070d0d3
implement GyroscopeCalibrateParam
2016-03-25 12:22:02 +03:00
wwylele
db151efd0a
implement accel and gyro backend
2016-03-22 18:35:03 +02:00
bunnei
85edb851b0
Merge pull request #1560 from lioncash/savedata
...
archive_extsavedata: Fix member initialization order
2016-03-22 11:56:47 -04:00
bunnei
e16899783d
Merge pull request #1563 from lioncash/lolfiq
...
armstate: Correct FIQ register banking
2016-03-22 08:38:48 -04:00
Lioncash
d53c9cde1a
armstate: Correct FIQ register banking
...
FIQ has seven banked registers (R8 to R14), not two.
2016-03-21 18:56:27 -04:00
bunnei
446d7c7e55
Merge pull request #1559 from lioncash/vec
...
soc_u: Get rid of explicit delete and new
2016-03-21 11:19:18 -04:00
Lioncash
04f8d39a96
session: Make helper functions constexpr
2016-03-21 04:07:03 -04:00
Lioncash
c99f47d8f0
loader: Make MakeMagic constexpr
2016-03-21 03:28:22 -04:00
Lioncash
6b7ebb3f82
hle: Get rid of global access to g_reschedule
...
This shouldn't be directly exposed if there's already a partial API that operates on it.
We can just provide the rest of that API.
2016-03-21 02:57:12 -04:00
Lioncash
f6ad3e42f0
archive_extsavedata: Fix member initialization order
...
shared appears in the initializer list before mount_point
2016-03-21 02:09:12 -04:00
Lioncash
9ea3d55243
soc_u: Get rid of explicit delete and new
2016-03-21 01:22:44 -04:00
bunnei
b83e95727f
Merge pull request #1302 from Subv/save_fix
...
HLE/FS: Fixed many corner cases in our file handling
2016-03-20 16:11:49 -04:00
Subv
f707026ac5
HLE/FS: Change the error code returned when an ExtSaveData archive is not found.
...
This allows Fire Emblem to boot again.
2016-03-20 14:52:50 -05:00
Subv
3aa42627a3
HLE/FS: Corrected some style concerns.
2016-03-20 14:52:26 -05:00
Subv
95380d8950
HLE/FS: Fixed creating the config savefile when it doesn't exist.
...
This fixes a regression.
2016-03-20 14:30:03 -05:00
Subv
d26c6b3212
HLE/FS: Implemented GetFormatInfo
...
Format information is currently only implemented for the ExtSaveData, SharedExtSaveData and SaveData archives, the information is stored in a file alongside the root folder of the archive.
2016-03-20 14:30:01 -05:00
Subv
9b2d643451
HLE/FS: Don't return an error when deleting the ExtSaveData if it does not exist.
2016-03-20 14:28:24 -05:00
Subv
95b34f8081
HLE/FS: Return the proper error codes when opening files.
2016-03-20 14:28:22 -05:00
Subv
802ef6d099
HLE/FS: Fixed the OpenDirectory error code
2016-03-20 14:28:19 -05:00
Subv
96f0e32f83
HLE/FS: Return the proper error codes on file Read/Write operations.
...
These operations are limited by the open flags specified while opening the file.
2016-03-20 14:28:17 -05:00
Subv
09b0564c75
HLE/FS: Corrected the error codes for DeleteFile
2016-03-20 14:28:14 -05:00
Subv
b350f192bb
HLE/FS: Corrected the error codes for CreateFile
2016-03-20 14:28:10 -05:00
Subv
381a5c053f
HLE/FS: FS::CreateFile takes an u64 for the file size.
2016-03-20 14:28:08 -05:00
LittleWhite
89a43b8447
Fix missing header
2016-03-20 14:35:51 +01:00
bunnei
06b70d170e
Merge pull request #1505 from pippo2931/fef
...
GetArchiveResource stub
2016-03-18 00:32:53 -04:00
Lioncash
c928b04eee
core/video_core: Make NumIds functions constexpr
2016-03-17 00:29:47 -04:00
Lioncash
39baad9926
core/video_core: Don't cast away const in subscript operators
...
Not to say these subscript operators aren't totally ugly as is.
2016-03-17 00:27:15 -04:00
JamePeng
dd0b8047eb
Reorganize the ndm service path for dummy implement function
...
SuspendDaemons , ResumeDaemons , OverrideDefaultDaemons
The NDM file move to /core/hle/service/ndm/ now!
2016-03-15 00:42:47 +08:00
wwylele
ab67f0ffa3
hid: fix pad update
2016-03-13 11:19:17 +02:00
Lioncash
856a1d0386
svc: Move ResetType enum to the kernel event header
2016-03-12 21:47:41 -05:00
Lioncash
31797a242f
svc: Remove unused ArbitrationType enum
...
An equivalent enum already exists within address_arbiter.h
2016-03-12 15:09:13 -05:00
Lioncash
12e92f17de
svc: Make ResetType an enum class
2016-03-12 15:06:31 -05:00
pippo2931
8186f1271b
Fix header
2016-03-12 11:05:48 -08:00
pippo2931
31abe54c99
GetArchiveResource stub
2016-03-12 11:01:12 -08:00
bunnei
2f0a61debf
Merge pull request #1266 from Subv/miiapplet
...
HLE/Applets: Implemented a dummy Mii Selector applet.
2016-03-12 11:23:59 -05:00
Subv
0f8be2d2cc
HLE/Applets: Implemented a dummy Mii Selector applet.
...
This prevents some games (like Super Mario 3D Land) from freezing when trying to launch it, however, it's not complete and won't let you go past Mii selection as the parameter structure hasn't been reverse engineered yet.
2016-03-12 10:59:37 -05:00
bunnei
afb5140b53
Merge pull request #1500 from lioncash/nullptr
...
gsp_gpu: Change 0 literal to nullptr
2016-03-12 10:15:02 -05:00
Lioncash
fba547b924
gsp_gpu: Change 0 literal to nullptr
2016-03-11 22:59:48 -05:00
Lioncash
d7dd6c8bd1
hle: Update service function tables
2016-03-11 22:23:51 -05:00
LittleWhite
e649f5d98d
Fix missing return
2016-03-09 22:20:08 +01:00
bunnei
4a2d1571bc
Merge pull request #1474 from lioncash/renderer
...
renderer_base: Minor changes
2016-03-09 10:57:38 -05:00
bunnei
8530a2d7df
Merge pull request #1344 from LittleWhite-tb/error-output
...
Output errors in GUI
2016-03-08 23:12:04 -05:00
Lioncash
bf76afc68d
renderer_base: Don't directly expose the rasterizer unique_ptr
...
There's no reason to allow direct access to the unique_ptr instance. Only
its contained pointer.
2016-03-08 21:31:44 -05:00
LittleWhite
4be68dddfb
Improve error report from Init() functions
...
Add error popup when citra initialization failed
2016-03-08 22:05:25 +01:00
MerryMage
004991d79e
DSP: Implement Pipe 2
...
Pipe 2 is a DSP pipe that is used to initialize both the DSP hardware (the
application signals to the DSP to initialize) and the application (the DSP
provides the memory location of structures in the shared memory region).
2016-03-06 21:25:44 +00:00
Yuri Kunde Schlesner
6aa90e13f9
Memory: Do correct Phys->Virt address translation for non-APP linheap
2016-03-05 22:09:59 -08:00
Mathew Maidment
8ee230fe1c
Merge pull request #1455 from yuriks/ResultVal-union
...
core: Use unrestricted union to hold storage of ResultVal value
2016-03-05 23:29:14 -05:00
MerryMage
5b0fe77140
DSP: Print hash of firmware to console
2016-03-06 00:11:17 +00:00
Yuri Kunde Schlesner
6dd05e610a
core: Use unrestricted union to hold storage of ResultVal value
2016-03-05 00:13:20 -08:00
Yuri Kunde Schlesner
b967a581a1
Loader/NCCH: Log the program ID during loading
...
This is useful for all sorts of things, but mainly to identify save
folders more easily.
2016-03-04 23:53:10 -08:00
bunnei
987d85a33b
Merge pull request #1429 from mailwl/branch-acu
...
ac:u IsConnected implemented
2016-03-05 02:10:25 -05:00
bunnei
878562c291
Merge pull request #1389 from yuriks/stub-cam
...
Stub CAM:U service
2016-03-04 10:11:09 -05:00
mailwl
d6be7ff683
ac:u: Stub IsConnected
2016-03-04 15:59:02 +03:00
LittleWhite
7ad669a911
Display errors in GUI when loading ROM failed
2016-03-03 22:52:29 +01:00
bunnei
ea0ca17215
Merge pull request #1434 from Kloen/legend
...
Add THREADPROCESSORID_ALL on SVC::CreateThread
2016-03-02 09:09:09 -05:00
bunnei
cddb9bd2aa
Merge pull request #1297 from Subv/saves
...
DiskDirectory: Initialize the directory member with valid info.
2016-03-01 17:16:05 -05:00
Kloen
1149e66820
ThreadProcessorId_All on SVC::CreateThread
2016-03-01 12:03:32 +01:00
Yuri Kunde Schlesner
1912c4691b
Service/CFG: Fix potential endianess issue
2016-02-29 23:56:02 -08:00
Yuri Kunde Schlesner
228d8ac14a
Service/CFG: Add block 0x000A0000 (username) to default config file
2016-02-29 23:55:48 -08:00
Yuri Kunde Schlesner
338a0f01f2
Service/CAM: Add doxycomments to all service functions
2016-02-29 22:53:36 -08:00
mailwl
2e13b7f3ca
Initial implementation ir:user
2016-02-26 18:39:28 +03:00
MerryMage
8b00954ec7
AudioCore: Skeleton Implementation
...
This commit:
* Adds a new subproject, audio_core.
* Defines structures that exist in DSP shared memory.
* Hooks up various other parts of the emulator into audio core.
This sets the foundation for a later HLE DSP implementation.
2016-02-21 13:13:52 +00:00
Yuri Kunde Schlesner
fc6fa0f088
Service/CAM: Dummy implementation of some functions
...
Thanks to @mailwl for the initial version of the stubs.
2016-02-13 01:16:08 -08:00
MerryMage
6c71858c5c
BitField: Make trivially copyable and remove assignment operator
2016-02-12 19:51:16 +00:00
Lioncash
0937bed8d8
services: Get rid of unnecessary includes
2016-02-02 01:40:23 -05:00
Lioncash
5e5bb0c32e
services: Update function tables
2016-02-01 21:49:44 -05:00
bunnei
cd0b31fd73
Merge pull request #1377 from MerryMage/mmio
...
Memory: Implemented MMIO
2016-01-30 19:03:33 -05:00
MerryMage
2b93313348
Memory: Implement MMIO
2016-01-30 18:41:04 +00:00
Lioncash
a89e32b157
elf: Don't cast away const
2016-01-25 02:36:57 -05:00
Lioncash
3ed5ecd67a
archive_backend: Remove unnecessary const from return types
...
This doesn't return by reference so const isn't really necessary
2016-01-25 00:14:53 -05:00
rob turner
d29578d467
ARM_Disasm::DisassembleMemHalf: actually use width in determining opcode name
2016-01-19 18:42:16 +01:00
Subv
922b31ebbd
DiskDirectory: Initialize the directory member with valid info.
2016-01-16 09:30:29 -05:00
bunnei
190b1bbf1f
Merge pull request #1327 from Subv/unmap_memblock
...
HLE/SVC: Implement UnmapMemoryBlock.
2016-01-14 22:27:36 -05:00
Subv
d90d5a0ee6
HLE/SVC: Implement UnmapMemoryBlock.
...
This implementation will need to be (almost completely) changed when we implement multiprocess support.
2016-01-14 11:29:19 -05:00
bunnei
848effe9c3
Merge pull request #1283 from Subv/soc_fixup
...
HLE/Sockets: Fixed the buffer offset in recvfrom.
2016-01-05 13:52:25 -05:00
bunnei
085c8f2987
Merge pull request #1310 from lioncash/services
...
services: Update some function tables
2015-12-30 21:30:07 -05:00
Lioncash
532dc797c9
arm_dyncom_dec: Fix decoding of VMLS
...
Previously, all VMLS variants would misdecode as CDP
(which isn't necessarily wrong in itself, however
VMLS has it's own label of execution)
2015-12-30 14:23:07 -05:00
Lioncash
744f4af3ab
services: Update some function tables
2015-12-30 11:29:21 -05:00
bunnei
4bc961d5fd
Merge pull request #1306 from Subv/sync
...
HLE/Timers: Reset OneShot timers when they are acquired instead of when they're triggered
2015-12-29 22:36:29 -05:00
Subv
6cccc36505
HLE/Timers: Reset OneShot timers when they are acquired instead of when they're triggered.
...
Closes #1139
2015-12-29 20:35:25 -05:00
Lioncash
cee8df6ff0
core: Use unique_ptr for holding the interpreter instances
2015-12-29 18:03:08 -05:00
bunnei
73740d74ed
Merge pull request #1300 from Subv/arbitrateaddress
...
SVC: Fixed ArbitrateAddress to behave as it does on hardware.
2015-12-28 22:23:51 -05:00
Lioncash
fddfe946c8
dyncom: Handle modifying the APSR via an MRC instruction
2015-12-28 07:52:04 -05:00
Subv
29032ce9b6
SVC: Fixed ArbitrateAddress to behave as it does on hardware.
...
This was verified with hwtests that i plan to upload later on.
2015-12-27 18:44:42 -05:00
Lioncash
270cbb0119
svc: Remove superfluous printf argument
2015-12-25 14:21:45 -05:00
Subv
282f2c8042
HLE/Sockets: Fixed the buffer offset in recvfrom.
...
Closes #1277
2015-12-24 09:19:27 -05:00
Lioncash
d09b7a3c12
dyncom: Remove PC dispatch from several instructions
...
These instructions aren't capable of using the PC as a destination
2015-12-20 21:19:02 -05:00
Lioncash
5a531d7ec2
dyncom: Handle unprivileged load/store variants correctly
...
LDRT/LDRBT/STRBT/STRT should simulate the load or store
as if the host CPU is in user mode.
STRT is also allowed to use the PC as an operand
2015-12-19 19:05:50 -05:00
Lioncash
84afaaa10c
svc: Fix compilation with LOG_TRACE enabled
2015-12-12 18:14:36 -05:00
Yuri Kunde Schlesner
31764c48fb
Merge pull request #1272 from yuriks/merge-rasterizer
...
VideoCore: Unify interface to OpenGL and SW rasterizers
2015-12-07 20:21:06 -08:00
Yuri Kunde Schlesner
195fedccf0
VideoCore: Unify interface to OpenGL and SW rasterizers
...
This removes explicit checks sprinkled all over the codebase to instead
just have the SW rasterizer expose an implementation with no-ops for
most operations.
2015-12-07 20:20:38 -08:00
Yuri Kunde Schlesner
03835d04f4
VideoCore: Rename HWRasterizer methods to be less confusing
2015-12-06 19:08:37 -08:00
Lioncash
56e22e6aac
dyncom: Remove static keyword from header functions
2015-12-06 15:14:51 -05:00
Lioncash
1ea0702eaa
arm_interface: Make GetNumInstructions const
2015-12-06 15:07:59 -05:00
Lioncash
de9a625c7e
arm_interface: directly initialize class members
2015-12-06 15:07:00 -05:00
Lioncash
d03e7f08ff
dyncom: const correctness changes
2015-12-06 15:03:06 -05:00
bunnei
87df493b5b
Merge pull request #1252 from Subv/cam
...
Services/Cam: Added new log type and camera enums from 3dbrew.
2015-12-03 22:01:45 -05:00
Yuri Kunde Schlesner
84a22cb594
Kernel: Implement svcGetSystemInfo
...
This makes smealum/ctrulib@b96dd51d33 work
with Citra.
2015-11-30 19:49:44 -08:00
Lioncash
5e2b66d2a4
armstate: Zero out the registers on creation
...
std::array isn't always guaranteed to explicitly zero out it's contents
without an initializer list.
2015-11-29 15:16:34 -05:00
Subv
1d02eb0587
Core/ARM11: Correct the size of the VFP register array in the ThreadContext structure.
...
The VFP registers are 64 bits each, and there are 32 of them.
2015-11-29 13:06:45 -05:00
bunnei
e906165229
Merge pull request #1225 from lioncash/clean
...
csnd_snd: Get rid of type punning
2015-11-28 23:32:05 -05:00
bunnei
c642dc459b
Merge pull request #1248 from polaris-/add-ssl-stubs
...
Add stub functions for Initialize and GenerateRandomData in ssl:C
2015-11-24 16:15:21 -05:00
Subv
434ae89a6a
Services/Cam: Added new log type and camera enums from 3dbrew.
...
Followup to #1102
Original author @mailwl
2015-11-23 17:17:28 -05:00
polaris-
4179e91baf
Add stub functions for Initialize and GenerateRandomData in ssl:C
2015-11-22 16:54:51 -05:00
bunnei
78b0d9c8b0
Merge pull request #1246 from polaris-/patch-1
...
Fix read and write register blocks in gdbstub
2015-11-22 13:38:50 -05:00
polaris-
912e53323d
Add Initialize and GenerateRandomData stubs
2015-11-22 09:27:46 -05:00
polaris-
2732ec758d
Fix read and write register blocks in gdbstub
...
Previously, the padding wasn't correctly accounted for which caused the gdbstub to read and write everything after R15 (starting with the dummy FPA registers) incorrectly, which caused CPSR to not be handled correctly. Everything appears to be working as expected with this change.
2015-11-22 07:48:26 -05:00
bunnei
43bb29edc5
Merge pull request #1122 from polaris-/gdbstub
...
gdbstub implementation
2015-11-11 23:21:31 -05:00
polaris-
bcea959910
Fix bug with reading addresses and lengths
2015-11-03 21:50:53 -05:00
polaris-
b6422038b5
Change headers
2015-10-29 06:17:29 -04:00
Lioncash
a1bd909294
csnd_snd: Get rid of type punning
2015-10-28 16:10:21 -04:00
bunnei
7c12ee9ecc
Merge pull request #1165 from esoteric-programmer/master
...
Added CSND_ExecuteType0Commands stub.
2015-10-28 15:19:13 -04:00
Matthias Ernst
3d89e0a94c
Added CSND stub.
2015-10-28 19:04:01 +01:00
bunnei
af26b7a0bc
Merge pull request #1208 from archshift/free-bytes
...
Implement FS_User::GetFreeBytes
2015-10-28 11:30:25 -04:00
archshift
5dfd2dba70
Implement FS_User::GetFreeBytes
2015-10-27 23:33:59 -07:00
Filiph Sandström
a06a32c05d
Fix copy paste
2015-10-24 13:17:04 +02:00
Filiph Sandström
0c84d59a27
Fix wrong branch
2015-10-23 23:58:54 +02:00
Filiph Sandström
844b9970b4
Add GetTotalStepCount Stub
2015-10-23 23:52:13 +02:00
Filiph Sandström
f61c9da7d3
Update ptm.h
2015-10-23 23:50:51 +02:00
polaris-
a7eb6a4045
Add some headers so TravisCI will hopefully work
2015-10-22 00:31:49 -04:00
polaris-
45ed9e7e5e
Use CHAR_BIT instead of 8
2015-10-22 00:19:44 -04:00
polaris-
a5ab8accc2
Handle changes pointed out in comments on PR
2015-10-22 00:11:25 -04:00
polaris-
d1f73c424f
Add a register variable to loops
2015-10-21 07:45:35 -04:00
polaris-
d7e346239b
Update register read loops to go with last commit
2015-10-21 07:40:30 -04:00
polaris-
8a0d848646
Pad responses to gdb for VFP registers
2015-10-21 07:19:03 -04:00
polaris-
53aa55fcaa
Try to add support for VFP registers
2015-10-21 07:14:43 -04:00
polaris-
9f66580d7e
Fix buffer overflow comments
2015-10-21 06:49:49 -04:00
bunnei
c717d1551d
Merge pull request #1199 from Gareth422/encryption-check
...
Loader: Implement NCCH encryption check
2015-10-20 10:17:31 -04:00
polaris-
2b7316a379
Remove unnecessary new lines, changed Deinit to Shutdown
2015-10-11 20:07:58 -04:00
Gareth Poole
721475420d
Loader: Change NCCH header types to be explicitly little-endian
2015-10-10 22:35:22 -04:00
Gareth Poole
2706394384
Loader: Implement encryption check
2015-10-10 22:34:17 -04:00
bunnei
04325e5980
Merge pull request #1194 from linkmauve/no-newline
...
Remove newlines in LOG_* calls
2015-10-10 14:42:17 -04:00
Emmanuel Gil Peyrot
14af5919ba
CitraQt, SkyEye, Loader, VideoCore: Remove newlines in LOG_* calls.
...
The LOG_* function itself already appends one.
2015-10-09 22:14:56 +01:00
Gareth Poole
be217bca70
Fixed spelling errors
2015-10-09 17:09:52 -04:00
Rohit Nirmal
32391cffdd
Silence -Wsign-compare warnings.
2015-10-06 22:16:15 -05:00
polaris-
42928659e8
Use BreakpointAddress struct instead of passing address directly
2015-10-04 11:22:31 -04:00
polaris-
31dee93e84
Implement gdbstub
2015-10-04 11:16:59 -04:00
bunnei
11a64acf23
Merge pull request #1095 from archshift/game-list
...
Initial implementation of a game list
2015-10-01 23:35:19 -04:00
archshift
bba12520c4
Expose loader helper functions for identifying files.
2015-09-30 21:04:47 -07:00
bunnei
bcaafb826e
Merge pull request #1177 from linkmauve/fix-msvc-todo
...
Use a constexpr function for country initialization in service/cfg
2015-09-30 11:06:47 -04:00
Lioncash
a97d9613a7
ivfc_archive: Fix a printf specifier
2015-09-30 08:19:42 -04:00
Emmanuel Gil Peyrot
57722fb192
Service/CFG: Use a constexpr function for country initialization
...
This fixes a TODO left over from when we supported MSVC 2013.
2015-09-30 04:02:48 +01:00
Martin Lindhe
bafb7afba2
fix some xcode 7.0 warnings
2015-09-29 23:11:09 +02:00
bunnei
09f43c0975
Merge pull request #1160 from lioncash/clang
...
Silence some clang warnings
2015-09-21 21:29:55 -04:00
Cruel
d60a9be5c6
Implement 3dsx RomFS
2015-09-21 13:03:18 -04:00
Lioncash
751fbfdcc3
general: Silence some warnings when using clang
2015-09-16 08:51:53 -04:00
Yuri Kunde Schlesner
bbf92a54e5
Service/CFG: Add default entry for block 0x000A0001 (birthday)
2015-09-14 17:39:52 -03:00
Yuri Kunde Schlesner
13a8e39813
Service/CFG: Correct flags in 2 default blocks
...
Verified against a 9.2.0-20 config save
2015-09-14 17:39:51 -03:00
Yuri Kunde Schlesner
d91f1c0624
Service/CFG: Add additional blocks to default save data
...
These blocks are required by various games to boot.
2015-09-14 17:39:50 -03:00
Yuri Kunde Schlesner
6c89d4ca26
Fix narrowing conversion warning
2015-09-14 17:39:50 -03:00
Yuri Kunde Schlesner
1fe72dcc04
Service/CFG: Move several private types from the header to the cpp
2015-09-14 17:39:49 -03:00
Yuri Kunde Schlesner
ac4f7b0fde
Service/CFG: Clean up default block creation
2015-09-14 17:39:48 -03:00
Yuri Kunde Schlesner
1ed7f3e028
GSP: Implement command 0x05, used for flushing caches
...
May fix additional texture caching issues. (Though mostly in homebrew, I
haven't seen any commercial software use this to flush anything but
command lists.)
2015-09-14 16:19:05 -03:00
Lioncash
07bfe0abbb
general: Replace 0 literals with nullptr where applicable
2015-09-11 23:11:01 -04:00
Lioncash
60b3fc01a2
General: Replace NULL and '0' usages with nullptr where applicable
2015-09-11 14:59:49 -04:00
Yuri Kunde Schlesner
abc34ddb88
Merge pull request #1130 from lioncash/block
...
memory: Get rid of pointer casts
2015-09-10 18:05:24 -03:00
Lioncash
d3efa637b4
General: Fix up doxygen comments
2015-09-10 11:20:21 -04:00
Yuri Kunde Schlesner
248b2993e8
Merge pull request #1131 from lioncash/uninit
...
y2r: Give local variables an initial value
2015-09-10 01:21:58 -03:00
Lioncash
9cf1cfe3fd
memory: Get rid of pointer casts
2015-09-10 00:09:55 -04:00
Lioncash
d7bfda3e26
disk_archive: Remove unimplemented constructor declarations
2015-09-09 23:49:03 -04:00
Lioncash
f87093686e
y2r: Give local variables an initial value
...
Keeps compilers/static analyzers quiet.
2015-09-09 23:38:55 -04:00
archshift
9e8383e296
DynCom: Converted all 0xE condition code checks to ConditionCode::AL
2015-09-05 22:24:42 -07:00
bunnei
bc59aaccb1
Merge pull request #1101 from archshift/camu-service-names
...
Add cam:u service function names to its function table
2015-09-03 07:53:18 -04:00
archshift
e0c10019a9
Add cam:u service function names to its function table
2015-09-03 01:56:59 -07:00
bunnei
5e3536f66f
Merge pull request #1072 from yuriks/GetSystemTick-advance-time
...
SVC: Advance time when calling GetSystemTick to escape busy-wait loops
2015-09-01 08:21:29 -04:00
bunnei
5906d8b01c
Merge pull request #1085 from Subv/fs_stat
...
Services/FS: Correctly tell the guest app whether a file was correctly opened or not
2015-08-30 11:44:39 -04:00
Yuri Kunde Schlesner
18c1c39d5e
SVC: Advance time when calling GetSystemTick to escape busy-wait loops
...
Cubic Ninja waited for the frame to end by spinning on a loop calling
GetSystemTick while doing nothing else. Since GetSystemTick doesn't
cause a reschedule (which advances time), this meant that very little
emulated time would pass inside that loop, causing the game to spend
most of the frame burning away CPU.
2015-08-30 00:07:02 -03:00
Subv
ce6a65cec9
Services/FS: Correctly tell the guest app whether a file was correctly opened or not.
...
Closes #1067
2015-08-28 22:01:03 -05:00
Yuri Kunde Schlesner
0ee3e2c25e
Kernel: Fix wrong linear heap base on titles using newer kernels
...
Typo which sneaked in through review on #1025
2015-08-27 23:52:40 -03:00
Yuri Kunde Schlesner
12390eb155
Kernel: Fix assertion failure when ControlMemory is called with size=0
2015-08-26 21:29:05 -03:00
Yuri Kunde Schlesner
687d973980
Core: Improve APT Shared Font hack
...
Should fix invalid read loops in some games
2015-08-26 21:28:58 -03:00
Lioncash
dc1b024b80
dyncom: Simplify some comparisons in CondPassed
2015-08-26 00:10:23 -04:00
Lioncash
01dd833ffa
dyncom: Change return type of CondPassed to bool
2015-08-25 23:59:01 -04:00
Yuri Kunde Schlesner
0fcabd2b11
Integrate the MicroProfile profiling library
...
This brings goodies such as a configurable user interface and
multi-threaded timeline view.
2015-08-24 22:16:28 -03:00
Yuri Kunde Schlesner
78735e2ada
Fix broken boot introduced by last-minute change in #1025
2015-08-22 18:12:23 -03:00
Yuri Kunde Schlesner
3efb205a68
Merge pull request #1025 from yuriks/heap-management
...
Kernel: Correct(er) handling of Heap and Linear Heap allocations
2015-08-22 14:01:57 -07:00
Yuri Kunde Schlesner
a9fc659809
Merge pull request #996 from yuriks/texture-copy
...
GPU: Implement TextureCopy-mode display transfers
2015-08-18 20:52:40 -07:00
Yuri Kunde Schlesner
0aa443a871
Merge pull request #1033 from bbarenblat/master
...
Handle `FileType::CIA` in `switch` statements
2015-08-15 22:40:29 -07:00
Yuri Kunde Schlesner
9ae5a09655
GPU: Implement TextureCopy-mode display transfers
...
Fixes glitchy garbage in Fire Emblem 3D scenes.
2015-08-16 01:52:51 -03:00
bunnei
5989a6ac57
Merge pull request #1032 from lioncash/swap
...
vfp: use std::swap where applicable
2015-08-16 00:20:35 -04:00
Yuri Kunde Schlesner
840b85690b
Kernel: Remove unused legacy heap MapBlock_* functions
2015-08-16 01:03:49 -03:00
Yuri Kunde Schlesner
38bfbe1b2b
APT: Adjust shared font hack so it works with the new linear heap code
2015-08-16 01:03:48 -03:00
Yuri Kunde Schlesner
14eca982f4
Kernel: Implement svcGetProcessInfo in a basic way
...
This also adds some basic memory usage accounting. These two types are
used by Super Smash Bros. during startup.
2015-08-16 01:03:48 -03:00
Yuri Kunde Schlesner
74d4bc0af1
Kernel: Add more infrastructure to support different memory layouts
...
This adds some structures necessary to support multiple memory regions
in the future. It also adds support for different system memory types
and the new linear heap mapping at 0x30000000.
2015-08-16 01:03:47 -03:00
Yuri Kunde Schlesner
c39b52f974
HLE: Remove empty ConfigMem and SharedPage Shutdown functions
2015-08-16 01:03:47 -03:00
Yuri Kunde Schlesner
69c3021a8d
Move core/mem_map.{cpp,h} => core/hle/kernel/memory.{cpp,h}
2015-08-16 01:03:46 -03:00
Yuri Kunde Schlesner
e2c7954be5
Memory: Move address type conversion routines to memory.cpp/h
...
These helpers aren't really part of the kernel, and mem_map.cpp/h is
going to be moved there next.
2015-08-16 01:03:46 -03:00
Yuri Kunde Schlesner
a12a30c9e0
Process: Store kernel compatibility version during loading
2015-08-16 01:03:45 -03:00
Yuri Kunde Schlesner
cdeeecf080
Kernel: Properly implement ControlMemory FREE and COMMIT
2015-08-16 01:03:45 -03:00
Yuri Kunde Schlesner
ccab02c723
Memory: Move PAGE_MASK and PAGE_BITS to memory.h
2015-08-16 01:03:44 -03:00
Yuri Kunde Schlesner
306408d174
VMManager: Introduce names for used ResultCodes
2015-08-16 01:03:44 -03:00
Yuri Kunde Schlesner
b9a9ad9742
VMManager: Make LogLayout log level configurable as a parameter
2015-08-16 01:03:43 -03:00
Yuri Kunde Schlesner
785407d06f
VMManager: Change block offsets to size_t
2015-08-16 01:03:43 -03:00
Lioncash
46b0277cbf
vfp: use std::swap where applicable
2015-08-15 19:08:51 -04:00
bunnei
094ae6fadb
Shader: Initial implementation of x86_x64 JIT compiler for Pica vertex shaders.
...
- Config: Add an option for selecting to use shader JIT or interpreter.
- Qt: Add a menu option for enabling/disabling the shader JIT.
2015-08-15 18:01:07 -04:00
Benjamin Barenblat
c0a87bc89f
Properly indicate that CIA support is not implemented yet
...
Make `Loader::LoadFile` return an `ErrorNotImplemented` if you call
it on a CIA file.
2015-08-15 16:05:38 -04:00
Benjamin Barenblat
cd8be1846b
Give CIA file type a name
...
Make `GetFileTypeString` return ‘CIA’ for CIA (CTR Importable
Archive) files.
2015-08-15 15:45:27 -04:00
bunnei
cebf245504
Merge pull request #1027 from lioncash/debugger
...
debugger: Add the ability to view VFP register contents
2015-08-13 18:13:25 -04:00
Emmanuel Gil Peyrot
5115d0177e
ARM Core, Video Core, CitraQt, Citrace: Use CommonTypes types instead of the standard u?int*_t types.
2015-08-11 22:38:44 +01:00
aroulin
38c87733d9
arm_disasm: ARMv6 mul/div and abs media instructions
...
SMLAD, SMUAD, SMLSD, SMUSD, SMLALD, SMLSLD,
SMMLA, SMMUL, SMMLS
USAD8, USADA8
2015-08-11 12:48:28 +02:00
aroulin
4a1db13072
arm_disasm: ARMv6 parallel add/sub media instructions
...
{S, U, Q, UQ, SH, UH}{ADD16, ASX, SAX, SUB16, ADD8, SUB8}
2015-08-11 12:48:23 +02:00
aroulin
0be8e1bfb6
arm_disasm: ARMv6 reversal media instructions
...
REV, REV16, REVSH
Only their ARM encoding, Thumb encoding is still missing.
2015-08-09 13:52:51 +02:00
aroulin
e4ff244288
arm_disasm: ARMv6 saturation media instructions
...
SSAT, SSAT16, USAT, USAT16
2015-08-09 01:31:10 +02:00
aroulin
47657a1817
arm_disasm: ARMv6 packing and sign-extend media instructions
...
PKH, SEL
SXTAB, SXTAB16, SXTB, SXTB16, SXTH, SXTAH
UXTAB, UXTAB16, UXTB, UXTB16, UXTH, UXTAH
2015-08-09 01:31:03 +02:00
Lioncash
f48a89af8b
Merge pull request #1026 from lioncash/disasm
...
arm_disasm: Remove unnecessary code
2015-08-07 07:29:27 -04:00
Lioncash
3b457a5876
arm_interface: Implement interface for retrieving VFP registers
2015-08-06 21:24:25 -04:00
Lioncash
59d5358068
arm_disasm: Remove unnecessary code
...
This part of disassembly only determines the opcode, there's no need for offset calculation here.
2015-08-06 19:55:41 -04:00
aroulin
3425cfe54a
Disassembler: ARMv6K REX instructions
2015-08-06 15:50:54 +02:00
aroulin
5d81a2fd48
Disassembler: ARMv6K hint instructions
2015-08-06 15:25:08 +02:00
bunnei
ce65925bc3
Merge pull request #1008 from lioncash/pc
...
dyncom: Handle the case where PC is the source register for STR/VSTM/VLDM
2015-07-30 10:44:50 -04:00
bunnei
a5f77c9886
Merge pull request #1014 from lioncash/unused-warn
...
core: Eliminate some unused variable warnings
2015-07-29 16:47:44 -04:00
Yuri Kunde Schlesner
ea1b04f5da
Merge pull request #1013 from lioncash/unused
...
dyncom: Remove an unused variable
2015-07-29 09:59:37 -07:00
Lioncash
75631b2a9f
core: Eliminate some unused variable warnings
2015-07-29 12:34:18 -04:00
Lioncash
46663d657f
dyncom: Remove an unused variable
...
This was used prior to InterpreterTranslate existing.
2015-07-29 12:21:16 -04:00
Lioncash
12a9e8502c
core: Fix missing prototype warnings
2015-07-29 12:12:39 -04:00
Yuri Kunde Schlesner
8165de065b
Merge pull request #1009 from lioncash/table
...
am_net: Update function table data
2015-07-29 08:40:19 -07:00
Lioncash
6b25e93119
am_net: Add missing function to the function table
2015-07-29 11:37:55 -04:00
Lioncash
bed3618480
am_net: Add correct function name to the function table
2015-07-29 11:37:09 -04:00
bunnei
e5606d9d6e
Merge pull request #982 from Subv/home
...
Service/APT: Return proper parameters in GetLockHandle.
2015-07-29 11:12:17 -04:00
Lioncash
2e420aba3c
dyncom: Handle the case where PC is the source register for STR/VSTM/VLDM
2015-07-29 10:57:47 -04:00
Lioncash
2182adff9e
dyncom: Handle left-operand PC correctly for data-processing ops
...
This is considered deprecated in the ARM manual (using PC as an operand),
however, this is still able to be executed on the MPCore (which I'm quite
sure would be rare to begin with).
2015-07-28 20:14:08 -04:00
bunnei
4ccc171db4
Merge pull request #899 from zawata/Winsock-Deprecation
...
SOC:U : Fix WinSock function deprecation
2015-07-28 16:44:29 -04:00
bunnei
fe15cf0019
Merge pull request #1003 from lioncash/armcruft
...
dyncom: Minor cleanups.
2015-07-28 09:58:42 -04:00
Tony Wasserka
62adb4ee7b
Merge pull request #873 from jroweboy/input_array
...
Move input values into an array.
2015-07-28 13:17:12 +02:00
Lioncash
9be4ef3879
dyncom: Remove an unnecessary typedef
2015-07-28 03:41:25 -04:00
Lioncash
89540ea761
dyncom: Use enum class for instruction decoding results
2015-07-28 02:27:57 -04:00
James Rowe
1bc7829ee9
Move input values into an array
2015-07-27 21:41:21 -06:00
Lioncash
7e4fb4db19
dyncom: Remove code duplication regarding thumb instructions
2015-07-27 22:22:00 -04:00
Lioncash
a507ea23c1
dyncom: Migrate exclusive memory access control into armstate
2015-07-27 22:06:59 -04:00
Lioncash
db4e99c186
dyncom: Remove duplicated typedef and extern
...
These are already present in arm_dyncom_dec.h.
2015-07-27 22:06:51 -04:00
Lioncash
816b1ca776
dyncom: Use std::array for register arrays
2015-07-26 13:21:04 -04:00
Lioncash
0ecc6e2f04
dyncom: Use ARMul_State as an object
...
Gets rid of C-like parameter passing.
2015-07-26 13:18:32 -04:00
Lioncash
03213f893e
dyncom: Remove unnecessary initialization code.
...
Targeting ARM version variants was only a thing on armemu.
The reset routine also does basically the same thing as NewState.
2015-07-25 22:10:54 -04:00
Lioncash
3257d797e1
dyncom: Remove unnecessary abort-related cruft
...
Both the MPCore and the ARM9 have the same data abort model (base restored), so differentiating isn't necessary.
2015-07-25 22:10:53 -04:00
Lioncash
dfb424b6d1
dyncom: Rename armdefs.h to armstate.h
2015-07-25 22:10:44 -04:00
Lioncash
4bb1a5ca47
dyncom: Get rid of skyeye typedefs
2015-07-25 20:52:10 -04:00
Lioncash
0191c26521
dyncom: Move helper functions to their own header
2015-07-25 20:35:18 -04:00
Lioncash
6b73e4566b
dyncom: Move arminit.cpp and armsupp.cpp into skyeye_common
2015-07-25 20:01:44 -04:00
Yuri Kunde Schlesner
453764aefc
Merge pull request #989 from lioncash/extern
...
armdefs: Remove unnecessary extern keywords
2015-07-25 15:40:23 -07:00
Lioncash
f7ba683dc3
armdefs: Remove unnecessary extern keywords
2015-07-25 18:32:57 -04:00
Lioncash
43d799fd9d
loader: Remove unnecessary else usages
2015-07-25 18:10:13 -04:00
Yuri Kunde Schlesner
24d7c05c8d
Merge pull request #888 from zawata/Warning-Fixes-2
...
Core\HLE : Fix Warning
2015-07-25 12:55:34 -07:00
Yuri Kunde Schlesner
9a0f9f12cd
Merge pull request #892 from zawata/another-warning-fixes
...
Yet More Warning Fixes
2015-07-25 12:50:32 -07:00
Subv
599744921d
Service/APT: Fixed a regression, PreloadLibraryApplet should also start an applet when called.
2015-07-23 21:32:30 -05:00
Subv
ce31184557
Service/APT: Return proper parameters in GetLockHandle.
...
Documented some APT functions
This allows applets to boot.
2015-07-23 20:46:11 -05:00
Yuri Kunde Schlesner
a989522384
Merge pull request #983 from yuriks/null-memory-fill
...
GSP: Don't try to write memory fill registers if start address is 0
2015-07-23 17:31:38 -07:00
Yuri Kunde Schlesner
3b61dd97e0
GSP: Don't try to write memory fill registers if start address is 0
...
Verified to be what GSP does via REing. Fixes invalid virt->phys
translation error spam in some games.
2015-07-23 21:20:01 -03:00
Subv
6c0ea5f5e8
Qt/GPU Breakpoints: Added three more breakpoint types:
...
* IncomingDisplayTransfer: Triggered just before a display transfer is performed.
* GSPCommandProcessed: Triggered right after a GSP command is processed.
* BufferSwapped: Triggered when the frames flip
2015-07-23 11:47:34 -05:00
bunnei
4a9e97d67d
Merge pull request #962 from Subv/am_app
...
Services/AM: Stubbed am:app::GetNumContentInfos to return 0 results.
2015-07-21 18:26:31 -04:00
bunnei
d0b45d45b5
Merge pull request #966 from Subv/log
...
Services/Logging: Log more useful information when some operations fail.
2015-07-21 15:14:35 -04:00
Subv
f5bff67b0b
Services/Logging: Log more useful information when some operations fail.
...
Namely OpenFileDirectly, OpenDirectory and OpenArchive
2015-07-21 13:49:08 -05:00
bunnei
dcc8f1bef2
Merge pull request #957 from Subv/hwtest_crash
...
Kernel/Scheduling: Clean up a thread's wait_objects when its scheduled.
2015-07-21 12:11:48 -04:00
Lioncash
c2689b8c2c
dyncom: Pass SVC immediates directly.
...
Previously it would just re-read the already decoded instruction and extract the immediate value.
2015-07-21 03:56:29 -04:00
Subv
13f93a0188
Services/AM: Stubbed am:app::GetNumContentInfos to return 0 results.
...
Named the service functions in am:app as per 3dbrew.
This fixes an illegal read loop in Steel Diver
2015-07-21 00:12:13 -05:00
Subv
38a7f1b727
Services/CFG: Added some missing functions to cfg:s
2015-07-20 19:52:07 -05:00
Subv
275aaeef9c
Kernel/Scheduling: Clean up a thread's wait_objects when its scheduled.
...
They'll be reset if needed during the next svcWaitSynchronization call (if there's any pending)
2015-07-20 17:15:54 -05:00
bunnei
cd2bb2dc69
Merge pull request #939 from Subv/queryprocmem
...
Kernel/SVC: Implemented svcQueryProcessMemory
2015-07-20 00:34:41 -04:00
bunnei
863a963911
Merge pull request #951 from Subv/bit5
...
GPU/DisplayTransfer: Implemented bit 5 in the transfer flags.
2015-07-19 22:42:44 -04:00
bunnei
21a696abde
Merge pull request #946 from archshift/update-frdu
...
Add more frd:u unknown service commands from 3dbrew
2015-07-19 22:39:51 -04:00
zawata
395e63d5aa
SOC:U : Update deprecated function gethostbyname() to getaddrinfo()
2015-07-19 19:32:12 -07:00
Subv
63dbff9b1f
GPU/DisplayTransfer: Implemented bit 5 in the transfer flags.
...
It tells the GPU to not swizzle/de-swizzle the input during the transfer.
2015-07-19 21:30:42 -05:00
Lioncash
a2f0a3d019
dyncom: Properly retrieve the PC value in BX if used.
2015-07-19 22:20:14 -04:00
archshift
84a88005e2
Change trace/unimplemented service call logs to use hex
...
Changes the log to use hex in the parameter list instead of decimal.
2015-07-19 13:34:38 -07:00
archshift
d1e6afaba1
Add more frd:u unknown service commands from 3dbrew
2015-07-19 13:30:20 -07:00
zawata
972dccc3f6
Core : Change variable type
...
and fix various warnings
2015-07-19 04:12:39 -07:00
zawata
1be1ff23a9
Core : Fix Conversion Warnings
2015-07-19 03:59:47 -07:00
Yuri Kunde Schlesner
13286903e6
Dyncom: Support for a missing ARMv6 Thumb MOV encoding
2015-07-18 03:41:49 -03:00
Subv
83fa3f977d
Kernel/SVC: Implemented svcQueryProcessMemory
2015-07-17 14:55:35 -05:00
Yuri Kunde Schlesner
41513cfb0c
Merge pull request #938 from Subv/querymem
...
Kernel/SVC: Implemented svcQueryMemory.
2015-07-17 12:33:26 -07:00
Subv
9e2962081a
Kernel/SVC: Implemented svcQueryMemory.
2015-07-17 11:03:56 -05:00
bunnei
32be6a4553
Merge pull request #937 from yuriks/codeset-leak
...
Ensure all kernel objects are released during shutdown
2015-07-17 11:03:28 -04:00
zawata
f723a498e7
Core\HLE : Fix Warning
...
"signed/unsigned mismatch"
2015-07-17 00:50:53 -07:00
Yuri Kunde Schlesner
dc39d06950
Ensure all kernel objects are released during shutdown
...
This commit fixes several kernel object leaks. The most severe of them
was threads not being removed from the private handle table used for
CoreTiming events. This resulted in Threads never being released, which
in turn held references to Process, causing CodeSets to never be freed
when loading other applications.
2015-07-17 02:24:13 -03:00
Lioncash
23dbbb786a
arm_dyncom_interpreter: Simplify assignment in SMLAW
...
Also a side-benefit of not having implementation-defined behavior.
2015-07-16 22:08:12 -04:00
bunnei
946f0ee2f4
Merge pull request #918 from yuriks/romfs
...
Do not load entire RomFS to memory, read from the file as needed instead (rebased)
2015-07-16 18:08:46 -04:00
archshift
2501f111a6
Merge pull request #904 from aroulin/y2r-narrowing-warning
...
Y2R: Fix narrowing warning
2015-07-13 22:07:39 -07:00
Yuri Kunde Schlesner
62c2a262b2
Loader: Fix variable type and remove unused variable
2015-07-13 21:10:13 -03:00
Yuri Kunde Schlesner
a1f08788d9
Archive: Correct a few incorrect types in function signatures
...
Buffer lengths should be size_t, and file offsets should be u64.
2015-07-13 21:10:12 -03:00
Yuri Kunde Schlesner
2d7299a86f
Loader: Remove unnecessary pointer indirection to IOFile
2015-07-13 20:00:56 -03:00
condut
c385b7767d
FS: Stream RomFS from file instead of loading all of it to memory
2015-07-13 19:57:12 -03:00
Tony Wasserka
29abb11e8f
CiTrace: Clean up initialization method.
2015-07-13 22:27:21 +02:00
Tony Wasserka
fd62580985
CiTrace: Record default vertex attributes.
2015-07-13 22:27:21 +02:00
Tony Wasserka
902fa4da52
Add CiTrace recording support.
...
This is exposed in the GUI as a new "CiTrace Recording" widget.
Playback is implemented by a standalone 3DS homebrew application (which only runs reliably within Citra currently; on an actual 3DS it will often crash still).
2015-07-13 22:27:20 +02:00
Tony Wasserka
93d66475d4
GPU: Be robust against nullptr addresses; properly reset busy bits in the trigger registers.
2015-07-13 22:27:20 +02:00
Tony Wasserka
256bdfb579
HW: Fix a stupid issue which led to unknown register reads/writes.
2015-07-13 22:27:20 +02:00
bunnei
b6719ec922
Merge pull request #921 from linkmauve/fix-applet
...
Fix applet includes using iwyu
2015-07-12 17:25:55 -04:00
Yuri Kunde Schlesner
d4f35fd989
Kernel: Add CodeSet case to Object::IsWaitable
2015-07-12 18:15:16 -03:00
Emmanuel Gil Peyrot
fe909b3b5a
Core: Fix applet includes using iwyu.
2015-07-12 22:10:37 +01:00
aroulin
1f125a04c3
Y2R: Fix narrowing warning
2015-07-12 03:49:16 -04:00
bunnei
f4e1d8ea36
Merge pull request #823 from Subv/applets_drawing
...
Library applet support (swkbd for now)
2015-07-11 23:56:59 -04:00
Subv
725d5eea78
Applets: Reworked how the Applet update event is handled.
...
Applets are now cleaned up in AppletUpdateEvent after calling their respective Update method.
2015-07-11 22:32:12 -05:00
Yuri Kunde Schlesner
5c5cf2f8e0
Core: Properly configure address space when loading a binary
...
The code now properly configures the process image to match the loaded
binary segments (code, rodata, data) instead of just blindly allocating
a large chunk of dummy memory.
2015-07-11 23:54:42 -03:00
Yuri Kunde Schlesner
51820691e7
Memory: Fix unmapping of pages
2015-07-11 23:49:53 -03:00
Yuri Kunde Schlesner
34f5f77507
Loader: Clean up 3dsx loader a bit, fixing a potential buffer overrun
2015-07-11 23:49:52 -03:00
Yuri Kunde Schlesner
fdbf410bd7
Loader: Make 3dsx loader logs a bit less confusing
2015-07-11 23:49:52 -03:00
Yuri Kunde Schlesner
d9556912b4
Kernel: Remove unused member from Event
2015-07-11 23:49:51 -03:00
Subv
621ee10eae
Applets: Add infrastructure to allow custom drawing and input handling in Applets.
2015-07-11 21:47:23 -05:00
Subv
2a6ebadf66
HLE/APT: Initial HLE support for applets.
...
Currently only the SWKBD is emulated, and there's currently no way to ask the user for input, so it always returns "Subv" as the text.
2015-07-11 21:47:22 -05:00
Yuri Kunde Schlesner
867c28ae03
Merge pull request #876 from linkmauve/include-cleanups
...
Cleanup includes, mostly in common
2015-07-10 16:36:12 -07:00
aroulin
769407e4fa
Loader: Remove log line causing warning
2015-07-08 00:04:21 +02:00
bunnei
0ef3f12c71
Merge pull request #797 from linkmauve/blended-downscaling
...
Implement blended downscaling for display transfers
2015-07-06 11:35:55 -04:00
bunnei
c19f9945b7
Merge pull request #885 from Subv/ipc_headers
...
Services/SOC: Added command headers to some of the soc commands.
2015-07-06 11:19:58 -04:00
Lioncash
e3e8ad48c1
vfp: Change return type of VFPInit from unsigned int to void.
2015-06-29 14:51:38 -04:00
Lioncash
32a6379bc8
vfp: Handle accesses to FPINST/FPINST2 system registers
...
Also has a side-benefit of correcting access to the FPEXC register.
2015-06-29 03:27:26 -04:00
Emmanuel Gil Peyrot
641e78bccf
GPU: Implement blended downscaling for display transfers.
2015-06-28 15:11:26 +01:00
Emmanuel Gil Peyrot
8ee814ec27
GPU: Use shifts instead of multiplications to calculate the actual size of the output.
2015-06-28 14:31:13 +01:00
Emmanuel Gil Peyrot
4964a359e1
Core: Cleanup hw includes.
2015-06-28 00:46:39 +01:00
Emmanuel Gil Peyrot
7b746914b9
Core: Cleanup soc:U includes.
2015-06-28 00:36:55 +01:00