上周,一个名为N64重编译的项目一经发布就震撼了整个N64 怀旧模拟圈。
因为这项技术终于攻破了任天堂的N64游戏的主机的底层代码,
可以批量静态编译任何N64游戏的二进制代码编译成基础C语言的代码
--------------------
得益于此项目的进展,我们终于可以使任何N64的游戏的跨平台的原生移植成为可能,不用再需要任何的N64模拟器,可以添加任何移植者想添加的功能。
---------------------------------------
目前已经有开发者使用此工具进行重编译N64版本的《塞尔达传说:梅祖拉的假面》,成功移植到PC的原生平台
现在让我来解释一下这个项目的伟大之处!
到目前为止,N64 模拟器已经存在 20 多年了,但模拟和反编译之间存在巨大差异。本质上,反编译项目从游戏中获取原始机器代码,然后尝试对编译成相同内容的代码进行逆向工程。结果是人类可读的代码,可以对其进行调整以改进或修改现代硬件上的游戏。
反编译本身已经存在很长时间了,但对于 N64 等更难的平台,反编译一款游戏通常需要几年时间。然而,反编译结果远比模拟器所能产生的任何结果都要好。例如,《超级马里奥 64》直到在 2020 年才被被完全反编译,从而支持宽屏输出、改进的帧速率,甚至支持这款近 28 年历史的游戏的光线追踪。
作为参考,《超级马里奥 64》最初以 320 x 240 的分辨率运行,帧率范围为 20 到 30 fps。44 毫米版 Apple Watch 的分辨率为 368 x 448,成交量比 Nintendo 64 扩展包小,后者的 RAM 高达 4MB。(是主机自带内存的两倍)
现在可以在几秒钟内生成 Nintendo 64 端口。
这些努力也让 Kaze Emanuar 等疯狂的小伙子能够优化源代码,使其在原始硬件上运行得更好。通过逐行检查代码,Kaze 显著提高了渲染速度,帧率提高了 50%。这些结果是两年前的,所以它可能已经进一步优化了。
同样,这个过程通常需要数年时间和大量的专业知识,但生成的代码随后可以被其他开发人员移植到其他平台上。这就是我上面提到的《Majora’s Mask》移植版所发生的事情。每个开发人员的努力都建立在其他人的努力之上,从而形成了一个强大的模组和其他资产库。
---------------------------------------------------------
现在,新出的这项N64批量编译可以将这一过程加快几天或几周。
静态重新编译器本质上是将 ROM 代码逆向工程的过程自动化,将一项漫长而费力的任务变成只需几秒钟就能完成的任务。重要的是,结果也是经过编译的,因此无需调整任何源代码。不过,结果通常可以直接使用,这是一项了不起的成就。
就在上个月,一位名叫 Wiseguy 的开发人员宣布,他们使用静态重编译器在短短两天内就创建了《Majora’s Mask》的可玩版本。原生 PC 端口支持大多数(但不是全部)与反编译相同的现代功能,为更快速的端口打开了闸门。
目前,Wiseguy 预计该流程将适用于几乎整个 N64 库,并且已经为许多游戏提供了可用的移植版本。
因为这项技术终于攻破了任天堂的N64游戏的主机的底层代码,
可以批量静态编译任何N64游戏的二进制代码编译成基础C语言的代码
--------------------
得益于此项目的进展,我们终于可以使任何N64的游戏的跨平台的原生移植成为可能,不用再需要任何的N64模拟器,可以添加任何移植者想添加的功能。
---------------------------------------
目前已经有开发者使用此工具进行重编译N64版本的《塞尔达传说:梅祖拉的假面》,成功移植到PC的原生平台
现在让我来解释一下这个项目的伟大之处!
到目前为止,N64 模拟器已经存在 20 多年了,但模拟和反编译之间存在巨大差异。本质上,反编译项目从游戏中获取原始机器代码,然后尝试对编译成相同内容的代码进行逆向工程。结果是人类可读的代码,可以对其进行调整以改进或修改现代硬件上的游戏。
反编译本身已经存在很长时间了,但对于 N64 等更难的平台,反编译一款游戏通常需要几年时间。然而,反编译结果远比模拟器所能产生的任何结果都要好。例如,《超级马里奥 64》直到在 2020 年才被被完全反编译,从而支持宽屏输出、改进的帧速率,甚至支持这款近 28 年历史的游戏的光线追踪。
作为参考,《超级马里奥 64》最初以 320 x 240 的分辨率运行,帧率范围为 20 到 30 fps。44 毫米版 Apple Watch 的分辨率为 368 x 448,成交量比 Nintendo 64 扩展包小,后者的 RAM 高达 4MB。(是主机自带内存的两倍)
现在可以在几秒钟内生成 Nintendo 64 端口。
这些努力也让 Kaze Emanuar 等疯狂的小伙子能够优化源代码,使其在原始硬件上运行得更好。通过逐行检查代码,Kaze 显著提高了渲染速度,帧率提高了 50%。这些结果是两年前的,所以它可能已经进一步优化了。
同样,这个过程通常需要数年时间和大量的专业知识,但生成的代码随后可以被其他开发人员移植到其他平台上。这就是我上面提到的《Majora’s Mask》移植版所发生的事情。每个开发人员的努力都建立在其他人的努力之上,从而形成了一个强大的模组和其他资产库。
---------------------------------------------------------
现在,新出的这项N64批量编译可以将这一过程加快几天或几周。
静态重新编译器本质上是将 ROM 代码逆向工程的过程自动化,将一项漫长而费力的任务变成只需几秒钟就能完成的任务。重要的是,结果也是经过编译的,因此无需调整任何源代码。不过,结果通常可以直接使用,这是一项了不起的成就。
就在上个月,一位名叫 Wiseguy 的开发人员宣布,他们使用静态重编译器在短短两天内就创建了《Majora’s Mask》的可玩版本。原生 PC 端口支持大多数(但不是全部)与反编译相同的现代功能,为更快速的端口打开了闸门。
目前,Wiseguy 预计该流程将适用于几乎整个 N64 库,并且已经为许多游戏提供了可用的移植版本。