1

醒来吧,我的孩子们。拥抱你们与生俱来的荣耀。你们须知,我是你们的主宰,虫族永恒的意志。你们生来就是为我服务的。

-- 《星际争霸》虫族隐藏音乐

《星际争霸》虫族

OpenPandora团队的notaz通过反汇编技术将《星际争霸》移植到了ARM上。

“无源码、无移植”的原则并不是完全正确的。你可以通过静态重新编译技术得到和原程序类似的程序。M-HT之前就)经将 DOS 游戏 移植
到ARM平台上。

整个移植过程是这样的:

  • 使用IDA对《星际争霸》程序进行反汇编
  • 将反汇编的代码转化为C(使用了notaz自己开发的定制工具)
  • 链接了ARM版的winelib(ARM版的wine提供了Win32 API)

听起来这很容易?显然不是。notaz从去年秋天就开始了这一项目,原以为一个多月就可以搞定,结果到了新年还没弄好。有太多的意料之外的问题。也许“无源码、无移
植”的原则是正确的,Windows游戏应该通过虚拟技术运行,静态重新编译是可能的,但是实践起来问题太多了。

但是最终notaz还是完成了这个移植。他的成果,《星际争霸》的ARM版可以从这里下载。注意
,下载的文件不包括游戏的数据文件,你需要从原来的游戏中导出数据文件:

  • 在PC上安装游戏

  • 安装游戏的扩展包

  • 安装官方的1.16.1.1补丁

  • 从CD复制文件:

    • 对于StarCraft,从StarCraft CD复制INSTALL.EXE到你的StarCraft文件夹,然后重命名为StarCraft.mpq
    • 对于Brood War,从Brood War CD复制INSTALL.EXE到你的StarCraft文件夹,然后重命名为BroodWar.mpq
  • 尝试在PC上运行游戏(不插入光盘),确保可以正常运行。

  • 将整个游戏文件夹复制到SD卡的pandora/appdata文件夹内,命名为starcraft


原文 Starcraft
翻译 SegmentFault


weakish
24.6k 声望844 粉丝

a vigorously lazy deadbeat with matured immaturity