No description
Find a file
Ronald Caesar 768355712d
Merge branch 'arm64'
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>
2025-09-11 16:44:25 -04:00
.github/workflows re-add macOS ARM64 to the build.yml 2025-08-08 00:02:32 +01:00
3rd_Party kvm: Add framework for machine types and MMIO dispatch 2025-08-24 21:45:32 -04:00
resources new, better logo + fuck webp 2025-07-25 12:41:18 -04:00
src kvm: Add framework for machine types and MMIO dispatch 2025-08-24 21:45:32 -04:00
.clang-format add .clang-format 2025-08-10 02:10:06 -04:00
.gitignore arm64: Rename memory.h to guest.h 2025-08-16 18:17:59 -04:00
.gitmodules kvm: Add framework for machine types and MMIO dispatch 2025-08-24 21:45:32 -04:00
CMakeLists.txt kvm: Add framework for machine types and MMIO dispatch 2025-08-24 21:45:32 -04:00
CMakeSettings.json CMake, Big Cleanup, CI Build and 3rd_Party 2025-06-17 18:51:46 +02:00
Compatibility Compatibility Table made 2025-06-22 15:48:21 -04:00
CONTRIBUTING.md feat!: rewrote program in a data oriented style. 2025-08-02 04:05:05 -04:00
LICENSE Use GPL-2.0 2025-06-24 21:06:25 +02:00
README.md Update README.md 2025-09-01 11:04:44 +01:00





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

Credits

  • Parts of the emulator are based on code from the Yuzu project.