Commit graph

676 commits

Author SHA1 Message Date
Subv 6fac2bf0ab Threads: Remove a redundant function.
Use the next_thread_id variable directly.
2014-12-04 14:59:56 -05:00
Subv ef1d5cda06 Threads: Implemented a sequential thread id 2014-12-04 08:13:53 -05:00
archshift 139a4d91d9 Updated archive.cpp functions for proper error handling 2014-12-03 22:50:44 -08:00
Subv 029ff9f1fd SVC: Implemented GetThreadId.
For now threads are using their Handle value as their Id, it should not really cause any problems because Handle values are unique in Citra, but it should be changed. I left a ToDo there because this is not correct behavior as per hardware.
2014-12-04 00:25:35 -05:00
bunnei 846dc72a37 Merge pull request #249 from lioncash/enum
mem_map: Make enum for addresses use u32 as the underlying type
2014-12-04 00:01:13 -05:00
bunnei 306b5392ca Merge pull request #247 from lioncash/const
hid_user: Pass by reference with PadButtonPress/PadButtonRelease
2014-12-03 23:56:35 -05:00
Lioncash 3ba32d2b53 mem_map: Make enum for addresses use u32 as the underlying type 2014-12-03 23:36:45 -05:00
bunnei abbc340957 Merge pull request #238 from archshift/dsp
Add stub for ConvertProcessFromDspDram
2014-12-03 23:35:06 -05:00
archshift a404ad5272 Add stub for ConvertProcessFromDspDram
Should theoretically push retail stuff further along
2014-12-03 20:03:57 -08:00
Lioncash 208598dbe2 kernel: Shorten GetCount 2014-12-03 22:52:02 -05:00
Lioncash 9b68d5e074 kernel: Make some functions const 2014-12-03 19:48:34 -05:00
Lioncash 7ff8f0d916 hid_user: Pass by reference with PadButtonPress/PadButtonRelease 2014-12-03 19:33:54 -05:00
purpasmart96 16fc98af64 PTM_U: Added a stub for GetBatteryLevel & GetBatteryChargeState & GetAdapterState 2014-12-03 15:09:59 -08:00
Rohit Nirmal 8a62423970 Change NULLs to nullptrs. 2014-12-03 12:57:57 -06:00
bunnei e5b2733801 Merge pull request #231 from purpasmart96/serv_ac_wifi_status
AC_U: Added a stub for GetWifiStatus
2014-12-03 10:00:13 -05:00
bunnei e2e56c7bac Merge pull request #219 from Subv/ptm
PTM_U: Implemented the GetShellState function.
2014-12-03 09:58:52 -05:00
bunnei e3886adc22 MemMap: Updated memory map to subtract base address instead of mask.
- More readable, a little less error prone.

Conflicts:
	src/core/mem_map.h
	src/core/mem_map_funcs.cpp
2014-12-03 01:23:29 -05:00
purpasmart96 32d420330d AC_U: Added a stub for GetWifiStatus 2014-12-02 15:30:42 -08:00
bunnei 884ecd58ea Merge pull request #224 from bunnei/dsp-service-improvements
Dsp service improvements
2014-11-30 23:21:34 -05:00
bunnei b0a5b3d986 Merge pull request #214 from Subv/master
CFG:U: Implemented the GetCountryCodeID and GetCountryCodeString
2014-11-30 23:19:07 -05:00
bunnei 3e286fff7c DSP: Added stubs for several commonly used DSP service functions. 2014-11-30 23:14:57 -05:00
bunnei 45fd3fe5c4 DSP: Fixed typo in port name. 2014-11-30 23:14:48 -05:00
Subv 4cdaac44d3 PTM_U: Implemented the GetShellState function. 2014-11-30 19:50:14 -05:00
bunnei e3d1ffff4b Merge pull request #225 from bunnei/fix-release-mutex
Mutex: Changed behavior to always release mutex for all threads.
2014-11-30 08:47:49 -05:00
bunnei a5afad0937 Merge pull request #226 from bunnei/svc-and-thread-fixes
Svc and thread fixes
2014-11-30 08:41:49 -05:00
bunnei 13005d54aa Merge pull request #235 from yuriks/dyncom-map
dyncom: Use unordered_map rather than the terrible 2-level bb_map
2014-11-30 08:35:03 -05:00
Subv 5753da89e4 CFG:U: Implemented the GetCountryCodeID and GetCountryCodeString. 2014-11-29 21:16:28 -05:00
Yuri Kunde Schlesner 4a68e91a62 dyncom: Use unordered_map rather than the terrible 2-level bb_map
Seems (probably just placebo/wishful thinking) to make it slightly
faster. Also reduces memory usage and makes shutdown when debugging from
MSVC fast.
2014-11-29 17:42:39 -02:00
Lioncash 4f28861008 arm_dyncom_interpreter: Get rid of unused var warnings 2014-11-29 14:13:29 -05:00
vaguilar 223e76d51d Fixed formatting and switch statement warnings 2014-11-27 02:59:14 -08:00
bunnei de851ba1a1 Thread: Check that thread is actually in "wait state" when verifying wait. 2014-11-26 15:04:08 -05:00
bunnei f985469901 SVC: Add debug log to ArbitrateAddress. 2014-11-26 15:04:07 -05:00
bunnei e0e7443517 SVC: SleepThread should yield to the next ready thread. 2014-11-26 15:04:07 -05:00
bunnei a449e0e11a Mutex: Changed behavior to always release mutex for all threads. 2014-11-26 14:38:42 -05:00
Emmanuel Gil Peyrot f8c05e53c4 Remove unused includes to common/thread.h 2014-11-25 20:39:25 +00:00
archshift 43a682a106 Log the cmd_buff arguments when citra comes across an unimplemented function 2014-11-24 15:51:48 -08:00
archshift e5ff01c2cd Implemented RenameDirectory in FS:USER 2014-11-24 15:09:12 -08:00
archshift 45afc15aa6 Implemented RenameFile in FS:USER 2014-11-24 15:09:11 -08:00
Yuri Kunde Schlesner 8189593255 Use pointers instead of passing handles around in some functions. 2014-11-24 17:08:37 -02:00
Yuri Kunde Schlesner 22c86824a4 Remove duplicated docs/update them for changed parameters. 2014-11-24 17:08:36 -02:00
Yuri Kunde Schlesner c2588403c0 HLE: Revamp error handling throrough the HLE code
All service calls in the CTR OS return result codes indicating the
success or failure of the call. Previous to this commit, Citra's HLE
emulation of services and the kernel universally either ignored errors
or returned dummy -1 error codes.

This commit makes an initial effort to provide an infrastructure for
error reporting and propagation which can be use going forward to make
HLE calls accurately return errors as the original system. A few parts
of the code have been updated to use the new system where applicable.

One part of this effort is the definition of the `ResultCode` type,
which provides facilities for constructing and parsing error codes in
the structured format used by the CTR.

The `ResultVal` type builds on `ResultCode` by providing a container for
values returned by function that can report errors. It enforces that
correct error checking will be done on function returns by preventing
the use of the return value if the function returned an error code.

Currently this change is mostly internal since errors are still
suppressed on the ARM<->HLE border, as a temporary compatibility hack.
As functionality is implemented and tested this hack can be eventually
removed.
2014-11-24 17:08:36 -02:00
Yuri Kunde Schlesner 924bbde89b Change some SkyEye defines to const ints
This prevents them from interfering with other constants defined in
different namespaces.
2014-11-24 16:47:01 -02:00
bunnei ef1b16a7eb Merge pull request #191 from archshift/deletexyz
Added DeleteFile and DeleteDirectory functions to FS:USER and the archives.
2014-11-23 20:02:23 -05:00
archshift 8aeadbd95a Added DeleteFile and DeleteDirectory functions to FS:USER and the archives. 2014-11-23 00:33:43 -08:00
purpasmart96 9821bfcb8e Add more services and some fixes, along with more "override"
in the service's headers
2014-11-20 17:09:57 -08:00
bunnei c0cd0fa78e Merge pull request #211 from linkmauve/master
Remove trailing spaces from the entire project
2014-11-19 15:24:46 -05:00
bunnei 112768f436 Merge pull request #208 from lioncash/statics
Add static to some variables
2014-11-19 09:39:20 -05:00
Emmanuel Gil Peyrot 739bb58c3a Remove tabs in all files except in skyeye imports and in generated GL code 2014-11-19 09:04:03 +00:00
Emmanuel Gil Peyrot f5d38649c7 Remove trailing spaces in every file but the ones imported from SkyEye, AOSP or generated 2014-11-19 09:03:07 +00:00
Lioncash 7cbecde2ca Add static to some variables 2014-11-18 20:04:00 -05:00
Tony Wasserka 219628d1c8 Merge pull request #207 from lioncash/docs
Fix documentation of parameters
2014-11-18 16:55:58 +01:00
Tony Wasserka d218a547fa Merge pull request #209 from lioncash/warn
directory_sdmc: Fix a signed/unsigned mismatch comparison
2014-11-18 16:54:56 +01:00
Tony Wasserka ed4e599008 Merge pull request #210 from lioncash/typedef
system: Get rid of an unnecessary enum typedef
2014-11-18 16:54:37 +01:00
Lioncash b37f91c617 system: Get rid of an unnecessary enum typedef 2014-11-18 09:00:32 -05:00
Lioncash 548c49dfe9 directory_sdmc: Fix a signed/unsigned mismatch comparison 2014-11-18 08:51:03 -05:00
Lioncash 64cc6cb6cf Fix documentation of parameters 2014-11-18 08:31:24 -05:00
Lioncash 1a8f466217 Remove extraneous semicolons 2014-11-18 08:27:16 -05:00
Lioncash 72846c418e core: Mark some hle functions as static
These functions are not referred to by their linkage name outside of the translation unit, so they can be marked as static.
2014-11-17 22:41:49 -05:00
bunnei 11641b5e79 Archive: Fixed to not destroy archive handle on close. 2014-11-17 22:19:14 -05:00
bunnei bcb0dbf7e1 Archive: Fixed close archive before freeing. 2014-11-17 22:19:14 -05:00
bunnei 3e09c07378 FS_User: Support FileSye::Path in a more generic way.
added a todo to kernel archive
2014-11-17 22:18:58 -05:00
bunnei a3107a6b57 FileSys: Updated backend code to use FileSys::Path instead of string for paths. 2014-11-17 21:49:24 -05:00
bunnei c04a04189a FileSys: Added DebugStr method to Path class. 2014-11-17 18:42:37 -05:00
bunnei 4ac4c3caf1 Merge pull request #201 from archshift/boss
Add missing boss:U service
2014-11-17 17:46:18 -05:00
archshift e27f169acb Add missing boss:U service, needed according to Nintendo Zone logs. 2014-11-17 07:31:37 -08:00
Lioncash cfea27a615 mem_map: Add missing prototype for Write64 2014-11-16 22:50:13 -05:00
Tony Wasserka 80e9c02bd6 Merge pull request #159 from SeannyM/enable_log
Add support for disabling log from settings
2014-11-15 12:42:08 +01:00
bunnei 26622818ae Merge pull request #193 from lioncash/fmt
Fix two format strings.
2014-11-15 01:41:28 -05:00
bunnei 613627205c Merge pull request #194 from lioncash/virt
ARM_Interface: Make destructor virtual
2014-11-15 01:38:51 -05:00
Lioncash e8f4361d76 ARM_Interface: Make destructor virtual
Fixes some warnings on OSX.
2014-11-14 12:10:35 -05:00
Lioncash ac58b76e71 Fix two format strings. 2014-11-14 12:08:26 -05:00
bunnei 3cfdabb2e3 Merge pull request #183 from archshift/lowpath
Add support for UTF-16 strings for LowPaths in FS:USER
2014-11-12 22:56:27 -05:00
archshift 1f7c4ab7f6 Use std::u16string for conversion between UTF-8 and UTF-16, FS:USER functions 2014-11-12 19:30:17 -08:00
bunnei a490490336 Merge pull request #188 from bunnei/apt-fixes
APT_U: Various improvements and bug fixes.
2014-11-12 00:06:45 -05:00
bunnei 9fb549cb84 APT_U: Added stub for function AppletUtility. 2014-11-11 23:51:54 -05:00
bunnei 19cfcfe8c0 APT_U: Set a valid parameter buffer size in GlanceParameter.
- Also Clarified GlanceParameter/ReceiveParameter documentation.
2014-11-11 23:51:54 -05:00
bunnei 8eced1b697 APT_U: Release service lock on initialization. 2014-11-11 23:51:54 -05:00
bunnei 0df9c34410 APT_U: Fixes for GetLockHandle to boot system titles.
- Also added comment to GetLockHandle function.
2014-11-11 23:51:33 -05:00
bunnei b8e6f52419 ARM: Fixed dyncom to use reg15 for PC (this core doesn't use pc variable).
- Fixes single stepping in debugger.
2014-11-11 19:54:18 -05:00
bunnei ce1125d490 Core: Changed RunLoop iterations to 1000 (slightly better performance). 2014-11-11 19:54:09 -05:00
bunnei 573756e241 ARM: Removed unnecessary goto with each instruction. 2014-11-11 19:53:46 -05:00
bunnei 3409790668 ARM: Fixed several dyncom bugs.
- Fixed NZCVT flags to properly save state when function returns.
- Fixed counter to keep track of the actual number of instructions executed.
- Fixed single-step mode to only execute one instruction at a time.
- DefaultIni: Removed comment that no longer applied to dyncom.
2014-11-11 19:53:19 -05:00
archshift 37e582c395 Add FRD:U service and functions 2014-11-10 22:43:45 -08:00
archshift 0ad5964c8b Add support for UTF-16 strings for LowPaths in FS:USER 2014-11-10 10:53:26 -08:00
Sean 371b61f3ea Add support for disabling log from settings 2014-11-03 17:00:32 -05:00
Sean Maas d06420807c Fix compilation errors 2014-11-02 18:43:52 -05:00
bunnei 9be17e4d84 Merge pull request #163 from archshift/create-directory
Added CreateDirectory function to service/fs.cpp, and in Archive.
2014-11-02 17:15:52 -05:00
bunnei 7f9bcacdf7 Merge pull request #166 from bunnei/skyeye-vfp-fixes
SkyEye ARM/VFP fixes
2014-11-02 17:09:35 -05:00
archshift 04c90c395d Added CreateDirectory function to service/fs.cpp, and in Archive. 2014-11-02 10:48:28 -08:00
archshift 40a84833ae Added ReceiveNotification, PublishToSubscriber unimplemented functions to SRV 2014-11-01 23:15:38 -07:00
bunnei 0832cf7cd7 ARM: Merged additional ARMv6 instructions implemented by 3dmoo. 2014-11-02 01:04:54 -05:00
bunnei bc6989b075 ARM: Merge latest VFP fixes from 3dmoo team. 2014-11-02 01:04:41 -05:00
archshift c22923f8c4 Added stub err:f service. 2014-11-01 20:07:59 -07:00
bunnei 6e6947118b Merge pull request #135 from purpasmart96/master
Added a bunch of services
2014-11-01 19:03:01 -04:00
purpasmart96 539b4c883d Added a bunch of services 2014-11-01 15:28:35 -07:00
Yuri Kunde Schlesner c6e3c7df62 Fix VFP compilation errors with gcc 2014-10-30 22:24:03 -02:00
bunnei 01e37962e7 Merge pull request #162 from SeannyM/warning-fixes
Fix some warnings
2014-10-29 21:07:27 -04:00
archshift ed797a4354 FS:USER - Implemented IsSdmcDetected 2014-10-29 17:43:48 -07:00
Sean 9a012ff007 Fix some warnings 2014-10-29 20:26:15 -04:00
Gareth Poole 38df9e96dd Renamed souce files of services to match port names 2014-10-29 15:55:51 -04:00