您现在的位置: 电玩巴士 >> GBA >> 掌机学院 >> 软件说明 >> 文章正文
GBA游戏音乐导出方法
准备工作:先准备好软件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完全用不上
相关软件下载

http://down.tgbus.com/soft/437.htm

编辑:admin 文章来源:掌机之王论坛 更新时间:2004-3-20 4:04:46
■ 相关新闻
《圣光之魔石》同人小说——杰斯特篇
《圣光之魔石》同人小说——玛莉卡篇
现在的游戏业客观之见
自画GBASP
如果这些公司收购了暴雪
游戏名称大串烧
我·天蝎·水
当刺客遇见剑客
《洛克人ZERO3》英文版剧情翻译
美画——lovelybb
 
TGBUS 力倡IT文化,崇尚互联共享,欢迎转载 [所有文章、画作等版权归原作者所有,转 载请注明出处]