装上 AemulaOldies 之后发现仅能玩几个预装的游戏,很不爽,自然想添加更多的游戏。
经过自己一番研究,结合网上查询,最后发现了 AemulaOldies 一些内幕,特留此备忘录。
首先,AemulaOldies 是一个 dosBox 0.7x 虚拟机,版本号不可考,而且没有任何外设,也没有提供 dosBox 的内部命令。
它的软盘启动映像在: /AemulaOldies.app/config/boot.im1 ,这个位置在没有越狱的设备上是只读的,不能修改。
另外,在例如 /Library/Private Documents/313077a8-7732-4dd4-ba97-95a4a9ac826a/wolf3d.im1 这样的文件放了硬盘映像,
这个位置是未越狱设备可写的,所以我们可以把这个位置的硬盘映像替换为自己的东西实现自己的目的。
不要求替换成同尺寸的文件,也不要求替换成同类型的映像。例如把这个位置的硬盘镜像替换成软盘映像也可以。
如果把这个位置的硬盘映像替换成软盘映像,系统就会从这个软盘映像启动;如果替换成非软盘映像,系统就从 /AemulaOldies.app/config/boot.im1 启动。
boot.im1 软盘映像启动后,里面的 autoexec.bat 总会调用 C 盘上 的 Play.bat,
所以如果我们必须在硬盘里准备 play.bat 。
如果我们在 play.bat 里面加入 “a:\command.com /K” 就会导致系统进入DOS提示符状态,然后可以自由使用硬盘里的DOS程序。
再来说说 AemulaOldies 的 *.im1 格式。
其实就是 普通的 磁盘镜像,然后 AemulaOldies 把它的首 512 字节(传统 MBR 区域)进行加密。
解密方法不知道。
但是 MBR 对于磁盘的最重要的信息就是标识了磁盘的尺寸。
所以可以把它里面各种尺寸的磁盘的加密 MBR 提取出来,写到你自己的同尺寸的标准磁盘映像的MBR位置,然后用这个文件替换 AemulaOldies 里面的游戏映像。
只是它里面最小的映像是 1.44 M 的,最大的映像是doom1,7.89M。空间极为有限,根本装不下大一点的程序。
想要使用更大尺寸的硬盘,必须得把它的 MBR 加密/解密方法破解出来才行了。