微软的6502 BASIC现已成为开源软件(2025)

Hacker News Top 工具

摘要

微软正式开源了1976年的原始6502 BASIC源代码,该代码曾驱动早期的Commodore和Apple II计算机,这标志着历史保存的一个里程碑。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/05/24 15:39

# 微软发布具有历史意义的 6502 BASIC | 微软开源博客 来源:https://opensource.microsoft.com/blog/2025/09/03/microsoft-open-source-historic-6502-basic/ 今天,我们真的要打开尘封的历史了。 几十年来,微软 6502 BASIC 的碎片和非官方副本一直在网上流传,被保存在复古计算网站和博物馆档案中。程序员们研究过这段代码,重建过它,甚至在现代系统上运行过它。而今天,我们首次正式打开舱门,以开源许可证的方式公开发布这段代码。 ## 微软的第一批产品:从 Altair 到 Commodore 64 微软 BASIC 始于 1975 年,是公司的第一款产品:一个为 Intel 8080 编写的 BASIC 解释器,由比尔·盖茨和保罗·艾伦为 Altair 8800 编写。该代码库很快被移植到其他 8 位 CPU 上,包括 MOS 6502、Motorola 6800 和 6809。您可以访问 Microsoft Learn 网站的“微软历史”视频系列(https://learn.microsoft.com/en-us/shows/history/history-of-microsoft-1975)了解更多这段时期的故事,并直接聆听比尔·盖茨的讲述,或访问比尔·盖茨的博客(https://www.gatesnotes.com/microsoft-original-source-code)。 6502 的移植版本由比尔·盖茨和 Ric Weiland 于 1976 年完成。1977 年,Commodore 以 25000 美元的一次性费用获得了许可,这项交易将微软 BASIC 置于 Commodore PET 计算机的核心,后来又用于 VIC-20 和 Commodore 64。这一决策使微软的 BASIC 成为 Commodore 机器的核心,帮助数百万新程序员通过输入以下内容学习编程: - 10 PRINT “HELLO” - 20 GOTO 10 这就是 **BASIC M6502 8K VER 1.1**,这条 6502 BASIC 分支驱动了整个家庭计算时代,并构成了 **Commodore BASIC** 在 PET、VIC-20 以及传奇的 Commodore 64 中的基础。同一个源代码树还包含了针对 **Apple II** 的改编版本(“Applesoft BASIC”),它基于相同的核心 BASIC 源码构建。原始文件头依然写着 **“BASIC M6502 8K VER 1.1 BY MICRO-SOFT”** —— 一个来自 1978 年的时间胶囊。 我们在此发布的版本——标记为“1.1”——包含了由 Commodore 发现并由 Commodore 工程师 John Feagans 和比尔·盖茨于 1978 年共同实现的垃圾回收器修复(当时 Feagans 前往微软 Bellevue 办公室)。这正是作为 PET 的“BASIC V2”发布的版本。它甚至包含一个比尔·盖茨玩心大发的彩蛋,隐藏在标签 STORDO 和 STORD0 中,盖茨本人在 2010 年也确认过这一点(https://www.pagetable.com/?p=43#comment-1033)。 ## MOS 6502 CPU 的持久魅力 MOS 6502 是 Apple II、Commodore 8 位系列、Atari 2600、任天堂娱乐系统以及更多设备的 CPU。它的简单性、效率和影响力至今仍激励着教育工作者、爱好者和硬件爱好者。 2025 年的今天,人们对它的兴趣依然浓厚。复古计算领域蓬勃发展,基于 FPGA 的重现、模拟器项目和活跃的开发社区层出不穷。随着一款由 FPGA 驱动的新款 Commodore 64(https://www.commodore.net/)的发布,Commodore 品牌强势回归,这是几十年来首款官方 Commodore 硬件。 ## 重建与保存微软 BASIC 多年来,专注的保存者们重建了构建环境,并验证了历史源码仍然可以生成精确到字节的 ROM。值得注意的是,Michael Steil(https://www.pagetable.com/?p=46)记录并重建了针对多个目标的原始 BASIC 构建流程。他将代码移植到 **cc65** 等汇编器上,使其能够在现代系统上构建和运行。 这次开源发布建立在这些工作的基础之上,并且现在附带了一份清晰、现代的许可证。继微软早些时候发布的 GW-BASIC(https://github.com/microsoft/GW-BASIC)之后,此版本源自同一血统,并曾搭载于原始 IBM PC 的 ROM 中。那段代码后来演变为 QBASIC,以及后来的 Visual Basic,后者至今仍是 Windows 应用开发所支持的语言。 从 1977 年闪烁的光标到 2025 年的 FPGA 构建,BASIC 依然小巧便携。现在,这个极具影响力的 6502 版本首次真正属于您——供您探索、修改和分享。 在新墨西哥自然历史科学博物馆展出的 Altair BASIC 清单。 “Altair Basic 标牌”由 Swtpc6800 拍摄,通过 Wikimedia Commons 以公有领域方式提供(https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fcommons.wikimedia.org%2Fw%2Findex.php%3Fcurid%3D10631089%26utm_source%3Dchatgpt.com&data=05%7C02%7Cv-kakrulek%40microsoft.com%7C7d1b02f3b20c48e6ec6608ddea537b6d%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C638924366490064048%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=yLT%2BxAfs%2B4p4WxVj5UPucOusck5ky%2FM0aAfpHlJSZO4%3D&reserved=0)。 (头像:一名男子直视镜头) Scott Hanselman 是微软/GitHub 的副总裁、技术团队成员,从事开源、Windows 相关工作,并在人工智能加持的时代为初入职场的工程师提供指导。作为拥有 30 多年经验的程序员、教师和演讲者,他曾参与 .NET、Azure 和开发者工具等工作。他主持 Hanselminutes 播客,在 hanselman.com 上写博客,并倡导开源、包容与人本科技。 查看更多该作者的文章(https://opensource.microsoft.com/blog/author/scott-hanselman/) (Stacey Haffner 的特写,她是微软 OSPO 总监) Stacey Haffner 微软 OSPO 总监 Stacey Haffner 是微软 OSPO 总监和开发者倡导者,专注于开源、人工智能和开发者工具的未来。十多年来,她一直是产品领导者、建设者和教育者,在初创公司和大型科技公司从事 .NET、Xbox、Unity 等众多项目。她同时也是一名独立游戏开发者,并在 YouTube (youtube.com/@staceyhaffner) 上教学。 查看更多该作者的文章(https://opensource.microsoft.com/blog/author/stacey-haffner/)

相似文章

Microsoft Comic Chat 现已开源

Hacker News Top

微软已将 Comic Chat 开源,这是一款 1990 年代的 IRC 客户端,可将文本对话转化为漫画面板,并向世界介绍了 Comic Sans 字体。该源代码现已在 GitHub 上供开发者和历史研究人员使用。

Boriel BASIC

Hacker News Top

Boriel BASIC 是一款现代开源的 BASIC 编译器 SDK,主要为 ZX Spectrum 设计,提供增强功能、整数类型以及内联汇编支持,适用于复古游戏开发。