Commit graph

1344 commits

Author SHA1 Message Date
Subv
1f286b72a1 Improved the algorithm for GetHighestPriorityReadyThread. 2016-12-06 19:15:32 -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
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
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
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
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
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
0987783699 FileSys: add SDMCWriteOnlyArchive 2016-11-19 18:55:34 +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
dd5c15abd0 cfg: add config block 0x00090000 2016-11-17 19:34:02 +02: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
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
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
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
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
bunnei
05e120a4cc arm: ResetContext shouldn't be part of ARM_Interface. 2016-09-15 17:49:30 -04: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
Yuri Kunde Schlesner
474586bc53 Merge pull request #1948 from wwylele/cro++
Implemented CRO
2016-08-28 22:21:24 -07:00
wwylele
1c9612b791 LDR: Implement CRO 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
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
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
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
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
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
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
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
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
wwylele
86ea7995ad SVC::WaitSynchronizationN: Reschedule at the end 2016-05-21 18:29:38 +03: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
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
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
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
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
mailwl
e311398a22 Layout Mii parameters input/output, and return success as result of applet work 2016-05-05 22:31:33 +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
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
040b7386a9 fs: Fix what appears to be a typo (filename_size / file_size) 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
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
mailwl
df0a81621f Set Kernel config "Unknown Value" to 0x1 2016-04-11 13:47:52 +03: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
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
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
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
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
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
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
9ea3d55243 soc_u: Get rid of explicit delete and new 2016-03-21 01:22:44 -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
bunnei
06b70d170e Merge pull request #1505 from pippo2931/fef
GetArchiveResource stub
2016-03-18 00:32:53 -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
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
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
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
bunnei
ea0ca17215 Merge pull request #1434 from Kloen/legend
Add THREADPROCESSORID_ALL on SVC::CreateThread
2016-03-02 09:09:09 -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
MerryMage
2b93313348 Memory: Implement MMIO 2016-01-30 18:41:04 +00: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
Lioncash
744f4af3ab services: Update some function tables 2015-12-30 11:29:21 -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
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
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
84afaaa10c svc: Fix compilation with LOG_TRACE enabled 2015-12-12 18:14:36 -05: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
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
bunnei
e906165229 Merge pull request #1225 from lioncash/clean
csnd_snd: Get rid of type punning
2015-11-28 23:32:05 -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
polaris-
912e53323d Add Initialize and GenerateRandomData stubs 2015-11-22 09:27:46 -05: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
Rohit Nirmal
32391cffdd Silence -Wsign-compare warnings. 2015-10-06 22:16:15 -05: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
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
60b3fc01a2 General: Replace NULL and '0' usages with nullptr where applicable 2015-09-11 14:59:49 -04:00
Lioncash
d3efa637b4 General: Fix up doxygen comments 2015-09-10 11:20:21 -04: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
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
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