FinalBurn Alpha 2.9x
中CPS2游戏驱动程式的编写
作者:胡颖卓
FinalBurn Alpha是当今最好的CPS1/2模拟器之一,更可贵的是他是完全开放源码的。从FinalBurn Alpha 2.93开始,FinalBurn Alpha小组(以后简称FBA小组)便转向了多功能、多机种的支持,而不是像其他模拟器那样,出一个新游戏的破解就出一个新版,或是有一点儿改进就出一个新版。这样做利了研发者,而玩家却是觉得有些不便。
起初,我为大家写一些新版本的FBA,但这样会和FBA小组的版本对应不上。更是近来,我需要将主要精力放在网络游戏上,所以也没有太多的时间为大家写这些驱动。在这里,我针对FinalBurn Alpha 2.93的CPS2游戏19xx驱动为例,给大家做一下讲解,以便大家能自己写出新的驱动。
首先,要包含驱动头文档cps.h,语句如下:
|
#include"cps.h" |
再者,是输入设备定义,也不用讲解,照例子抄就行了:
| static struct BurnInputInfo DrvInputList[] = { {"P1 Coin" , 0, CpsInp020 4, "p1 coin" }, {"P1 Start" , 0, CpsInp020 0, "p1 start" }, {"P1 Up" , 0, CpsInp001 3, "p1 up" }, {"P1 Down" , 0, CpsInp001 2, "p1 down" }, {"P1 Left" , 0, CpsInp001 1, "p1 left" }, {"P1 Right" , 0, CpsInp001 0, "p1 right" }, {"P1 Shot" , 0, CpsInp001 4, "p1 fire 1"}, {"P1 Bomb" , 0, CpsInp001 5, "p1 fire 2"}, //19xx是两键游戏,假如是3键游戏,只需要按顺序加上就行了,例如 |
也有一种特别情况,由于CPS2下格斗游戏很多,而且使用的按键定义方法也相同,比如《少年街霸3》,我们就能够使用以下方法来定义:
| STDINPUTINFOSPEC(Drv, CpsFsi); |
按照Razoola的定义,ROM的编号方式按照芯片的排列来进行编号:
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




