【发布时间】:2011-09-27 07:41:09
【问题描述】:
是否可以从 .smc 文件中提取游戏资源?特别是艺术、音乐、精灵等。模拟器如何复制它所模拟的系统?
【问题讨论】:
是否可以从 .smc 文件中提取游戏资源?特别是艺术、音乐、精灵等。模拟器如何复制它所模拟的系统?
【问题讨论】:
这是可能的,因为信息都以某种方式存在。但是 smc 文件基本上是一个嵌入资源的编译程序,甚至没有一个标准的编译器或标准的格式来存储你可以开始的资源。
就图像数据而言,它很有可能采用 PPU 使用的调色板和平铺格式,尽管它也不太可能以某种方式压缩。但是通过静态分析可能几乎不可能找到调色板,并且瓦片地图可能是从关卡数据生成的,而不是明确存储在任何地方。在模拟器中运行它并从 VRAM 中提取数据可能会更好。
对于音乐来说,情况更加令人沮丧。 SNES 音频最类似于MOD file:对乐器进行采样,然后对各个样本进行音高调整和混合以生成输出声音。 SNES 提供硬件来解码乐器样本、操纵音高并将它们混合在一起,但没有高级程序(即没有等效的 mod 文件“跟踪器”)来播放实际歌曲。因此,您可能能够以与您可能能够找到图像平铺数据相同的方式找到 BRR 编码的乐器样本,但歌曲数据在不同的游戏中可以并且将会采用完全不同的格式。同样,您最好的运气可能来自将 APU 的状态提取为 SPC file 并使用它。
至于您的其他问题,请参阅 How do emulators work and how are they written? 以获取有关该主题的先前答案。
【讨论】: