醒来吧,我的孩子们。拥抱你们与生俱来的荣耀。你们须知,我是你们的主宰,虫族永恒的意志。你们生来就是为我服务的。
-- 《星际争霸》虫族隐藏音乐
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
。