RunCPM - Z80 CP/M 模拟器 RunCPM

ESP32 ⭐⭐☆☆☆ (2/5) 已发布
MockbaTheBorg 485 Stars MIT BOM 完整度: /5 教程完整度: /5

项目简介

RunCPM是多平台便携Z80 CP/M 2.2模拟器。


RunCPM 是一款轻量级、跨平台的 Z80 CP/M 模拟器,完全由 C 语言编写,采用模块化架构设计。它的核心功能是在现代操作系统上直接运行经典的 8 位 CP/M 程序,支持 Windows、macOS、Linux、FreeBSD 等主流平台,甚至能在 Arduino DUE、Teensy、ESP32 和 STM32 等嵌入式硬件上运行。项目技术栈以标准 C 语言为主,通过抽象层实现跨平台移植,无需修改核心代码即可适配新环境。

标签

项目特点

**跨平台支持**:可在 Windows、macOS、Linux、FreeBSD 以及 Arduino DUE、Teensy、ESP32、STM32 等嵌入式设备上运行。
**模块化设计**:完全用 C 语言编写,移植到新平台只需编写一个抽象层文件,无需修改主代码模块。
**文件系统模拟**:使用主机上的常规文件夹模拟 CP/M 磁盘,无需磁盘映像,简化文件管理。
**多种 CCP 选项**:支持内部 CCP 以及来自真实 CP/M 计算机的多种二进制 CCP(如 CCP-DR、CCP-CCPZ、CCP-ZCPR2、CCP-ZCPR3、CCP-Z80)。
**用户区域支持**:支持 CP/M 用户区域(0-15),通过子文件夹自动创建和管理。
**自动化功能**:支持 AUTOEXEC.TXT 文件,可在启动时自动执行 CP/M 命令。
**打印支持**:允许打印到 PUN: 和 LST: 设备,生成 PUN.TXT 和 LST.TXT 文件。
**Arduino 扩展**:通过非标准 BDOS 调用支持 Arduino 的数字和模拟读写功能。

技术规格

模拟系统
内存支持
磁盘驱动器
用户区域
编程语言
构建工具
支持平台
串口速度
所需 RAM
所需 Flash

项目资源

物料清单 (BOM)

物料名称 数量 参考价格 备注
RunCPM 可执行文件 1 从源代码构建
CCP 二进制文件 1 根据所选 CCP 类型提供
主磁盘 A.ZIP 1 包含初始 CP/M 环境和工具
Arduino DUE 或 Teensy 3.5+ 或 ESP32 或 STM32 板 1 需要足够 RAM 和 Flash
SD 卡模块 1 用于存储 CP/M 文件(Arduino DUE 需要)
SD 卡 1 用于存储 CP/M 文件

所需工具

工具用途是否必需
C 编译器(GCC/LLVM/Visual Studio) 编译 RunCPM 源代码 ✅ 是
Arduino IDE 构建嵌入式版本 ▢ 推荐
串口终端 与 RunCPM 交互 ✅ 是
SD 卡读卡器 准备 SD 卡 ▢ 推荐

能力画像

记忆与知识检索
2/5
逻辑推演
3/5
表达与交流
1/5
感知与观察
1/5
数理与计算
3/5
动手与操作
3/5
狂热与坚持
2/5
创造与创新
2/5

所需技能

🔧 **动手能力**:需要能够连接和配置嵌入式硬件(如 Arduino、SD 卡模块),以及使用串口终端与设备交互。 💻 **编程能力**:需要具备 C 语言编程基础,能够使用命令行工具(如 make)进行构建,并理解编译和链接过程。 ⚡ **电子电路**:基本了解嵌入式开发板的连接和配置,能够处理 SD 卡模块的接线。

适用场景

**复古计算爱好者**:在现代化设备上运行和体验经典的 CP/M 8 位软件,如 Wordstar、dBase II 等。
**嵌入式开发学习**:通过将 CP/M 模拟器移植到 Arduino、ESP32 等嵌入式平台,学习嵌入式系统开发和交叉编译。
**软件考古与修复**:用于测试和修复旧的 Z80 CP/M 程序,如 MicroMumps 的恢复工作。
**教育用途**:作为计算机历史教学工具,展示 8 位操作系统的运行方式和文件系统结构。