微软近日在PC平台推出了四款初代Xbox游戏的向下兼容版本,延续了Xbox主机多年来支持老游戏的策略。但这次PC版的实现方式却出乎很多人意料——微软并没有专门为初代Xbox打造一个原生模拟器,而是直接塞进了一套重新编译过的Xbox 360官方模拟器。
数据挖掘者在分析这些兼容游戏的程序包时率先发现了端倪。Neo Te Aika注意到,这些游戏使用了标准的Xbox 360“Games on Demand”(GOD)文件格式进行封装。GOD文件包含游戏本体、文件头信息以及数字版权管理(DRM)组件。通过GOD提取工具,Modder们很快将这些文件提取出来,并转换成可在标准模拟器中运行的ISO镜像,甚至能在越狱版Xbox 360上直接启动。
更令人兴奋的发现来自名为Nathan的网友。他在同样的文件中找到了一个名为Xe03的组件,这正是微软内部代号“Fission”的Xbox 360模拟器。该模拟器此前一直被内置在Xbox One和Xbox Series主机的向下兼容功能中。而在Xbox 360的模拟环境中,微软还嵌套了另一个代号“Fusion”(XeFu)的初代Xbox模拟器。也就是说,主机运行初代游戏时,实际上是一层模拟器套着另一层模拟器:Xe03加载一个标准360游戏包,但包内的二进制文件会触发XeFu启动,再由XeFu去跑初代游戏。
外界原本预期,微软要实现在PC上玩初代Xbox游戏,会专门构建一个不依赖任何中间层的x86原生初代模拟器。可微软的实际做法是将Xe03重新编译,使其能直接在x86架构的PC上本地运行。这一操作等于间接向社区交付了一台官方级别的Xbox 360模拟器。通过对应用容器进行修改并替换游戏包,像XWine1这样的开源项目以及独立逆向工程师已经让一批Xbox 360游戏以“不同程度的成功”在PC上跑了起来。
尽管目前的运行效果并不完美,但这一发现很可能彻底改变初代Xbox和Xbox 360的模拟器生态。以往社区开发的模拟器在兼容性和性能上始终存在瓶颈,而微软无意中释放的这套原生模拟器,为大量老游戏的PC化打开了新的大门。
