CP/M Neo is a lightweight, CP/M-inspired operating system focused on simplicity and portability. It aims to provide an experience close to classic CP/M while adapting its architecture to modern hardware and different computing environments.
| Platform | Architecture | Storage | XIP | Status |
|---|---|---|---|---|
| VEMU | RISC-V | Emulated | Yes | ✅ Done |
| TinyMCU | RISC-V | — | — | ⏳ WIP |
| Blackpill F411 | ARM | Internal Flash | Yes | ⏳ WIP |
CP/M Neo requires a bare-metal cross-compiler toolchain for your target architecture (arch/<isa>/config.sh supplies the toolchain prefix and flags), make, and sh.
make -C sysgen
./sysgen/build/sysgen new --platform=vemuEverything outputs directly to sysgen/build/:
| File | Purpose |
|---|---|
disk.img |
Final disk image |
bootloader.bin |
Boot image |
core/int/kernel.bin |
kernel binary |
core/int/ccp.bin |
Console Command Processor (CCP) binary |
apps/ |
Bundled Apps |
To clean up the build environment, run:
make -C sysgen cleanSee the User Guide for the full build and execution walkthrough.
- CP/M-style Console Command Processor (CCP)
- Kernel syscall interface
- BDOS-inspired filesystem
- Hardware-independent architecture
- XIP (Execute in Place) support
- Application SDK
- sysgen tool for building and managing disk images
| Document | Description |
|---|---|
| User Guide | Build, run, and get started |
| CCP Reference | Console Command Processor guide |
| Disk Format | CP/M Neo disk image layout |
| Syscall Reference | Complete syscall API and ABI specifications |
| Bundled Apps | Apps auto-installed per platform (CONFIG_SYS_APPS/CONFIG_EXTRA_APPS) |
| Developer Guide | SDK usage, compiling applications, and adding platforms |
| Architecture | Memory layout, boot flow, and build internals |
Contributions to CP/M Neo are welcome!
If you'd like to contribute, see CONTRIBUTING.md for more info.
CP/M Neo is distributed under the terms of the open-source MIT.