Thoreau BASIC:在 UEFI 和 Windows 上复活 GW-BASIC

Show HN: I wrote a BASIC interpreter that boots on UEFI machines

Thoreau BASIC:在 UEFI 和 Windows 上复活 GW-BASIC

我编写了一个名为 Thoreau BASIC 的 GW-BASIC 兼容解释器,它不仅能直接在 UEFI 固件上启动运行,还推出了 Windows 版本。这个项目打破了传统 BASIC 的 64KB 内存限制,利用现代硬件的数 GB 内存,支持数十亿元素的数组。它保留了 PSET、LINE 等经典图形指令,同时支持 24 位真彩和 BMP 位图操作。通过引入行级令牌缓存和优先级爬升表达式求值器,计算性能提升了约 25 倍,让 Mandelbrot 分形和 Conway 生命游戏等经典程序在现代机器上流畅运行。这是一个在保留复古编程体验的同时,拥抱现代硬件能力的实验性工具。

通过引入行级令牌缓存、优先级爬升表达式求值器和变量槽缓存,计算密集型程序的速度提升了约 25 倍。
  1. Rygian

    "机器启动即进入 BASIC 模式" :-)

    我 8 岁或 9 岁时,ZX Spectrum +2 到了我家。

    我正在认真考虑在一台旧笔记本上安装这个,等我儿子 8 岁时送给他,同时附上一本 BASIC 参考手册的纸质版,以及几个可以手打的简单程序和游戏。

    第一天就能用上 FAT32 文件系统,这比我小时候从磁带加载的体验已经有了巨大的飞跃。

  2. roryirvine

    不是 FOSS?这真让人遗憾。

    我是在 8 位微机上学会编程的,大约 15 年前,我曾遵循 JeOS 模式做过一个粗糙的启动即 BASIC 的实验。所以这个项目听起来非常令人兴奋,但如果我不能作为主动参与者而只能是被动的终端用户,我的兴趣就会大打折扣。

  3. JoeAltmaier

    非常酷!裸机启动部分令人印象深刻。

    BASIC 需要的支持比你想象的要多。这里有一个解释器,它也有一个同样长的功能支持列表:

    https://www.moondew.com/basic/index.htm

  4. glimshe

    这是一个很棒的项目。你是如何处理数据的保存和加载的?你提到了文件操作,但你需要某种文件系统——也许是 FAT32——来支持它。如果要在 UEFI 上使用,我肯定需要这个。

    你可以用 David Ahl 的《101 BASIC Computers Games》这本书来做更多的测试用例。游戏总是能鼓励人们使用电脑,这绝对是经典中的经典!

  5. dlcarrier

    我是在 Commodore 64 和 90 年代的 QBASIC 上学会编程的。我会去试试。

    考虑到它支持的功能之多,如果它能链式加载完整的操作系统,那它就可以成为 GRUB 或 rEFIt 的绝佳替代品。

同日更多故事

2026-08-25