aboutsummaryrefslogtreecommitdiff
path: root/src/core/core.cpp
AgeCommit message (Collapse)Author
2018-08-11qt: Add 'Install to NAND' option to menuZach Hilman
Prompts for title type on NCA files.
2018-08-11loader: Join 0* files in directory if filename is 00Zach Hilman
i.e. Load the concatenated 00+01 if 01 exists as well. Needed for split NAND NCAs.
2018-08-11core: Namespace EmuWindowLioncash
Gets the class out of the global namespace.
2018-08-09loader: Add more descriptive errorsZach Hilman
Full list of new errors and descriptions in core/loader/loader.h
2018-08-08core: Port core to VfsFilesystem for file accessZach Hilman
2018-08-06GDBStub works with both Unicorn and Dynarmic now (#941)Hedges
* GDBStub works with both Unicorn and Dynarmic now * Tidy up
2018-08-05Merge pull request #912 from lioncash/global-varbunnei
video_core: Eliminate the g_renderer global variable
2018-08-04Merge pull request #849 from DarkLordZach/xcibunnei
XCI and Encrypted NCA Support
2018-08-04renderer_base: Make Rasterizer() return the rasterizer by referenceLioncash
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().
2018-08-04video_core: Eliminate the g_renderer global variableLioncash
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.
2018-08-03core/memory: Get rid of 3DS leftoversLioncash
Removes leftover code from citra that isn't needed.
2018-08-03Merge pull request #892 from lioncash/globalbunnei
video_core: Make global EmuWindow instance part of the base renderer …
2018-08-03Merge pull request #894 from lioncash/objectbunnei
kernel: Move object class to its own source files
2018-08-02hw: Remove unused filesLioncash
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.
2018-08-01kernel: Move object class to its own source filesLioncash
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.
2018-08-01video_core: Make global EmuWindow instance part of the base renderer classLioncash
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.
2018-08-01Use more descriptive error codes and messagesZach Hilman
2018-07-30audio_core: Move to audout_u impl.bunnei
- This is necessary so streams are created on the same thread.
2018-07-27core: Add AudioCore to global state.bunnei
2018-07-22Implement exclusive monitorMerryMage
2018-07-18Merge pull request #687 from lioncash/instancebunnei
core: Don't construct instance of Core::System, just to access its live instance
2018-07-18Virtual Filesystem 2: Electric Boogaloo (#676)Zach Hilman
* Virtual Filesystem * Fix delete bug and documentate * Review fixes + other stuff * Fix puyo regression
2018-07-18core: Make System's default constructor privateLioncash
This makes it a compilation error to construct additional instances of the System class directly, preventing accidental wasteful constructions over and over.
2018-07-18core: Don't construct instance of Core::System, just to access its live instanceLioncash
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.
2018-07-07Revert "Virtual Filesystem (#597)"bunnei
This reverts commit 77c684c1140f6bf3fb7d4560d06d2efb1a2ee5e2.
2018-07-06Virtual Filesystem (#597)Zach Hilman
* 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
2018-07-02Update clang formatJames Rowe
2018-07-02Rename logging macro back to LOG_*James Rowe
2018-05-10core: Run all CPU cores separately, even in single-thread mode.bunnei
2018-05-10threading: Reschedule only on cores that are necessary.bunnei
2018-05-10core: Add a configuration setting for use_multi_core.bunnei
2018-05-10core: Support session close with multicore.bunnei
2018-05-10core: Create a thread for each CPU core, keep in lock-step with a barrier.bunnei
2018-05-10core: Move common CPU core things to its own class.bunnei
2018-04-26core: Replace remaining old non-generic logger usages with fmt-capable ↵Lioncash
equivalents 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.
2018-04-20core: Relocate g_service_manager to the System classLioncash
Converts the service manager from a global into an instance-based variable.
2018-04-06core, main.h: Abort on 32Bit ROMs (#309)N00byKing
* core, main.h: Abort on 32Bit ROMs * main.cpp: Fix Grammar
2018-03-26config: Use simplified checkbox (from Citra) for CPU JIT.bunnei
2018-03-19Clang FixesN00byKing
2018-03-19More Warning cleanupsN00byKing
2018-03-19Clean Warnings (?)N00byKing
2018-03-18Merge pull request #193 from N00byKing/3184_2_robotic_boogaloobunnei
Implement Pull #3184 from citra: core/arm: Improve timing accuracy before service calls in JIT (Rebased)
2018-03-14core: Move process creation out of global state.bunnei
2018-02-25Implements citra-emu/citra#3184N00byKing
2018-02-21core: Fix scheduler-shutdown related crashMerryMage
2018-02-19scheduler: Cleanup based on PR feedback.bunnei
2018-02-18kernel: Use Scheduler class for threading.bunnei
2018-02-18core: Use shared_ptr for cpu_core.bunnei
2018-02-11Make a GPU class in VideoCore to contain the GPU state.Subv
Also moved the GPU MemoryManager class to video_core since it makes more sense for it to be there.
2018-01-20Merge pull request #72 from N00byKing/patch-2bunnei
Implement Pull #3275 from citra: core: Don't Shutdown before we've even Init-ed