经典 PC demoscene 作品原生运行于浏览器
Classic PC demoscene productions running natively in the browser
将 1992 年和 1993 年的 Classic PC demoscene 作品,通过指令级重编译技术,让它们在现代浏览器中原生运行。项目首先利用 x86 模拟器记录 CPU 执行的每一块代码,随后将其逐条翻译为 C 语言,并保留精确的周期时序。生成的 C 代码被编译为 WebAssembly,并配合 timer、VGA 卡及 Sound Blaster 等硬件模型,最终实现与原始模拟器逐事件核对。这意味着 demos 自带的 loaders、music players 和 effects 完全复刻了当年的运行逻辑,仅硬件部分由模型模拟。由于原始 demos 在 VGA 70 Hz 下运行,在 70 Hz 或 140 Hz 以上的显示器上观看效果最佳。所有作品如 Unreal、Second Reality、Crystal Dream II 及 Stars: Wonders of the World 均以 freeware 形式提供,且原始文件未经修改。
demos 自带的 loaders、music players 和 effects 完全按照 1992 年和 1993 年的方式运行,只有硬件部分被建模模拟。
HN 评论区
131- velo_aprx
我理解能在浏览器里玩老 demo 挺不错,这没问题,但是……
求求了,别让 AI 沾上 demoscene。
我在 demoscene 圈子里活跃快 30 年了,它是我生活的重要组成部分,我真心担心人们用 AI 来构建工具和编写 demo 代码会毁了这一切,因为它会抹去这个圈子之所以有趣的核心原因。我想被真实人类的学识、技巧和创造力所震撼,而不是被你的提示词(prompt)能力所折服。
最重要的是,我讨厌那个 AI 重制(remaster)选项。它从来就不是为了看起来或听起来像那样而设计的。
- Retr0id
> 该 demo 运行在一个 x86 模拟器上,该模拟器会记录整个 demo 运行过程中 CPU 实际执行的每一块代码。
> 该记录被翻译成 C 语言——原始指令一对一转换,并保留模拟机器的精确周期时序。
这种方法相比周期精确(cycle-accurate)的模拟器有什么优势?(我猜可能是更快,得益于编译器优化?)
> 结果会与模拟器逐事件进行核对:每一个中断、端口访问和每一帧都在模拟时间的同一时刻对齐。
LLM 把它们的测试流程文档泄露到面向用户的输出中,这真是挺有意思的。
- Martin_Silenus
那是我在 demoscene 放弃的日子。当 PC 终结了 Atari ST 和 Amiga 的圈子时(抱歉把你们排在 amiguys 后面,但你们的生活一直更轻松 ;)),那时所有的魔法都源于固定硬件,没有海量的 MHz 和 RAM,我们追逐着那束不会等待的阴极射线,利用硬件漏洞去突破那些该死的上下左右边框,花上几个小时把头倒过来阅读那些难以辨认的滚动文字,看着拥有亿万种色彩的迷幻等离子效果……
然后我背叛了你们所有人:我因为 Doom 买了我的第一台丑陋的机器。我当时羞耻极了……
现在,只有 4KB 的 demo 还能让我稍微有点震撼。
感觉自己老了。
- alphasm
哇,这勾起了我的回忆!
我在 1994 年得到了我的第一台 PC(486 DX2-66),同年晚些时候又配了 Creative Soundblaster 声卡和音箱。Second reality 是我在那台 PC 上拥有的第一个 demo。我记得当时被它的图形和音频震撼得无以复加……我把它展示给了所有人。当然现在看起来有点老土,但当时我刚从 Commodore 64 升级过来!
- gregkb
这简直令人难以置信!虽然 90 年代 demoscene 制作可能开始转向使用 C 语言,但在我最活跃的时期(90-94 年),我们大多是手工编写汇编代码。内存“管理”顶多算是非常基础,代码和数据偶尔会分开。也许对 demo 来说这不是什么大问题,但对于较小的 intro 作品,在运行时写入代码可能不是日常操作,但也绝非闻所未闻。当时的一些图形模式几乎没有文档,甚至完全没有文档,所以能以此种精度将其运行起来真是相当了不起。只是有些当年的代码,放在今天可能通不过代码审查(PR review)。
- futurecat
几天前我发过这个:https://news.ycombinator.com/item?id=49982323
State of the Art 也被移植到了浏览器上。
- Sharlin
如果这背后没有人类的努力,那意义何在?你大可以直接观看这些 demo 的数以亿计的视频录像。在浏览器中“原生运行”本身并没有内在价值。更不用说 demoscene 本身就是对人类技巧和创造力的庆典,这其中存在着巨大的讽刺。
- gritzko
太有趣了。我最近移植了一些老策略游戏。Claude 几乎能全自动完成 http://replicated.live/blog/games