-
-
Notifications
You must be signed in to change notification settings - Fork 1
Getting Started
Kevin Henderson edited this page Jul 1, 2026
·
4 revisions
| Dependency | Version | Notes |
|---|---|---|
| C++ compiler | C++20 | GCC 10+, Clang 12+, MSVC 2022 |
| CMake | 3.20+ | |
| FTXUI | v7.0.0 | Auto-fetched via FetchContent — no manual install needed |
| Qt6 | 6.x | Optional; disable with -DBUILD_QT6_UI=OFF
|
Qt6 is only required for the desktop GUI. Skip this if you only want the terminal UI.
# Fedora / RHEL
sudo dnf install qt6-qtbase-devel
# Ubuntu / Debian
sudo apt install qt6-base-dev
# macOS
brew install qt@6cmake -S . -B cmake-build-debug
cmake --build cmake-build-debug --target number_system_converter
./cmake-build-debug/number_system_convertercmake -S . -B cmake-build-debug
cmake --build cmake-build-debug --target clearCore-gui
./cmake-build-debug/clearCore-guicmake -S . -B cmake-build-debug -DBUILD_QT6_UI=OFF
cmake --build cmake-build-debugcmake -S . -B cmake-build-debug
cmake --build cmake-build-debug# Build all test targets
cmake --build cmake-build-debug --target \
decoder_test cpu_test processor_test nsc_tests qt_ui_test
# Run with output on failure
ctest --test-dir cmake-build-debug --output-on-failureAll 95 tests should pass. The test suite covers:
-
decoder_test— R/I/J format decoding, opcode + funct → mnemonic -
cpu_test— single-cycle CPU against known programs -
processor_test— polymorphic harness running bothSingleCycleCpuandPipelinedCputhrough identical programs -
nsc_tests— number system converter (parseBase, conversions) -
qt_ui_test— Qt6 smoke tests (skipped whenBUILD_QT6_UI=OFF)
The FTXUI terminal UI requires a real terminal with ANSI escape code support. It will not render correctly in:
- Windows
cmd.exewithout a compatibility layer - Some minimal CI/CD environments
Use a standard Linux/macOS terminal, Windows Terminal, or any terminal that supports 256-color ANSI sequences.
After launching number_system_converter:
- Tab 0 — Converter: Type a number in any base; the others update live.
- Tab 1 — CPU Dashboard: Load a program from Tab 3, then step through or auto-run.
- Tab 2 — CPU Config: Switch between single-cycle and pipelined mode at runtime.
- Tab 3 — Program Loader: Enter 32-bit instruction words in hex to load a program.
- Tab 4 — Signal Monitor: Watch the oscilloscope animation while the CPU runs.
See Terminal UI for a full description of each tab and its controls.