![yes](https://user-images.githubusercontent.com/25423296/163456779-a8556205-d0a5-45e2-ac17-42d089e3c3f8.png)
HyperCPU is a set of programs, created to work with my own simple ISA. Project was created for fun, but took a lot of time, and i learned a lot in process. |
Important
Project is almost ready to be used. Wait for 1.0 release to try it out, or build it locally, test and report found issues.
Tools include:
- hCPU emulator
- hASM assembler
- hASM disassembler
Warning
Project requires compiler with C++23 support. CLang 19 and GCC 14 satisfy that requirement.
HyperCPU project has some external dependencies, like:
- re2
- libfmt
- googletest (optional, required for building tests on Release profile)
To install them, use the following listing:
APT-based distros:
sudo apt install libre2-dev libfmt-dev libgtest-dev googletest
Pacman-based distros:
sudo pacman -S re2 fmt gtest
Portage-based distros:
sudo emerge re2 libfmt gtest
git clone https://github.com/HyperWinX/HyperCPU --recursive && cd HyperCPU
cmake -S. -Bbuild -G "Ninja" -DCMAKE_BUILD_TYPE=Release
ninja -C build default -j8
That's all, all tools are built.
Available options:
- CMAKE_BUILD_TYPE:STRING - should be always specified. Release and Debug builds are available.
- HCPU_SANITIZERS_ENABLED:BOOL - sanitizers are always enabled even in Release build. Use -DHCPU_SANITIZERS_ENABLED:BOOL=OFF to disable them.
Building documentation requires sphinx installed. After you installed sphinx, go to docs directory and do:
make html
After that, you will get output in docs/_build/html directory. Open index.html to get started.