This is a major architectural overhaul of the KVM core.
The monolithic core directory has been restructured into a more logical
component based structure under src/:
* src/common: Truly genercic platform agnostic utilities.
* src/host: The host abstraction layer for the OS soecific code.
* src/frontend: User-interface and session management.
* src/kvm: The core CPU and virtual machine emulation logic.
* src/targets: Machine specific hardware definitions.
The core of the logical changes is a new framework for initializing and
running virtual machines.
* Machine Probing: A new machine factory (kvm_probe) and operations
table (kvm_ops_t) has been introduced. The core now interacts with
the emulated machine through this abstraction interface.
* Data Oriented MMIO disaptcher: This uses a data oriented structure
of arrays design and a binary search lookup to provide efficient
(O(log N)) dispatch for guest physical addresses.
Signed-off-by: Ronald Caesar <github43132@proton.me>
|
||
|---|---|---|
| .github/workflows | ||
| 3rd_Party | ||
| resources | ||
| src | ||
| .clang-format | ||
| .gitignore | ||
| .gitmodules | ||
| CMakeLists.txt | ||
| CMakeSettings.json | ||
| Compatibility | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| README.md | ||
Pound
“i think of getting pounded when i see that [name]” – Satisfied Customer
Note
Do you think the name "Pound" makes this a scam?
Do you think since the switch 2 hasn't been hacked this project is automatically a scam?
Do you think this project can't use switch 1 firmware dumps to set the foundation for when the switch 2 gets hacked?
Do you think the commits pushed to the main and arm64 branch are a scam?
Do you think the development progress posted on our discord are a scam?
If so then simply close this browser tab and move on.
if you have knowlege in Arm64 architecture please come to our server and help out. We have limited resources/time at the moment, if you want to contribute you are free to do so.
Overview
Join the Pound Discord Server!
Pound is an early-stage emulator for the Nintendo Switch 1 and 2, targeting Windows, Linux and macOS ( Intel and Apple Silicon).
Initial focus is on implementing the architectural similarities to the original Nintendo Switch. Later stages of development will address differences in hardware between the two console generations.
Disclaimer
The goal of this project is to experiment, research, and educate on the topic of emulation of modern devices and operating systems. It is not for enabling illegal activity. All information is obtained via reverse engineering of legally purchased devices and games and information made public on the internet (you'd be surprised what's indexed on Google...). We are not any way affiliated with Nintendo or NVidia.
How to Compile Pound
See the compilation guide for detailed instructions on how to compile Pound.
Codebase
Pound reuses selected components from existing Nintendo Switch 1 emulators, primarily Yuzu.
All third-party code is clearly documented and properly attributed in the relevant parts of the repository.
Contributing
See here before submitting a pull request.
License
- Distributed under the GNU GPL-2.0 license
Credits
- Parts of the emulator are based on code from the Yuzu project.