Sappy使用方法

来源:互联网 发布:欧文场均数据 编辑:程序博客网 时间:2024/04/28 00:53
使用方法么~转载一下gbgba的帖子,作者:刘泪
准备工作:先准备好软件sappy,该软件的作者好久没有更新了,最新版本是1.6。stos,一个辅助软件,由不知名作者开发……
另外最好再准备好16进制编辑器,不用也可以,但是会麻烦一点。
一.运行sappy,点file-load rom,载入rom,如果能够开始播放的话,所有后面的步骤都不用了,直接点export song to .mid,注意,导出midi的时候要停止播放,否则会出错。如果显示是不支持的rom,可以继续下面的步骤。
二.以银河战士-零号任务为例,运行stos,载入rom,点search,过一会儿就会出现一些数字和字母了。然后用16进制编辑器打开sappy程序目录下的data文件夹中的sappy.lst文件。呵呵,你看到了什么?对,所有支持的rom都在这里了,我们要做的,就是添加不支持的rom。
以这一行为例
AGRE, ESPN Final Round Golf 2002 (U), sapphire, blank, blank, &H5C0B48, 0, 0
AGRE就是stos打开rom后第一行显示的那些字母了,这是该rom的代码,接下来就是游戏的名字了,接下来的“sapphire, blank, blank,”不用管它们,直接看 &H5C0B48,这个5C0B48就是用stos搜索到的那些16进制的代码中的一个。至于哪一个,就需要试了。于是,银河战士的代码就可以写成这样:
BMXE, Metroid - Zero Mission (U), sapphire, blank, blank, &H8F2C8, &H0, 0
&H1是代表从第一首开始(似乎有的游戏第一首音乐是空白的)。在官方的帮助文档里对格式的描述是这样的:romheader,romname, romtype, songlist, instmap, tableoffset, songstart, songend,有兴趣继续探索的就可以好好看看官方帮助文档了。
三.将游戏的支持代码添加到sappy.lst文件中后,就可以试着用sappy打开rom试着播放了。如果失败的话,更换tableoffset段的数据,直到能播放为止。不过一般都是第一个数据就能播放。
点击play旁边的加减号就可以播放前/后一首音乐了。选定好音乐,然后停止播放,接着点file-export song to .mid就可以导出成midi了。
注意:sappy并不是所有的游戏都能支持。

添加rom支持代码的格式romheader,romname, romtype, songlist, instmap, tableoffset, songstart, songend粗解:
romheader段就是AGRE这些了,是识别rom用的,一定别错
romname段就是游戏名字了,可以随便用
romtype段按官方文档一定要填sapphire
songlist段就是编写音乐列表的地方了,参照date文件夹下的advw.lst等几个lst文件便能知道确切的格式了,如果懒得编就用blank吧
instmap段就是gxb说的最重要的地方了,泪还没有搞懂,现在已经了。关系到最终文件的音色,偷懒的话就用blank了
tableoffset段就是用stos搜索到的那些偏移地址了
songstart和songend段就是音乐起始段,不过songend完全用不上
原创粉丝点击