AMAZINGINDEX.COM 日报快照
56.9
VOL. 2026.07
2026.07.22
← 返回 2026.07.22 日报
日报快照 · Daily Snapshot
NO. 021

浏览器里跑完整 IBM PC 模拟器

#ARTICLE HackerNews 2026.07.22
推荐指数 36.0 NO. 021 · 2026.07.22
发布2026/07/21Score141Comments13

PCjs 是一个纯 JavaScript 实现的复古硬件模拟器,支持在浏览器中运行 70-80 年代的 IBM PC、小型机、可编程计算器和街机游戏。对做 WebAssembly 性能优化或复古计算保护的开发者有参考价值,其 CPU 指令级模拟和磁盘镜像加载方案可直接借鉴。

做 Web 端模拟器的团队通常直接用 Emscripten 把 C/C++ 模拟器编译成 WASM,PCjs 选择纯 JavaScript 手写指令集反而是一个异类。这个决策在 2012 年项目启动时合理,但到今天其性能天花板明显——运行 8088 尚可,386 级别就吃力了。

真正值得借鉴的是它的磁盘镜像懒加载和 ROM 版权处理机制:把大型软盘镜像切片按需 fetch,用 ArrayBuffer 模拟内存映射 I/O,这套方案对现在做浏览器端 IDE、云游戏 demo 的团队依然有用。如果你在做类似浏览器版 DOSBox 的项目,PCjs 的代码结构比 DOSBox-X 的 WASM 移植干净得多,适合当参考实现快速上手。

正面 13 条评论

核心争论:复古计算模拟的怀旧价值与当代技术

CharlesW

I know I could've done this at any time, but I cannot wait to sit my kids down in front of full-screen Oregon Trail and King's Quest experiences.

zellyn

https://archive.org/details/MECC_A157_v11_4amCrack

trollbridge

Be cautious with this. My firstborn's first complete sentence was "King Graham fell" (from the sledding scene in King's Quest V).

替代方案: Tiny Emulatorsarchive.orgin-browser VMs
查看原文 →