Nintendo Switch Emulator
Go to file
Zephyron 6f30786173 service: mm: Refactor Memory Management service implementation
Refactors the MM (Memory Management) service implementation with improved:

- Session management using a vector of Session objects instead of global vars
- Type safety with proper enums and member encapsulation
- Error handling with consistent patterns
- Modern C++ features (std::erase_if, std::find_if, emplace_back)
- Logging with detailed debug messages
- Code organization and const correctness

Key changes:
- Add Session class with proper encapsulation
- Add EventClearMode enum (Manual = 0, Auto = 1)
- Update Module enum naming for consistency
- Implement proper session tracking and lookup
- Add detailed parameter logging
- Use modern C++ algorithms for session management

The implementation now properly handles multiple sessions and matches
the documented nn::mmnv::IRequest interface more closely.

Refs: switchbrew.org/wiki/Display_services#mm:u

service/mm: add missing vector include and update copyright

- Add missing <vector> include for std::vector usage
- Add Citron copyright notice
- Maintain existing include ordering

This is a minor cleanup change to ensure proper header inclusion
and copyright attribution.
2025-05-11 14:28:58 +01:00
.ci Move repos 2024-12-20 15:14:11 +00:00
.github Move repos 2024-12-20 15:14:11 +00:00
.reuse android: Provide debug.keystore for debug and relWithDebInfo builds 2024-01-21 22:08:07 -05:00
CMakeModules ui(QT): QT 6.7.3 Implementation 2025-05-11 12:17:03 +01:00
dist shader_recompiler: Add stubs for CSM/FCSM flow test conditions 2025-05-11 12:17:03 +01:00
externals memory: Improve null pointer and unmapped memory handling 2025-05-11 12:17:03 +01:00
hooks chore: make yuzu REUSE compliant 2022-07-27 12:53:49 +02:00
LICENSES general: fix trailing whitespace 2024-01-08 09:34:32 -05:00
src service: mm: Refactor Memory Management service implementation 2025-05-11 14:28:58 +01:00
tools Removed telemetry and anonymized SCM (git) strings 2024-12-20 15:24:57 +00:00
.codespellrc core: refactor emulated cpu core activation 2023-12-04 10:37:16 -05:00
.git-blame-ignore-revs Skip git blame 2023-11-04 18:26:49 +00:00
.gitattributes chore: make yuzu REUSE compliant 2022-07-27 12:53:49 +02:00
.gitignore android: Initialize defaults for each orientations 2023-06-14 16:35:58 -04:00
.gitmodules Updated Vulkan stuff for bug fixes and improved hardware compatibility (#21) 2024-12-20 15:24:57 +00:00
CMakeLists.txt Add QT Network package 2025-05-11 12:17:03 +01:00
Doxyfile chore: make yuzu REUSE compliant 2022-07-27 12:53:49 +02:00
LICENSE.txt chore: make yuzu REUSE compliant 2022-07-27 12:53:49 +02:00
README.md Fixed controller UI being cut off at the bottom 2024-12-20 15:24:57 +00:00
vcpkg.json fix: update vcpkg baseline to avoid VS2019 build tools 2025-05-11 12:17:03 +01:00


yuzu

yuzu is the world's most popular, open-source, Nintendo Switch emulator — started by the creators of Citra.
It is written in C++ with portability in mind.

Note

This is an unofficial mirror fork of the original repository.

Development | License

  • Fixed controller UI being cut off at the bottom

Development

Most of the development happens on Codeberg. It's also where our central repository is hosted.

Git history will be rewritten frequently as patches are added and removed from other forks

License

yuzu is licensed under the GPLv3 (or any later version). Refer to the LICENSE.txt file.