Introduces the first unit tests for the ARM32 JIT decoder. A new script automatically generates a test case for every instruction in arm32.inc, providing 100% of the isa. This also includes a critical rework of the decoder's lookup table generation logic. The previous hashing method was flawed, causing build-time overflows and incorrect instruction matching (shadowing) for patterns with wildcards. The new algorithm correctly populates the lookup table. Signed-off-by: Ronald Caesar <github43132@proton.me> |
||
|---|---|---|
| .github | ||
| 3rd_Party | ||
| resources | ||
| scripts | ||
| src | ||
| tests/jit | ||
| .clang-format | ||
| .gitignore | ||
| .gitmodules | ||
| BARC-style-guide.pdf | ||
| CMakeLists.txt | ||
| CMakeSettings.json | ||
| COMPILING.md | ||
| CONTRIBUTING.md | ||
| LICENSE | ||
| README.md | ||
Pound
“i think of getting pounded when i see that [name]” – Satisfied Customer
Overview
IMPORTANT: THIS PROJECT WILL NOT BE READY FOR A DECADE MINIMUM!
Join the Pound Discord Server!
Pound is an early-stage emulator for the Nintendo Switch 1 and hopefully Switch 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.
Contributing
See here before submitting a pull request.
License
- Distributed under the GNU GPL-2.0 license