A custom virtual machine for the Stars 4X game
a day ago
- Stars! 是一款1995年的4X游戏,适用于Windows 3.1,在现代系统上难以运行。
- Stars!VM 嵌入了一个定制的80286模拟器和Win16到Win32桥接器,使游戏作为原生Win32运行,并具有文件选择器和4k缩放等现代功能。
- 已签名的版本包括压缩的原始游戏,打包在单个EXE中,开箱即玩。
- 该模拟器以32位二进制文件运行,除16位Windows外随处可见,并且改进了行为,例如不在系统目录中倾倒配置文件以及移除复制保护。
- 该模拟器使用主机的x87硬件进行浮点运算,并通过差异模糊测试进行验证。
- Win16到Win32桥接器映射句柄、编排结构体、服务DOS中断,并通过模型上下文协议(MCP)为AI代理启用监控。
- 通过逆向工程热例程并使用Fable将其重写为新的80286指令,回合生成的优化实现了约2倍的加速。
- I/O缓冲和WaveMix.dll的原生实现提高了性能并消除了外部依赖。
- 游戏资源使用自定义LZ算法压缩,并注入了固定的序列号以避免复制保护问题。
- 该项目是开源的,使用w64devkit构建,允许进一步修改。