首页文章详情

硬核:程序员爆肝6个月从零手搓486主板,画原理图、焊芯片全搞定,Linux、DOOM、Win3.1都跑起来了

CSDN2026-01-26 21:19
原理图、PCB 文件、VHDL、BIOS 源代码,全都放在 GitHub 上

如果你对“手搓一块主板”这件事的理解,还停留在焊几个模块、插块现成芯片上,那程序员兼电子爱好者 Maniek86 的最新作品,可能会直接刷新你的认知。

最近,Maniek86 用了不到 6 个月时间,从原理图画起,自己设计印刷电路板(PCB)、实现芯片组逻辑,硬生生从零做出了一块完整可用的 Intel 486 架构主板。

更为值得关注的是,它不仅可以稳定运行 Linux、MS-DOS、FreeDOS 等系统,还能让《毁灭战士》、《德军总部 3D》等老牌经典游戏跑起来,在特定环境下也能成功运行 Windows 3.1。

这一切听起来像是一个小团队的成果,但实际上,均都出自 Maniek86 一人之手。此外,为了让更多爱好者可以亲手参与,Maniek86 还将项目在 GitHub 上开源了出来(https://github.com/maniekx86/M8SBC-486),供大家参考。

一切始于一个“小目标”

回过头看,Maniek86 最初的想法并不宏大。

他说自己只是想做一块“能跑 Linux 的复古主板”,然后再跑一下《毁灭战士》,作为性能和兼容性的验证标准。毕竟,对硬件玩家来说,“能不能跑 DOOM”堪称硬件圈的“万能考题”。

但事情很快开始“失控”。

在不断完善设计的过程中,Maniek86 发现:只要把 486 的工作方式还原到位,这块板子就不只是“能跑一个系统”,还能运行其他有趣的软件。

原本的玩具项目,似乎慢慢变成了一次完整的 PC 复刻实验。

不是“魔改”,而是从零开始

在项目官网上,Maniek86 分享了做这个项目的起点故事。

2025 年 4 月,Maniek86 在一块原型板上对自己之前制作的 486 自制电脑做了些优化,但很快发现那台电脑的规格并不理想,于是决定打造一款更出色的产品。

同年 8 月,他开始利用空闲时间勾勒设计草图。Maniek86 透露,「在此之前,PCBWay 曾赞助过我的几个小型项目(比如 ISA 扩展卡),我心想或许可以向他们申请再赞助一个更大规模的项目 —— 没想到他们欣然同意了!这给了我极大的动力,让我决心将这个想法彻底落地。」

于是,他真正开始编码、画原理图和设计 PCB。

他也特别强调,这个主板不是基于老旧参考设计改良,而是真正从头开始设计——包括芯片逻辑、引脚时序以及 BIOS 代码。  

这意味着,他要理解 486 CPU 的总线协议、时钟逻辑、中断控制、存储读写时序等诸多底层细节。

可想而知,自制主板既需要扎实的知识储备,更离不开过硬的技术能力。

在个人博客上,Maniek86 分享了首块电路板的焊接与测试经历。

他先从电阻、电容等小型 SMD 元器件入手,再逐一攻克 144 引脚 FPGA 芯片、ATMega128 微控制器等核心部件的高精度焊接,甚至为稀缺的 PGA 插槽想出了用 DIP 插座切割拼接的巧妙方案。

测试阶段同样波折不断,他遇到过购买的 SRAM 元器件贴标倒置导致的短路、8259 PIC 与 8254 PIT 封装混淆的设计失误、中断控制器缺失造成的 IRQ 线悬空等问题,还通过树莓派 Pico 自制 JTAG 编程线调试 FPGA,用异丙醇清洁电路板优化稳定性。

好在,他通过临时添加下拉电阻、自制 PLCC 转 DIP 适配器等方案,逐一化解难题。

最终,在示波器的辅助下,成功让 486 CPU 在自制主板上运行起无限循环程序。后续他又实现了 ISA 总线功能,完成 Trident TVGA8900C 等显卡的初始化,让主板成功进入文本显示模式,一步步完成了从硬件焊接、故障排查到基础功能验证的全流程突破,为后续运行 DOS、Linux 系统和经典游戏打下了基础。

“半兼容 PC”—— M8SBC-486 主板

这块板子被命名为 M8SBC-486,尺寸只有 150 × 150 mm,比常见的 Mini-ITX 还小一些。

「我将它称为“半兼容 PC”,因为它与早期标准 x86 架构 PC 有诸多共通之处,但缺少了次级可编程中断控制器(PIC)和直接内存访问(DMA)功能。不过根据我在这块主板上的测试,许多程序在缺少这些功能的情况下依然可以正常运行。」Maniek86 说道。

具体来看,M8SBC-486 的主要配置如下:

150 × 150 mm 四层 PCB,自定义孔位设计(尺寸略小于 170 × 170 mm 的 Mini-ITX 标准)

PGA-168 插槽,支持 5V 供电的 486 处理器

当前前端总线(FSB)频率为 24 MHz,DX2 处理器可运行在 48 MHz

当前系统运行在 24 MHz FSB

Xilinx Spartan II XC2S100 FPGA 作为芯片组(代号 Hamster 1)

4 MB SRAM

256 KB ROM 用于 BIOS(其中 224 KB 可访问)

8254 可编程定时器(PIT)

8259 可编程中断控制器(PIC)

两个 16 位 ISA 插槽

PS/2 键盘接口(控制器由 FPGA 实现)

简易 CMOS RTC 与 CMOS 存储(同样由 FPGA 实现)

ATMega128 微控制器,用于复位控制、非易失性 CMOS 存储以及 FPGA 比特流加载

系统、游戏,全跑起来了!

尽管 M8SBC-486 仍存在一些局限,比如目前尚未完整支持 ISA 即插即用(PnP)功能和直接内存访问(DMA),这导致声卡暂不支持(仅 AdLib 声卡可能兼容),软驱控制器也无法使用,但它的实际表现已然超出预期。

操作系统方面,它能顺利启动 MS-DOS、FreeDOS、Linux,其中 MS-DOS 需禁用 HIMEM 内存管理程序,FreeDOS 则可正常搭配 Jemmex、HIMEMX 等内存扩展程序使用。Linux 2.2.26 在经过自定义内核编译、通过飞线重定向 IDE 中断请求、配置相关内核参数及使用自定义引导程序后,也能稳定运行。甚至对 Windows 3.1(增强模式)也能部分支持,可启动并进入桌面实现键盘操作,仅鼠标功能无法正常使用。

在软件与游戏方面,《波斯王子》《德军总部 3D》《毁灭战士(FastDOOM)》等经典 DOS 游戏均可流畅运行。

Second Reality 演示程序、FastTracker II 音频编辑程序、3DBench 系列基准测试工具等也能正常工作,其中 FastTracker II 可通过“PC 扬声器”的“脉冲调制模式”或并口数模转换器实现声音输出。

更令人惊喜的是,这台机器还能通过串口进行简单网络实验,甚至搭建 Busybox HTTP 服务,充分证明了其具备部分 PC 兼容性。

项目已开源

M8SBC-486 之所以能引发广泛关注,很大一部分原因在于它完全开源。

原理图、PCB 文件、VHDL、BIOS 源代码,全都放在 GitHub 上。任何人都可以下载、复刻,甚至在此基础上继续折腾。社区已经开始贡献改进代码、实验脚本和新想法。

Maniek86 也坦然地表示,这块板子还有提升空间。未来,他希望进一步增强 PC 兼容性、完善 ISA 扩展,甚至尝试为其他 x86 CPU 做衍生设计。

这意味着,M8SBC-486 不是一个终点,而是一个开放的平台,每一次改进都可能带来新的可能。

参考:

https://maniek86.xyz/projects/m8sbc_486.php

https://www.tomshardware.com/video-games/retro-gaming/the-m8sbc-486-is-an-open-source-intel-486-mobo-built-from-scratch-in-under-6-months-the-original-idea-was-to-achieve-linux-and-doom-compatibility-but-it-achieves-far-more-than-that

https://maniek86.xyz/projects/m8sbc_486_board.php

本文来自微信公众号“CSDN”,整理:屠敏 ,36氪经授权发布。