| Commit message (Collapse) | Author | Files | Lines |
|
I wrote most of this for ppsspp, so I hold full copyright over it.
In addition to the original release in ppsspp, this provides functionality to easily extend e.g. two-dimensional vectors to three-dimensional vectors.
|
|
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.
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
GSP: Cleaned up code and added additional comments.
GSP: Removed unnecessary TODO comment.
GSP: Changed u32 iterators in TriggerCmdReqQueue to unsigned.
|
|
|
|
- Various other cleanups.
|
|
|
|
Core: Added a comment to explain the logic for the RunLoop iterations.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- Unused code
- Was not correct for unaligned memory reads
|
|
|
|
MemMap: Cleaned up Read32 unaligned memory access.
|
|
|
|
|
|
|
|
|
|
Templates shouldn't be marked as inline if they aren't defined in the header.
|
|
Also makes the illogical component order more obvious.
|
|
|
|
|
|
Anonymous structs are not standard C++, hence don't use them.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
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.
|
|
Cf. https://github.com/dolphin-emu/dolphin/pull/483
|
|
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.
|
|
AddressArbiter: Added documentation comment, fixed whitespace issue.
AddressArbiter: Fixed incorrect comment, reordered if-statement to be more clear.
SVC: Removed trailing whitespace.
|
|
Thread: Cleaned up arbitrate address functions.
Thread: Cleaned up ArbitrateAllThreads function.
|
|
|
|
- Also added some safety checks to MapSharedMemory.
|
|
|
|
- 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.
|
|
SharedMemory: Added optional name field for tracking known objects.
|
|
|
|
|
|
|
|
|
|
|
|
- Required "file" handle to be made local and explicitly opened/closed as needed
|
|
|
|
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.
|
|
APT: More cleanups.
APT: Changed SignalType to be type u32.
|
|
|
|
NCCH: Removed extra qualification ‘Loader::AppLoader_NCCH::’.
|
|
FS: Added to CMakeLists.txt
|
|
|
|
Core: Updated CMakeLists.txt to remove directory_file_system and meta_file_system modules.
|
|
NCCH: Updated LoadExec to use Memory::WriteBlock function to load binary code.
|
|
|
|
|
|
|
|
|
|
Loader: Added ErrorNotUsed ReturnStatus type to specify when something is not used.
|
|
- 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.
|
|
|
|
|
|
|
|
|
|
|
|
NCCH: Fixed typo in printing NCCH filename.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- force kernel reschedule after svcWaitSynchronization
- fixed some bugs with passing in pointer arguments
- cleaned up some comments and log messages
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- cleaned up Kernel code a bit (moved stuff into namespace, fixed whitespace issues)
- added handle types for all different CTROS handles
|
|
|
|
|
|
|
|
Only Rect is in the namespace for now; the rest of common should be added in the future
|
|
Changed QGL version to 3,2 in order to be less restrictive, yet it should still change up to 4,1 on OSX on Qt5.
|
|
Changes for clarity of comments, removed redundant compiler flags.
|
|
|
|
|
|
- updated CreateHandle/DeleteHandle to use KernelObject's
|
|
|
|
- various cleanups
|
|
|
|
- added ResetType enum
|
|
- changed some stubbed SVCs to return unique handle names for debugging purposes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- reorganized some kernel thread functions
- added placeholder __KernelWaitThread_Synchronization function
|
|
|
|
- added KERNEL_DEFAULT_STACK_SIZE definition (0x4000)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- removed HLE::CallMCR function (was pointless)
|
|
- fixed some compiler issues with xscale_copro when porting code to Windows
- fixed some #include's
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- added initial VFP code from skyeye
|
|
- added SVC structs MemoryInfo and PageInfo
|
|
|
|
|
|
|
|
|
|
- cleaned up CreateThread svc
|
|
|
|
- added __KernelSwitchToThread for enabling a thread
- added __KernelRotateThreadReadyQueue
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- fixed some logging
|
|
|
|
|
|
|
|
|
|
|
|
Less calculations + fix
|
|
|
|
|
|
|
|
- added a helper function for getting command buffer for services
- fixed bug where GSP DMA was incorrectly being done in DataSynchronizationBarrier (instead of gsp_TriggerCmdReqQueue)
|
|
|
|
|
|
|
|
- added stubbed HLE syscall functions for svc_GetResourceLimit and svc_GetResourceLimitCurrentValues
|
|
|
|
|
|
- handle RD in STREX/STREXB
|
|
- added stubs for GetResourceLimit and GetResourceLimitCurrentValues SVCs
|
|
|
|
|
|
|
|
- moved instruction decoding to coprocessor HLE module
|
|
|
|
|
|
- added stub for SVC CreateAddressArbiter
- added OutputDebugString SVC
|
|
|
|
|
|
- updated load launcher.dat function to use ARM11 format hack
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Somewhere along the line an OSX header had already taken the name Rect.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- added hooks to catch LCD IO read/writes
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- added shared memory region
- moarrrr cleanups to memory_map
|
|
|
|
|
|
- added option to create/delete service handles
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- fixed log message wording in hle.cpp
- added syscall stubs for CloseHandle and WaitSynchronization1
|
|
- various cleanups/refactors to HLE services
|
|
|
|
|
|
|
|
- added function tables for service calls
- lots of refactoring
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- added a manager for keeping track of services/ports
- added a memory mapped region for memory accessed by HLE
- added HLE for GetThreadCommandBuffer function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- added service.h as an initial service interface
|
|
|
|
|
|
Doing this from work via GitHub - Sorry for not combining with previous commits
|
|
Doing this from work via GitHub - Sorry for not combining with previous commits
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- added hle.cpp and module registration
- removed unused code
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- cleaned up window title
- cleaned up emu_window_glfw/emu_window
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- updated code style/naming conventions
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- cleaned up core.cpp a bit
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-moved scratchpad memory out of MemArena
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|