在 ZX Spectrum 上运行图形桌面系统

A graphical desktop for the ZX Spectrum

80 年代初,我渴望拥有 Atari ST 和 GEM 带来的图形界面体验,却只能拥有一台 ZX Spectrum。多年后,我用 Z80 汇编语言在 48K 内存的 ZX Spectrum 上实现了完整的图形桌面系统 ZX Desk。它支持重叠窗口、下拉菜单、事件队列和文件管理器,甚至能在真实硬件上流畅拖动窗口。这个项目不仅是对旧硬件极限的挑战,更是对测量与优化的极致追求。所有性能数据均来自真实测量,而非理论推算,为后来者提供了宝贵的参考。

很多答案比问题本身更有趣,几乎都来自于对机器的实测,而非理论推导。
  1. unnah

    相关项目:SymbOS 操作系统及其图形桌面是为 Amstrad CPC、MSX 和其他一些 Z80 机器开发的,完全由人工手动编写代码,首个版本发布于 2006 年。https://www.symbos.org/

    当然,对于 Commodore 64 来说,GEOS 桌面早在 1986 年就已经作为商业产品发布了。https://en.wikipedia.org/wiki/GEOS_(8-bit_operating_system)

  2. veltas

    这正是我长期以来一直想写的那种东西。虽然看起来像是 vibe coding(凭感觉写代码),但我很高兴有人做了这个项目,因为能看到这些机器还能做到什么程度真的很酷,而且看到 AI 本质上是如何被用作编译器的(因为输出的是汇编代码)也很有趣。

    如果作者能多讲讲他们具体做了什么,以及设计和演进过程中投入了哪些工作,而不是只给一个由 AI 生成的 README,我会更感兴趣。

  3. kalleboo

    > 三条赢得一席之地的规则:

    > 每个经过验证的工作成果提交一次,并在提交信息中包含验收编号

    项目:单次提交:“ZX Desk,首个版本”

    ???

  4. pmg101

    我在 Claude 里玩得很开心,让它为 BBC Micro 编写 6502 汇编代码。想象一下,有了这些新的编程代理,我们当年能在那些老机器上构建出什么东西,真是有趣!但这感觉是不是有点空洞呢?

  5. vilaca

    哇,我 12 岁左右的时候也做过很多类似的事情。我主要是在我的 +2A(那台灰色的机器)上尝试复刻 Amiga Workbench。

    显然,那个年纪我对编程和窗口管理器的了解并不深,而且我大多是从杂志上看到其他操作系统的。我甚至可能都不知道什么是“拖放”(drag-n-drop),对垃圾桶该干什么也有点困惑(我是从磁带加载代码的)。

    大概算是美好的回忆吧 :)。

  6. j4cobgarby

    它确实看起来真的很酷,我是认真的,但一边称之为“心血之作”(labour of love),另一边却让 AI 来写 README 和文档,这似乎有点矛盾。

  7. jakzurr

    这些确实是可爱的小小历史片段:

    https://duckduckgo.com/?q=zx+spectrum&ia=images&iax=images

  8. Andrew2565

    有人能推荐一个简单的、高级的图形桌面系统吗(也许是用汇编和 C 混合编写的)?最好附带良好的文档,或者甚至是一本配套教材?

同日更多故事

2026-09-19