C64 复古电脑控制器:基于 Arduino Nano 的多 ROM 切换与设备号设置
组件与材料
| 组件 | 数量 | 备注 |
|---|---|---|
| Arduino Nano R3 | 1 | 核心控制器 |
所需工具
- Arduino IDE
应用与在线服务
- Arduino IDE
项目简介
这是一个为 Commodore 64 (C64) 复古电脑设计的硬件扩展控制器。通过 Arduino Nano 配合 OLED/LCD 显示屏与旋钮编码器,实现对 C64 核心固件(Kernal、BASIC、字符集)的多版本切换,以及内置 SD2IEC 驱动器设备号 (8~11) 的动态设置。项目复现了经典 REPROM64 多 ROM 适配器的控制逻辑,让复古爱好者无需物理拨码开关即可在菜单中完成配置。
所需硬件清单
- 一台 C64 复古电脑
- 可选:内置 SD2IEC 驱动器
- 多 ROM 适配器(如 REPROM64)
- Arduino Nano [约 3€]
- OLED 128x64 显示屏 [约 3€]
- 可选:I2C LCD 模块 (16x2/20x2/20x4) [约 3€]
- 旋钮编码器 [约 1€]
所需软件库
- Arduino IDE
- LCDMenuLib2 - 菜单系统库
- U8g2 - OLED/LCD 图形库
核心功能
- 软复位 C64
- 从 4 个 Kernal ROM 中选择并自动复位
- 可选:从 2 个 BASIC ROM 中选择并自动复位
- 可选:从 4 个字符集中选择
- 可选:设置内置 SD2IEC 驱动器设备号 (8~11)
- 信息显示界面
REPROM64 适配器
REPROM64 是目前最优秀的 C64 多 ROM 适配器之一,Arduino 可直接驱动其控制引脚。详情请访问:官方页面
源代码仓库
- 本项目主代码:GitHub - C64-Controller
- 菜单库:LCDMenuLib2
- 显示库:U8g2
原理图

构建提示
- 确认 REPROM64 适配器引脚定义与代码中 `#define` 一致
- OLED 使用 I2C (A4/A5) 或 SPI 接线,按库示例初始化
- 旋钮编码器需接中断引脚 (D2/D3) 以获得可靠脉冲计数
- 菜单结构在 `LCDMenuLib2` 回调中定义,可按需增减选项
制造工艺
- 构建 CMMS 商业论证:量化维护效能与 ROI,赢取高层预算
- 止汗除臭棒:科学原理、历史与制造洞察
- 树莓派车库门开启器加视频流:磁性门状态传感器与实时画面集成
- DIY 蓝牙控制 Arduino 间谍小车
- FlickMote:基于手势的智能家居红外遥控器
- DIY Arduino TV-B-Gone:万能关机遥控器
- 用 Twilio 与 Yaler 让 Arduino UNO 接听电话 — “给 Arduino 打电话”项目
- 自制大尺寸LED主时钟带闹钟功能 — 12米外清晰可见
- Find Me:基于 Arduino 与蓝牙的智能寻物器制作指南
- Arduino 项目优化供电方案:从按键开关到电池监测与数据记录
- 自制尼克西管时钟:Arduino 驱动,MDF 木制外壳
- 基于电子层析成像的铅笔状GaN/(In,Ga)N核壳纳米线高分辨三维成像