mame模拟器怎么暂停突然没有声音了

后使用快捷导航没有帐号?
只需一步,快速开始
查看: 793|回复: 6
在线时间19 小时经验值54 最后登录注册时间帖子阅读权限30UID5200703
初中生, 积分 54, 距离下一级还需 46 积分
该用户从未签到
G币73 最后登录注册时间
马上注册,结交更多机友,下载更多应用,让你轻松玩转手机。
已有帐号?   下载游戏和软件,请【】进入机锋市场!
淘宝买的xp16G卡赠送的街机游戏,有好多游戏声音都不行啊,杂音乱的不行。名将阿,美国海军啊都不行,各位的也都一样吗,有什么解决的办法没有
在线时间364 小时经验值397 最后登录注册时间帖子阅读权限50UID6194666
大学专科, 积分 397, 距离下一级还需 3 积分
该用户从未签到
G币96 最后登录注册时间
应该是你rom或者模拟器的问题, 至少我模拟名将无声音问题
在线时间19 小时经验值54 最后登录注册时间帖子阅读权限30UID5200703
初中生, 积分 54, 距离下一级还需 46 积分
该用户从未签到
G币73 最后登录注册时间
& & 哦,看来还是版本的问题。我的那个三国志没问题,其他的大多数声音都有问题
在线时间1287 小时经验值1070 最后登录注册时间帖子阅读权限70UID975783
学士, 积分 1070, 距离下一级还需 30 积分
TA的每日心情无聊 10:57签到天数: 1 天[LV.1]初来乍到
G币1432 最后登录注册时间
是模拟器问题,模拟器版本可能是2.2.0以下的,所以玩CPS1的部分游戏会爆音。。。。
在线时间484 小时经验值1270 最后登录注册时间帖子阅读权限80UID3030629
研究生, 积分 1270, 距离下一级还需 430 积分
该用户从未签到
G币371 最后登录注册时间
在线时间690 小时经验值1277 最后登录注册时间帖子阅读权限80UID3410979
研究生, 积分 1277, 距离下一级还需 423 积分
该用户从未签到
G币880 最后登录注册时间
用300版本~完美模拟西游记`配合简化出招~碉堡了{:126_467:}
在线时间711 小时经验值2750 最后登录注册时间帖子阅读权限100UID6391535
博士, 积分 2750, 距离下一级还需 750 积分
TA的每日心情无聊 19:17签到天数: 21 天[LV.4]偶尔看看III
G币888 最后登录注册时间
把你的模拟器换个最新版本就可以了!我以前也这样!一些声音咋得要死!一些好玩的游戏打不开!下个新模拟器!是经过修复的!可以达到预定的效果!
纠缠不清的爱恋!何时才能得到真正的解脱!
Powered by您还未登陆,请登录后操作!
如何破解街机模拟器的声音限制?
如果在声卡没有装好的情况下运行模拟器糸统总是提示初始化声音,然后自动退出,不知有没有没有什么办法使模拟跳过对声卡的检测直接运行,也就是不装声卡直接玩此类,相信这个问题没有多少人回答,呵。。。。。。。。。。
这个……不能。你的愿望我还想实现呢……但不可能的……
回答数:1960当前位置: >>
>> 经典模拟器MAME架构、编译及配置浅析
经典模拟器MAME架构、编译及配置浅析
作者:佚名
来源:互联网
文章点击数:
2.2 谁需要关注Mame架构和源码?
作为一个在模拟界拥有绝对领导地位的庞大项目,参与Mame开发的人员自然形形色色,而各自期望了解Mame的目的也是多种多样的。从其软件结构上可以看得出来,关注Mame架构及源码的人主要包括核心框架开发者、模拟技术研究者和驱动开发者3类(当然,现实中并不一定划分得那么绝对,如Nicola、Aaron和Haze等大牛往往身兼数职):核心开发者主要负责Mame核心层及高层软件框架的研制工作;模拟技术研究者主要关注CPU及声音芯片等核心部件的模拟实现,出于为CPU等模拟部件提供标准复用接口的目的,他们对Mame架构也必须有所了解;而驱动开发者做的工作则主要是利用Mame已有的流程、框架以及模拟部件,接合自己对真实主机运行细节的理解来实现具体的驱动,如虚拟主机定义、定制视频/音频硬件模拟等;很显然,Mame核心框架和已有的核心部件是驱动开发的基础,它们是可共用的,它们让驱动开发者们能够集中精力解决被模拟主机所特有的细节问题,而不必去考虑如何重复实现那些模拟器通用的处理流程和部件&&就好比Windows程序员们使用MFC一样(突然发觉这个比喻很贴切: CPU等核心部件可类比MFC标准类、Mame框架就好像MFC Framework、而游戏驱动则就是那使用了MFC消息映射等框架机制及类库的用户代码部分);由于Mame支持的游戏驱动数量极其庞大,驱动开发者的数量无疑也是最庞大的,同时他们往往也是早期Mame架构频繁变动的最大受害者,值得庆幸的是,他们并没有放弃Mame,Mame也没有放弃他们&&目前Mame的结构终于定型了,而且0.106u2版本后所引入的显示系统新变动也主要集中在Mame核心层和部分OSD接口,对驱动模块及CPU、声音芯片模块的影响并不大,主要是一些显示相关配置方式上的改进,驱动开发者们终于可以安心了。
除上述3类直接参与的开发者之外,圈子里还存在着不少专用模拟器开发者对Mame的源码感兴趣(尽管他们不一定参与了Mame的研制),这是因为他们能够从Mame源码中获取到宝贵的主机信息;事实上,Mame的参考文献价值远远超越了它为给普通玩家所带来的游戏乐趣,这也正是Mame Team为什么会如此&孤高而又傲慢地&追求模拟精确性的根本原因。在真正模拟器开发者的眼中,Mame并不仅仅等同于一个慢吞吞的模拟器,它更像是一本百科全书,而关于Mame的框架常识则是这本Bible的目录和索引。另一方面,也有不少热爱DIY、期望精简Mame的驱动并在自己的机器上对其进行优化编译的模拟爱好者对阅读Mame源码感兴趣,如果你正好是其中一员,那么你将非常幸运:这篇文章几乎就是为你写的;当然,你也会发现这篇文章的内容并不仅限于此。
不管怎样,我希望此文的读者能够首先明确自己的理想和目标&&这将是你征服Mame悬崖般陡峭的学习曲线的唯一希望所在。Okay,扯远了,下面让我们回到技术话题上来:具体看看Mame架构中各个组成部分所实现的功能。
2.3 OSD平台依赖层
Mame源码中仅自带了针对Windows的OSD层代码,其全部位于src/windows目录中。考察其中的windows.mak可以发现,该OSD层代码分为针对Win32和针对DirectX两个部分,前者包括Windows相关的MinGW_GCC/Link编译选项、Win32窗体及其UI显示代码、内存分配调试代码(接管标准C运行库中的内存分配函数,以便于检测内存泄漏)、虚拟机调试窗口代码和Win32资源文件编译等;后者则包括DInput、DSound、DDraw等DirectX函数调用接口的编译。说得简单点,就是一半代码负责Win32系统调用及窗口管理,而另一半负责DirectX媒体访问控制。
2.4 Mame核心层
核心层是完全与平台无关的,在src/core.mak中详细给出了核心层的编译选项及过程。作为Mame的最高层框架,核心层定义了一系列与平台实现无关的抽象数据结构及其处理流程,如抽象位图、抽象色板和抽象音频流等,其具体表述及功能的实现均依赖于OSD底层;所有高层抽象结构在具体执行过程中均将被映射成为OSD层中的对应实体,如DDraw里面的Off-Screen Surface、DSound中的SecondaryBuffer等;而针对位图、音频等抽象实体的实际操作则均通过调用底层OSD层接口来间接完成。同时,核心层还为所有的CPU核心、声音芯片和游戏驱动(Romset、虚拟机器、内存映射、I/O映射、虚拟视频硬件和虚拟音频硬件等)定义了统一的数据及操作/回调接口,可以说,核心层构成了Mame最重要的宏观架构,同时也是分析Mame代码的最佳入手点。
2.5 CPU核心及声音芯片
考察src/cpu/cpu.mak和src/sound/sound.mak可以发现,在Mame的配置中,其按照不同类型、不同厂家的规则对CPU模拟核心和声音芯片进行了分组,这使得我们可以很方便地从mak文件中抽取出生成任一特定CPU核心或声音芯片的编译步骤。在CPU核心编译过程中,以68000核心的编译过程最为复杂(用到了重编译代码生成器技术,生成m68k核心的步骤与利用lex/yacc生成编译器类似),而在声音芯片代码中则Yamaha家族的较繁琐点。
CPU核心与声音芯片模块均是可以跨平台的,因此,其99%的代码均使用C语言编写,只有极少部分采用了汇编(现在你应该知道Mame模拟效率低下的另一个理由了),同时考虑到不同汇编语法的复杂性,代码中很少采用C语言的嵌入式汇编,而是将汇编部分单独分离出来,额外地组织成相应的asm文件(采用Intel语法),使用可跨平台的Nasm进行编译。
完全理解CPU核心、声音芯片模拟的代码需要具备扎实的编译器研发技能和较为全面的数字/模拟信号处理及电路常识,这些过于专业的要求显然令人望而生畏。但不必紧张,对于绝大多数的人而言,仅需知道如何通过Mame核心层提供的标准接口使用这些核心部件便足够了,至于如何实现它们就交给牛人们去操心吧。
2.6 游戏驱动部分
2.6.1 Mame驱动概述
游戏驱动是Mame中较为关键的一个组成部分,其代码是与平台无关的,多采用C语言编写。游戏驱动包括了Mame中某个游戏正常模拟运行所需的一切信息,下面我简要罗列一下这些信息,希望能给各位好奇的读者们一个&华丽的&的第一印象:
Hmmm&我知道在你看过了上述信息之后的感受一定很复杂& Mame驱动相关的信息是非常细致而又庞大的,我相信你已经体会到了;但这里我想强调的是: 这些信息实际上并不像你想象的那么混乱,其实它们之间的联系非常紧密。仔细看看上面的那个表,我们可以将其驱动信息划分成CPU、Romset、I/O与输入设备、视频设备和音频设备等5类,其中,CPU部分包括了正确模拟CPU运行行为所需的全部信息,如内存映射、I/O端口映射和中断管理等;而Romset代表着游戏的程序正文和数据;输入设备告诉我们这个游戏用的是摇杆、光电枪还是跟踪球,音、视频设备的作用不用多说了吧?不难发现上述分类跟我们所了解的基板硬件结构是一一对应的,事实上,街机作为一种游戏专用的嵌入式系统,恰恰也就是由上述5个部分构成。
另一方面,我们还可以发现,在Mame驱动体系中,存在着&游戏驱动&(DRIVER)和&虚拟机&(MACHINE)的逻辑层次划分:为降低研发成本,不少游戏使用了相同的基板,因此其硬件配置是基本一致的,比方说Neo.Geo MVS系列和CPS1/2系列,既然如此,它们完全可以重用同一份&虚拟机&驱动定义;但是,在实际模拟它们的时候,还需考虑每个游戏自身的具体情况,比如MVS中存在着的Rom加密现象&&某些较新的游戏roms加载后需要解密,而多数早期游戏则不需要,为了让这些新游戏能够正常运行,我们有必要在Mame驱动架构中为它们添加一些额外的驱动信息及其驱动行为。简而言之,&虚拟机&定义记录的是多个游戏可共用的驱动信息及操作,而&游戏驱动&定义则记录的是某一游戏所特有的驱动信息及行为,这实际上是一种对象继承关系的体现。(熟悉OOP的朋友将很快会发现,在Mame的C源码中大量采用了宏定义来模仿C++的面向对象特征,甚至是多态性实现,这令源码分析难度进一步提高了,但与此同时它也带来了相对简洁、方便的架构设计及编码,前提是你要能看得懂&&这几句话是写给技术水平较高的读者看的)
只要有足够的耐心,我们可以在Mame驱动源码中找到关于某个特定游戏的任一上述信息,而知道在何处找到这些信息则是我们应当关注的重点。从源码结构角度来说,一般而言,一个游戏的完整驱动主要包括驱动注册、驱动定义及实现、定制视频硬件、定制音频硬件和周边器件等5个代码模块,它们分别对应着src/mamedriv.c、src/drivers/$(zip_name).c、src/vidhrdw/$(zip_name).c、src/sndhrdw/$(zip_name).c和src/machine中的某些文件,这里的$(zip_name)指的是游戏Romset的zip名,如ddragon、ddragon2等。其中,除了前二者之外,其他3部分是可选的,因为前面已经说过了:某些模块和信息是可以多个游戏共用的。在这些代码模块中包含了所有的驱动信息,因此,为Mame添加一个新游戏驱动的过程通常包括了添加或修改上述一系列文件的过程。为了提高可读性,这些不同的代码模块通常使用相同的文件名,即$(zip_name)(如双截龙Double Dragon,其主Romset名为ddragon,则其驱动模块文件名均为ddragon.c),但分别存放在src/drivers、src/vidhrdw、src/sndhrdw和src/machine等4个不同的子目录中。
在这5个驱动文件中,src/mamedriv.c作为一个全局共用模块,负责实现所有游戏驱动在Mame框架中的注册,所谓驱动注册就是让Mame知道自己支持模拟哪些游戏,以便提供相应的命令行及驱动载入接口,如果驱动不注册的话,即使它已被编入了Mame中,用户也无法启动其模拟过程;位于src/drivers中的文件则给出了被模拟游戏的虚拟硬件定义,如Romset、内存映射、I/O映射、使用的CPU/声音芯片和视频布局等绝大多数驱动信息;位于src/vidhrdw中的文件封装了该游戏所定制的视频模拟例程,相当于实现了该游戏所需要的虚拟视频硬件,多数游戏都有对应的视频硬件模拟实现,当然,如果新游戏使用的视频硬件和另一个已有游戏是完全一样的,它完全可以重用已有游戏的对应文件;与vidhrdw类似的,位于src/sndhrdw中的文件封装了游戏所定制采用的音频模拟函数,相当于实现该游戏所需要的虚拟音频硬件,如离散音频系统等,定制专用音频硬件的情况大多存在于早期游戏中,它远不及定制视频硬件那么普遍,为达到成本、效果及灵活性的折衷,后期游戏多采用音频解码/控制CPU配合标准声音芯片的集成方式,因此很多游戏并不存在对应的sndhrdw实现;最后,在src/machine中则保存了游戏模拟所需的其他周边硬件的虚拟实现,如NVRAM、EEPROM、记忆卡和实时时钟等,它们在多数游戏基板中使用得非常普遍,我们可以将src/machine这一目录中的文件看成由多个游戏驱动所共享的&周边硬件&代码库。
经典模拟器MAME架构、编译及配置浅析相关文章
本类文章排行好吧,将以第一个可运行商业游戏的3DS模拟器之名被载入模拟器世界的历史。今天Citra放出了,嗯,在十倍速下还是很流畅的嘛。
虽然还没有声音模拟,图形也还有错误,但至少这是有史以来第一次原生3ds代码在其他硬件平台上重现。
话说1999年N64模拟器UltraHLE突然现世时用来演示的就是N64版的塞尔达时之笛,15年后,又来这一出,大神们对绿帽子大剑侠有特别嗜好是吧?
MAME和MESS现在固定在每个月的最后一个星期三出新版。一般来说做模拟器不是拍美剧,可以拍到哪播到哪,但是MAMEDev的诸位大神就要试试,你们怎么着?
看看更新,没啥好多说的。这么多年下来MAME的娱乐性基本被打磨殆尽,剩下的是浓浓的学术性–说人话就是:这货B格越来越高,都快超过金茂了。
长话短说,2015年快到了,祝大家新年快乐,万事如意~~~~
非常文青的任系模拟器higan(原SFC模拟器bsnes)本月12日宣告项目暂搁。经过十五年时间,天才级洋人码农byuu在意识到自己毫无绘画天分(画的还不如十岁熊孩子-原话)的同时又发现找不到任何可以用日语来吹牛扯屁的好基友(原话),于是胸闷到不行,决定退出模拟器编程界…为毛我总觉得什么地方不对呢…
单机版是非常感激和敬仰bsnes和byuu的,如果不是bsnes的超级难用再加上byuu的超级中二臭脾气,就不会挑动另一群超级愣头青的大神搞出了一个叫SSNES的前端…结果这个前端后来改名叫做RetroArch。囧rz
Mednafen 0.9.37.1发表。这个译名就叫“我的模拟器不需要酷炫屌炸天的名字”的模拟器堪称圈内非常低调但是逼格很高的典型。
作为硕果仅存的几个仅支持命令行驱动的模拟器之一(还好有前端),这货就不是为小白用户准备的,但是Mednafen的核心都很不错,特别是其PSX的核心被认为是完全不输于ePSXe,Xebra和pSX等几个高阶闭源核心的完成度。
俄国同学开发的,推出了新版v1.9,号称达到了99%的兼容性,作者称他想要模拟的游戏已经全部达成。这个单机版倒是相信的,因为本来就没几个3do游戏,通过HLE逐个hack patch也不是不可能。
不过倒霉的是这货的GUI这次全是俄文,以前不是这样的啊。难道准备相应普京大帝号召和西方人民断绝关系? XD
话说,在见识过WP系手机和Win8平板以后,单机版最近三年之内是没有使用MS系移动设备的想法了。和一开始预料的截然不同,WP8在移动市场举步维艰,各种混吃等死,各种不给力,各种昏招,现在那些还认为WP有戏的同学只有一个理由:因为亲爹是MS。而且也不是WP8有戏,是Win10了。
最近一次让WP8模拟众(说实话这种人真不多)喜大普奔的是的登场。而这次要说的是的模拟器群…:P
呵呵,呵呵,看来RA大神们最新的吃翔计划是在圣诞前。由于极端不愿意在推送更新后再写what’s new,所以T神决定先把这部分小事给做了。what’s new量还是挺多的,居然分成了5部分…
好久好久没有全新的原创GBA模拟器登场了(No$GBA是在更新NDS部分,VGBA在更新金手指:P ),这个开源的mGBA 0.1.0虽然版本号很初级,但是完成度一点不低。基于GBA.js的代码历时一年半在德国NO$的马丁大神协助下用C重写了一遍。几乎完整的GBA硬件模拟,RTC时钟支持,支持原生BIOS来提高精确性,高度可移植,高效率(据测试比0跳帧下的VBA-M快30%)
而且作者明确宣布将不断与社群互动努力提升mGBA的精确模拟,看来GBA模拟圈子终于等来了一个咧。
受某位同学的启发...模都和机铺招募驻站自由撰稿人。有意的同学联系
最新留言 ;)
Select Month
January 2015 &(1)
December 2014 &(13)
November 2014 &(6)
October 2014 &(6)
September 2014 &(5)
August 2014 &(3)
July 2014 &(6)
June 2014 &(3)
May 2014 &(6)
April 2014 &(4)
February 2014 &(6)
January 2014 &(2)
December 2013 &(7)
November 2013 &(9)
October 2013 &(15)
September 2013 &(18)
August 2013 &(31)
July 2013 &(40)
June 2013 &(32)
May 2013 &(55)
April 2013 &(47)
March 2013 &(46)
February 2013 &(37)
January 2013 &(58)
December 2012 &(31)
November 2012 &(7)
October 2012 &(14)
September 2012 &(17)
August 2012 &(26)
July 2012 &(16)
June 2012 &(19)
May 2012 &(2)
模都站内搜索
All content (C)

我要回帖

更多关于 mame模拟器rom 的文章

 

随机推荐