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
0deeda54ee
Core: Cleaned up SingleStep(), updated default LCD refresh to assume each instruction is ~3 cycles
2014-06-13 09:51:09 -04:00
bunnei
3449aaa350
Core: Changed HW update/thread reschedule to occur more frequently (assume each instruction is ~3 cycles)
2014-06-13 09:51:09 -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
c34ba38001
GPU debugger: Const correctness and build fix.
2014-06-12 06:10:56 -04:00
bunnei
b919158050
Removed definition of MAX_PATH, this is already defined in common_paths.h.
2014-06-12 06:10:55 -04:00
archshift
ee4717aaae
Preprocessor: #if's out OSX-specific GL changes on other platforms
2014-06-12 06:10:55 -04:00
bunnei
06ef8f001a
Common: Removed duplicate "LONG" and "MAX_PATH" definitions.
2014-06-12 06:10:54 -04:00
Tony Wasserka
4c2bff61e5
Pica: Use some template magic to define register structures efficiently.
2014-06-12 06:10:54 -04:00
Tony Wasserka
f82410e633
Further refine GPU command list debugging.
2014-06-12 06:10:53 -04:00
Tony Wasserka
b0051b2203
Refine command list debugging functionality and its qt interface.
2014-06-12 06:10:52 -04:00
Tony Wasserka
6893732348
citra-qt: Add command list view.
2014-06-12 06:10:52 -04:00
Tony Wasserka
5d62f5d92a
GPU debugger: Add functionality to inspect command lists.
2014-06-12 06:10:51 -04:00
Tony Wasserka
50b2b73be4
video core: added PICA definitions file.
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
87e98ff97b
citra-qt: Add GX command history viewer.
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
Tony Wasserka
b1c8bad9a6
Pica: Add command list registers.
2014-06-12 06:10:47 -04:00
bunnei
a002abf171
qt: updated disassembler to show 2X as many instructions
2014-06-05 01:08:54 -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
6cdad8390c
arm: fixed a bug where ARM_Interpreter::ExecuteInstructions was actually executing one more instruction than expected
2014-06-05 00:25:32 -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
c330a0a1d6
arm: reverting a change made with cb0663de
- this has to have been a typo!
2014-06-04 18:41:44 -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
e8a17ee6fd
arm: added option to prepare CPU core (while mid-instruction) for thread reschedule
2014-06-01 21:40:10 -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
Disruption
0be75c13ee
Added 'this' reference to num_instructions field so it's properly updated,as before the method was affecting the local method parameter rather than the class field
2014-06-01 21:08:26 +02:00
bunnei
00adbc7817
log: updated MAX_LOGLEVEL to use correct log level enum type
2014-06-01 11:49:58 -04:00
bunnei
5cd922d151
log: updated GenericLog __attribute__ for newly added parameter
2014-06-01 11:05:48 -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
55a540eb02
arm: removed unnecessary code when calling SVC from skyeye
2014-05-29 23:03:47 -04:00
bunnei
6fc62f8c93
log: fixed to not print twice, enabled coloring, added OS print logging as its own type
2014-05-29 23:03:03 -04:00
bunnei
9839f3b6cd
core: changed time delay before kernel reschedule to "approximate" a screen refresh
2014-05-29 20:30:17 -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
46aef01d04
lcd: moved kFrameTicks to lcd.h for use in other modules
2014-05-28 21:19:13 -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
bunnei
6e51c56fe4
svc: added some assertions
2014-05-26 21:57:10 -04:00
bunnei
16fea415d0
service: Renamed Sync to SyncRequest
2014-05-26 21:56:51 -04:00
bunnei
3d7693f75f
kernel: added enum for known CurrentThread and CurrentProcess handles
2014-05-26 21:56:23 -04:00
bunnei
96b2105524
srv: added a real mutex for GetProcSemaphore (instead of stubbed)
2014-05-26 21:55:55 -04:00
bunnei
9f7ed2d027
svc: changed SendSyncRequest to use Kernel::Object SyncRequest (instead of just service Interface class)
2014-05-26 21:17:10 -04:00
bunnei
d73d782ba7
kernel: add a SyncRequest method to KernelObject for use with svcSendSyncRequest
2014-05-26 21:01:27 -04:00
bunnei
15d2ab1b33
svc: added stub for DuplicateHandle SVC call
2014-05-26 20:55:48 -04:00
bunnei
0aa582bf89
service: fixed typo that MSVC did not catch as an error
2014-05-22 23:48:37 -04:00
bunnei
420971a849
core: fixed headers in CMakeLists
2014-05-22 23:39:25 -04:00
bunnei
32c314c992
Merge branch 'threading'
2014-05-22 22:57:45 -04:00
bunnei
1de7e8cbe4
Merge branch 'master' of https://github.com/bunnei/citra
2014-05-22 22:54:56 -04:00
bunnei
51f636b3d4
core: added Kernel::Reschedule() call to check for thread changes, shortened delay time to 100 instructions
2014-05-22 22:54:07 -04:00
bunnei
f8a98ab022
svc: added a check to ensure that a service was implemented before attempting to connect to its port
2014-05-22 22:49:29 -04:00
bunnei
7bb66421a0
lcd: added thread wait after (faked) vblank interrupt (would have) occurred
2014-05-22 20:01:04 -04:00
bunnei
b99ac2c3d6
thread: renamed "WaitCurThread" to "WaitCurrentThread", removed unused "reason" argument
2014-05-22 19:36:56 -04:00
bunnei
7c0b006076
thread: removed unused SwitchContext/Reschedule reason field, added missing arg parameter to SVC CreateThread
2014-05-22 19:32:45 -04:00
bunnei
d26f3d4c1f
kernel: refactored function naming to remove "__" prefix
2014-05-22 19:06:12 -04:00
bunnei
ac21e8f2db
core: moved armcopro.cpp to correct filter folder (arm/interpreter)
2014-05-22 18:51:55 -04:00
bunnei
14bd37c5dc
thread: moved ThreadStatus/WaitType to header, added support for arg on CreateThread, added correct CPSR reset
2014-05-22 18:50:36 -04:00
bunnei
9fddba6843
APT_U: added a debug log on calling GetLockHandle
2014-05-22 18:48:14 -04:00
bunnei
481d936d34
arm_interpreter: fixed load context to currently resume a thread
2014-05-22 18:47:42 -04:00