66b6d5b2da
This commit makes several improvements to device memory management and buffer queue handling: DeviceMemoryManager: - Add null pointer and size checks for ReadBlock - Fill unmapped memory with a known pattern (0xCC) instead of zeros - Add better error logging for invalid memory accesses - Add null pointer check for source pointer in memcpy BufferQueueProducer: - Improve error handling in WaitForFreeSlotThenRelock - Add proper abandoned state checking during wait conditions - Clean up and simplify buffer scanning logic - Improve logging messages with more descriptive information - Remove redundant buffer count validation - Fix potential infinite loop condition during wait These changes improve stability and error handling while making the code more maintainable and debuggable. The use of a known pattern for unmapped memory helps identify uninitialized memory access issues. |
||
---|---|---|
.reuse | ||
CMakeModules | ||
dist | ||
externals | ||
hooks | ||
LICENSES | ||
src | ||
tools | ||
.codespellrc | ||
.git-blame-ignore-revs | ||
.gitattributes | ||
.gitignore | ||
.gitmodules | ||
CMakeLists.txt | ||
Doxyfile | ||
LICENSE | ||
README.md | ||
rename.sh | ||
vcpkg.json |
Citron - Nintendo Homebrew Emulator 🍋
Welcome to Citron, a cutting-edge Nintendo Homebrew emulator designed to deliver an optimized experience for playing your favorite games and exploring new ones. Citron is a high-performance and easy-to-use emulator, tailored for enthusiasts and developers alike.
Disclaimer: Citron is intended strictly for legal homebrew use and is not affiliated with or endorsed by Nintendo. Use of Citron for pirated or unauthorized copies of games is strictly prohibited. Please respect game developers and support them by purchasing legitimate copies of their games.
Features 🛠️
- High Performance: Optimized for speed and smooth gameplay.
- User-Friendly: Clean and intuitive interface.
- Cross-Platform: Available on multiple platforms.
- Homebrew Support: Fully supports legal homebrew games and applications.
- Ongoing Development: Stay tuned for frequent updates as Citron evolves!
Download 🚀
Ready to experience Citron? Download the latest version and dive into your favorite Nintendo homebrew titles!
Getting Started 💡
- Download and Install: Head over to the downloads page to grab the latest release.
- Add Homebrew Games: Citron is built to play homebrew games. Add them to your game directory and enjoy!
- Configure Your Settings: Customize your emulator settings to suit your performance needs.
Source Code 🔧
Citron is an open-source project. You can find the source code on our official Git repository:
We welcome contributions! Check out the repository and feel free to submit issues or pull requests to help improve Citron.
Legal Disclaimer 📜
Citron is a homebrew emulator designed to support legally created and distributed homebrew software. It does not support piracy, nor is it intended for illegal purposes. Using Citron to play pirated copies of games is a violation of copyright law. Citron is not affiliated with or endorsed by Nintendo, and all Nintendo trademarks and copyrights are the property of their respective owners.
We highly encourage users to respect intellectual property rights and to only use Citron with legal, homebrew content.
License 📄
Citron is licensed under the GPL License. See the full license in the LICENSE file for more details.
Contributing ✨
We are always looking for developers, testers, and enthusiasts to contribute to Citron. Whether you want to submit a pull request, report an issue, or suggest new features, all contributions are welcome. Please follow our contributing guidelines to get started.
Contact Us 📬
For any inquiries or to follow Citron's development journey, reach out to us:
- Official Website: https://citron-emu.org
- Source Code: https://git.citron-emu.org
- Twitter: @CitronEmu
Made with 💚 by Zephyron | Source Code