1976年,两个年轻人,比尔·盖茨和瑞克·韦兰德,在简陋的环境里敲打代码。试图让当时炙手可热的MOS 6502芯片(当时只要25美元!)能运行一种叫BASIC的编程语言。他们成功了,写出了一个精悍到只有8KB的解释器核心。这,就是后来被称为“Microsoft BASIC for 6502”的传奇软件。

一场改变命运的授权

这个小小的程序,很快成了个人电脑革命的“点火器”。1977年,Commodore公司看中了它,一纸2.5万美元的授权协议,让它成为了Commodore PET、VIC-20,以及史上最畅销电脑之一Commodore 64的心脏。突然间,普通人买台电脑回家,开机就能直接敲入10 PRINT "HELLO WORLD",开启编程之旅。微软,也由此赚到了关键的“第一桶金”。

有趣的是,隔壁的苹果选择了另一条路。史蒂夫·沃兹尼亚克为Apple II亲手打造了更快的Integer BASIC,避开了微软的方案。这成了早期个人电脑市场一段微妙的“代码战争”。

源代码重见天日

近半个世纪后,2025年9月,微软做了一件让复古计算爱好者和技术史学家兴奋不已的事情:他们正式开源了这套MOS 6502 BASIC解释器的原始源代码,放到了GitHub上。

这不是代码第一次露面。2015年,一个1978年的版本曾被人“挖”出来并在网上流传,被戏称为“盖茨最古老的公开程序”。但这次不同,是微软官方授权,带着历史的印记——文件里还留着1976年的原始文件头和开发者签名。

GitHub上有什么?

这个开源项目不是单一版本,而是一个时间胶囊。它打包了从1977年到1982年间,为Commodore、Apple、Atari等不同机器优化过的九个历史版本。项目维护者极其用心,写了个脚本(./make.sh),能让你用现代工具重新编译这些老古董代码,并且能逐字节比对,确保生成的二进制文件和当年烧录在ROM里的一模一样!

你可以自由定制:想启用文件读写功能?想禁用行编辑?通过宏定义就能搞定。代码采用宽松的MIT开源许可证,意味着你可以自由研究、修改、甚至用在你的新项目里(比如给自制复古硬件用)。

盖茨的小玩笑

细心的探索者会在代码深处发现一个有趣的“签名”:STORDO 和 STORD0(注意是字母O和数字0的区别)。这可不是笔误!盖茨本人在2010年左右确认过,这是他当年故意埋下的一个小彩蛋(Easter Egg),给未来的代码考古学家一点小惊喜。

为什么它如此重要?

  • 技术考古的活标本: 这是理解早期个人电脑如何运作、软件如何在极其有限的资源(8KB!)下被精心优化的绝佳教材。你能看到栈操作(PHA/PLA)、状态寄存器处理等底层技巧。
  • 6502芯片的黄金搭档: MOS 6502芯片凭借其低成本和高效率(独特的零页寻址模式功不可没),驱动了Commodore 64、Apple II、NES游戏机等一代经典。这个BASIC解释器是它最著名的“灵魂伴侣”之一。
  • 编程普及的推手: 它极大地降低了编程门槛,让无数人(包括很多后来的程序员大牛)第一次体验了指挥计算机的乐趣。一句简单的10 PRINT "A LOOP" : 20 GOTO 10就能让屏幕信息滚动不停,这种即时反馈是启蒙的关键。

消息来源:https://opensource.microsoft.com/blog/2025/09/03/microsoft-open-source-historic-6502-basic/

源代码:https://github.com/microsoft/BASIC-M6502