Core85 is a cross-platform Intel 8085 emulator and educational simulator built in modern C++17 with a Qt 6 desktop frontend. Version 1.0 includes a Qt debugger-style GUI, a two-pass assembler, Intel HEX support, instruction-level test coverage, and packaging via CMake/CPack.
The project is driven by docs/Core85_SRS_v1.0.docx. The emulator core in src/core/ remains Qt-free and is linked into the GUI from src/gui/.
- complete 8085 execution engine with instruction, flag, and timing validation
- two-pass assembler with labels, directives, and Intel HEX import/export
- debugger-oriented Qt GUI with editor, Problems panel, register view, memory view, and I/O widgets
- onboarding flow, session persistence, recent files/folders, and keyboard-first debugging workflow
- 2-digit 7-segment display, LED panel, and switch input teaching peripherals
- CMake install rules plus archive and installer packaging for macOS, Windows, and Linux release artefacts
Core85/
├── CMakeLists.txt
├── README.md
├── RELEASE_NOTES_v1.0.md
├── NOTICES.md
├── runbook.md
├── docs/
│ └── Core85_SRS_v1.0.docx
├── src/
│ ├── core/
│ └── gui/
├── tests/
│ ├── asm/
│ └── test_*.cpp
└── .github/
└── workflows/
- CMake
3.25+ - C++17 compiler
- Clang
15+ - GCC
12+ - MSVC 2022
- Clang
- Qt
6.xwithWidgetsfor the GUI - internet access during configure if
googletestis fetched viaFetchContent
cmake -S . -B buildOn macOS with Homebrew Qt:
cmake -S . -B build -G Ninja -DCMAKE_PREFIX_PATH="$(brew --prefix)/opt/qt"cmake -S . -B build -DCORE85_BUILD_GUI=OFFcmake --build buildctest --test-dir build --output-on-failurecmake --build build --target runBinary packages are produced with CPack after a GUI-enabled configure:
cmake --build build --target packagePlatform defaults:
- macOS:
.ziparchive and.dmginstaller - Windows:
.ziparchive and.exeNSIS installer - Linux:
.tar.gzarchive and.debpackage
The install tree includes:
core85_guiapplication artefactcore85_libstatic library- public core headers
- example assembly programs from
tests/asm/ - release docs and notices
Core85 installs runtime and developer-facing artefacts through standard CMake install directories:
- binaries/bundles to
${CMAKE_INSTALL_BINDIR}or app bundle root - static library to
${CMAKE_INSTALL_LIBDIR} - core headers to
${CMAKE_INSTALL_INCLUDEDIR}/core85/core - documentation to
${CMAKE_INSTALL_DOCDIR} - sample programs to
${CMAKE_INSTALL_DATADIR}/core85/examples
The project currently ships with a large GTest suite covering CPU behavior, assembler behavior, interrupts, memory, I/O, and opcode-matrix validation.
Typical local validation:
cmake --build build
ctest --test-dir build --output-on-failure
cmake --build build --target package- SRS: docs/Core85_SRS_v1.0.docx
- engineering workflow: runbook.md
- release summary: RELEASE_NOTES_v1.0.md
- notices and packaging/legal notes: NOTICES.md