Trident TVGA8900C显卡
搜索文档
程序员爆肝 6 个月从零手搓 486 主板,画原理图、焊芯片全搞定,Linux、DOOM、Win3.1 都跑起来了
程序员的那些事· 2026-01-29 12:30
项目概述 - 程序员兼电子爱好者Maniek86在不到6个月时间内,从零开始设计并制造出一块完整可用的Intel 486架构主板,命名为M8SBC-486 [1] - 该项目并非基于老旧参考设计改良,而是真正从头开始设计,包括芯片逻辑、引脚时序以及BIOS代码 [9] - 项目成果是一个“半兼容PC”,与早期标准x86架构PC有诸多共通之处,但缺少次级可编程中断控制器和直接内存访问功能 [19] - 项目已在GitHub上完全开源,包含原理图、PCB文件、VHDL、BIOS源代码,供爱好者参考和复刻 [3][25] 项目动机与历程 - 项目最初的想法是制作一块“能跑Linux的复古主板”,并以能否运行《毁灭战士》作为性能和兼容性的验证标准 [4] - 在优化其早期自制486电脑时,Maniek86发现规格不理想,于2025年8月开始利用空闲时间设计更出色的产品 [8] - 项目获得了PCBWay的赞助,这给予了Maniek86极大的动力将想法彻底落地 [8] - 在完善设计过程中,项目从最初的玩具演变成一次完整的PC复刻实验 [6][7] 技术挑战与实现 - 自制主板需要深入理解486 CPU的总线协议、时钟逻辑、中断控制、存储读写时序等诸多底层细节 [10] - 制造过程涉及高精度焊接,包括144引脚FPGA芯片、ATMega128微控制器等核心部件,并为稀缺的PGA插槽想出了用DIP插座切割拼接的巧妙方案 [12] - 测试阶段遇到诸多问题,如SRAM元器件贴标倒置导致短路、8259 PIC与8254 PIT封装混淆、中断控制器缺失造成IRQ线悬空等 [14] - 通过临时添加下拉电阻、自制PLCC转DIP适配器、用树莓派Pico自制JTAG编程线调试FPGA等方案逐一化解难题 [14][16] - 最终成功让486 CPU在自制主板上运行起无限循环程序,并实现了ISA总线功能,完成显卡初始化,进入文本显示模式 [16] 主板规格与配置 - 主板命名为M8SBC-486,尺寸为150 × 150 mm,比常见的Mini-ITX(170 × 170 mm)还小 [17][20] - 采用四层PCB,自定义孔位设计,支持5V供电的486处理器 [20] - 当前前端总线频率为24 MHz,DX2处理器可运行在48 MHz [20] - 使用Xilinx Spartan II XC2S100 FPGA作为芯片组(代号Hamster 1) [20] - 配备4 MB SRAM,256 KB ROM用于BIOS(其中224 KB可访问) [20] - 集成8254可编程定时器、8259可编程中断控制器、两个16位ISA插槽、PS/2键盘接口(由FPGA实现)、简易CMOS RTC与CMOS存储(由FPGA实现)以及用于复位控制等的ATMega128微控制器 [20] 系统与软件兼容性 - 主板能顺利启动MS-DOS、FreeDOS、Linux 2.2.26,甚至能部分支持Windows 3.1(增强模式),可启动并进入桌面实现键盘操作,仅鼠标功能无法正常使用 [21] - 《波斯王子》、《德军总部 3D》、《毁灭战士(FastDOOM)》等经典DOS游戏均可流畅运行 [23] - Second Reality演示程序、FastTracker II音频编辑程序、3DBench系列基准测试工具等也能正常工作 [23] - 可通过串口进行简单网络实验,甚至搭建Busybox HTTP服务,证明了其具备部分PC兼容性 [24] - 目前存在一些局限,如尚未完整支持ISA即插即用功能和直接内存访问,导致声卡暂不支持(仅AdLib声卡可能兼容),软驱控制器也无法使用 [21] 项目影响与未来 - 该项目在GitHub上获得了广泛关注,截至信息发布时,项目已获得101个星标和4个复刻 [26] - Maniek86坦承主板还有提升空间,未来希望进一步增强PC兼容性、完善ISA扩展,甚至尝试为其他x86 CPU做衍生设计 [26] - M8SBC-486被视为一个开放的平台,而非终点,每一次改进都可能带来新的可能 [27]