summaryrefslogtreecommitdiffstats
path: root/src/core/core.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* core: Port core to VfsFilesystem for file accessZach Hilman2018-08-091-0/+12
|
* GDBStub works with both Unicorn and Dynarmic now (#941)Hedges2018-08-071-0/+11
| | | | | | * GDBStub works with both Unicorn and Dynarmic now * Tidy up
* Merge pull request #912 from lioncash/global-varbunnei2018-08-051-1/+21
|\ | | | | video_core: Eliminate the g_renderer global variable
| * video_core: Eliminate the g_renderer global variableLioncash2018-08-041-1/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #849 from DarkLordZach/xcibunnei2018-08-041-6/+8
|\ \ | |/ |/| XCI and Encrypted NCA Support
| * Use more descriptive error codes and messagesZach Hilman2018-08-011-6/+8
| |
* | core/memory: Get rid of 3DS leftoversLioncash2018-08-031-2/+1
| | | | | | | | Removes leftover code from citra that isn't needed.
* | Merge pull request #892 from lioncash/globalbunnei2018-08-031-4/+6
|\ \ | | | | | | video_core: Make global EmuWindow instance part of the base renderer …
| * | video_core: Make global EmuWindow instance part of the base renderer classLioncash2018-08-021-4/+6
| |/ | | | | | | | | | | | | | | | | | | | | 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.
* / kernel: Move object class to its own source filesLioncash2018-08-021-1/+1
|/ | | | | | 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.
* audio_core: Move to audout_u impl.bunnei2018-07-311-7/+0
| | | | - This is necessary so streams are created on the same thread.
* core: Add AudioCore to global state.bunnei2018-07-281-0/+7
|
* Implement exclusive monitorMerryMage2018-07-221-0/+12
|
* core: Make System's default constructor privateLioncash2018-07-191-0/+2
| | | | | | This makes it a compilation error to construct additional instances of the System class directly, preventing accidental wasteful constructions over and over.
* core: Add several missing docstrings.bunnei2018-05-111-0/+8
|
* core: Run all CPU cores separately, even in single-thread mode.bunnei2018-05-111-7/+3
|
* threading: Reschedule only on cores that are necessary.bunnei2018-05-111-0/+2
|
* core: Add a configuration setting for use_multi_core.bunnei2018-05-111-8/+2
|
* core: Support session close with multicore.bunnei2018-05-111-1/+1
|
* core: Implement multicore support.bunnei2018-05-111-10/+16
|
* core: Create a thread for each CPU core, keep in lock-step with a barrier.bunnei2018-05-111-7/+17
|
* core: Move common CPU core things to its own class.bunnei2018-05-111-10/+6
|
* core: Relocate g_service_manager to the System classLioncash2018-04-211-0/+12
| | | | | Converts the service manager from a global into an instance-based variable.
* core, main.h: Abort on 32Bit ROMs (#309)N00byKing2018-04-061-0/+1
| | | | | | * core, main.h: Abort on 32Bit ROMs * main.cpp: Fix Grammar
* GPU: Make the debug_context variable a member of the frontend instead of a global.Subv2018-03-251-0/+11
|
* Merge pull request #193 from N00byKing/3184_2_robotic_boogaloobunnei2018-03-191-2/+2
|\ | | | | Implement Pull #3184 from citra: core/arm: Improve timing accuracy before service calls in JIT (Rebased)
| * Implements citra-emu/citra#3184N00byKing2018-02-251-2/+2
| |
* | core: Move process creation out of global state.bunnei2018-03-141-0/+11
| |
* | kernel: Use Scheduler class for threading.bunnei2018-02-181-0/+6
| |
* | core: Use shared_ptr for cpu_core.bunnei2018-02-181-3/+1
|/
* Make a GPU class in VideoCore to contain the GPU state.Subv2018-02-121-0/+7
| | | | Also moved the GPU MemoryManager class to video_core since it makes more sense for it to be there.
* Correct SpellingN00byKing2018-01-231-2/+2
|
* core: Increase tight_loop 100x for speed.bunnei2018-01-041-1/+1
|
* core: Expose AppLoader as a public interface.bunnei2017-08-041-4/+5
|
* Addressed Bunnei's review comments, and made some other tweaks:TheKoopaKingdom2017-06-031-9/+7
| | | | | - Deleted GetStatus() because it wasn't used anywhere outside of Core::System. - Fixed design flaw where the message bar status could be set despite the game being stopped.
* Created a whitelist of system archives to prevent false positives creating dialogs.TheKoopaKingdom2017-06-031-9/+3
|
* Optimized messages that were repetitive and added ability for core errors to specify more details optionally.TheKoopaKingdom2017-06-031-2/+15
|
* Made some changes from review comments:TheKoopaKingdom2017-06-031-1/+0
| | | | | | | | - Made LoadKernelSystemMode return a pair consisting of a system mode and a result code (Could use review). - Deleted ErrorOpenGL error code in favor of just having ErrorVideoCore. - Made dialog messages more clear. - Compared archive ID in fs_user.cpp to ArchiveIdCode::NCCH as opposed to hex magic. - Cleaned up some other stuff.
* Added system for handling core errors in citra-qt.TheKoopaKingdom2017-06-031-0/+13
|
* core: Keep track of telemetry for the current emulation session.bunnei2017-05-251-0/+16
|
* Core: Re-write frame limiterYuri Kunde Schlesner2017-02-271-0/+1
| | | | | | | | | Now based on std::chrono, and also works in terms of emulated time instead of frames, so we can in the future frame-limit even when the display is disabled, etc. The frame limiter can also be enabled along with v-sync now, which should be useful for those with displays running at more than 60 Hz.
* Core: Make PerfStats internally lockedYuri Kunde Schlesner2017-02-271-2/+1
| | | | More ergonomic to use and will be required for upcoming changes.
* Add performance statistics to status barYuri Kunde Schlesner2017-02-271-1/+6
|
* core: inline CPU, 132 warnings fixed on GCCKloen2017-01-301-1/+1
|
* ThreadContext: Move from "core" to "arm_interface".bunnei2016-12-221-11/+0
|
* core: Replace "AppCore" nomenclature with just "CPU".bunnei2016-12-221-9/+9
|
* Address clang-format issues.bunnei2016-12-221-12/+13
|
* core: Remove HLE module, consolidate code & various cleanups.bunnei2016-12-221-11/+17
|
* core: Consolidate core and system state, remove system module & cleanups.bunnei2016-12-221-33/+99
|
* Sources: Run clang-format on everything.Emmanuel Gil Peyrot2016-09-181-2/+2
|
* Improve error report from Init() functionsLittleWhite2016-03-081-1/+1
| | | | Add error popup when citra initialization failed
* core: Use unique_ptr for holding the interpreter instancesLioncash2015-12-301-2/+3
|
* Core/ARM11: Correct the size of the VFP register array in the ThreadContext structure.Subv2015-11-291-1/+1
| | | | The VFP registers are 64 bits each, and there are 32 of them.
* dyncom: Remove more unused/unnecessary codeLioncash2015-04-201-3/+0
| | | | Gets rid of a sizeable amount of stuff in armdefs.
* arm: Clean up ARMul_StateLioncash2015-02-011-1/+0
| | | | Remove unnecessary/unused struct variables.
* arm: Adios armemuLioncash2015-02-011-5/+0
|
* Move ThreadContext to core/core.h and deal with the falloutYuri Kunde Schlesner2015-01-091-2/+18
|
* Core: Change default CPU to dyncom.bunnei2015-01-031-1/+1
|
* License changepurpasmart962014-12-211-1/+1
|
* Core: Changed RunLoop iterations to 1000 (slightly better performance).bunnei2014-11-121-6/+6
|
* Use configuration files to enable or disable the new dyncom interpreter.archshift2014-10-281-0/+5
|
* ARM: Reorganized file structure to move shared SkyEye code to a more common area.bunnei2014-10-251-1/+1
| | | | Removed s_ prefix
* Core: Refactor core to use only one function for execution.bunnei2014-08-311-2/+9
| | | | | | Core: Cleaned up comment to be more readable. Citra: Changed loop to be more readable.
* fixed project includes to use new directory structurebunnei2014-04-091-2/+2
|
* got rid of 'src' folders in each sub-projectbunnei2014-04-091-0/+40