One ROM:一枚模块兼容所有复古 ROM

用一块微型 MCU 模块,直接插入原版 ROM 插座,软件仿真任意型号并行 ROM,单片硬件兼容数十种 ROM 规格,支持存储多套固件,实现免拆芯片在线更新。

One ROM:一枚模块兼容所有复古 ROM封面
oshw_hqzl2026-07-31 15:28:31MIT
53
Star

PCBA

设计文件

KiCad图标one-rom-main.zip20.31MB(1次下载)

其他附件

EDA查看器

复制嵌入代码

详细介绍

一、项目起源与设计目标

复古计算机、老式游戏机、合成器大量使用并行总线 EPROM(27 系列)与掩膜 ROM。这类芯片普遍面临三大痛点:

  1. 老旧芯片老化、数据丢失,备件稀缺;

  2. 传统 EEPROM 一片只能固化一套固件,更换系统必须换芯片;

  3. 不同型号 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:1 兼容原版 ROM 插座,直接直插替换,无需修改复古机器 PCB;

  2. 板载 USB-C 接口,用于固件烧录、运行时通信调试;

  3. 电平自动适配,支持 3.3V/5V 复古总线;

  4. 两层 PCB 设计,量产成本低;批量采购单价可低于 5 美元。

the latest Fire 24 pin

the latest Fire 28 pin

三、工作原理

One ROM 本质是总线实时仿真器

  1. 复古主机输出地址信号、片选信号到模块引脚;

  2. MCU 持续采样地址总线;

  3. 根据预先烧录的镜像文件,查询对应地址的数据;

  4. 在严格时序约束下,把数据输出到数据总线,模拟传统 ROM 读取行为;

  5. 固件完全通过软件配置 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 年代街机主板。

七、两种获取方式

  1. 自制:使用仓库硬件文件下单 PCB 打板,采购元器件焊接,自行编译固件;

  2. 购买成品:官网列出授权经销商,采购预焊接、预测试好的成品模块。

八、对比:One ROM vs 传统 EPROM/EEPROM

对比项

One ROM

传统 EPROM / EEPROM

固件容量

单片容纳最多 16 套固件,运行切换

一片仅能固化一套固件

重编程方式

原位 USB 刷新,无需取下芯片

必须拆下芯片,搭配专用烧录器

通用性

软件配置,兼容几十种 ROM 型号

硬件型号固定,互不通用

调试能力

总线日志、远程控制、动态切换

仅只读存储,无调试功能

短板

存在微小总线延迟,极少数极限时序设备需要调试;模块需要供电

功能单一,无法动态切换固件,老芯片易数据衰变

九、适用人群

复古计算机收藏维修玩家、老式音频设备维修师、复古硬件改装爱好者、复古计算机展会爱好者,解决老旧 ROM 芯片失传、频繁更换固件的痛点。

十、项目地址及License

https://github.com/piersfinlayson/one-rom

MIT License