你有没有过这种时刻:你只是想写两行字,你的电脑先给你弹了三条通知,自动更新了一次,重启了两次,风扇开始唱歌。
我前段时间干了件蠢事,试图用一块 0.60 英镑的芯片,把这个问题绕过去。
绕法很原始:Raspberry Pi 的 RP2350,跑模拟器,模拟一台 1990 年代中期的 Macintosh,然后在上面跑 Photoshop。
不是全彩高细节照片那种,就是单色屏上的简单绘图。顺便还能跑 WordPerfect。
【灯光渐暗,桌上那台模拟出来的老 Mac 发出一声听不见的嗡鸣】
先把这笔账算清楚。
1989 年,《Personal Computer World》杂志评测里,Macintosh SE 标价 3495 英镑。我拿英格兰银行的通胀计算器换算了一下,约等于今天 9554 英镑。
九千五百五十四。
而我这一套,芯片加必要外设,一次性采购的少量零件,几英镑就搭起来了。当时我心里那个得意劲儿,大概跟白捡了一台一万镑的电脑差不多——我甚至在脑子里配了个类比,说这笔钱约等于在欧洲的咖啡馆点一杯咖啡加一块蛋糕。
现在回头看,这个类比有点糊弄人。
因为账从来不是这么算的。那块芯片确实有两个 150MHz 处理器,能扩到 4MB 内存和几个 GB 的存储,性能大致相当于九十年代中期的机器。这些我都认。
但"几英镑"之外的那部分,没人给我报销。
我为了让它跑起来花的那个晚上,按我时薪折算,够买好几台真机了。九千五百五十四买的是电脑吗?不是。
它买的是"你不用自己想为什么它不启动"。
这笔账我不敢往下算。
——
说回那个晚上。我确实渡了个劫。
流程本来应该是干净的:SD 卡格式化成 FAT,复制模拟器镜像,重命名成 umac0w.img,插进去,开机。
结果是启动循环。一遍,两遍,三遍。
【关于本次启动失败的裁定书】
经审理查明:被告(也就是我)面对一个几百兆的磁盘镜像,采用了肉眼排查法。
此法效率约等于用筷子夹豆腐——很努力,很没用。
裁定:被告的行为不构成技术故障,属于典型的状态机卡死——在"这肯定是我哪里弄错了"和"这破玩意儿根本就是坏的"之间来回横跳,跳了四十分钟,一次都没跳出去。
后来查出根因:Mac 系统在卡上加的那些额外文件。换到另一台 Linux 电脑上把这些文件删掉,它终于显灵了。
我特意用"根因"这个词,因为这件事配。有些问题只配叫"原因",这个配。
(友情提示:玩这类东西之前准备一台 Linux 机器。不是因为它更好用,是因为这类玄学问题的统一解都在那边。)
——
真跑起来之后,有件事出乎我意料。
在模拟的老 Mac 上敲 WordPerfect,体验意外地好。界面简洁,干扰明显比我的 MacBook 少。
重点不是"少"。
是没有。
我一度以为是我变自律了,后来想明白了,是它没得选。
它没有通知、没有标签页、没有"另外十九件你还没做的事"。它的干扰面等于零——因为在这台机器上,除了眼下这件事,没有别的事可干。
我不是变专注了,我是被物理隔离了。
这个结论我高兴了大概十分钟,然后就有点难过。因为这说明我平时干成一件事,靠的不是我自己,是一堆外部条件同时恰好成立。不是我想干,是我没得逃。
我在 MacBook 上敲字的时候,手指会自动去按 Cmd+Tab,像膝跳反射,按完都不知道自己要切到哪去。这个问题在老 Mac 上不存在。不是它治好了我。
是它根本没有 Tab 给你切。
行,这段有点丧了,打住。
——
更丧的是接下来发生的事。
我夸完它清静,转头就开始研究怎么给它加东西。
WiFi 芯片是能加的,有现成的路子。加完之后,人嘛,自然想到 4G、5G——这里卡住了,现代移动网络的复杂度,不是这枚小小的芯片能随便接住的。
然后是浏览器。现代网页对这台机器来说太复杂了,理论上得让一台更大型的计算机跑着转换软件当桥,把网页处理得能看懂,再喂给它。跑一个 Gemini 类的浏览器是可能的。
我坐在一台以"什么都不能干"为卖点的机器前,认真地规划怎么让它能刷网页。
这个行为该叫什么我不太确定。但它跟"断食第一天开始研究外卖软件"大概是同一块肌肉。
——
其实我本来还能更折腾一点。
有人早就把需要的东西开源出来了:ZeroFrank、Peter Mather 的 Pico Computer 3、PicoMiteHDMIUSB、还有 Olimex 的 RP2350pc。把电路图摊开看,这几块板之间的软件应该是可以互换的。硬件层能跑的东西一长串——BBC Micro 模拟器、Windows 95 风格的操作系统、80386 PC 模拟器、FUZIX 那种类 UNIX 的移植版,还有带图形和文本编辑器的 BASIC 解释器。
很美的画面。
然后我选了 Adafruit 的 Fruit Jam。理由我写得非常诚实:我的焊接技术不可靠。
这个判断我从宜家家具那儿就学会了。我不是在拧螺丝,我是在把螺丝劝进洞里。
(其实我没有任何真实的焊接事故可以分享,我的水平停留在"成品只保证发热"的传闻阶段。你们脑补一下,效果一样。)
Fruit Jam 的好处是它不用我动烙铁:自带 WiFi,有红外遥控,Circuit Python 镜像拿来就能用,HDMI 接屏幕、键盘当终端,Mac 模拟器现成,外壳还能 3D 打印。
(郑重声明:选择现成方案不等于我放弃了折腾,只是把折腾从焊点挪到了配置文件里。)
——
Fruit Jam 的坑也很实在。
它的电路布局跟别的板不一样,SD 卡走的是另一组 GPIO,USB 由 PIO 驱动。翻译成人话:别人写好的东西,你得改一改才能跑。
比如我想试 Fuzix 和 BBC Micro 模拟器,到今天还卡在 PIO USB 的支持上。
你可以感受一下这玩意儿有多分裂——它现成的演示软件里挂着联邦宇宙照片查看器、采样音乐键盘、DOOM、Commodore 64 模拟器和 80286 PC。
一台能跑 DOOM 的机器,在一项我压根没听说过的 USB 支持上卡死了。
我给这个故障定的等级是 P0。不是因为它重要,是因为我想让"我搞不定这个"这件事,看起来正式一点。
——
我还想塞进去的东西很多。Blaze VT420 终端模拟器、Oberon 的 RISC-V 移植、Smalltalk——对
