- Aug 29, 2018
-
-
Lioncash authored
As means to pave the way for getting rid of global state within core, This eliminates kernel global state by removing all globals. Instead this introduces a KernelCore class which acts as a kernel instance. This instance lives in the System class, which keeps its lifetime contained to the lifetime of the System class. This also forces the kernel types to actually interact with the main kernel instance itself instead of having transient kernel state placed all over several translation units, keeping everything together. It also has a nice consequence of making dependencies much more explicit. This also makes our initialization a tad bit more correct. Previously we were creating a kernel process before the actual kernel was initialized, which doesn't really make much sense. The KernelCore class itself follows the PImpl idiom, which allows keeping all the implementation details sealed away from everything else, which forces the use of the exposed API and allows us to avoid any unnecessary inclusions within the main kernel header.
-
- Aug 24, 2018
-
-
Lioncash authored
These conditions are always true, since the outer conditional already checks for these conditions.
-
- Aug 12, 2018
-
-
Zach Hilman authored
Prompts for title type on NCA files.
-
Zach Hilman authored
i.e. Load the concatenated 00+01 if 01 exists as well. Needed for split NAND NCAs.
-
Lioncash authored
Gets the class out of the global namespace.
-
- Aug 10, 2018
-
-
Zach Hilman authored
Full list of new errors and descriptions in core/loader/loader.h
-
- Aug 09, 2018
-
-
Zach Hilman authored
-
- Aug 07, 2018
-
-
Hedges authored
* GDBStub works with both Unicorn and Dynarmic now * Tidy up
-
- Aug 04, 2018
-
-
Lioncash authored
All calling code assumes that the rasterizer will be in a valid state, which is a totally fine assumption. The only way the rasterizer wouldn't be is if initialization is done incorrectly or fails, which is checked against in System::Init().
-
Lioncash authored
We move the initialization of the renderer to the core class, while keeping the creation of it and any other specifics in video_core. This way we can ensure that the renderer is initialized and doesn't give unfettered access to the renderer. This also makes dependencies on types more explicit. For example, the GPU class doesn't need to depend on the existence of a renderer, it only needs to care about whether or not it has a rasterizer, but since it was accessing the global variable, it was also making the renderer a part of its dependency chain. By adjusting the interface, we can get rid of this dependency.
-
- Aug 03, 2018
-
-
Lioncash authored
Removes leftover code from citra that isn't needed.
-
- Aug 02, 2018
-
-
Lioncash authored
None of these files are used in any meaningful way. They're just leftovers from citra. Also has the benefit of getting rid of an unused global variable.
-
Lioncash authored
General moving to keep kernel object types separate from the direct kernel code. Also essentially a preliminary cleanup before eliminating global kernel state in the kernel code.
-
Lioncash authored
Makes the global a member of the RendererBase class. We also change this to be a reference. Passing any form of null pointer to these functions is incorrect entirely, especially given the code itself assumes that the pointer would always be in a valid state. This also makes it easier to follow the lifecycle of instances being used, as we explicitly interact the renderer with the rasterizer, rather than it just operating on a global pointer.
-
- Aug 01, 2018
-
-
Zach Hilman authored
-
- Jul 30, 2018
-
-
bunnei authored
- This is necessary so streams are created on the same thread.
-
- Jul 28, 2018
-
-
bunnei authored
-
- Jul 22, 2018
-
-
MerryMage authored
-
- Jul 19, 2018
-
-
Zach Hilman authored
* Virtual Filesystem * Fix delete bug and documentate * Review fixes + other stuff * Fix puyo regression
-
- Jul 18, 2018
-
-
Lioncash authored
This makes it a compilation error to construct additional instances of the System class directly, preventing accidental wasteful constructions over and over.
-
Lioncash authored
This would result in a lot of allocations and related object construction, just to toss it all away immediately after the call. These are definitely not intentional, and it was intended that all of these should have been accessing the static function GetInstance() through the name itself, not constructed instances.
-
- Jul 08, 2018
-
- Jul 06, 2018
-
-
Zach Hilman authored
* Add VfsFile and VfsDirectory classes * Finish abstract Vfs classes * Implement RealVfsFile (computer fs backend) * Finish RealVfsFile and RealVfsDirectory * Finished OffsetVfsFile * More changes * Fix import paths * Major refactor * Remove double const * Use experimental/filesystem or filesystem depending on compiler * Port partition_filesystem * More changes * More Overhaul * FSP_SRV fixes * Fixes and testing * Try to get filesystem to compile * Filesystem on linux * Remove std::filesystem and document/test * Compile fixes * Missing include * Bug fixes * Fixes * Rename v_file and v_dir * clang-format fix * Rename NGLOG_* to LOG_* * Most review changes * Fix TODO * Guess 'main' to be Directory by filename
-
- Jul 03, 2018
-
-
James Rowe authored
-
James Rowe authored
-
- May 10, 2018
- Apr 26, 2018
-
-
Lioncash authored
LOG_GENERIC usages will be amended in a follow-up to keep API changes separate from interface changes, as it will require removing a parameter from the relevant function in the VMManager class.
-
- Apr 20, 2018
-
-
Lioncash authored
Converts the service manager from a global into an instance-based variable.
-
- Apr 06, 2018
-
-
N00byKing authored
* core, main.h: Abort on 32Bit ROMs * main.cpp: Fix Grammar
-
- Mar 27, 2018
-
-
bunnei authored
-
- Mar 19, 2018
- Mar 14, 2018
-
-
bunnei authored
-
- Feb 25, 2018
-
-
N00byKing authored
-