在个人计算机的早期历史中,6502微处理器堪称一代传奇——它驱动了Apple II、Commodore 64、任天堂FC等无数经典设备。如今,一位名叫Nicolas的法国极客(网名“Nicolas”)从零开始打造了一台全新的6502计算机,并将其命名为“Memo-1”。更令人惊叹的是,这台计算机的终端居然是一台上世纪80年代法国家庭常见的Minitel终端。这一项目迅速在复古计算爱好者圈内引发热议,成为一场关于硬件设计韧性与历史重逢的绝佳叙事。

为何选择6502与Minitel?

Minitel是法国电信于1980年代推出的视频终端系统,曾是法国人查询电话簿、订购车票、进行银行转账的“网络入口”,直到2012年才正式退役。Nicolas选择Minitel作为Memo-1的终端,既表达了对法国科技遗产的致敬,也带来了实际的技术挑战——Minitel的通信协议为Videotex,采用异步串行通信(通常为1200波特),且使用专用的字符集和传输控制码。要将一台自制的6502电脑与它完美匹配,就必须实现完整的RS232串行接口和软件协议栈。

而6502的选用则更为纯粹:Nicolas认为这款芯片是“最具教育意义的处理器”,有着极简的指令集和清晰的地址总线设计,非常适合从零学习计算机架构。他曾在博客中写道:“理解计算机的最好方式就是把它造出来。”

从面包板到成品:Memo-1的硬件架构

整个项目耗时约四个月,从第一块面包板起步,最终定型为一块双面PCB。Memo-1的核心硬件包括:

  • 主CPU:W65C02S(一种现代CMOS版本的6502),运行频率约为4 MHz。
  • 内存:32 KB的静态RAM(6264芯片),以及一个27C256 EPROM用于存放监控程序(monitor)。
  • 串行接口:通过一个6850 ACIA(异步通信接口适配器)实现与Minitel的串行连接,速率设定为1200波特,8位数据,无奇偶校验,1位停止位。
  • 显示与键盘:完全依赖Minitel——Minitel本身自带9英寸单色CRT显示器和全键盘,Memo-1只需通过串口向它发送字符数据和控制码(如换行、清屏、光标移动等)。
  • 扩展能力:板上有两个40引脚扩展槽,计划用于后续添加软盘控制器、VGA输出、甚至网络接口。

值得注意的是,Memo-1没有使用任何高级的微控制器或可编程逻辑器件——所有地址译码和总线控制均由分立逻辑门(如7400系列芯片)完成,这使得整台机器完全“透明”,每一路信号都可以用逻辑分析仪或示波器轻松追踪。

软件与监控程序

启动后,Memo-1的监控程序会通过串口在Minitel上显示一个简单的提示符(*),用户可输入十六进制地址和数据来直接读写内存、执行机器码、或跳转到某一地址。Nicolas还实现了一个简单的汇编器(汇编语言的子集),允许用户直接在终端上编写简短程序并运行。例如,一段点亮Minitel字符反转属性的Demo代码,只需十几条指令即可完成。

此外,他还为Memo-1编写了一个“Basic”语言的简易解释器(基于Tiny BASIC),虽然功能有限(仅支持整数运算、变量、GOTO、IF等),但足以让这台小机器运行如“猜数字”或“斐波那契数列”这样的互动程序。

意义与启示

Memo-1并非追求性能,而是一次彻底的“从零开始”的工程实践。在FPGA和树莓派泛滥的时代,Nicolas选择用最原始的方式——自己设计PCB、焊接收发器、调试时序——重新走一遍计算机的发展之路。这一项目不仅展示了一位硬件工程师的执着,也证明了6502架构并未过时:它的功耗极低、文档详实、周边芯片丰富,至今仍有公司(如Western Design Center)在生产和供应。

更重要的是,对于Minitel这样的历史设备,Memo-1赋予了它第二次生命。过去,Minitel只是一个“哑终端”,接入的是法国电信的封闭网络;现在,它却成了一台可编程、可扩展的个人计算机的显示与输入设备。这种“旧瓶装新酒”的思路,在复古计算社区中极具启发性。

开源与未来

目前,Memo-1的完整设计资料(原理图、PCB文件、ROM镜像、监控程序源代码)已全部开源,托管在GitHub上。Nicolas鼓励其他爱好者复制或改进这一设计,例如换用更快的CPU(如65C816)、增加MMU扩展内存、或连接现代LCD显示屏。

Nicolas表示,他的下一个目标是让Memo-1运行一个简单的磁盘操作系统,并通过软盘引导高级语言。对于这位沉迷于6502世界的法国工程师来说,Memo-1并非终点,而是一段通往过去与未来的漫长探索的起点。

在数字世界日益抽象化的今天,Memo-1提醒我们:每一行代码背后,都有一道电流在一条条导线上奔腾;每一帧画面背后,都有一段时钟周期在硅晶圆间绽放。这或许正是复古计算最动人的地方。