每当有人投身软件爱好项目时,他们往往会尝试在各类奇特设备上运行《毁灭战士》(Doom),比如欧洲航天局的卫星。而程序员何春晖(He Chunhui)带来了一丝新意:他决定在微小的ESP32-S3微控制器开发板上构建一个可运行i386的PC模拟器。这个名为Tiny386的项目不仅能启动Windows 95和Linux系统,大概率也能运行《毁灭战士》。

该项目提供了对主CPU及其可选x87浮点运算单元的模拟。仅有处理器还不足以构成完整PC,因此何春晖从TinyEMU、QEMU和Seabios项目中移植了大量基础外设:包括BIOS及其输入输出模块、VGA显卡、IDE磁盘控制器,甚至还有声霸卡16(Sound Blaster 16)声卡。鉴于ESP开发板没有可用的外设接口,键盘和鼠标输入均通过Wi-Fi传输至模拟器。
何春晖采用的JC3248W535微控制器开发板在阿里Express售价25至30美元,这个价格已包含一块不错的3.5英寸显示屏。该芯片内置双核CPU、DSP、Wi-Fi与蓝牙模块,以及多种形态的I/O微控制器连接器。但关键在于,ESP32-S3作为更简洁的设备,其运算能力远不及树莓派等开发板。
开发者自称这款模拟器“简单直接”且缺少部分功能,但强调其“应能运行大多数16/32位软件”。鉴于Linux系统早已停止对i386处理器的支持,何春晖为模拟器添加了部分486和奔腾(Pentium)指令集,使虚拟机甚至能在无需BIOS的情况下启动现代Linux系统和Windows NT。
模拟器核心约6,000行代码,完全采用C99标准从头编写,这种设计使其具备良好的可移植性——作者在GitHub仓库中特别强调了这一点。感兴趣的爱好者可通过WebAssembly演示查看模拟器运行效果,或观看YouTube演示视频。目睹Windows 3.2和Windows 95在拇指大小的25美元芯片上启动的场景,永远令人惊叹不已。



