是否可以从 SNES 模拟器(或任何其他游戏系统模拟器)和系统的游戏 ROM 中获取源代码,并以某种方式创建一个独立的可执行文件,让您玩特定的游戏ROM 不需要单独的 ROM 或模拟器本身就可以玩?假设您已经有了可以使用的 rom 和模拟器源代码,这会很困难吗?
最佳答案
如果您有模拟器源代码,应该不会太困难。您可以使用通常用于在 c 源文件中存储图像的方法。
基本上,您需要做的是在头文件中创建一个 char *
变量,并将 rom 文件的内容存储在该变量中。您可能需要编写一个脚本来自动执行此操作。
然后,您需要更改源代码,以便它不使用从文件读取 ROM,而是使用 ROM 的内存版本,存储在变量中并包含在头文件中。
如果您需要模拟文件指针等,可能需要做一些工作,或者您可能很幸运,发现 rom 加载函数只是一次加载整个文件。在这种情况下,它可能就像用返回指针的函数替换文件加载函数一样简单。
但是,请注意许可问题。如果模拟器根据 GPL 获得许可,则法律上可能不允许您在可执行文件中存储专有文件,因此值得检查这一点,特别是在发布/分发它之前(如果您打算这样做)。
关于executable - 使用开源SNES模拟器代码将rom文件变成独立的可执行游戏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3034564/