Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | core: Namespace EmuWindow | Lioncash | 2018-08-12 | 1 | -2/+2 |
| | | | | Gets the class out of the global namespace. | ||||
* | loader: Add more descriptive errors | Zach Hilman | 2018-08-10 | 1 | -22/+4 |
| | | | Full list of new errors and descriptions in core/loader/loader.h | ||||
* | core: Port core to VfsFilesystem for file access | Zach Hilman | 2018-08-09 | 1 | -2/+6 |
| | |||||
* | GDBStub works with both Unicorn and Dynarmic now (#941) | Hedges | 2018-08-07 | 1 | -1/+4 |
| | | | | | | * GDBStub works with both Unicorn and Dynarmic now * Tidy up | ||||
* | Merge pull request #912 from lioncash/global-var | bunnei | 2018-08-05 | 1 | -3/+6 |
|\ | | | | | video_core: Eliminate the g_renderer global variable | ||||
| * | renderer_base: Make Rasterizer() return the rasterizer by reference | Lioncash | 2018-08-04 | 1 | -1/+1 |
| | | | | | | | | | | | | | | 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(). | ||||
| * | video_core: Eliminate the g_renderer global variable | Lioncash | 2018-08-04 | 1 | -3/+6 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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/xci | bunnei | 2018-08-04 | 1 | -4/+8 |
|\ \ | |/ |/| | XCI and Encrypted NCA Support | ||||
| * | Use more descriptive error codes and messages | Zach Hilman | 2018-08-01 | 1 | -4/+8 |
| | | |||||
* | | core/memory: Get rid of 3DS leftovers | Lioncash | 2018-08-03 | 1 | -3/+3 |
| | | | | | | | | Removes leftover code from citra that isn't needed. | ||||
* | | Merge pull request #892 from lioncash/global | bunnei | 2018-08-03 | 1 | -2/+2 |
|\ \ | | | | | | | video_core: Make global EmuWindow instance part of the base renderer … | ||||
| * | | video_core: Make global EmuWindow instance part of the base renderer class | Lioncash | 2018-08-02 | 1 | -2/+2 |
| |/ | | | | | | | | | | | | | | | | | | | | | 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. | ||||
* | | Merge pull request #894 from lioncash/object | bunnei | 2018-08-03 | 1 | -1/+0 |
|\ \ | | | | | | | kernel: Move object class to its own source files | ||||
| * | | kernel: Move object class to its own source files | Lioncash | 2018-08-02 | 1 | -1/+0 |
| |/ | | | | | | | | | | | 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. | ||||
* / | hw: Remove unused files | Lioncash | 2018-08-02 | 1 | -3/+0 |
|/ | | | | | | 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. | ||||
* | audio_core: Move to audout_u impl. | bunnei | 2018-07-31 | 1 | -2/+0 |
| | | | | - This is necessary so streams are created on the same thread. | ||||
* | core: Add AudioCore to global state. | bunnei | 2018-07-28 | 1 | -0/+2 |
| | |||||
* | Implement exclusive monitor | MerryMage | 2018-07-22 | 1 | -1/+2 |
| | |||||
* | Merge pull request #687 from lioncash/instance | bunnei | 2018-07-19 | 1 | -1/+3 |
|\ | | | | | core: Don't construct instance of Core::System, just to access its live instance | ||||
| * | core: Make System's default constructor private | Lioncash | 2018-07-19 | 1 | -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: Don't construct instance of Core::System, just to access its live instance | Lioncash | 2018-07-19 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | 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. | ||||
* | | Virtual Filesystem 2: Electric Boogaloo (#676) | Zach Hilman | 2018-07-19 | 1 | -1/+2 |
|/ | | | | | | | | | | * Virtual Filesystem * Fix delete bug and documentate * Review fixes + other stuff * Fix puyo regression | ||||
* | Revert "Virtual Filesystem (#597)" | bunnei | 2018-07-08 | 1 | -2/+1 |
| | | | | This reverts commit 77c684c1140f6bf3fb7d4560d06d2efb1a2ee5e2. | ||||
* | Virtual Filesystem (#597) | Zach Hilman | 2018-07-06 | 1 | -1/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 | ||||
* | Update clang format | James Rowe | 2018-07-03 | 1 | -2/+2 |
| | |||||
* | Rename logging macro back to LOG_* | James Rowe | 2018-07-03 | 1 | -7/+7 |
| | |||||
* | core: Run all CPU cores separately, even in single-thread mode. | bunnei | 2018-05-11 | 1 | -6/+20 |
| | |||||
* | threading: Reschedule only on cores that are necessary. | bunnei | 2018-05-11 | 1 | -0/+5 |
| | |||||
* | core: Add a configuration setting for use_multi_core. | bunnei | 2018-05-11 | 1 | -6/+26 |
| | |||||
* | core: Support session close with multicore. | bunnei | 2018-05-11 | 1 | -4/+11 |
| | |||||
* | core: Create a thread for each CPU core, keep in lock-step with a barrier. | bunnei | 2018-05-11 | 1 | -5/+25 |
| | |||||
* | core: Move common CPU core things to its own class. | bunnei | 2018-05-11 | 1 | -48/+9 |
| | |||||
* | core: Replace remaining old non-generic logger usages with fmt-capable equivalents | Lioncash | 2018-04-26 | 1 | -11/+11 |
| | | | | | | 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. | ||||
* | core: Relocate g_service_manager to the System class | Lioncash | 2018-04-21 | 1 | -6/+22 |
| | | | | | Converts the service manager from a global into an instance-based variable. | ||||
* | core, main.h: Abort on 32Bit ROMs (#309) | N00byKing | 2018-04-06 | 1 | -0/+4 |
| | | | | | | * core, main.h: Abort on 32Bit ROMs * main.cpp: Fix Grammar | ||||
* | config: Use simplified checkbox (from Citra) for CPU JIT. | bunnei | 2018-03-27 | 1 | -7/+3 |
| | |||||
* | Clang Fixes | N00byKing | 2018-03-19 | 1 | -1/+2 |
| | |||||
* | More Warning cleanups | N00byKing | 2018-03-19 | 1 | -1/+1 |
| | |||||
* | Clean Warnings (?) | N00byKing | 2018-03-19 | 1 | -1/+1 |
| | |||||
* | Merge pull request #193 from N00byKing/3184_2_robotic_boogaloo | bunnei | 2018-03-19 | 1 | -4/+8 |
|\ | | | | | Implement Pull #3184 from citra: core/arm: Improve timing accuracy before service calls in JIT (Rebased) | ||||
| * | Implements citra-emu/citra#3184 | N00byKing | 2018-02-25 | 1 | -4/+8 |
| | | |||||
* | | core: Move process creation out of global state. | bunnei | 2018-03-14 | 1 | -1/+3 |
| | | |||||
* | | core: Fix scheduler-shutdown related crash | MerryMage | 2018-02-21 | 1 | -5/+9 |
| | | |||||
* | | scheduler: Cleanup based on PR feedback. | bunnei | 2018-02-19 | 1 | -1/+1 |
| | | |||||
* | | kernel: Use Scheduler class for threading. | bunnei | 2018-02-18 | 1 | -1/+2 |
| | | |||||
* | | core: Use shared_ptr for cpu_core. | bunnei | 2018-02-18 | 1 | -3/+3 |
|/ | |||||
* | Make a GPU class in VideoCore to contain the GPU state. | Subv | 2018-02-12 | 1 | -0/+2 |
| | | | | Also moved the GPU MemoryManager class to video_core since it makes more sense for it to be there. | ||||
* | Merge pull request #72 from N00byKing/patch-2 | bunnei | 2018-01-21 | 1 | -1/+0 |
|\ | | | | | Implement Pull #3275 from citra: core: Don't Shutdown before we've even Init-ed | ||||
| * | Update core.cpp | N00byKing | 2018-01-17 | 1 | -1/+0 |
| | | |||||
* | | Port citra #3352 to yuzu (#103) | River City Ransomware | 2018-01-20 | 1 | -0/+7 |
|/ | | | | | | | | | | * Port citra #3352 to yuzu This change allows non x86_64 architectures to compile yuzu by skipping the building of dynarmic * Fixed clang-format errors * fixes more clang-format errors | ||||
* | Remove gpu debugger and get yuzu qt to compile | James Rowe | 2018-01-13 | 1 | -8/+0 |
| | |||||
* | configuration: Add cpu_core configuration option | MerryMage | 2018-01-12 | 1 | -2/+10 |
| | |||||
* | arm_dynarmic: Implement core | MerryMage | 2018-01-12 | 1 | -1/+3 |
| | |||||
* | CoreTiming: Reworked CoreTiming (cherry-picked from Citra #3119) | B3n30 | 2018-01-09 | 1 | -0/+1 |
| | | | | * CoreTiming: New CoreTiming; Add Test for CoreTiming | ||||
* | unicorn: Use for arm interface on Windows. | bunnei | 2018-01-04 | 1 | -8/+1 |
| | |||||
* | arm: Remove SkyEye/Dyncom code that is ARMv6-only. | bunnei | 2018-01-03 | 1 | -3/+2 |
| | |||||
* | logging: Rename category "Core_ARM11" to "Core_ARM". | bunnei | 2017-10-23 | 1 | -1/+1 |
| | |||||
* | Merge remote-tracking branch 'upstream/master' into nx | bunnei | 2017-10-10 | 1 | -3/+9 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | # Conflicts: # src/core/CMakeLists.txt # src/core/arm/dynarmic/arm_dynarmic.cpp # src/core/arm/dyncom/arm_dyncom.cpp # src/core/hle/kernel/process.cpp # src/core/hle/kernel/thread.cpp # src/core/hle/kernel/thread.h # src/core/hle/kernel/vm_manager.cpp # src/core/loader/3dsx.cpp # src/core/loader/elf.cpp # src/core/loader/ncch.cpp # src/core/memory.cpp # src/core/memory.h # src/core/memory_setup.h | ||||
| * | Loaders: Don't automatically set the current process every time we load an application. | Subv | 2017-09-27 | 1 | -2/+4 |
| | | | | | | | | The loaders will now just create a Kernel::Process, construct it and return it to the caller, which is responsible for setting it as the current process and configuring the global page table. | ||||
| * | Kernel/Memory: Give each Process its own page table. | Subv | 2017-09-10 | 1 | -1/+0 |
| | | | | | | | | The loader is in charge of setting the newly created process's page table as the main one during the loading process. | ||||
| * | Added missing parts in libnetwork (#2838) | B3n30 | 2017-08-19 | 1 | -0/+5 |
|/ | | | | | * Network: Set and send the game information over enet Added Callbacks for RoomMember and GetMemberList to Room in preparation for web_services. | ||||
* | telemetry: Log performance, configuration, and system data. | bunnei | 2017-07-18 | 1 | -0/+10 |
| | |||||
* | Addressed Bunnei's review comments, and made some other tweaks: | TheKoopaKingdom | 2017-06-03 | 1 | -6/+5 |
| | | | | | - 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. | TheKoopaKingdom | 2017-06-03 | 1 | -4/+2 |
| | |||||
* | Made some changes from review comments: | TheKoopaKingdom | 2017-06-03 | 1 | -9/+13 |
| | | | | | | | | - 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. | TheKoopaKingdom | 2017-06-03 | 1 | -6/+18 |
| | |||||
* | core: Keep track of telemetry for the current emulation session. | bunnei | 2017-05-25 | 1 | -0/+3 |
| | |||||
* | Kernel: Map special regions according to ExHeader | Yuri Kunde Schlesner | 2017-05-10 | 1 | -2/+3 |
| | | | | | | | This replaces the hardcoded VRAM/DSP mappings with ones made based on the ExHeader ARM11 Kernel caps list. While this has no visible effect for most applications (since they use a standard set of mappings) it does improve support for system modules and n3DS exclusives. | ||||
* | Core: Make PerfStats internally locked | Yuri Kunde Schlesner | 2017-02-27 | 1 | -3/+2 |
| | | | | More ergonomic to use and will be required for upcoming changes. | ||||
* | Add performance statistics to status bar | Yuri Kunde Schlesner | 2017-02-27 | 1 | -0/+9 |
| | |||||
* | core: Free AppLoader on shutdown to release file (#2558) | Yuri Kunde Schlesner | 2017-02-11 | 1 | -9/+2 |
| | | | Fixes #2455 | ||||
* | Core: reset cpu_core in Shutdown to make IsPoweredOn work properly | wwylele | 2016-12-24 | 1 | -0/+1 |
| | |||||
* | core: Replace "AppCore" nomenclature with just "CPU". | bunnei | 2016-12-22 | 1 | -7/+7 |
| | |||||
* | Address clang-format issues. | bunnei | 2016-12-22 | 1 | -3/+3 |
| | |||||
* | core: Remove HLE module, consolidate code & various cleanups. | bunnei | 2016-12-22 | 1 | -7/+19 |
| | |||||
* | core: Consolidate core and system state, remove system module & cleanups. | bunnei | 2016-12-22 | 1 | -25/+87 |
| | |||||
* | gdbstub: Remove global variable from public interface | Lioncash | 2016-12-15 | 1 | -1/+1 |
| | | | | | | | | | Currently, this is only ever queried, so adding a function to check if the server is enabled is more sensible. If directly modifying this externally is ever desirable, it should be done by adding a function to the interface, rather than exposing implementation details directly. | ||||
* | Use negative priorities to avoid special-casing the self-include | Yuri Kunde Schlesner | 2016-09-21 | 1 | -1/+1 |
| | |||||
* | Remove empty newlines in #include blocks. | Emmanuel Gil Peyrot | 2016-09-21 | 1 | -3/+1 |
| | | | | | | | This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation. | ||||
* | Manually tweak source formatting and then re-run clang-format | Yuri Kunde Schlesner | 2016-09-19 | 1 | -2/+1 |
| | |||||
* | Sources: Run clang-format on everything. | Emmanuel Gil Peyrot | 2016-09-18 | 1 | -2/+3 |
| | |||||
* | core: Add configuration option for CPU JIT. | bunnei | 2016-09-15 | 1 | -7/+12 |
| | |||||
* | Merge pull request #1762 from bunnei/global | bunnei | 2016-05-06 | 1 | -1/+1 |
|\ | | | | | hle: Get rid of direct global access to g_reschedule | ||||
| * | HLE: Rename RescheduleIsPending to IsReschedulePending. | bunnei | 2016-05-06 | 1 | -1/+1 |
| | | |||||
| * | hle: Get rid of global access to g_reschedule | Lioncash | 2016-03-21 | 1 | -1/+1 |
| | | | | | | | | | | This shouldn't be directly exposed if there's already a partial API that operates on it. We can just provide the rest of that API. | ||||
* | | Common: Remove Common::make_unique, use std::make_unique | MerryMage | 2016-04-05 | 1 | -3/+2 |
|/ | |||||
* | Improve error report from Init() functions | LittleWhite | 2016-03-08 | 1 | -2/+1 |
| | | | | Add error popup when citra initialization failed | ||||
* | core: Use unique_ptr for holding the interpreter instances | Lioncash | 2015-12-30 | 1 | -6/+9 |
| | |||||
* | Implement gdbstub | polaris- | 2015-10-04 | 1 | -0/+17 |
| | |||||
* | Core: Cleanup core includes. | Emmanuel Gil Peyrot | 2015-06-28 | 1 | -3/+0 |
| | |||||
* | Memmap: Re-organize memory function in two files | Yuri Kunde Schlesner | 2015-05-15 | 1 | -1/+0 |
| | | | | | | | memory.cpp/h contains definitions related to acessing memory and configuring the address space mem_map.cpp/h contains higher-level definitions related to configuring the address space accoording to the kernel and allocating memory. | ||||
* | Thread: Remove the idle thread | Yuri Kunde Schlesner | 2015-05-12 | 1 | -2/+2 |
| | | | | Instead just use nullptr to represent no thread is active. | ||||
* | Core/Memory: Give every emulated thread it's own TLS area. | Subv | 2015-05-11 | 1 | -4/+0 |
| | | | | | The TLS area for thread T with id Ti is located at TLS_AREA_VADDR + (Ti - 1) * 0x200. This allows some games like Mario Kart 7 to continue further. | ||||
* | Memory: Re-organize and rename memory area address constants | Yuri Kunde Schlesner | 2015-05-09 | 1 | -1/+1 |
| | |||||
* | Common: Remove common.h | Yuri Kunde Schlesner | 2015-05-07 | 1 | -0/+1 |
| | |||||
* | core: Migrate 3DS-specific CP15 register setting into Init | Lioncash | 2015-04-06 | 1 | -0/+5 |
| | |||||
* | dyncom: Switch the app and system cores into the correct mode at initialization | Lioncash | 2015-02-13 | 1 | -5/+4 |
| | |||||
* | arm: Adios armemu | Lioncash | 2015-02-01 | 1 | -12/+2 |
| | |||||
* | Thread: Reduce use of Handles and move some funcs to inside the class. | Yuri Kunde Schlesner | 2015-01-09 | 1 | -1/+1 |
| | |||||
* | Move ThreadContext to core/core.h and deal with the fallout | Yuri Kunde Schlesner | 2015-01-09 | 1 | -0/+1 |
| | |||||
* | Core: Fixed a crash and removed some unused variables. | Subv | 2015-01-09 | 1 | -6/+0 |
| | | | | ARM_Disasm only has static methods, so there's no need to have an instance of it. | ||||
* | Threads: Use a dummy idle thread when no other are ready. | Subv | 2015-01-08 | 1 | -1/+12 |
| | | | | This thread will not actually execute instructions, it will only advance the timing/events and try to yield immediately to the next ready thread, if there aren't any ready threads then it will be rescheduled and start its job again. | ||||
* | Core: Change default CPU to dyncom. | bunnei | 2015-01-03 | 1 | -2/+2 |
| | |||||
* | License change | purpasmart96 | 2014-12-21 | 1 | -1/+1 |
| | |||||
* | Convert old logging calls to new logging macros | Yuri Kunde Schlesner | 2014-12-13 | 1 | -2/+2 |
| | |||||
* | Add static to some variables | Lioncash | 2014-11-19 | 1 | -7/+7 |
| | |||||
* | Use configuration files to enable or disable the new dyncom interpreter. | archshift | 2014-10-28 | 1 | -3/+14 |
| | |||||
* | core: Prune redundant includes | archshift | 2014-09-09 | 1 | -6/+0 |
| | |||||
* | Core: Refactor core to use only one function for execution. | bunnei | 2014-08-31 | 1 | -18/+8 |
| | | | | | | Core: Cleaned up comment to be more readable. Citra: Changed loop to be more readable. | ||||
* | GSP: Implements preliminary command synchronization via GPU interrupts. | bunnei | 2014-08-06 | 1 | -8/+12 |
| | | | | Core: Added a comment to explain the logic for the RunLoop iterations. | ||||
* | Merge branch 'threading' of https://github.com/bunnei/citra | bunnei | 2014-06-14 | 1 | -6/+17 |
|\ | | | | | | | | | | | Conflicts: src/core/hle/function_wrappers.h src/core/hle/service/gsp.cpp | ||||
| * | HLE: Updated all uses of NULL to nullptr (to be C++11 compliant) | bunnei | 2014-06-13 | 1 | -4/+4 |
| | | |||||
| * | Core: Cleaned up SingleStep(), updated default LCD refresh to assume each instruction is ~3 cycles | bunnei | 2014-06-13 | 1 | -11/+12 |
| | | |||||
| * | Core: Changed HW update/thread reschedule to occur more frequently (assume each instruction is ~3 cycles) | bunnei | 2014-06-13 | 1 | -2/+2 |
| | | |||||
| * | hle: added a hokey way to force a thread reschedule during CPU single step mode (as used by the debugger) | bunnei | 2014-06-05 | 1 | -1/+2 |
| | | |||||
| * | core: changed time delay before kernel reschedule to "approximate" a screen refresh | bunnei | 2014-05-30 | 1 | -3/+12 |
|/ | |||||
* | core: added Kernel::Reschedule() call to check for thread changes, shortened delay time to 100 instructions | bunnei | 2014-05-23 | 1 | -1/+6 |
| | |||||
* | updated how we call ARM core to make things much faster | bunnei | 2014-05-17 | 1 | -3/+6 |
| | |||||
* | cleaned up some logging messages | bunnei | 2014-04-11 | 1 | -20/+2 |
| | |||||
* | added initial modules for setting up SysCall HLE | bunnei | 2014-04-11 | 1 | -0/+18 |
| | |||||
* | fixed project includes to use new directory structure | bunnei | 2014-04-09 | 1 | -6/+8 |
| | |||||
* | got rid of 'src' folders in each sub-project | bunnei | 2014-04-09 | 1 | -0/+58 |