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

原创 2004年10月03日 09:59:00
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中加入相应的项就可以了,祝大家玩的愉快!

USB驱动程序之USB设备驱动程序1简单编写

1、驱动编写分析 (1)usb总线驱动程序在我们接入USB设备的时候会帮我们构造一个新的usb_device.注册到总线里面来。左边这一块已经帮我们做好了,我们要做的是右边这一块。我们要构造一个us...
  • qingkongyeyue
  • qingkongyeyue
  • 2016年11月28日 22:28
  • 1569

写linux驱动程序的步骤

第一步:建立Linux驱动的骨架                 linux内核使用驱动时候,需要先初始化,包括建立设备文件,分配内存地址空间等,退出的时候要释放资源,删除设备文件,释放内存地址空间...
  • csdn_abcd
  • csdn_abcd
  • 2016年07月08日 14:31
  • 1123

驱动程序编写基本流程

驱动程序编写基本流程:   1.首先是一些版本信息,没什么用,但是不能少   #define __NO_VERSION__   #include   #include   char ke...
  • S510121202
  • S510121202
  • 2013年07月27日 17:36
  • 1396

网卡驱动程序框架

我们这里说的是网卡驱动程序,不是网络驱动程序,网络有七层,我们写的只是最底层的东西,网络这么多层,但是最终你还是要操作硬件啊 所以上面肯定有个硬件相关层,我们要写的就是硬件相关的驱动程序这一小块。 网...
  • fight_onlyfor_you
  • fight_onlyfor_you
  • 2017年03月30日 23:31
  • 631

一步步设计自己的驱动程序(转载)

实验目的:通过一个简单的设备驱动的实现过程。学会Linux中设备驱动程序的编写 实验内容:设计和实现一个虚拟命名管道(FIFO)的字符设备。写一个模块化的字符设备驱动程序 实验提示:一、设备的功能  ...
  • flyingdon
  • flyingdon
  • 2010年01月19日 14:55
  • 3493

汇编写的打飞机游戏

汇编写游戏, 很早之前写的,发上来玩一下。   呵呵,题目太夸张了,其实不是飞机。这个是用汇编写的,有点简单。那就不多说了。发上来玩一玩。 data segment     face db 1,...
  • EvilBinary_root
  • EvilBinary_root
  • 2011年10月01日 16:39
  • 3294

手把手教你写第一个Linux驱动程序

说到写第一个linux内核驱动程序,再简单不过了。以前也写过,这次将做一个图形化的整理。我这里以我的开发环境tiny4412为主,我将在这上面写第一个驱动程序。首先,我在driver/目录下创建yan...
  • morixinguan
  • morixinguan
  • 2017年01月19日 22:57
  • 1010

嵌入式驱动编写-第一个驱动程序

 打开开发板的原理图 找到操作LED的寄存器 1 确定运行环境正常 1 PC,linux虚拟机,JZ2440开发板之前可以互相ping通 查看设备类型 ...
  • joshua_love
  • joshua_love
  • 2016年11月05日 19:28
  • 3391

自己做的一个打字小游戏(汇编)

 源代码如下:  DATA SEGMENT;******** 控制类 ******** HANGID DB 5  ; 行号 POSITION DB 0  ; 字母出现的起始列数  WHICH DB 0...
  • zsh_333
  • zsh_333
  • 2006年06月22日 12:05
  • 2565

Python编写微信打飞机小游戏(十二)

在这篇博客里,我们为游戏添加最后一个功能:GameOver画面的绘制。   在当我方飞机的三条命全部挂掉之后,程序会进入结束程序,我们的设计时当程序结束时显示用户的目前得分以及历史最高分,仅此而已。...
  • u013088062
  • u013088062
  • 2015年11月18日 15:18
  • 5946
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:FinalBurnAlpha中NEO-GEO游戏驱动程序的编写
举报原因:
原因补充:

(最多只允许输入30个字)