RunCPM - Z80 CP/M 模拟器 RunCPM

ESP32 2/5 已发布
MockbaTheBorg 485 Stars MIT BOM 完整度: 0/5 教程完整度: 0/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 的数字和模拟读写功能。

技术规格

模拟系统 Z80 CP/M 2.2
内存支持 60K 和 64K(可配置其他大小)
磁盘驱动器 A: 到 P:(最多 16 个)
用户区域 0 到 15(通过子文件夹管理)
编程语言 C
构建工具 Visual Studio 2013+、GCC/LLVM、Arduino IDE
支持平台 Windows、macOS、Linux、FreeBSD、Arduino DUE、Teensy 3.5+、ESP32、STM32
串口速度 默认 9600(可配置)
所需 RAM 至少 64K(嵌入式设备)
所需 Flash 至少 96K(嵌入式设备)

项目资源

物料清单 (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 文件

能力画像

⚪ 记忆与知识检索: 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 位操作系统的运行方式和文件系统结构。