Tony Wasserka
16bbc4f81b
GPU: Add display transfer configuration.
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
Tony Wasserka
994d29f416
Use a more compatible choice of initial framebuffer addresses.
2014-07-22 22:27:27 +02:00
Tony Wasserka
a4d89edd9b
GPU debugger: Don't keep track of debugging data if no debugger views are active.
2014-07-22 22:27:27 +02:00
bunnei
97d47d55f3
Merge pull request #32 from yuriks/master
...
[build] Search for the git binary in the default msysgit install dir
2014-07-21 10:51:51 -04:00
Lioncash
8761461003
core: Kill off type redefenitions in armdefs.h
2014-07-19 22:02:21 -04:00
Yuri Kunde Schlesner
78eb8ba844
[build] Search for the git binary in the default msysgit install dir
...
The Git for Windows installer doesn't add the Git binaries to the path
by default. (Due to risk of conflicts with built-in windows commands.)
Unless you have configured your system specially this causes the
scm_rev_gen.js script to fail to find Git. Added more paths to the
script so that it searches in the default msysgit installation
directory, eliminating the need to set the PATH for most environments.
2014-07-19 17:16:05 -03:00
Tony Wasserka
0da8e2eacc
BitField: Cast enum values to proper integer type.
2014-07-16 12:47:33 +02:00
Tony Wasserka
cd1d5786d9
BitField: Add a static_assert.
...
Being able to store BitField within unions requires BitField to be of standard layout, which in turn is only given if the underlying type is also has standard layout.
2014-07-16 12:46:37 +02:00
Tony Wasserka
15ab5382a5
BitField: Delete copy assignment to prevent obscure bugs.
...
Cf. https://github.com/dolphin-emu/dolphin/pull/483
2014-07-16 09:08:19 +02:00
Tony Wasserka
47a001722d
BitField: Add an explicit evaluation method.
...
Sometimes it can be beneficial to use this in places where an explicit cast needs to happen otherwise. By using the evaluation method, it's not necessary anymore to explicitly write the underlying type in this case.
2014-07-16 09:05:29 +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
882dc07929
Memory: Removed deprecated MapBlock_Shared function.
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
3013015a0c
mem_map: Updated interface to expose template functions to other modules.
2014-07-04 23:46:16 -04:00
bunnei
b70c4fb48e
NCCH: Updated ExeFS memory allocation to be safer.
2014-07-04 20:37:51 -04:00
bunnei
542700ccb7
Archive: Added Init/Shutdown methods to reset kernel archive state.
2014-07-04 20:37:51 -04:00
bunnei
1099d83455
Marked AppLoader_ELF, AppLoader_NCCH, and Archive_RomFS virtual functions as "override".
2014-07-04 20:37:50 -04:00
bunnei
2d734bb6c5
Marked AppLoader_ELF, AppLoader_NCCH, and Archive_RomFS classes as "final"
2014-07-04 20:37:49 -04:00
bunnei
2c62d92551
Loader: Updated read methods to be const
...
- Required "file" handle to be made local and explicitly opened/closed as needed
2014-07-04 20:37:49 -04:00
bunnei
1ccdb6a769
Qt: Updated open dialog to include NCCH formats.
2014-07-04 20:37:48 -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
Tony Wasserka
fd78786828
citra-qt: Rewrite disassembly view.
2014-07-02 21:16:36 +02:00
bunnei
d8da707bb9
Loader: Refactored interface such that data is no longer stored by loader.
...
NCCH: Removed extra qualification ‘Loader::AppLoader_NCCH::’.
2014-06-27 17:49:01 -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
0cc3e85685
Core: Removed unused directory_file_system and meta_file_system modules.
...
Core: Updated CMakeLists.txt to remove directory_file_system and meta_file_system modules.
2014-06-27 16:58:30 -04:00
bunnei
469fe42fad
Merge pull request #22 from bunnei/loader-improvements
...
Refactor loader code and add preliminary NCCH support
2014-06-25 09:46:14 -04:00
bunnei
a7f1c54490
Loader: Refactored loading functions to only read data from binary if called.
...
NCCH: Updated LoadExec to use Memory::WriteBlock function to load binary code.
2014-06-24 19:30:08 -04:00
bunnei
6aebd4ac98
MemMap: Added a WriteBlock function to write a buffer of data to memory.
2014-06-24 19:30:08 -04:00
bunnei
cedc28dcc6
ELF: Refactored LoadInto(..) to use memcpy, removed unnecessary code.
2014-06-24 19:30:07 -04:00
bunnei
62b444cd17
Loader: Refactored use of const.
2014-06-24 19:30:06 -04:00
bunnei
a8c4648520
NCCH: Added RomFS loading.
2014-06-24 19:30:06 -04:00
bunnei
3da2bc6830
NCCH: Fixes reduce unnecessary logging and load logo/banner/etc. sections correctly.
...
Loader: Added ErrorNotUsed ReturnStatus type to specify when something is not used.
2014-06-24 19:30:05 -04:00
bunnei
7889cafc76
Loader: Implemented AppLoader interface for abstracting application loading.
...
- Various cleanups/refactorings to Loader, ELF, and NCCH modules.
- Added AppLoader interface to ELF and NCCH.
- Updated Qt/GLFW frontends to check AppLoader ResultStatus.
NCCH: Removed extra qualification typos.
Loader: Removed unnecessary #include's.
NCCH: Improved readability of memcmp statements.
NCCH: Added missing space.
Elf: Removed unnecessary usage of unique_ptr.
Loader: Removed unnecessary usage of unique_ptr.
2014-06-24 19:29:58 -04:00
bunnei
4e4a028ecd
citra_qt: Removed autogenerated files from repo and fixed build issues.
2014-06-22 16:37:07 -04:00
bunnei
79a48082e2
NCCH: Changed decompression to load .code directly into memory rather than an intermediate buffer.
2014-06-17 06:30:14 -04:00
bunnei
c144ed5058
Elf: Removed unused macros, changed #include of "common.h" to just "common_types.h".
2014-06-17 06:23:46 -04:00
bunnei
13bdaa6c60
Loader: Cleaned up and removed unused code, refactored ELF namespace.
2014-06-16 23:43:33 -04:00
bunnei
1da361c7ab
Elf: Renamed modules to be consistent with new loader naming, fixed tabs -> spaces.
2014-06-16 23:43:32 -04:00
bunnei
3577dd027d
Loader: Added support for booting NCCH executables.
...
NCCH: Fixed typo in printing NCCH filename.
2014-06-16 23:43:29 -04:00
bunnei
0aca202ae9
Loader: Moved elf and loader modules to a "loader" subdirectory.
2014-06-16 18:03:13 -04:00
bunnei
2d7c46c874
Loader: Added stubbed detection of CXI and CCI files.
2014-06-16 17:53:25 -04:00
bunnei
10ae45b5e7
Loader: Removed unused CXI and DAT loading code.
2014-06-16 17:51:04 -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
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