Yuri Kunde Schlesner
ca67bb7945
HLE: Rename namespaces to match move & fix initialization order
2014-12-16 01:08:38 -02:00
Yuri Kunde Schlesner
c72ccfa6db
HLE: Move kernel/archive.* to service/fs/
2014-12-16 01:08:14 -02:00
bunnei
5df176425b
Merge pull request #282 from archshift/services
...
Added stubs for ldr:ro, cecd:u, nim:aoc, and am:app services
2014-12-15 19:28:13 -05:00
archshift
89eef9eb6d
Added stub for nim:aoc service...
2014-12-15 15:32:42 -08:00
archshift
1356a6b313
Added stub for cecd:u service...
...
I couldn't find any information about this service...
2014-12-15 15:32:42 -08:00
archshift
6117fad036
Added stub for ldr:ro service...
2014-12-15 15:32:42 -08:00
archshift
6b51683bb1
Added am:app service stub.
...
Apparently nothing at all is known about this service...
2014-12-15 15:32:41 -08:00
Yuri Kunde Schlesner
e321decf98
Remove SyncRequest from K::Object and create a new K::Session type
...
This is a first step at fixing the conceptual insanity that is our
handling of service and IPC calls. For now, interfaces still directly
derived from Session because we don't have the infrastructure to do it
properly. (That is, Processes and scheduling them.)
2014-12-15 18:26:17 -02:00
Subv
1051795c32
Kernel/Semaphores: Fixed build
2014-12-13 13:43:01 -05:00
Subv
ea95876431
Kernel/Semaphore: Small style change
2014-12-13 13:40:19 -05:00
Subv
effb181888
Kernel/Semaphores: Invert the available count checking.
...
Same semantics, idea by @yuriks
2014-12-13 13:40:18 -05:00
Subv
5e25986235
Kernel/Semaphores: Addressed some issues.
2014-12-13 13:40:16 -05:00
Subv
cc81a510e3
Semaphore: Removed an unneeded function
2014-12-13 13:40:15 -05:00
Subv
61434651d8
Semaphores: Addressed some style issues
2014-12-13 13:40:13 -05:00
Subv
abff4a7ee2
Semaphore: Implemented the initial_count parameter.
2014-12-13 13:40:12 -05:00
Subv
49b31badba
SVC: Implemented ReleaseSemaphore.
...
This behavior was tested on hardware, however i'm still not sure what use the "initial_count" parameter has
2014-12-13 13:40:10 -05:00
Subv
82c84883a5
SVC: Implemented svcCreateSemaphore
...
ToDo: Implement svcReleaseSemaphore
* Some testing against hardware needed
2014-12-13 13:40:09 -05:00
Lioncash
cfc0ee9c60
kernel: Remove unused log arguments
2014-12-13 10:15:58 -05:00
Yuri Kunde Schlesner
0600e2d8b5
Convert old logging calls to new logging macros
2014-12-13 02:08:02 -02:00
Yuri Kunde Schlesner
616d874443
New logging system
2014-12-13 01:59:52 -02:00
bunnei
a6791e4fc7
Merge pull request #267 from bunnei/apt-shared-font
...
APT shared font loading
2014-12-12 22:12:12 -05:00
bunnei
6fe61d3deb
APT_U: Added GetSharedFont service function.
2014-12-12 22:06:10 -05:00
bunnei
988998cca5
DSP: Added stub for ReadPipeIfPossible.
2014-12-12 00:53:51 -05:00
bunnei
4cb7a44d4e
MemMap: Renamed "GSP" heap to "linear", as this is not specific to GSP.
...
- Linear simply indicates that the mapped physical address is always MappedVAddr+0x0C000000, thus this memory can be used for hardware devices' DMA (such as the GPU).
2014-12-12 00:15:47 -05:00
bunnei
3a75c8069e
Merge pull request #256 from Subv/mutex
...
Kernel/Mutex: Properly lock the mutex when a thread enters it
2014-12-10 22:52:55 -05:00
Emmanuel Gil Peyrot
5a3b1b5f44
CFG:U: Store country codes as u16 instead of char pointers, and return the correct error in GetCountryCodeID.
2014-12-10 22:33:23 +00:00
bunnei
f94d8f9603
GSP: Trigger GPU interrupts at more accurate locations.
2014-12-09 19:07:14 -05:00
bunnei
e90b37b935
GSP: Updated TriggerCmdReqQueue to return success code.
2014-12-09 19:07:14 -05:00
bunnei
3e1654eaa8
GSP: Updated RegisterInterruptRelayQueue to return expected magic number.
2014-12-09 19:07:14 -05:00
bunnei
170123982d
GPU: Fixed bug in command list size decoding.
2014-12-09 19:07:13 -05:00
bunnei
b7327f807c
Merge pull request #217 from archshift/cmd_buff
...
Log the cmd_buff arguments when citra comes across an unimplemented function
2014-12-08 23:13:07 -05:00
bunnei
dd203f7068
Thread: Fixed to wait on address when in arbitration.
2014-12-08 19:44:10 -05:00
archshift
20d2ed0950
Make OpenDirectory fail if the directory doesn't exist
...
This is in line with what the hardware itself does.
It does this by splitting the initial directory opening into Directory.Open(), which will return false if a stat fails.
Then, Archive::OpenDirectory will return nullptr, and archive.cpp will return an error code .
2014-12-07 14:47:14 -08:00
Subv
bc318c464b
Mutex: Remove some forward declarations
...
Moved Mutex::WaitSynchronization to the end of the file.
2014-12-07 15:57:28 -05:00
Subv
64128aa61a
Mutex: Release all held mutexes when a thread exits.
2014-12-07 15:44:21 -05:00
Subv
e3c8e4901c
Mutex: Properly lock the mutex when a thread enters it
...
Also resume only the next immediate thread waiting for the mutex when it is released, instead of resuming them all.
2014-12-05 23:40:43 -05:00
bunnei
17fae11fc7
Merge pull request #250 from Subv/cbranch_2
...
SVC: Implemented GetThreadId.
2014-12-04 22:15:03 -05:00
bunnei
5056329a80
Merge pull request #222 from archshift/renamexyz
...
Implemented RenameFile and RenameDirectory in FS:USER
2014-12-04 22:07:47 -05:00
bunnei
21d183e1e6
Merge pull request #248 from lioncash/kernel
...
Misc minor kernel-related changes.
2014-12-04 22:05:20 -05:00
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
306b5392ca
Merge pull request #247 from lioncash/const
...
hid_user: Pass by reference with PadButtonPress/PadButtonRelease
2014-12-03 23:56:35 -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
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
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
Subv
5753da89e4
CFG:U: Implemented the GetCountryCodeID and GetCountryCodeString.
2014-11-29 21:16:28 -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
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
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
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
purpasmart96
66431bceda
Kernel:Add missing permissions in shared memory & svc
2014-11-18 15:57:25 -08: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
archshift
e27f169acb
Add missing boss:U service, needed according to Nintendo Zone logs.
2014-11-17 07:31:37 -08: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
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
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
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
archshift
c22923f8c4
Added stub err:f service.
2014-11-01 20:07:59 -07:00
purpasmart96
539b4c883d
Added a bunch of services
2014-11-01 15:28:35 -07: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
bunnei
a110b06fb6
Merge pull request #141 from archshift/crash-hunt
...
hid.cpp: Fixed crash when updating pad data while null
2014-10-27 21:35:01 -04:00
Yuri Kunde Schlesner
d72708c1f5
Add override
keyword through the code.
...
This was automated using `clang-modernize`.
2014-10-26 16:18:05 -02:00
bunnei
53a22b84da
ARM: Integrate SkyEye faster "dyncom" interpreter.
...
Fixed typo (make protected member public)
Added license header back in. I originally removed this because I mostly rewrote the file, but meh
ARM: Fixed a type error in dyncom interpreter.
ARM: Updated dyncom to use unique_ptr for internal ARM state.
2014-10-25 14:11:39 -04:00
Emmanuel Gil Peyrot
2d960f5040
Don’t fail on empty filename in OpenFileDirectly, return the archive handle instead
2014-10-25 16:12:57 +00:00
archshift
366ae1b351
hid.cpp: Fixed crash when updating pad data while null
...
Fixes #137
2014-10-13 22:18:03 -07:00
bunnei
8d1154c24e
Merge pull request #128 from purpasmart96/master
...
APT:U Added a stub fuction for "GlanceParameter"
2014-10-07 20:30:21 -04:00
purpasmart96
20f15f31dd
APT: Added a stub for the "GlanceParameter" function.
2014-10-07 17:10:54 -07:00
Emmanuel Gil Peyrot
0be5c03176
FileSys: split the constructor into an Open method, in order to notify the opener something went wrong.
...
Kernel: Return an invalid handle to OpenFile when it failed to open.
2014-10-06 19:58:42 +02:00
Emmanuel Gil Peyrot
23c2fbfc7a
FileSys/Kernel: Implement SetSize service call for File objects.
2014-10-06 19:58:37 +02:00
purpasmart96
1d0ac47832
Added some more names to the function table
...
Added "SetApplicationCpuTimeLimit" and "GetApplicationCpuTimeLimit" to apt.cpp
2014-10-04 15:01:36 -07:00
purpasmart96
7d6f7684e1
added "StoreDataCache" to the function table
...
seems simple enough
2014-09-30 09:13:29 -07:00
archshift
1966f7b0ad
Use the citra user path for the sdmc directory
2014-09-21 09:34:33 -07:00
Emmanuel Gil Peyrot
3a570a9fee
Kernel: Implement the Close command for Archive, File and Directory.
2014-09-17 14:35:46 +00:00
Emmanuel Gil Peyrot
99bfa4ae1f
FS: Implement OpenArchive, OpenDirectory, OpenFile and OpenFileDirectly calls.
2014-09-17 14:35:46 +00:00
Emmanuel Gil Peyrot
c197ce2180
Kernel: Add a Directory object and a getter for it from an Archive object.
2014-09-17 14:35:46 +00:00
Emmanuel Gil Peyrot
19d04f3abe
Kernel: Add a File object and a getter for it from an Archive object.
2014-09-17 14:35:46 +00:00
Lioncash
741321ac24
Core: Get rid of unnecessary switch statement in Kernel
2014-09-14 21:31:09 -04:00
Kevin Hartman
02fd19b2f6
Added support for multiple input device types for KeyMap and connected Qt.
2014-09-12 01:15:14 -07:00
Kevin Hartman
4a94ec934a
Initial HID PAD work, with GLFW only.
2014-09-11 22:43:42 -07:00
Kevin Hartman
bb7ddede15
Created structure for PAD.
2014-09-11 22:43:42 -07:00
bunnei
532a9e80a0
Merge pull request #99 from archshift/ext-check
...
loader.cpp: improved file extension checking, made Upper/LowerStr useful, moved string_util into Common namespace
2014-09-11 00:04:36 -04:00
archshift
6e606c515f
core: Prune redundant includes
2014-09-08 17:54:14 -07:00
archshift
5472fd4d9b
Added string_util to common, small changes in loader.cpp
2014-09-08 15:43:22 -07:00
Lioncash
d30747efea
core: Pass string by reference in FetchFromPortName and DeleteService
2014-09-06 13:30:27 -04:00
bunnei
304999dfeb
Threading: Fix thread starting to execute first instruction correctly.
2014-08-28 17:51:49 -04:00
bunnei
fb908b9395
srv::Initialize: Return "success" status code.
2014-08-28 17:51:41 -04:00
Tony Wasserka
26ade98411
Pica/citra-qt: Replace command list view and command list debugging code with something more sophisticated.
2014-08-25 22:03:18 +02:00
Tony Wasserka
14b24a75b3
GSP: Update framebuffer information when necessary.
2014-08-25 22:03:18 +02:00
Tony Wasserka
590c206ac8
GSP: Implement SetBufferSwap.
2014-08-25 22:03:18 +02:00
Tony Wasserka
e832bbe554
GSP: Add a helper function for convenience.
2014-08-25 22:02:33 +02:00
archshift
4c4a01bf41
Added FS functions to Archive and Archive_RomFS
2014-08-22 15:45:10 -07:00
Lioncash
ab4648d3ca
Core: Use std::array for managing kernel object space
...
These avoid relying on memset for clearing the arrays.
2014-08-19 00:32:48 -04:00
bunnei
e9c5c563a5
Merge pull request #55 from lioncash/string
...
Core: Alter the kernel string functions to use std::string instead of const char*.
2014-08-18 21:42:44 -04:00
bunnei
10f25866e2
SVC: Added support for svc_GetSystemTick.
...
Changed HLE function return methods to be static inline functions.
2014-08-18 21:26:20 -04:00
Lioncash
98fa3f7cba
Core: Alter the kernel string functions to use std::string instead of const char*.
...
Most functions already operate on std::strings. This also removes the need to manually null terminate thread names.
2014-08-17 23:12:20 -04:00
Lioncash
986dd27392
Core: Fix a formatting error in svc.cpp
...
entry_point would not be added to the string. Also used StringFromFormat
so that the buffer is unnecessary.
2014-08-17 14:28:39 -04:00
bunnei
bf7bc3dacd
Merge pull request #39 from bunnei/hid-minor-improvements
...
Hid minor improvements
2014-08-12 18:23:17 -04:00
bunnei
091f6cf55b
HID: Added new function entries from 3dbrew to FunctionTable.
...
HID: Fix typo with DisableGyroscopeLow command.
2014-08-12 18:08:09 -04:00
Tony Wasserka
7b6a7d7dfb
Pica/GPU: Change hardware registers to use physical addresses rather than virtual ones.
...
This cleans up the mess that address reading/writing had become and makes the code a *lot* more sensible.
This adds a physical<->virtual address converter to mem_map.h. For further accuracy, we will want to properly extend this to support a wider range of address regions. For now, this makes simply homebrew applications work in a good manner though.
2014-08-12 13:32:56 +02:00
Tony Wasserka
bd798390d5
GSP: Fix a major regression introduced in ffda035c, due to which no display transfers were triggered at all anymore.
2014-08-12 13:32:18 +02:00
Tony Wasserka
9c781a6c76
Remove the fancy RegisterSet class introduced in 4c2bff61e
.
...
While it was some nice and fancy template usage, it ultimately had many practical issues regarding length of involved expressions under regular usage as well as common code completion tools not being able to handle the structures.
Instead, we now use a more conventional approach which is a lot more clean to use.
2014-08-12 02:17:21 +02:00
bunnei
552287498a
HID: Implemented HID_User::GetIPCHandles service function.
2014-08-07 20:27:56 -04:00
bunnei
66f91b4346
SVC: Fixed typo with MapMemoryBlock DEBUG_LOG call.
2014-08-07 20:27:11 -04:00
bunnei
d4bd2f2e5d
Thread: Added more descriptive comment to WaitCurrentThread.
2014-08-06 18:19:59 -04:00
bunnei
cad2f21985
GSP: Cleaned up command buffer decoding.
...
GSP: Cleaned up code and added additional comments.
GSP: Removed unnecessary TODO comment.
GSP: Changed u32 iterators in TriggerCmdReqQueue to unsigned.
2014-08-06 18:19:56 -04:00
bunnei
36fd1c169e
GSP: Added reinitialization of other state objects.
2014-08-05 23:58:00 -04:00
bunnei
4e9f305ed2
GSP: Removed dumb GX prefixes to functions/structs in GSP namespace.
...
- Various other cleanups.
2014-08-05 23:58:00 -04:00
bunnei
99e404e221
GSP: Removed unnecessary GX_FinishCommand function.
2014-08-05 23:57:59 -04:00
bunnei
ec14ffe1cd
GSP: Implements preliminary command synchronization via GPU interrupts.
...
Core: Added a comment to explain the logic for the RunLoop iterations.
2014-08-05 23:57:53 -04:00
bunnei
2542350b85
AddressArbiter: Removed unnecessary HLE::Reschedule.
2014-08-05 23:54:28 -04:00
bunnei
60078baab1
AddressArbiter: Fixed bug with break statements missing from case statements.
2014-08-05 23:54:27 -04:00
bunnei
1b247b8031
SRV: Updated GetProcSemaphore to create an event instead of a mutex.
2014-08-05 23:54:27 -04:00
bunnei
4d4607041b
SVC: Removed ArbitrateAddress log message that spams to much.
2014-08-05 23:53:58 -04:00
bunnei
7a1f813be1
Kernel: Updated Event and Mutex to specify handle that they are blocking for.
2014-08-05 20:14:51 -04:00
bunnei
81fa804b3c
FS: Fix port name (old port name was based on an unaligned memory read).
2014-08-05 19:58:33 -04:00
Tony Wasserka
afcb250b31
Fix a few warnings.
...
Templates shouldn't be marked as inline if they aren't defined in the header.
2014-07-23 00:44:31 +02:00
Tony Wasserka
4b141791ed
GSP: Add a few comments.
2014-07-23 00:44:31 +02:00
Tony Wasserka
9b0d0c81a0
GSP: Clean up GX command processing a lot and treat command id as a u8 rather than a u32.
...
Anonymous structs are not standard C++, hence don't use them.
2014-07-23 00:44:31 +02:00
Tony Wasserka
75775e9ef4
GPU: Make use of RegisterSet.
2014-07-23 00:33:08 +02:00
Tony Wasserka
baf0aa04f5
GPU: Emulate memory fills.
2014-07-23 00:33:08 +02:00
Tony Wasserka
ec9511e1db
GSP: HLE GXCommandId::SET_DISPLAY_TRANSFER and GXCommandId::SET_TEXTURE_COPY.
2014-07-23 00:33:08 +02:00
Tony Wasserka
cb8f49b7ea
GSP: Implement ReadHWRegs and WriteHWRegs properly.
2014-07-23 00:33:05 +02:00
bunnei
3eb89f3e98
Kernel: Added preliminary support for address arbiters.
...
AddressArbiter: Added documentation comment, fixed whitespace issue.
AddressArbiter: Fixed incorrect comment, reordered if-statement to be more clear.
SVC: Removed trailing whitespace.
2014-07-08 18:46:38 -04:00
bunnei
ba840d3200
Thread: Added functions to resume threads from address arbitration.
...
Thread: Cleaned up arbitrate address functions.
Thread: Cleaned up ArbitrateAllThreads function.
2014-07-08 18:46:15 -04:00
bunnei
59f2750482
function_wrappers: Fixed incorrect wrapper, added another.
2014-07-07 22:13:40 -04:00
bunnei
7ff92c36ed
SharedMemory: Updated MapSharedMemory to use an enum for permissions.
...
- Also added some safety checks to MapSharedMemory.
2014-07-05 10:24:54 -04:00
bunnei
7b7a435094
GSP: Fixed to use real shared memory object, various cleanups.
...
- Previously, used a hard-coded shared memory handle of 0x10002000 (as used by libctru homebrew)
GSP: Added name for shared memory.
GSP: Cleaned up assertion message.
2014-07-05 10:24:52 -04:00
bunnei
e547128185
Kernel: Added support for shared memory objects.
...
SharedMemory: Added optional name field for tracking known objects.
2014-07-05 01:21:05 -04:00
bunnei
542700ccb7
Archive: Added Init/Shutdown methods to reset kernel archive state.
2014-07-04 20:37:51 -04:00
bunnei
17a6148f9d
FileSys: Added preliminary support for applications reading the RomFS archive.
...
Archive: Fixed brace ugliness for neobrain :)
FS: Commented out unused local variables to prevent warnings.
...But keeping them here for future use.
archive_romfs: Removed unused #include.
2014-07-04 20:37:45 -04:00
bunnei
82702fedb8
APT: Added stubbed ReceiveParameter and various cleanups.
...
APT: More cleanups.
APT: Changed SignalType to be type u32.
2014-07-04 14:18:16 -04:00
bunnei
48e39fc992
FS: Added stubbed code to intercept and decode file system service functions.
...
FS: Added to CMakeLists.txt
2014-06-27 16:58:30 -04:00
bunnei
8b8c8f4c13
Kernel: Added stubbed code to support creation of kernel Archive objects.
2014-06-27 16:58:30 -04:00
bunnei
004df76795
Merge branch 'threading' of https://github.com/bunnei/citra
...
Conflicts:
src/core/hle/function_wrappers.h
src/core/hle/service/gsp.cpp
2014-06-14 12:13:16 -04:00
bunnei
b45a38f557
Kernel: Removed unnecessary "#pragma once".
2014-06-13 09:51:20 -04:00
bunnei
f49ac3a2d7
Kernel: Added freeing of kernel objects on emulator shutdown.
2014-06-13 09:51:19 -04:00
bunnei
83a4ad2885
Event: Updated several log messages to be assertions.
2014-06-13 09:51:18 -04:00
bunnei
edaefe9fa6
HLE: Moved "PARAM" and "RETURN" macros to function_wrappers.h (this is only module where they are needed).
2014-06-13 09:51:18 -04:00
bunnei
8957622d10
SVC: Renamed all function wrapper templates to Wrap, moved to HLE namespace.
2014-06-13 09:51:17 -04:00
bunnei
b62ef4bbd2
Thread: Renamed occurrences of "t" to "thread" to improve readability.
2014-06-13 09:51:17 -04:00
bunnei
5b7cf50a77
Thread: Cleaned up VerifyWait, fixed issue where nullptr msg could unnecessarily be logged.
2014-06-13 09:51:16 -04:00
bunnei
4620e2a741
HLE: Removed usnused EatCycles function.
2014-06-13 09:51:16 -04:00
bunnei
862db811f0
SVC: Cleaned up function wrappers to pass in correct argument types.
2014-06-13 09:51:15 -04:00
bunnei
bfdd874b1f
Thread: Moved position of * in arguments.
2014-06-13 09:51:14 -04:00
bunnei
12e2a59565
Thread: Updated VerifyWait to be more readable (but functionally the same).
2014-06-13 09:51:14 -04:00
bunnei
4d6c96b7d8
SVC: Moved declaration of "wait" variable in SendSyncRequest for improved readability.
2014-06-13 09:51:13 -04:00
bunnei
c95972275e
HLE: Updated all uses of NULL to nullptr (to be C++11 compliant)
2014-06-13 09:51:13 -04:00
bunnei
5365ca157d
Kernel: Updated various kernel function "name" arguments to be const references.
2014-06-13 09:51:12 -04:00
bunnei
d7363322c7
HLE: Updated various handle debug assertions to be more clear.
2014-06-13 09:51:11 -04:00
bunnei
780a443b08
Mutex: Moved ReleaseMutex iterator declaration to be inside while loop.
2014-06-13 09:51:11 -04:00
bunnei
8cac527c94
Kernel: Updated several member functions to be const
2014-06-13 09:51:10 -04:00
bunnei
b774b8b04e
Thread: Fixed bug with ResetThread where cpu_registers[15] was being incorrectly set
2014-06-13 09:51:08 -04:00
bunnei
aae9fcf4a4
Kernel: Made SyncRequest not pure virtual, with a default implementation of error (as this is not required for all kernel objects)
2014-06-13 09:51:08 -04:00
bunnei
f5c7c15434
Kernel: Added real support for thread and event blocking
...
- SVC: Added ExitThread support
- SVC: Added SignalEvent support
- Thread: Added WAITTYPE_EVENT for waiting threads for event signals
- Thread: Added support for blocking on other threads to finish (e.g. Thread::Join)
- Thread: Added debug function for printing current threads ready for execution
- Thread: Removed hack/broken thread ready state code from Kernel::Reschedule
- Mutex: Moved WaitCurrentThread from SVC to Mutex::WaitSynchronization
- Event: Added support for blocking threads on event signalling
Kernel: Added missing algorithm #include for use of std::find on non-Windows platforms.
2014-06-13 09:51:02 -04:00
Tony Wasserka
5d62f5d92a
GPU debugger: Add functionality to inspect command lists.
2014-06-12 06:10:51 -04:00
Tony Wasserka
d4530765ce
GPU: Cleanup register definitions.
2014-06-12 06:10:50 -04:00
Tony Wasserka
1dfa392824
Rename LCD to GPU.
2014-06-12 06:10:49 -04:00
Tony Wasserka
31666632ca
Add initial graphics debugger interface.
2014-06-12 06:10:48 -04:00
Tony Wasserka
82d3260359
GSP: Define more GX commands.
2014-06-12 06:10:48 -04:00
bunnei
174cc9a0ed
hle: added a hokey way to force a thread reschedule during CPU single step mode (as used by the debugger)
2014-06-05 00:26:48 -04:00
bunnei
ce1c561278
kernel: changed current default thread priority back to 0x30 - I think this is more correct
2014-06-05 00:20:58 -04:00
bunnei
9ece9da50d
arm: fixed bug in how thread context switch occurs with SkyEye
2014-06-05 00:20:11 -04:00
bunnei
870c6146e7
service: added a error log messages for unimplemented WaitSynchronization
2014-06-04 18:50:50 -04:00
bunnei
b78aff8585
svc: added optional name field to Event and Mutex (used for debugging)
2014-06-02 20:38:34 -04:00
bunnei
8c0f02a70c
kernel: moved position of * for GetTypeName and GetName
2014-06-02 20:36:58 -04:00
bunnei
2773360f84
coprocessor: reenabled debug log
2014-06-02 20:36:34 -04:00
bunnei
477b0caca4
svc: updated WaitSynchronizationN to properly use first pointer argument
2014-06-02 17:54:07 -04:00
bunnei
4819e9a60f
svc: changed DuplicateHandle log message from "error" to "debug"
2014-06-01 22:33:53 -04:00
bunnei
3fb31fbc57
svc: added GetThreadPriority and SetThreadPriority, added (incomplete) DuplicateHandle support
2014-06-01 22:12:54 -04:00
bunnei
10447d1f48
kernel: changed main thread priority to default, updated Kernel::Reschedule to use PrepareReschedule
2014-06-01 21:42:50 -04:00
bunnei
15c7d81706
svc: cleaned up function_wrappers, updated various SVCs to make use of pointer arguments
2014-06-01 20:48:29 -04:00
bunnei
2f55c9e55b
svc: added missing function wrapper for SleepThread
2014-06-01 10:41:41 -04:00
bunnei
7dd18a8df9
gsp: always pass through synchronization barrier for commands
2014-06-01 10:41:23 -04:00
bunnei
f2f638492b
svc: updated waitSychronization to not overwrite handle on return, added stub for SleepThread (does nothing)
2014-06-01 10:37:19 -04:00
bunnei
ba98e25e97
thread: updated Reschedule to sit at a synchronization barrier when no other threads are ready for execution
2014-06-01 10:35:42 -04:00
bunnei
f7cececc5c
event: added a hackish ability to set an event as "locked" to its current state, cleaned up some comments
2014-06-01 10:33:55 -04:00
bunnei
55325dea4c
hle: added stubbed service for ndm_u
2014-05-30 00:24:04 -04:00
bunnei
c451ad2835
service: cleaned up log messages
2014-05-30 00:22:39 -04:00
bunnei
2482be13df
service: removed PT_A from, as this was just an alias for APT_U
2014-05-30 00:22:25 -04:00
bunnei
007b7edada
srv: fix to log unimplemented service (instead of crash)
2014-05-29 23:54:09 -04:00
bunnei
d8a2c8c657
mutex: fixed typo in ReleaseMutex
2014-05-29 23:31:01 -04:00
bunnei
c404d22036
hle: cleaned up log messages
2014-05-29 23:26:58 -04:00
bunnei
b0bad47c0e
svc: updated OutputDebugString to use OS_LOG
2014-05-29 23:04:18 -04:00
bunnei
6d267142ad
svc: changed unimplemented SVC log messages from "debug" messages to "error" messages
2014-05-29 20:26:27 -04:00
bunnei
58af0da792
svc: added svcClearEvent, stubbed function for svcArbitrateAddress, and various fixes
...
- force kernel reschedule after svcWaitSynchronization
- fixed some bugs with passing in pointer arguments
- cleaned up some comments and log messages
2014-05-29 20:24:51 -04:00
bunnei
d51c84dde2
event: added support for ClearEvent, fixed a bug with CreateEvent, fixed some comments
2014-05-29 20:00:44 -04:00
bunnei
545e6919ce
service: added additional hack to return success on unimplemented service calls
2014-05-29 18:54:59 -04:00
bunnei
b08b3c154f
srv: changed a NOTICE_LOG to DEBUG_LOG
2014-05-29 18:53:45 -04:00
bunnei
e7202e5b2d
svc: added ArbitrationType enumeration
2014-05-29 18:52:57 -04:00
bunnei
4b4a6de1d8
apt: added stubbed function for InquireNotification
2014-05-28 23:33:24 -04:00
bunnei
c4b5168b45
hle: properly cast 64-bit function wrapper parameters to (u64)
2014-05-28 22:03:10 -04:00
bunnei
9fd5d6c7d8
hle: removed PARAM64 macro (this was incorrect), made several bug fixes accordingly for decoding U64 function parameters
2014-05-28 21:20:00 -04:00
bunnei
70af9d620b
service: changed interface to return 0 (no error) when a service method is unimplemented - hack to make apps boot further
2014-05-28 18:39:28 -04:00
bunnei
3972d4ca8b
APT_U: added stubbed function for APT_U::Enable, fixed some log messages to be more consistent
2014-05-27 23:56:08 -04:00
bunnei
2ed6652f10
mutex: added preliminary SyncRequest/WaitSynchronization, added some comments/assertions
2014-05-27 22:42:16 -04:00
bunnei
47e781e80a
svc: implemented WaitSynchronization1, WaitSynchronizationN, and CreateEvent
2014-05-27 22:41:09 -04:00
bunnei
94b30e8a38
APT_U: added event creation to Initialize method
2014-05-27 22:29:11 -04:00
bunnei
ea8627d536
event: fixed typos and updated CMakeLists
2014-05-27 22:14:38 -04:00
bunnei
beea6f054a
event: added SetEventLocked method to change status an events lock
2014-05-27 22:14:00 -04:00
bunnei
fd69fd0325
kernel: added event module to support creation of CTR "Event" objects
2014-05-27 20:16:13 -04:00
bunnei
d493d725ac
mutex: removed docstring comment that is no longer relevant
2014-05-26 22:49:11 -04:00
bunnei
93cd5a0691
mutex: added additional docstrings
2014-05-26 22:47:47 -04:00
bunnei
a432dc8f39
kernel: added WaitSynchronization method to Kernel::Object
2014-05-26 22:17:49 -04:00
bunnei
58a3adcdd2
kernel: updated SyncRequest to take boolean thread wait result as a parameter
2014-05-26 22:12:46 -04:00