FinalBurnAlpha中NEO-GEO游戏驱动程序的编写

类别:编程语言 点击:0 评论:0 推荐:
FinalBurnAlpha中NEO-GEO游戏驱动程序的编写 作者:胡颖卓   二年前我写了《FinalBurn Alpha中CPS-2游戏驱动程序的编写》一文,现由于模拟器界的三年原则惯例,所以很久都没有新的CPS-2游戏XOR表出现了。而现今由于SNK的复活,NEO-GEO游戏又慢慢的多了几个出来,所以我特地再为大家撰写这篇文章。   在FinalBurn Alpha中,NEO-GEO驱动相比CPS-2驱动写起来较为简易,下面我以SNK PLAYMORE的大作《侍魂 零》为例,告诉各位如何编写它的驱动程序。   打开src\burn\neogeo\d_neogeo.cpp文件。   首先是书写游戏的ROM描述表: static struct BurnRomInfo samsho5RomDesc[] = { // 文件名 长度 CRC校验码 类型 {"270-p1.bin", 0x800000, 0x611A6687, 0x10}, // 0 68K 代码 {"270-s1.bin", 0x020000, 0x33227D62, 1}, // 1 文字层图片数据 {"270-c1.bin", 0x800000, 0x4E7BDEA1, 1}, // 2 图片数据 {"270-c2.bin", 0x800000, 0x7B444985, 1}, // 3 {"270-c3.bin", 0x800000, 0x8C709A9B, 1}, // 4 {"270-c4.bin", 0x800000, 0xCFD53F5C, 1}, // 5 {"270-c5.bin", 0x800000, 0xC026D318, 1}, // 6 {"270-c6.bin", 0x800000, 0xB3D9D204, 1}, // 7 {"270-c7.bin", 0x800000, 0xFE03A025, 1}, // 8 {"270-c8.bin", 0x800000, 0x89DB2D34, 1}, // 9 {"270-m1.bin", 0x020000, 0x18114FB1, 0x10}, // 10 Z80 代码 {"270-v1.bin", 0x400000, 0x6849136C, 2}, // 11 声音数据 {"270-v2.bin", 0x400000, 0x222E1774, 2}, // 12 {"270-v3.bin", 0x400000, 0xCD9E7ADC, 2}, // 13 {"270-v4.bin", 0x400000, 0x8B305CAC, 2}, // 14 };   接下来是驱动的描述: STDROMPICKEXT(samsho5, samsho5, neogeo); STD_ROM_FN(samsho5); struct BurnDriver BurnDrvSamSho5 = { { "samsho5", //ROM文件名称 "Samurai Shodown V", //游戏名称 "", //其它信息 "SNK Playmore", //游戏开发商 "Neo Geo", //游戏机型说明 "2003", //游戏发行年代 NULL, //游戏主ROM名称 "neogeo" //游戏BIOS }, BDF_GAME_WORKING, 2, //游戏人数 HARDWARE_SNK_NEOGEO | HARDWARE_SNK_SWAPP | HARDWARE_SNK_SWAPC | HARDWARE_SNK_SRAM, NULL, samsho5RomInfo, //ROM信息 samsho5RomName, //ROM名称 neogeoInputInfo, neogeoDIPInfo, NeoInit, NeoExit, NeoFrame, NeoRender, NeoScan, &NeoRecalcPalette, nNeoScreenWidth, 224, 4,3 };   最后我们只需要在src\generated\driverlist.h中加入相应的项就可以了,祝大家玩的愉快!

本文地址:http://com.8s8s.com/it/it26914.htm