微软工程师真会整活,将.NET移植到40年前的任天堂NES

  Jonathan Peppers 是微软 .NET for Android /.NET MAUI 团队的首席软件工程师,近日他在微软 Build 2024 开发者大会上分享了一个有趣的主题 —— 在任天堂 NES 游戏机上运行 .NET,演示了 C# 程序在 1985 年的游戏机上运行的效果(游戏机采用 6502 微处理器)。

  Jonathan Peppers 表示这次尝试将 .NET 移植到 NES 学习到了逆向工程、操作码、MSIL(如何将 MSIL 转换为 6502 程序集)、API 设计、二进制格式和 .NET 开发经验等知识。

  他表示虽然成功移植不能玩任何游戏,主要是运行 Hello World 和其他简单的演示程序,但该项目依然很酷 —— —— 以及最重要的 “Nerd Flex”。

  他为这个项目取名「.NES」 ("dot" NES),据称为了能够在 NES 有限的硬件上运行 .NET,他精简了 .NET 多个组件,并修改了大量代码改善兼容性。

  .NES ("dot" NES) 源代码已托管至 GitHub:https://github.com/jonathanpeppers/dotnes