RunCPM - Z80 CP/M 模拟器
RunCPM
ESP32
⭐⭐☆☆☆ (2/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 位操作系统的运行方式和文件系统结构。