首页 › weekly › 7个复古计算开源宝藏,越老越香

从 PS1 到 Game Boy:7 个复古计算开源宝藏仓库

本期换了个思路:不追 AI 独角兽,也不看 Web3 概念,而是钻进「复古计算」这个冷门但粘性极高的圈子——模拟器、幻想游戏机、老电脑复刻、掌机自制程序。这个领域的项目往往一维护就是十年以上,用户忠诚度堪比宗教,而且正在迎来一波复古游戏热的东风。本期 7 个仓库覆盖「玩老游戏」到「给老硬件写新程序」的完整链路,其中 2 个是 Star 不到 2000 的小而美遗珠。技术上横跨 C、C++、Objective-C、Lua,架构设计各有独到之处,非常适合想读真实工程代码的开发者「淘金」。


1. OpenEmu — 把十几个模拟器缝成一个 Mac 原生应用

仓库:OpenEmu/OpenEmu | Star 约 1.6 万 | 老牌项目,维护节奏偏慢但持续

Mac 用户想玩老游戏,第一反应往往是「每个模拟器一个界面、一套快捷键、一种手柄配置」,折腾三天,热情耗尽。OpenEmu 的答案简单粗暴:把 FC、SFC、GBA、N64、PSP 等几十个平台的模拟核心全部塞进一个 macOS 原生 App,用户看到的是一面游戏封面墙,底下是哪个核心在工作完全不感知。

实现上它采用了插件化的核心架构,模拟器内核以 Bundle 形式动态接入,主程序只负责统一的输入映射、存档管理和 UI。这套「聚合前端」的架构思路本身就是很好的学习样本——把 N 个异构工具收敛到一个统一体验层,这个模式放在任何领域(比如数据库管理、云服务控制台)都成立。上手难度:⭐,下载拖进 Applications 即可。适合 Mac 用户和 UI 架构学习者。直接变现空间不大,但「统一前端」的产品思路值得二次开发借鉴。

2. DuckStation — PS1 模拟器的当代天花板

仓库:stenzek/duckstation | Star 约 8 千+ | 更新极其活跃,几乎日更

如果说 OpenEmu 赢在广度,DuckStation 赢在深度。它是目前公认最好的 PS1 模拟器:把原生 320×240 的画面拉到 4K 渲染、用 PGXP 技术根治 PS1 标志性的「3D 模型疯狂抖动」、支持即时回溯(rewind)、快进、手柄震动、成就系统,Windows/macOS/Linux/Android 全平台覆盖。

技术上它是 C/C++ 写成的单机种模拟器典范:硬件级精度模拟 + 现代渲染管线并存,同时提供独立版和 libretro 核心两种形态。对想做「复古游戏云串流」的团队来说,这是现成的引擎底座。上手难度:⭐⭐,图形界面开箱即用,进阶设置(分辨率缩放、纹理替换)需要读文档。适合怀旧玩家、模拟器开发者和想研究「如何精确复刻硬件行为」的底层工程师。二次开发方向:怀旧游戏即服务(注意 BIOS 和游戏 ROM 的版权红线,模拟器本身合法,内容授权才是生意)。

3. RetroPie — 一条命令把树莓派变成客厅游戏机

仓库:RetroPie/RetroPie-Setup | Star 约 2 千+ | 长期活跃维护

树莓派最经典的玩法之一就是 RetroPie:刷一个镜像,接上 USB 手柄,插电,你的电视就变成了一台能玩几千个老游戏的复古主机。它是基于 Debian 的发行版,底层用 RetroArch 管理模拟核心,前端是玩家们熟悉的 EmulationStation(就是开机那个华丽的轮播封面界面)。

它的核心资产是那个 shell 写成的安装脚本仓库——几百个模块化脚本,负责在树莓派、PC、ODroid 等不同硬件上编译安装各类模拟器和驱动。想学习「如何用纯 shell 管理复杂的多平台软件部署」,这个仓库是活的教科书。上手难度:⭐⭐,官方镜像开箱即用,调装驱动和换主题需要一点 Linux 基础。适合硬件玩家和亲子场景。商业上「复古游戏机整机」曾是淘宝爆款,但要牢记红线:卖空机+开源系统合法,预装游戏 ROM 属于侵权,用自制 homebrew 内容才是安全路线。

4. TIC-80 — 装在终端里的幻想游戏机

仓库:nesbox/TIC-80 | Star 约 6 千 | 持续维护中

TIC-80 属于「fantasy console」品类:它模拟一台虚构的 8-bit 老游戏机——240×136 分辨率、16 色调色板、4 个声道音频——但一切都在你的电脑上运行。更妙的是它自带全套开发环境:代码编辑器(支持 Lua、JavaScript、Wren 等多种语言)、精灵编辑器、地图编辑器、音乐音效编辑器,全部在一个界面里,最终作品输出成一个「.tic 卡带文件」,单文件即可分享。

这个项目解决的是现代人做游戏的最大痛点:功能过载。Unity 有上千个菜单项,TIC-80 只有 16 种颜色——限制反而激发创造力,大量独立开发者在 itch.io 上发售自己的 TIC-80 作品。上手难度:⭐⭐⭐,需要会一点编程,但内置教程友好。适合学编程的青少年、game jam 玩家、想理解「卡带式游戏」如何打包的工程师。变现思路清晰:itch.io 卖卡带游戏、青少年编程课教具、品牌方定制复古小游戏。

5. 86Box — 在现代电脑里造一台 1998 年的 PC

仓库:86Box/86Box | Star 约 3 千 | 发版频繁,社区活跃

前面几个是「玩老游戏」,86Box 玩的是更大的:复刻整台老电脑。它是 PCem 的开源分支,模拟的不是「某个游戏的运行环境」,而是完整的 x86 硬件——主板芯片组、CPU(从 386 到 Pentium III)、显卡、声卡、软驱光驱,精确到总线时序。你可以选一块 440BX 主板,插一颗超频的 Celeron,装上 Windows 98,听熟悉的开机音乐。

与 DOSBox 这类抽象层模拟不同,86Box 是硬件级模拟,因此能跑老驱动、老外设、老反盗版狗——这让它在「数字保存」场景有真实价值:博物馆数字化、企业 legacy 软件迁移、老媒体格式抢救。上手难度:⭐⭐⭐⭐,需要自己搜集各主板的 BIOS ROM 文件和系统安装盘,属于硬核折腾向。适合计算机史爱好者和企业 IT 部门。二次开发方向:面向档案机构的「老软件运行即服务」。

6. dosbox-staging — 被 2000 星掩盖的工程质量标杆(小而美)

仓库:dosbox-staging/dosbox-staging | Star 约 1.5 千 | 活跃维护,发版规律

DOSBox 是模拟器界的活化石,但原版长期以「发布稀少、代码陈旧」著称。dosbox-staging 是社区发起的现代化分支:清理二十年积累的技术债、接入 Vulkan 渲染、改进 Wayland 支持、大幅升级 MT-32 和 General MIDI 音乐模拟(老 DOS 游戏的背景音乐瞬间焕发新生)、CI 全流程覆盖。Star 数不高,但代码质量和工程规范在模拟器圈子里是标杆级的。

很多人不知道的是,GOG 等老游戏发行平台多年来就是拿 DOSBox 给老游戏做封装的——「老游戏数字化发行」是一条被验证过的商业路径,而 dosbox-staging 这类项目就是它的技术底座。上手难度:⭐⭐,命令行配置,文档完善。适合 DOS 怀旧党和想参与知名开源项目的贡献者(它的 issue 区比 RetroArch 友好得多)。

7. awesome-gbdev — 给 Game Boy 写程序,从这里入门(小而美)

仓库:gbdev/awesome-gbdev | Star 约 1 千+(小众资料库) | 由 gbdev 社区长期维护

最后一个转向「创作侧」:不玩老游戏,而是给 1989 年的硬件写新程序。awesome-gbdev 是 Game Boy 自制程序(homebrew)开发的资源总目录:从 CPU 手册、显存布局文档,到 RGBDS 汇编器、GBDK-2020 这套 C 语言工具链,再到几十个可运行的示例工程和完整的入门教程路径。

Game Boy 是极好的逆向学习对象:4.19MHz 的 CPU、无操作系统、无缓存、无浮点,每一行代码都对硬件负责——现在几乎没有比它更适合理解「计算机到底怎么工作」的透明环境。上手难度:⭐⭐,跟着教程用 C 语言即可起步,汇编进阶较陡。适合嵌入式学习者、计算机专业学生和怀旧创作者。商业路径真实存在:homebrew 卡带实体发售和众筹在欧美已成小而成熟的生态。


本期横向对比

仓库 定位 Star(约) 上手难度 适用场景
OpenEmu Mac 模拟器聚合前端 1.6 万 ⭐ Mac 玩老游戏
DuckStation PS1 单机种模拟器 8 千+ ⭐⭐ 高清化怀旧/技术学习
RetroPie 树莓派游戏机发行版 2 千+ ⭐⭐ 客厅主机/硬件折腾
TIC-80 幻想游戏机 6 千 ⭐⭐⭐ 小游戏创作/编程教学
86Box 硬件级老 PC 模拟 3 千 ⭐⭐⭐⭐ 数字保存/硬核怀旧
dosbox-staging DOS 模拟现代化分支 1.5 千 ⭐⭐ DOS 游戏/工程学习
awesome-gbdev GB homebrew 资料库 1 千+ ⭐⭐ 嵌入式学习/卡带创作

本期生态一图流

mindmap
  root((复古计算生态))
    玩老游戏
      桌面前端
        OpenEmu
      单机种深度
        DuckStation
      整机方案
        RetroPie
    复刻老硬件
      86Box
      dosbox-staging
    创作新内容
      TIC-80
      awesome-gbdev

本期之最

参考来源

  1. OpenEmu/OpenEmu — 仓库主页及项目说明
  2. stenzek/duckstation — 仓库主页及 README 功能清单
  3. nesbox/TIC-80 — 幻想游戏机规格说明
  4. 86Box/86Box — 硬件级模拟器文档
  5. dosbox-staging/dosbox-staging — 项目 Wiki 与发布说明
  6. gbdev/awesome-gbdev — Game Boy 开发资源合集

注:本轮检索权限受限,未能实时抓取榜单数据。文中 Star 数为撰写时的约数,项目近况以各仓库页面实时显示为准。

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入