4

我想为 .sid 文件(C64 芯片的音乐)编写一个解析器,以将一些模式提取到笔记中。我搜索格式,发现:http ://cpansearch.perl.org/src/LALA/Audio-SID-3.11/SID_file_format.txt

我可以阅读该文档中的标题,但我不明白如何提取单个注释并输出它们。

我搜索现成的转换器并找到了这些:

那是我发现了更多,但 StackOverflow 说我不能发布超过 2 个链接。

请帮忙。对不起,我的英语不好。感谢您的考虑!

4

2 回答 2

5

除了包含各种元数据的标头之外,.sid 文件的其余部分由代码(播放器例程)和数据(乐器和音符数据)组成。

音符数据的格式取决于播放器代码,存在无数不同的播放器,其中任何一个都可能有多个版本,代码和数据格式有所不同。甚至有许多曲调具有专门为那首曲调开发的代码和数据格式。

这意味着您确定音符数据格式的唯一方法是研究播放器代码(在机器代码监视器或单独的反汇编工具中)以查看它的作用以及数据的组织方式,这可以即使您已经熟悉 6510 机器码和 SID 芯片,也是一项艰巨的任务。

于 2016-04-26T23:19:39.960 回答
2

如果我没看错,如果您只对音符(即音高)感兴趣,您应该可以通过查看通道 1 写入 $d400/$d401 的内容等来解决问题。

于 2016-03-16T06:00:30.193 回答