一、项目起源与设计目标
复古计算机、老式游戏机、合成器大量使用并行总线 EPROM(27 系列)与掩膜 ROM。这类芯片普遍面临三大痛点:
老旧芯片老化、数据丢失,备件稀缺;
传统 EEPROM 一片只能固化一套固件,更换系统必须换芯片;
不同型号 ROM 引脚、片选逻辑不通用,维修者需要储备大量不同芯片。
项目目标:用一块微型 MCU 模块,直接插入原版 ROM 插座,软件仿真任意型号并行 ROM,单片硬件兼容数十种 ROM 规格,支持存储多套固件,实现免拆芯片在线更新。
二、硬件版本与硬件规格
硬件分为两大产品线,全部开源 PCB、原理图,可自行打板生产。
1. Fire 🔥(主推,RP2350 平台)
主控:树莓派 RP2350(双核 Cortex-M33 + PIO 可编程 IO)
核心优势:利用 PIO 硬件并行处理地址总线,时序延迟更低,支持对时序严苛的复古设备;GPIO 支持 5V 电平,完美适配 8 位复古电脑 5V 总线。
提供封装规格:24pin、28pin、32pin、40pin(兼容 Amiga A500 等 16 位设备 40pin ROM)
存储:内置 Flash 存储最多 16 组独立 ROM 镜像。
2. Ice ❄️(初代版本,STM32 平台)
主控:STM32F4 系列
定位:初代硬件,具备全部基础功能;单核心无硬件 PIO,高速时序兼容性弱于 Fire 版本,目前逐步被 Fire 取代。
3. 硬件通用特性
引脚 1:1 兼容原版 ROM 插座,直接直插替换,无需修改复古机器 PCB;
板载 USB-C 接口,用于固件烧录、运行时通信调试;
电平自动适配,支持 3.3V/5V 复古总线;
两层 PCB 设计,量产成本低;批量采购单价可低于 5 美元。
the latest Fire 24 pin | the latest Fire 28 pin |
|---|---|
![]() | ![]() |
三、工作原理
One ROM 本质是总线实时仿真器:
复古主机输出地址信号、片选信号到模块引脚;
MCU 持续采样地址总线;
根据预先烧录的镜像文件,查询对应地址的数据;
在严格时序约束下,把数据输出到数据总线,模拟传统 ROM 读取行为;
固件完全通过软件配置 ROM 型号、地址映射、片选逻辑,无需硬件跳线。
💡 Fire 版本依靠 RP2350 PIO 硬件回路处理总线,相比纯软件轮询的 STM32 Ice 版本,响应延迟显著降低,可以兼容时序要求严格的设备。
四、支持仿真芯片清单
ROM 型号(EPROM / 掩膜 ROM)
24Pin:2704、2716、2732、2316、2332、2364
28Pin:2764、27128、27256、27512、TC531000
32Pin:27C010、27C020、27C040、27C301
40Pin:27C400(用于 Amiga 等 16 位计算机)
RAM 支持
同时兼容静态 RAM:6116、62256 SRAM,可用于仿真内存模块。
五、核心功能详解
1. 多镜像存储 + 动态镜像切换
单片最多存储16 组不同 ROM 固件镜像;
运行时动态切换:机器通电运行状态下,切换固件镜像,不需要断电拔芯片;
单模块可替代多片独立 ROM:例如 Commodore64 系统内核 ROM + 字符集 ROM,两块芯片功能合并至 1 个 One ROM。
2. 全软件配置,无硬件跳线
传统 ROM 适配器依赖跳线设置片选、容量;One ROM 全部参数(ROM 型号、地址范围、片选极性、镜像分配)在电脑端软件配置,写入模块即可生效。
3. USB 便捷编程与在线刷新
USB 直连 PC,无需专用 ROM 烧录器;单次烧录耗时<10 秒;
原位刷新(In-situ reflash):芯片插在复古设备上,不用取下即可重新烧录固件;
支持浏览器 Web 端直接烧录(官方 Web 工具),不需要安装桌面软件。
4. 运行时交互调试
USB 链路可以在复古设备运行时:
实时输出总线访问日志;
远程下发指令切换 ROM 镜像;
读取系统运行遥测信息,方便故障排查。
六、兼容的复古硬件设备
覆盖主流 8 位 / 早期 16 位复古计算机、音频设备、街机:
Commodore 64 / VIC-20 / PET、BBC Micro、Apple II、Atari 8-bit 系列、TI-99/4A、CoCo、1541 软盘驱动器、Amiga A500/A1200、老式鼓机、模拟合成器、大量 80 年代街机主板。
七、两种获取方式
自制:使用仓库硬件文件下单 PCB 打板,采购元器件焊接,自行编译固件;
购买成品:官网列出授权经销商,采购预焊接、预测试好的成品模块。
八、对比:One ROM vs 传统 EPROM/EEPROM
对比项 | One ROM | 传统 EPROM / EEPROM |
|---|---|---|
固件容量 | 单片容纳最多 16 套固件,运行切换 | 一片仅能固化一套固件 |
重编程方式 | 原位 USB 刷新,无需取下芯片 | 必须拆下芯片,搭配专用烧录器 |
通用性 | 软件配置,兼容几十种 ROM 型号 | 硬件型号固定,互不通用 |
调试能力 | 总线日志、远程控制、动态切换 | 仅只读存储,无调试功能 |
短板 | 存在微小总线延迟,极少数极限时序设备需要调试;模块需要供电 | 功能单一,无法动态切换固件,老芯片易数据衰变 |
九、适用人群
复古计算机收藏维修玩家、老式音频设备维修师、复古硬件改装爱好者、复古计算机展会爱好者,解决老旧 ROM 芯片失传、频繁更换固件的痛点。
十、项目地址及License
https://github.com/piersfinlayson/one-rom
MIT License


