summaryrefslogtreecommitdiffstats
path: root/src/core/memory (unfollow)
Commit message (Collapse)AuthorFilesLines
2024-01-05hid_core: Move hid to it's own subprojectNarr the Reg1-2/+2
2023-12-23core_timing: remove user data valueLiam2-5/+5
2023-12-15core: Make sure npad is initializedNarr the Reg1-1/+1
2023-11-21service: hid: Create appropriate hid resourcesNarr the Reg1-4/+1
2023-11-15service: hid: Split hid.cpp into individual interfacesNarr the Reg1-3/+4
2023-10-22cheats: Clamp cheat names without failinggerman771-7/+16
2023-09-13cheat_engine: Remove uncaught usage of stoullat9nq1-1/+1
2023-07-15kernel: reduce page table region checkingLiam1-2/+2
2023-07-15k_process: PageTable -> GetPageTableLiam1-3/+3
2023-03-24memory: rename global memory references to application memoryLiam1-2/+2
2023-03-22kernel: use KTypedAddress for addressesLiam1-3/+3
2023-03-13kernel: convert KProcess to new styleLiam1-1/+1
2023-02-21cheat_engine: add check for hid initializationLiam1-2/+7
2023-02-14general: rename CurrentProcess to ApplicationProcessLiam1-3/+3
2022-11-20dmnt:cht: fix copy-paste errorLiam1-1/+1
2022-07-10PRKelebek11-1/+1
2022-07-10Rework CoreTimingKelebek11-4/+4
2022-04-23general: Convert source file copyright comments over to SPDXMorph5-75/+10
This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2021-11-30npad: Return NpadButton in GetAndResetPressStateMorph1-2/+1
We were previously truncating this to a u32 as there were no known buttons that used the full 64 bits of this type. Fix this now that we know they are used.
2021-11-04general: Get the current process program id directly from the systemMorph1-1/+1
This allows us to avoid including KProcess' header file in files that only need to get the current process' program id.
2021-11-04general: Rename GetTitleID to GetProgramIDMorph1-1/+1
2021-11-04core: Remove unused includesameerj1-2/+0
2021-05-16core: Make variable shadowing a compile-time errorLioncash4-13/+14
Now that we have most of core free of shadowing, we can enable the warning as an error to catch anything that may be remaining and also eliminate this class of logic bug entirely.
2021-05-06hle: kernel: Rename Process to KProcess.bunnei1-1/+1
2021-05-03core: Resolve misc cases of variable shadowingLioncash2-3/+3
Resolves shadowing warnings that aren't in a particularly large subsection of core. Brings us closer to turning -Wshadow into an error. All that remains now is for cases in the kernel (left untouched for now since a big change by bunnei is pending), and a few left over in the service code (will be tackled next).
2021-02-19hle: kernel: Migrate PageHeap/PageTable to KPageHeap/KPageTable.bunnei1-1/+1
2020-10-13core/CMakeLists: Make some warnings errorsLioncash1-1/+2
Makes our error coverage a little more consistent across the board by applying it to Linux side of things as well. This also makes it more consistent with the warning settings in other libraries in the project. This also updates httplib to 0.7.9, as there are several warning cleanups made that allow us to enable several warnings as errors.
2020-09-15cheat_engine: Convert ExtractName into a non-template functionLioncash1-19/+17
We don't need to create two separate instantiations of the same code, we can simply make the character template argument a regular function parameter.
2020-09-15cheat_engine: Remove unnecessary system argument to CheatParser's Parse functionLioncash2-6/+4
This isn't used within the function at all in any implementations, so we can remove it entirely.
2020-08-06cheat_engine: Resolve implicit bool->u64 conversionLioncash1-1/+1
We can just return zero here.
2020-08-06cheat_engine: Make use of designated initializersLioncash1-6/+18
Same behavior, but makes the member being assigned obvious.
2020-08-03dmnt_cheat_vm: Make use of designated initializersLioncash1-105/+121
Allows for more compact code.
2020-07-28core_timing: Make use of uintptr_t to represent user_dataLioncash2-7/+7
Makes the interface future-proofed for supporting other platforms in the event we ever support platforms with differing pointer sizes. This way, we have a type in place that is always guaranteed to be able to represent a pointer exactly.
2020-07-16core_timing: Make TimedCallback take std::chrono::nanosecondsLioncash2-7/+9
Enforces our desired time units directly with a concrete type.
2020-07-16core_timing: Make use of std::chrono with ScheduleEventLioncash1-3/+4
2020-07-15clang-formatVolcaEM1-1/+2
2020-07-15dmnt_cheat_vm: Implement opcode 0xC3 (ReadWriteStaticRegister)VolcaEM2-1/+41
This was based on Atmosphére's DMNT Cheat VM: - https://github.com/Atmosphere-NX/Atmosphere/blob/master/stratosphere/dmnt/source/cheat/impl/dmnt_cheat_vm.hpp - https://github.com/Atmosphere-NX/Atmosphere/blob/master/stratosphere/dmnt/source/cheat/impl/dmnt_cheat_vm.cpp From Atmosphére's documentation: "Code type 0xC3 reads or writes a static register with a given register" There are now only two remaining opcodes to implement (PauseProcess and BreakProcess) This is untested because I don't have any experience in testing cheats on yuzu
2020-06-27General: Recover Prometheus project from harddrive failure Fernando Sahmkow1-4/+4
This commit: Implements CPU Interrupts, Replaces Cycle Timing for Host Timing, Reworks the Kernel's Scheduler, Introduce Idle State and Suspended State, Recreates the bootmanager, Initializes Multicore system.
2020-04-17memory: cheat_engine: Updates for new VMM.bunnei1-5/+8
2020-04-17core: memory: Move to Core::Memory namespace.bunnei5-10/+10
- helpful to disambiguate Kernel::Memory namespace.
2020-04-16CMakeLists: Specify -Wextra on linux buildsLioncash1-2/+3
Allows reporting more cases where logic errors may exist, such as implicit fallthrough cases, etc. We currently ignore unused parameters, since we currently have many cases where this is intentional (virtual interfaces). While we're at it, we can also tidy up any existing code that causes warnings. This also uncovered a few bugs as well.
2020-02-12Core: Set all hardware emulation constants in a single file.Fernando Sahmkow1-1/+2
2019-11-27core/memory: Migrate over Write{8, 16, 32, 64, Block} to the Memory classLioncash1-1/+1
The Write functions are used slightly less than the Read functions, which make these a bit nicer to move over. The only adjustments we really need to make here are to Dynarmic's exclusive monitor instance. We need to keep a reference to the currently active memory instance to perform exclusive read/write operations.
2019-11-27core/memory: Migrate over Read{8, 16, 32, 64, Block} to the Memory classLioncash2-5/+4
With all of the trivial parts of the memory interface moved over, we can get right into moving over the bits that are used. Note that this does require the use of GetInstance from the global system instance to be used within hle_ipc.cpp and the gdbstub. This is fine for the time being, as they both already rely on the global system instance in other functions. These will be removed in a change directed at both of these respectively. For now, it's sufficient, as it still accomplishes the goal of de-globalizing the memory code.
2019-11-27core_timing: Use better reference tracking for EventType. (#3159)bunnei2-2/+3
* core_timing: Use better reference tracking for EventType. - Moves ownership of the event to the caller, ensuring we don't fire events for destroyed objects. - Removes need for unique names - we won't be using this for save states anyways.
2019-10-18dmnt_cheat_vm: Correct register Restore and ClearRegs behaviorLioncash1-2/+2
Previously these were performing the same behavior as the Save and ClearSaved opcode types.
2019-10-17core/memory/cheat_engine: Resolve -Wreorder warningsLioncash1-4/+3
Amends the initializer lists to be ordered in the same manner that they're declared within the class.
2019-09-22dmnt_cheat_vm: Default initialize structure valuesZach Hilman2-87/+87
2019-09-22dmnt_cheat_vm: Make Cheat VM compliant to code styleZach Hilman3-868/+861
2019-09-22cheat_engine: Move to memory and strip VMZach Hilman2-0/+320
This is to go with the Atmosphere VM port, now it just contains the callbacks needed for the interface between DmntCheatVm and yuzu, along with the cheat parsers.
2019-09-22memory: Port Atmosphere's DmntCheatVmZach Hilman3-0/+1598
This was done because the current VM contained many inaccuracies and this also allows cheats to have identical behavior between hardware and yuzu.
2019-06-21core: Move Freezer class to tools namespaceZach Hilman2-263/+0
2019-06-21freezer: Add documentation for methodsZach Hilman2-30/+49
2019-06-21memory: Add class to manage and enforce memory freezingZach Hilman2-0/+244