ibm 发布新型 synapse 神经芯片,会对整个计算机乃至科技领域产生什么影响

ibm 发布新型 synapse 神经芯片,会对整个计算机乃至科技领域产生什么影响,第1张

IBM发布新型SyNAPSE芯片,开创巨型神经网络时代

新型芯片采用基于类似人脑的、非冯·诺依曼的计算架构,含有100万神经元和256亿突触。

利用三星28纳米工艺技术,由54亿个晶体管组成的芯片构成有4,096个神经突触核心的片上网络,其实时作业功耗仅为70毫瓦(mW)。

完整的认知软硬件生态系统开启了面向移动、云计算、超级计算和分布式传感器应用的新计算领域

IBM科学家日前发布首款前所未有的超大规模神经突触计算机芯片,其中含有100万个可编程神经元、256亿个可编程突触,每消耗一焦耳的能量,可进行460亿突触运算。这款由54亿支晶体管组成的功能齐全、可大规模生产的芯片是迄今建造的最大的CMOS芯片之一。并且在进行生物实时运算时,这款芯片的功耗低至70毫瓦(mW),比现代微处理器功耗低数个数量级。神经突触超级计算机芯片如同一枚邮票大小,其工作电源相当于助听器电池,这种支持视觉、听觉和多感官应用的技术将给科技、商务、政府和社会带来全新的变化。

该突破性技术成果已于近日与康奈尔理工学院(CornellTech)合作发表在《科学》(Science)杂志上,这意味着向社会步入认知计算机时代迈出了重要一步。

与当前计算机相比,人类大脑的认知能力和超低功耗间存在巨大差距。为了消除鸿沟,IBM科学家们创造了前所未有的技术——一个全新的、神经科学启发的、可扩展的、高效的计算机架构,这种架构一举打破了自1946年以来普遍盛行的冯·诺依曼(von

Neumann)计算机架构。

该第二代芯片是近十年来研发取得的最高成果,它包括2011年最初的单核硬件原型,以及2013年采用最新编程语言及芯片模拟器的软件生态系统。

新型认知芯片架构由4,096个数字化的分布式神经突触核心组成片上二维网状网络,其中每个核心模块以事件驱动、并行、及容错机制将内存、计算和通信集成在一起。为使系统不受单芯片局限,该新型认知芯片在两块相邻平铺时,可实现无缝拼接,这为日后构建神经突触超级计算机奠定了基础。为证明其可扩展性,IBM还展示了一款16芯片系统,该系统含有1,600万可编程神经元和40亿可编程突触。

  MAME是Multiple Arcade Machine Emulator,也就是"多类型街机模拟器"的简称,是一个DOS环境下的应用程序,由MAME小组开发。这是一个仍在不断更新、完善的模拟器,也是一个模拟街机游戏数量最多的模拟器——到目前最新的37 beta10 版本(2K1001)已超过2000个街机游戏,许多现在市面上已经绝迹的老游戏,已经和正准备在MAME上恢复青春。MAME走的是"多机种制霸"的路线,大肆入侵原来由Callus、NeoRage、Rage、Raine、M72、Shark等等贫机种模拟器所盘踞的领域,目前,已经模拟了以Z80族、6502族、6800族等8位CPU和以68K族等16/32位CPU为主处理器的多种街机基板,其中包括了大名鼎鼎的Capcom System 1和SNK MVS(Neo Geo)这样的王牌16位基板,使得MAME成了Callus和NeoRage之外的又一顶尖选择。自96年诞生以来,MAME在以Nicola Salmoria为主程序员的制作小组以及许多协力人员的共同努力之下,在各方面持续吸收先进技术,不断进行版本更新,支持新的硬件,增加被模拟游戏的数量,为MAME成为模拟器王者奠定了坚实的基础。

  MAME主要是用C语言进行编程的,使用Allegro工具开发包。它还是模拟器界少有的完全开放源代码的模拟器之一,任何人想对MAME进行修改的话,只要同意把自己所用的代码公开,并遵循他们制定的规则(主要是:不得用于商业牟利等等),MAME小组就允许他对MAME加以改进并自由发行。基于这种特性,其他的程序员便可以自由的利用其源代码为蓝本编写出各种增强版本的MAME,使它成为拥有最多变种的模拟器,比较著名的有:对应各种流行OS的如MacMAME、LinuxMAME、OS2MAME、RISCMAME、BeOSMAME、WindowsCEMAME(为各种PocketPC所用)等,即便在PC平台上,也有专为AMD、 PII、486以及P54C等各种CPU进行优化的版本,以及C语言、汇编语言两个不同编译核心的版本;有专门模拟NeoGeo的KBMAME(For IBM)、NeoMAME(For Mac),以及一些局部增强版的MAME,如提供按键连发功能的EmuPlus、图像输出功能增强的VsyncMAME、AdvanceMAME等;还有一个利用其源码编写的跨越家用机、早期8-16位电脑平台的多用模拟器MESS(反正核心都是68K、Z80、6502之类CPU的模拟);值得一提的是一个用在柯达DC220/260/265/290数码相机上的版本MAMED,虽然我没有用过这个相机版,详细的情况还不是太了解,但是鉴于现在的FlashMemory卡容量越来越大,我想这个版本在游戏的存储上应该没有什么问题(当然暂不包括NeoGeo类的超大游戏),如果再能增添手柄之类方便于控制的外设,或许相机版MAME能够成为目前任何一款游戏掌机的劲敌——只是价格障碍实在太大;MAME team还发行一个名为MAME32的Windows版本,具备标准的GUI界面,大大方便了众多初级玩家,同样的,它也拥有支持TCP/IP协议的NETMAME32、非官方版本UOMAME32、多国语言提示的MAMELang、Neogeo专用增强版本NMAME32等多个变种。我现在介绍的就是新发行的官方版本MAME和MAME32,至于其他的衍生版,相信大家看完本文之后,一定会触类旁通的。

  一、 系统需求:

  自然是越高级越好了,不过至少都要P166MMX/32M/Vesa20显卡,这个级别的机器可以让你的模拟器完美的运行所有8bit主CPU的街机游戏,但是对于以68K这样的16bitCPU为主处理器的基板的模拟就差一点了,显示帧速率在25-50fps左右,Neogeo类的大容量的游戏速度还更慢一些。虽然这样的帧速率较街机标准60fps还有一定差距,但是马马虎虎也可以接受了。以目前的状况来说,一台300Mhz+以上的100兆外频CPU+64M内存就基本可以满帧跑MAME所有的游戏了,如果你想在街机显示器上使用MAME,那么最好选用自带VBE30的显卡,SDD是没有用的。此外,因为内存管理的原因,在纯DOS下工作时,MAME需要调用一个保护模式下的管理软件cwsdpmiexe共同与之工作,我们必须将这个程序放在path指定的路径之内。

  二、 MAME的获得与安装:

  作为一个完全免费的模拟器, MAME的各个版本基本上都是在网上以Zip文件形式发行的,我们可以去到其官方站点下载回来使用。当然了,对于这样一个著名的模拟器,国内外许多大大小小的模拟器站点也都会提供相关下载,比如Emuhq、Classicgaming、Arcade@Home等,过去国内的模拟器站点一般只提供指向国外服务器的下载链接,现在也都提供本地下载了。在一阵风的bleem!、impact等等的热潮过后,MAME这个持续更新的老牌模拟器正逐渐为本土的玩家所重视,国内许多的站点已经同步提供新版本的MAME本地下载了。一些光碟杂志也会附带有MAME,但时效性不强。

  获得MAME的Zip文件后,用Winzip之类程序将其解压至你所指定的目录,安装就算完成了,如果你使用DOS版的PKzip来解压,请记得加上 -d 参数以确保解压后的目录结构的准确性。MAME主目录下有以下几个目录,用于存放相关数据:

  <HI>存放游戏最高分存档;

  <SNAP>存放游戏抓图,旧版本的抓图目录名为<PCX>,而MAME32的相同功能目录过去名为<IMAGES>,自37b5起改为与DOS版相同的<SNAP>了;

  <INP>存放游戏纪录;

  <CFG>存放对应每一个已经运行过的游戏的配置文件;

  <STA>存放游戏状态数据;

  <MEMCARD>NeoGeo游戏专用的虚拟记忆卡;

  <ROMS>顾名思义,存放各种ROM的缺省目录;

  <SAMPLES>存放游戏声音采样数据的目录。

  <NVRAM>存放有关基板参数设定的目录,作用和基板上用于存放调试参数的SRAM是一样的。

  <FLYERS>MAME32专用,存放游戏海报图像文件的目录。

  <CABINETS>MAME32专用,存放街机箱体照片图像文件的目录。

  <ICONS>MAME32专用,存放游戏小图标的目录。

  三、 ROM镜像文件:

  MAME只是一个模拟器程序,如果要玩被模拟的街机游戏,还需要这个游戏的ROM镜像文件。通常,街机上的游戏文件都是放在诸如mask ROM(掩膜只读存储器)、EPROM/EEPROM(可擦写存储器)等半导体存储器集成电路芯片当中并固定在基板上的——这种高速但昂贵的存储方式至今未有太大改变——要把这些ROM芯片直接用于PC上当然不是很方便,于是便有人以专门的读写器将街机基板上每一颗ROM芯片内的内容全部拷贝出来,形成一一对应的电脑文件,这就是模拟器可用的ROM镜像文件的由来,而进行这项工作的人就是受到我们广大模拟器爱好者所尊敬的Dumper了;现在在互联网上传播的ROM镜像一般都是经过压缩打包的Zip格式,但我们在使用的时候不必将其解开——和其他模拟器一样,MAME很早(从V31开始吧)就支持Zip文件的直接内存展开操作了。这样就大大节省了我们的存储空间。为方便管理,我们最好把这些ROM文件放入专门的目录。

  平常我们在玩MAME的时候,可能会遇上这样的问题:旧版本MAME用得好好的ROM文件,新版本的MAME却给出"xxxx文件校验错误、xxx文件未找到"这样的提示并拒绝执行,或者勉强执行后,部分功能却失效了之。这是怎么回事呢?原来,除去ROM文件真的不存在、ROM路径指向错误(下文祥述)之外,ROM的版本问题就是造成这种现象的主要原因。有的游戏ROM在拷贝的时候,由于dumper自身的技术水平或所用读写器的限制,造成了部分数据丢失、错误或无法完全读出,导致ROM镜像残缺。之后又有人重新制作,或修正,或补充,把过去错误的ROM版本补完。新版的模拟器当然要支持矫正了的ROM,所以旧的ROM就不能用了,解决的办法就是更新你的ROM镜像——当然了,使用旧版本的MAME也可以。下载站点我个人推荐Emuviews,这个站点的ROM分门别类摆放,非常齐全,而且几乎都是更新版的,并随着模拟器的更新不断补充新的ROM,还有最重要的一个优点就是:下栽速度极快。另外还有一个我强烈推荐的MAME ROM专门站:wwwmamedk,该站内建ROM搜索引擎,这个搜索引擎可比emuviews的强多了,ROM数量可以说是最齐全的,速度也不错,另外,该站对每一个ROM的描述也是非常的完备(现在,Emuviews也提供了类似mamedk那样的ROM下载、评价页面了)。此外,网上还有其他专门的补完ROM站,读者可在文末的MAME资源中查到。

  顺便提一句:MAME使用的各个ROM文件都是各个游戏公司的呕心沥血之作,版权也是属于各自的制作公司的,如果你没有对应的街机基板,拥有这些ROM是非法行为,这个原则大家一定要清楚。

  四、 MAME主要配置参数:

  既然是DOS下的应用程序,MAME不可避免的就需要用命令行的方式来启动各种游戏和激活各项参数,呵呵,又回到了“遥远”的DOS时代了……OK,言归正传,MAME的运行命令为:mame [游戏ROM名] [参数]

  [游戏ROM名]这一项要求填入MAME规定的游戏名称,实际上就是ROM的Zip文件名。MAME对游戏名的正确输入要求较高,所以最好不要对下载的ROM文件进行改名操作。现在的MAME包含了一个ROM名比较程序来处理ROM名问题:当你输入的游戏名不正确时,ROMCMPEXE会在MAME的游戏名库中找到一个最接近你所输入文字的游戏名并执行之。对于第一次运行的ROM,MAME会出现一个版权提示,而那些游戏模拟程度上有些问题的ROM,则每一次运行都会提示该游戏部分功能不齐全,我们看完这些提示后,按照其要求顺序按"O""K"(或者按方向键“左”、“右”亦可)两个健就能继续游戏了。和NeoRage一样,如果需要运行NeoGeo的游戏的话,还必须拥有一个名为neogeozip的BIOS压缩档,其中包含neo-georom、ng-sfixrom、ng-sm1rom、ng-lorom等几个文件,这个压缩档可以在我的主页上找到。我们最好把这个zip包放在MAME的<ROMS>子目录当中。

  MAME的各项参数都放在名为mamecfg的配置文件中,这是一个由MAME自动生成的文件,由于MAME的每一次更新都可能对这个配置文件的语句做出修改,所以建议各位玩家不要把旧版本MAME使用的mamecfg沿用到新的版本,因为这样可能会导致MAME工作的不正常。另外,你也可以把参数加入命令行之内,虽然两者的作用和句法基本是一样的,但命令行参数的优先级别高于配置文件,也就是说,对同样的一个参数,MAME将执行命令行设定并忽略配置文件内的相同选项设定。下面就介绍一下MAME的几个主要的配置命令:

  [directory]栏,本栏目定义路径,需要修改的只有一项:

  rompath,缺省配置是MAME所在路径及其下的ROMS子目录,当你的ROM还存在于另外的目录时,可以采用追加的方式,例如:

  rompath = ;ROMS;f:\download\emu\roms;f:\neogeo,追加的目录之间用分号隔开即可,这样MAME在执行时就会在指定的四个路径范围内搜寻ROM。

  [config]栏,本栏是模拟器执行参数设定栏,主要参数解释如下:

  tweak = no 关闭非标准VGA模式,此为缺省设定。MAME支持256x224、288x224、256x256、304x224、384x224之类的街机原始分辨率,这些都是与电脑标准VGA模式不同的模式,如果你的显示卡、显示器支持这些tweaked分辨率,可以将此选项设为yes,显示速度会比VESA模式快一些。

  scanlines = yes 打开隔行显示模式;由于街机显示分辨率一般都比较低,打开这个类似于两行画面水平线之间插入一条黑线效果的选项,会让你觉得PC上显示的图像不是太粗糙到难以接受,同时也有一种街机显示器的感觉;基本上,这种隔行显示模式是每一个低分辨率游戏机(小于640x480)模拟器的缺省设定,其中包括了绝大部分2D街机模拟器、FC模拟器、SFC模拟器、MD模拟器、PCE模拟器等,不过某些模拟器的隔行显示图像的场频高达100Hz以上,比如Rage、NESticle(256x256模式),如果这个数值超过了你的显示器的场频允许范围,那么就不能实现隔行显示,而会变成高亮度的、看起来象是被压缩的画面,甚至花屏、黑屏。如果出现这种情况的话,为了确保你的显示器的安全,最好是把隔行显示模式关闭。

  stretch = yes 打开像素延展选项,使得显示的画面尽可能的大,会降低游戏速度,除非你的机器配置过低,否则不要关闭之;

  vesamode = vesa3 选择VESA画面优化模式,由vesa1、vesa2b、vesa2l、vesa3等4 项可选,该用哪一项取决于你的显卡自带的VBE版本,对于新的显示卡,比如Voodoo3、TNT2之类,可以选择vesa3,若你的显卡比较老(9750、765),则应该选择vesa2b/vesa2l,超老的8900、3105就只能选vesa1了,实在不行的话还得需要SDD来驱动。

  resolution = auto由模拟器自动选择显示分辨率;我们可以把auto改为800x600或者1024x768来获得接近满屏的画面,不过由于大部分街机游戏显示分辨率本来就很低,拉大之后你可能会觉得画面更粗糙了;另外,更改成上述数字后,纵版游戏和分辨率在300x200以上的横版游戏的画面反而变小了。

  depth = 16 选择16位显示颜色深度,某些游戏需要16位高彩色才能正确显示,比如NeoGeo类、Cave类等;有必要时可以把它降到8位色以提高游戏速度。

  gamma = 10000000 设置伽马系数,数字越大画面越亮,可用热键控制。

  frameskip = auto 自动跳帧调节,适用于大多数机器,在低配置的机器上,若你觉得游戏太慢,可以在游戏中按F9键来加大跳帧数以取得较满意的游戏速度。

  注:所谓的跳帧(frame skip),就是减少单位时间内显示的帧画面,比如60fps(frames per second,意每秒钟显示连续的60帧静止画面)的画面只显示其中的一部分,也就是50fps、40fps甚至30fps的效果,这固然对提高显示速度有益,但同时也会造成角色动作不连贯、画面跳跃式进行的恶果,几乎每一种模拟器都有这个可调节的选项。

  soundcard = 1 声卡选择,数字表示:0-无声,1-声霸卡及兼容,3-Pro Audio Spetrum, 4-UltraSound Max,5-UltraSound,6-Windows Sound System,7-Ensoniq Soundscape,一般选1或6就行了,除非你用的是表列中别的声卡。使用创新SB64PCI、SB128PCI 和 Ensoniq Soundscape PCI声卡的用户最好选 7。缺省值为-1,即在初始化程序时列出声卡类型供手动选择。如果遇到声卡实在无法通过MAME的辨认而又想玩游戏,只能选用0了。

  ym3812opl = no 禁用SoundBlaster的OPL芯片来模拟YM3812 FM音源,虽然这两者硬件100%兼容,模拟执行速度也加快,但打开这个选项会使音量控制失效。

  samplerate = 44100 声音采样频率选择,可选11025、22050、44100三项,单位hz,数字越大,声音还原越好,游戏速度也越慢,命令行简写为:sr。

  samplebits = 16 声音采样深度,可选8、16位,效果同上一项,命令行简写为:sb。新版本的MAME去掉了这个选项,改为自动识别了。

  stereo = yes 打开立体声选择,会降低游戏速度,本项自动对单声道游戏无效。

  volume = 0 音量衰减控制,可选数字是负值,单位是分贝,例如"volume -3"意为游戏音量降低3分贝,可在游戏时用键"~"直接调节,祥见下文第五部分。

  mouse = yes 启用鼠标,用于光枪游戏的准星控制及"怒"类游戏的转向控制。

  ror/rol 屏幕右/左转90度显示,可使纵版游戏满屏显示

  joystick = name 游戏控制器选择,缺省为:none 键盘控制,MAME支持的游戏控制器很多, name是它们的名字,分别为:

  auto:自动检测,只能测出标准2键、Creative眼镜蛇、gamepad pro等少数种类的手柄,还是不要用这个选项的好;

  standard:标准2键模拟式手柄 @1P

  dual:双标准2键模拟式手柄 @2P

  4button:标准4键模拟式手柄 @1P

  6button:标准6键模拟式手柄 @1P

  8button:标准8键模拟式手柄 @1P

  fspro:CH flightstick PRO飞行摇杆 @1P

  wingex:Wingman Extreme 飞行摇杆 @1P

  wingwarrior:Wingman Warrior 手柄 @1P

  sidewinder:微软响尾蛇手柄 @4P

  gamepadpro:Gravis gamepad pro手柄

  grip:Gravis GrIP手柄

  grip4:限定4轴向的Gravis GrIP手柄

  / 以下为并行打印口手柄,均易于自制,

  sneslpt1:接在第一打印口的超级任天堂手柄 @4P

  sneslpt2:接在第二打印口的超级任天堂手柄 @4P

  sneslpt3:接在第三打印口的超级任天堂手柄 @4P

  psxlpt1:接在第一打印口的SONY PS手柄 @4P

  psxlpt2:接在第二打印口的SONY PS手柄 @4P

  psxlpt3:接在第三打印口的SONY PS手柄 @4P

  n64lpt1:接在第一打印口的任天堂64手柄 @2P

  n64lpt2:接在第二打印口的任天堂64手柄 @2P

  n64lpt3:接在第三打印口的任天堂64手柄 @2P

  注:1、模拟式手柄初次使用或者出现方向混乱故障时可以在游戏中按Tab进入设定菜单调用Calibrate joystick功能进行校正,数码式手柄则不会存在这种问题。

  2、@1P表示只能单打,@2P表示可以双打,@4P表示可以四打,未标注则为不祥。超任和PS的手柄理论上能达到5P的效果(我只试到了4P,未再继续,呵呵)。

  3、不直接支持创新公司的Cobra手柄(工作于数码方式时)和并口土星手柄;MAME内建有对IF-SEGA的支持,这是一种专用的扩展卡,可以把世嘉土星手柄接到PC,过去处于起步时期的第一批3D图形卡就把它跟着PC版的VR战士、装甲飞龙等游戏软件一起捆绑销售,现在已经看不到了。

  4、PS dual shock手柄的两个模拟小摇杆亦可当作按键使用,左、右摇杆按下时分别被识别为L3和R3(用处不大)。

  5、用于命令行时,语句可简化为 joy。

  6、使用并口手柄对游戏速度降低影响较大。大体上各种手柄的CPU占用率由高到低依次为:PS、SFC、SS/MD、标准模拟式。

  7、不支持异类手柄混用,但是可以手柄、键盘同时使用。

  hotrod = no 键盘接口摇杆支持(就是在Emuviews主页上打广告那个双人摇杆)设定,因为我们用不上,所以选no。

  cheat = no 作弊功能开关,可以改成yes以打开它,最好配合作弊数据使用。

  debug = no 除错、调试模式开关,高级用户选用,这个功能只有在源程序中打开debug选项才有用。

  monitor = standard 设定显示输出类型,对于PC用户选择standard,另外还可以选择以下设备:

  ntsc:输出至NTSC电视监视器

  pal:输出至PAL电视监视器

  arcade:输出至街机监视器

  均需要特殊方式转换信号及相关硬件支持,有兴趣可参看下文第九节。

  至于其他的栏目和选项,只要保留其缺省设定即可。如果上面各项参数用于命令行,请在其之前加一个"-"号,同时可以把"="去掉,例如:

  mame ddragon2 -joy psxlpt1 -soundcard 6 -resolution 800x600

  由于MAME的使用显得繁琐了一些,也有不少方便对DOS比较陌生的玩家的MAME前端(front end)程序被开发出来,这些程序具备亲和性较高的GUI图形界面,配置菜单里基本上囊括了MAME的各个选项,一般玩家通过这些前端程序都能很方便的玩转MAME了。由于我使用过的前端程序并不多(只有ArcadeOS一个,还是因为其无可替代的特殊功能采用的),所以对他们也不是很熟悉,传说中arcade@home是比较好用的,大家可以去它的主页http://arcadeathomeefrontcom下载∮肕AME32好了。

模拟器

http://wwwemu618com/tools/arcadehtm 要用讯雷下才快

MAME是Multiple Arcade Machine Emulator,也就是"多类型街机模拟器"的简称,是一个DOS环境下的应用程序,由MAME小组开发。这是一个仍在不断更新、完善的模拟器,也是一个模拟街机游戏数量最多的模拟器——到目前最新的37 beta10 版本(2K1001)已超过2000个街机游戏,许多现在市面上已经绝迹的老游戏,已经和正准备在MAME上恢复青春。MAME走的是"多机种制霸"的路线,大肆入侵原来由Callus、NeoRage、Rage、Raine、M72、Shark等等贫机种模拟器所盘踞的领域,目前,已经模拟了以Z80族、6502族、6800族等8位CPU和以68K族等16/32位CPU为主处理器的多种街机基板,其中包括了大名鼎鼎的Capcom System 1和SNK MVS(Neo Geo)这样的王牌16位基板,使得MAME成了Callus和NeoRage之外的又一顶尖选择。自96年诞生以来,MAME在以Nicola Salmoria为主程序员的制作小组以及许多协力人员的共同努力之下,在各方面持续吸收先进技术,不断进行版本更新,支持新的硬件,增加被模拟游戏的数量,为MAME成为模拟器王者奠定了坚实的基础。

MAME主要是用C语言进行编程的,使用Allegro工具开发包。它还是模拟器界少有的完全开放源代码的模拟器之一,任何人想对MAME进行修改的话,只要同意把自己所用的代码公开,并遵循他们制定的规则(主要是:不得用于商业牟利等等),MAME小组就允许他对MAME加以改进并自由发行。基于这种特性,其他的程序员便可以自由的利用其源代码为蓝本编写出各种增强版本的MAME,使它成为拥有最多变种的模拟器,比较著名的有:对应各种流行OS的如MacMAME、LinuxMAME、OS2MAME、RISCMAME、BeOSMAME、WindowsCEMAME(为各种PocketPC所用)等,即便在PC平台上,也有专为AMD、 PII、486以及P54C等各种CPU进行优化的版本,以及C语言、汇编语言两个不同编译核心的版本;有专门模拟NeoGeo的KBMAME(For IBM)、NeoMAME(For Mac),以及一些局部增强版的MAME,如提供按键连发功能的EmuPlus、图像输出功能增强的VsyncMAME、AdvanceMAME等;还有一个利用其源码编写的跨越家用机、早期8-16位电脑平台的多用模拟器MESS(反正核心都是68K、Z80、6502之类CPU的模拟);值得一提的是一个用在柯达DC220/260/265/290数码相机上的版本MAMED,虽然我没有用过这个相机版,详细的情况还不是太了解,但是鉴于现在的FlashMemory卡容量越来越大,我想这个版本在游戏的存储上应该没有什么问题(当然暂不包括NeoGeo类的超大游戏),如果再能增添手柄之类方便于控制的外设,或许相机版MAME能够成为目前任何一款游戏掌机的劲敌——只是价格障碍实在太大;MAME team还发行一个名为MAME32的Windows版本,具备标准的GUI界面,大大方便了众多初级玩家,同样的,它也拥有支持TCP/IP协议的NETMAME32、非官方版本UOMAME32、多国语言提示的MAMELang、Neogeo专用增强版本NMAME32等多个变种。我现在介绍的就是新发行的官方版本MAME和MAME32,至于其他的衍生版,相信大家看完本文之后,一定会触类旁通的。

一、 系统需求:

自然是越高级越好了,不过至少都要P166MMX/32M/Vesa20显卡,这个级别的机器可以让你的模拟器完美的运行所有8bit主CPU的街机游戏,但是对于以68K这样的16bitCPU为主处理器的基板的模拟就差一点了,显示帧速率在25-50fps左右,Neogeo类的大容量的游戏速度还更慢一些。虽然这样的帧速率较街机标准60fps还有一定差距,但是马马虎虎也可以接受了。以目前的状况来说,一台300Mhz+以上的100兆外频CPU+64M内存就基本可以满帧跑MAME所有的游戏了,如果你想在街机显示器上使用MAME,那么最好选用自带VBE30的显卡,SDD是没有用的。此外,因为内存管理的原因,在纯DOS下工作时,MAME需要调用一个保护模式下的管理软件cwsdpmiexe共同与之工作,我们必须将这个程序放在path指定的路径之内。

二、 MAME的获得与安装:

作为一个完全免费的模拟器, MAME的各个版本基本上都是在网上以Zip文件形式发行的,我们可以去到其官方站点下载回来使用。当然了,对于这样一个著名的模拟器,国内外许多大大小小的模拟器站点也都会提供相关下载,比如Emuhq、Classicgaming、Arcade@Home等,过去国内的模拟器站点一般只提供指向国外服务器的下载链接,现在也都提供本地下载了。在一阵风的bleem!、impact等等的热潮过后,MAME这个持续更新的老牌模拟器正逐渐为本土的玩家所重视,国内许多的站点已经同步提供新版本的MAME本地下载了。一些光碟杂志也会附带有MAME,但时效性不强。

获得MAME的Zip文件后,用Winzip之类程序将其解压至你所指定的目录,安装就算完成了,如果你使用DOS版的PKzip来解压,请记得加上 -d 参数以确保解压后的目录结构的准确性。MAME主目录下有以下几个目录,用于存放相关数据:

<HI>存放游戏最高分存档;

<SNAP>存放游戏抓图,旧版本的抓图目录名为<PCX>,而MAME32的相同功能目录过去名为<IMAGES>,自37b5起改为与DOS版相同的<SNAP>了;

<INP>存放游戏纪录;

<CFG>存放对应每一个已经运行过的游戏的配置文件;

<STA>存放游戏状态数据;

<MEMCARD>NeoGeo游戏专用的虚拟记忆卡;

<ROMS>顾名思义,存放各种ROM的缺省目录;

<SAMPLES>存放游戏声音采样数据的目录。

<NVRAM>存放有关基板参数设定的目录,作用和基板上用于存放调试参数的SRAM是一样的。

<FLYERS>MAME32专用,存放游戏海报图像文件的目录。

<CABINETS>MAME32专用,存放街机箱体照片图像文件的目录。

<ICONS>MAME32专用,存放游戏小图标的目录。

三、 ROM镜像文件:

MAME只是一个模拟器程序,如果要玩被模拟的街机游戏,还需要这个游戏的ROM镜像文件。通常,街机上的游戏文件都是放在诸如mask ROM(掩膜只读存储器)、EPROM/EEPROM(可擦写存储器)等半导体存储器集成电路芯片当中并固定在基板上的——这种高速但昂贵的存储方式至今未有太大改变——要把这些ROM芯片直接用于PC上当然不是很方便,于是便有人以专门的读写器将街机基板上每一颗ROM芯片内的内容全部拷贝出来,形成一一对应的电脑文件,这就是模拟器可用的ROM镜像文件的由来,而进行这项工作的人就是受到我们广大模拟器爱好者所尊敬的Dumper了;现在在互联网上传播的ROM镜像一般都是经过压缩打包的Zip格式,但我们在使用的时候不必将其解开——和其他模拟器一样,MAME很早(从V31开始吧)就支持Zip文件的直接内存展开操作了。这样就大大节省了我们的存储空间。为方便管理,我们最好把这些ROM文件放入专门的目录。

平常我们在玩MAME的时候,可能会遇上这样的问题:旧版本MAME用得好好的ROM文件,新版本的MAME却给出"xxxx文件校验错误、xxx文件未找到"这样的提示并拒绝执行,或者勉强执行后,部分功能却失效了之。这是怎么回事呢?原来,除去ROM文件真的不存在、ROM路径指向错误(下文祥述)之外,ROM的版本问题就是造成这种现象的主要原因。有的游戏ROM在拷贝的时候,由于dumper自身的技术水平或所用读写器的限制,造成了部分数据丢失、错误或无法完全读出,导致ROM镜像残缺。之后又有人重新制作,或修正,或补充,把过去错误的ROM版本补完。新版的模拟器当然要支持矫正了的ROM,所以旧的ROM就不能用了,解决的办法就是更新你的ROM镜像——当然了,使用旧版本的MAME也可以。下载站点我个人推荐Emuviews,这个站点的ROM分门别类摆放,非常齐全,而且几乎都是更新版的,并随着模拟器的更新不断补充新的ROM,还有最重要的一个优点就是:下栽速度极快。另外还有一个我强烈推荐的MAME ROM专门站:wwwmamedk,该站内建ROM搜索引擎,这个搜索引擎可比emuviews的强多了,ROM数量可以说是最齐全的,速度也不错,另外,该站对每一个ROM的描述也是非常的完备(现在,Emuviews也提供了类似mamedk那样的ROM下载、评价页面了)。此外,网上还有其他专门的补完ROM站,读者可在文末的MAME资源中查到。

顺便提一句:MAME使用的各个ROM文件都是各个游戏公司的呕心沥血之作,版权也是属于各自的制作公司的,如果你没有对应的街机基板,拥有这些ROM是非法行为,这个原则大家一定要清楚。

四、 MAME主要配置参数:

既然是DOS下的应用程序,MAME不可避免的就需要用命令行的方式来启动各种游戏和激活各项参数,呵呵,又回到了“遥远”的DOS时代了……OK,言归正传,MAME的运行命令为:mame [游戏ROM名] [参数]

[游戏ROM名]这一项要求填入MAME规定的游戏名称,实际上就是ROM的Zip文件名。MAME对游戏名的正确输入要求较高,所以最好不要对下载的ROM文件进行改名操作。现在的MAME包含了一个ROM名比较程序来处理ROM名问题:当你输入的游戏名不正确时,ROMCMPEXE会在MAME的游戏名库中找到一个最接近你所输入文字的游戏名并执行之。对于第一次运行的ROM,MAME会出现一个版权提示,而那些游戏模拟程度上有些问题的ROM,则每一次运行都会提示该游戏部分功能不齐全,我们看完这些提示后,按照其要求顺序按"O""K"(或者按方向键“左”、“右”亦可)两个健就能继续游戏了。和NeoRage一样,如果需要运行NeoGeo的游戏的话,还必须拥有一个名为neogeozip的BIOS压缩档,其中包含neo-georom、ng-sfixrom、ng-sm1rom、ng-lorom等几个文件,这个压缩档可以在我的主页上找到。我们最好把这个zip包放在MAME的<ROMS>子目录当中。

MAME的各项参数都放在名为mamecfg的配置文件中,这是一个由MAME自动生成的文件,由于MAME的每一次更新都可能对这个配置文件的语句做出修改,所以建议各位玩家不要把旧版本MAME使用的mamecfg沿用到新的版本,因为这样可能会导致MAME工作的不正常。另外,你也可以把参数加入命令行之内,虽然两者的作用和句法基本是一样的,但命令行参数的优先级别高于配置文件,也就是说,对同样的一个参数,MAME将执行命令行设定并忽略配置文件内的相同选项设定。下面就介绍一下MAME的几个主要的配置命令:

[directory]栏,本栏目定义路径,需要修改的只有一项:

rompath,缺省配置是MAME所在路径及其下的ROMS子目录,当你的ROM还存在于另外的目录时,可以采用追加的方式,例如:

rompath = ;ROMS;f:\download\emu\roms;f:\neogeo,追加的目录之间用分号隔开即可,这样MAME在执行时就会在指定的四个路径范围内搜寻ROM。

[config]栏,本栏是模拟器执行参数设定栏,主要参数解释如下:

tweak = no 关闭非标准VGA模式,此为缺省设定。MAME支持256x224、288x224、256x256、304x224、384x224之类的街机原始分辨率,这些都是与电脑标准VGA模式不同的模式,如果你的显示卡、显示器支持这些tweaked分辨率,可以将此选项设为yes,显示速度会比VESA模式快一些。

scanlines = yes 打开隔行显示模式;由于街机显示分辨率一般都比较低,打开这个类似于两行画面水平线之间插入一条黑线效果的选项,会让你觉得PC上显示的图像不是太粗糙到难以接受,同时也有一种街机显示器的感觉;基本上,这种隔行显示模式是每一个低分辨率游戏机(小于640x480)模拟器的缺省设定,其中包括了绝大部分2D街机模拟器、FC模拟器、SFC模拟器、MD模拟器、PCE模拟器等,不过某些模拟器的隔行显示图像的场频高达100Hz以上,比如Rage、NESticle(256x256模式),如果这个数值超过了你的显示器的场频允许范围,那么就不能实现隔行显示,而会变成高亮度的、看起来象是被压缩的画面,甚至花屏、黑屏。如果出现这种情况的话,为了确保你的显示器的安全,最好是把隔行显示模式关闭。

stretch = yes 打开像素延展选项,使得显示的画面尽可能的大,会降低游戏速度,除非你的机器配置过低,否则不要关闭之;

vesamode = vesa3 选择VESA画面优化模式,由vesa1、vesa2b、vesa2l、vesa3等4 项可选,该用哪一项取决于你的显卡自带的VBE版本,对于新的显示卡,比如Voodoo3、TNT2之类,可以选择vesa3,若你的显卡比较老(9750、765),则应该选择vesa2b/vesa2l,超老的8900、3105就只能选vesa1了,实在不行的话还得需要SDD来驱动。

resolution = auto由模拟器自动选择显示分辨率;我们可以把auto改为800x600或者1024x768来获得接近满屏的画面,不过由于大部分街机游戏显示分辨率本来就很低,拉大之后你可能会觉得画面更粗糙了;另外,更改成上述数字后,纵版游戏和分辨率在300x200以上的横版游戏的画面反而变小了。

depth = 16 选择16位显示颜色深度,某些游戏需要16位高彩色才能正确显示,比如NeoGeo类、Cave类等;有必要时可以把它降到8位色以提高游戏速度。

gamma = 10000000 设置伽马系数,数字越大画面越亮,可用热键控制。

frameskip = auto 自动跳帧调节,适用于大多数机器,在低配置的机器上,若你觉得游戏太慢,可以在游戏中按F9键来加大跳帧数以取得较满意的游戏速度。

注:所谓的跳帧(frame skip),就是减少单位时间内显示的帧画面,比如60fps(frames per second,意每秒钟显示连续的60帧静止画面)的画面只显示其中的一部分,也就是50fps、40fps甚至30fps的效果,这固然对提高显示速度有益,但同时也会造成角色动作不连贯、画面跳跃式进行的恶果,几乎每一种模拟器都有这个可调节的选项。

soundcard = 1 声卡选择,数字表示:0-无声,1-声霸卡及兼容,3-Pro Audio Spetrum, 4-UltraSound Max,5-UltraSound,6-Windows Sound System,7-Ensoniq Soundscape,一般选1或6就行了,除非你用的是表列中别的声卡。使用创新SB64PCI、SB128PCI 和 Ensoniq Soundscape PCI声卡的用户最好选 7。缺省值为-1,即在初始化程序时列出声卡类型供手动选择。如果遇到声卡实在无法通过MAME的辨认而又想玩游戏,只能选用0了。

ym3812opl = no 禁用SoundBlaster的OPL芯片来模拟YM3812 FM音源,虽然这两者硬件100%兼容,模拟执行速度也加快,但打开这个选项会使音量控制失效。

samplerate = 44100 声音采样频率选择,可选11025、22050、44100三项,单位hz,数字越大,声音还原越好,游戏速度也越慢,命令行简写为:sr。

samplebits = 16 声音采样深度,可选8、16位,效果同上一项,命令行简写为:sb。新版本的MAME去掉了这个选项,改为自动识别了。

stereo = yes 打开立体声选择,会降低游戏速度,本项自动对单声道游戏无效。

volume = 0 音量衰减控制,可选数字是负值,单位是分贝,例如"volume -3"意为游戏音量降低3分贝,可在游戏时用键"~"直接调节,祥见下文第五部分。

mouse = yes 启用鼠标,用于光枪游戏的准星控制及"怒"类游戏的转向控制。

ror/rol 屏幕右/左转90度显示,可使纵版游戏满屏显示

joystick = name 游戏控制器选择,缺省为:none 键盘控制,MAME支持的游戏控制器很多, name是它们的名字,分别为:

auto:自动检测,只能测出标准2键、Creative眼镜蛇、gamepad pro等少数种类的手柄,还是不要用这个选项的好;

standard:标准2键模拟式手柄 @1P

dual:双标准2键模拟式手柄 @2P

4button:标准4键模拟式手柄 @1P

6button:标准6键模拟式手柄 @1P

8button:标准8键模拟式手柄 @1P

fspro:CH flightstick PRO飞行摇杆 @1P

wingex:Wingman Extreme 飞行摇杆 @1P

wingwarrior:Wingman Warrior 手柄 @1P

sidewinder:微软响尾蛇手柄 @4P

gamepadpro:Gravis gamepad pro手柄

grip:Gravis GrIP手柄

grip4:限定4轴向的Gravis GrIP手柄

/ 以下为并行打印口手柄,均易于自制,

sneslpt1:接在第一打印口的超级任天堂手柄 @4P

sneslpt2:接在第二打印口的超级任天堂手柄 @4P

sneslpt3:接在第三打印口的超级任天堂手柄 @4P

psxlpt1:接在第一打印口的SONY PS手柄 @4P

psxlpt2:接在第二打印口的SONY PS手柄 @4P

psxlpt3:接在第三打印口的SONY PS手柄 @4P

n64lpt1:接在第一打印口的任天堂64手柄 @2P

n64lpt2:接在第二打印口的任天堂64手柄 @2P

n64lpt3:接在第三打印口的任天堂64手柄 @2P

注:1、模拟式手柄初次使用或者出现方向混乱故障时可以在游戏中按Tab进入设定菜单调用Calibrate joystick功能进行校正,数码式手柄则不会存在这种问题。

2、@1P表示只能单打,@2P表示可以双打,@4P表示可以四打,未标注则为不祥。超任和PS的手柄理论上能达到5P的效果(我只试到了4P,未再继续,呵呵)。

3、不直接支持创新公司的Cobra手柄(工作于数码方式时)和并口土星手柄;MAME内建有对IF-SEGA的支持,这是一种专用的扩展卡,可以把世嘉土星手柄接到PC,过去处于起步时期的第一批3D图形卡就把它跟着PC版的VR战士、装甲飞龙等游戏软件一起捆绑销售,现在已经看不到了。

4、PS dual shock手柄的两个模拟小摇杆亦可当作按键使用,左、右摇杆按下时分别被识别为L3和R3(用处不大)。

5、用于命令行时,语句可简化为 joy。

6、使用并口手柄对游戏速度降低影响较大。大体上各种手柄的CPU占用率由高到低依次为:PS、SFC、SS/MD、标准模拟式。

7、不支持异类手柄混用,但是可以手柄、键盘同时使用。

hotrod = no 键盘接口摇杆支持(就是在Emuviews主页上打广告那个双人摇杆)设定,因为我们用不上,所以选no。

cheat = no 作弊功能开关,可以改成yes以打开它,最好配合作弊数据使用。

debug = no 除错、调试模式开关,高级用户选用,这个功能只有在源程序中打开debug选项才有用。

monitor = standard 设定显示输出类型,对于PC用户选择standard,另外还可以选择以下设备:

ntsc:输出至NTSC电视监视器

pal:输出至PAL电视监视器

arcade:输出至街机监视器

均需要特殊方式转换信号及相关硬件支持,有兴趣可参看下文第九节。

至于其他的栏目和选项,只要保留其缺省设定即可。如果上面各项参数用于命令行,请在其之前加一个"-"号,同时可以把"="去掉,例如:

mame ddragon2 -joy psxlpt1 -soundcard 6 -resolution 800x600

由于MAME的使用显得繁琐了一些,也有不少方便对DOS比较陌生的玩家的MAME前端(front end)程序被开发出来,这些程序具备亲和性较高的GUI图形界面,配置菜单里基本上囊括了MAME的各个选项,一般玩家通过这些前端程序都能很方便的玩转MAME了。由于我使用过的前端程序并不多(只有ArcadeOS一个,还是因为其无可替代的特殊功能采用的),所以对他们也不是很熟悉,传说中arcade@home是比较好用的,大家可以去它的主页http://arcadeathomeefrontcom下载∮肕AME32好了。

五、 MAME32主要配置参数:

MAME32是使用DirectX SDK的WIN32应用程序,在使用上较MAME方便许多,另外还增加了一些MAME所不曾有的功能,但是在同等配置的机器上,MAME32的运行速度会比MAME慢一些,这种差别在低配置的机器上比较明显,甚至会影响到游戏运行的流畅性。在软件环境设置方面,我们通常需要更改的部分只有:

1、ROM路径:进入options/directoies,点击Insert按键,在跳出的对话框中选中你的ROM目录,如有多个目录,重复Insert,选好目录后点OK退出到主界面,按F5键刷新一下,MAME就会在你所指定的所有ROM目录内进行自动搜索,并在主窗口左方目录树available子项中显示出可用的游戏了,双击该游戏名即可执行之,但若游戏名称前的小图标是一个红叉的话,说明该游戏无法正常模拟。如果在你的ROM目录当中增加入了新的ROM,你也需要刷新一下,否则不能运行你新加入的ROM文件;

2、使用手柄:进入options/default options/controllers菜单,复选Use joystick选项即可,MAME32支持所有兼容DirectInput界面的手柄。

3、画面设定:缺省配置下,MAME32使用的是和MAME同样的全屏隔行显示模式,若你想以窗口模式执行游戏,可以进入options/default options/display子菜单,将Full screen display选项禁止,再进入位于同层的Advanced菜单,禁止现存的scanlines选项,这样就能得到较好的窗口显示模式。在窗口模式下,由于使用到了Windows的相关优化效果,游戏画面显得比较柔和,不过游戏速度慢了一些……

4、优化设定:声音:options/default options/sound,sound system选MIDAS, Sample rate选44100,Sample bit选16,FM synthesis打开(视你的声卡效果而定)。图像:options/default options/display,colors选16bit(与游戏本身的原始画面色深有关),在全屏模式下工作时将Triple buffer打开。其他:options/default options/miscellaneous,打开Enable game cheats,并根据你的CPU特性决定是否将Disable MMX选项保留。

5、关于抓图:MAME支持的游戏太多了,但并不每一个游戏都值得玩的,你是不是在下载某一个游戏之前想知道该游戏的大致内容呢?又或者,你想知道某一仅知其形不知其名的老游戏是否被MAME模拟了呢?这好办,只要你找到MAME的游戏抓图,把它们全部压缩成一个名为snapzip的文件,放入MAME32下的<snap>(MAME3237b5起)子目录当中,然后执行MAME32,当你用鼠标单击某一个游戏时,相关的抓图就会显示在最右边的窗口中,这样你寻找游戏不就做到有的放矢了吗?MAME的抓图文件可以到我的主页去下载,EmuViews的ROM下载也配有抓图,点击每一个ROM前面的磁盘形图标就可以查看。

6、 游戏版本:许多游戏都有美版、日版、全球版以及2P版、4P版、6P版之分,而某些ROM是多版合一的Merged Romset,如本站提供的《黑龙》,因为ROM名可以是统一的,所以在DOS下看不出来,而MAME32有显示游戏的详细信息的功能,其中就包括了版本号,这样它可就帮了那些喜欢玩某一版本的游戏的玩家了。一般而言,除了文字显示上的差异外,同一游戏的日版比美版难度更大一些。

7、联网对战:MAME32的源程序已经内建了通过TCP/IP规则来连线对战的功能,但是可能因为这个功能比较简陋,尚不能满足MAME小组预期的要求,所以在官方版本中这个功能都未曾激活,但是有不少MAME32的非官方版本已经提供了这个功能。鉴于网络对战越来越受大家的欢迎,我就简单介绍一下如何使用:在支持TCP/IP协议的网络中找几台机器,其中一台作为服务器,首先运行windows系统自带的IPCONFIGEXE程序,找出本机的IP地址,并告诉想要联机的朋友。接着运行MAME32,从File/Run network game进入网络设定菜单,选中Server mode,改好你的Player's Network name(不改也行,就用缺省的“MAME玩家”好了),在Number of players项中决定联网的玩家数量,至于所有连线的玩家能否一起玩就要看所用的游戏了,然后点击OK,等待其他玩家加入吧。服务器设立好以后,在客户机端也运行与服务器相同版本的MAME32,同样通过File/Run network game,但是这次需要选择Client mode,并在Network configration项中填入服务器的IP地址,点击OK按钮就可以连上服务器了,连入后在出现的对话窗口下方是一个聊天器,通过它可以跟连在线上的所有玩家通话。当所有玩家都已经正确连入后,就可以有服务器端来决定玩什么游戏了——客户端只能提建议,呵呵。能够联网运行的游戏都会显示在连通窗口的左方——不是所有的游戏都能用,比如KOF系列就不行。进入联机游戏后,玩家要注意控制方面的问题:MAME32在联机模式下,对于服务器端和客户端的控制设备ID未做修正(连通窗口中的Controls功能好像并无效果),如果各方都使用1P控制方式的话,那么都在控制1P的活动,所以必须有一方改用2P、3P、4P……控制方式才能协同作战,这一点比Callus95就差多了。在操作方法上,无论局域网还是互联网都是一样的,不过以我国目前的线路状况来看,通过互联网对战还不是很现实……

MAME32的配置设定是存在注册表当中的,当你的MAME32版本升级以后,第一次执行的时候程序会询问是否以新版本的配置参数覆盖原来的设定。和对mamecfg的处理方法一样:出于对模拟器正常运行的考虑,建议大家还是回答“Yes”——尽管这样需要重新设定路径、控制设备、输入设备等等选项。

六、 MAME/MAME32热键操作:

3/4:1P/2P投币键;

1/2:1P/2P开始键,这样的设定已经成为了除Callus/Impact外所有街机模拟器的标准,如果是4打类游戏,则1P/2P/3P/4P的投币键改为5/6/7/8,按1/2/3/4或各人的开火键开始游戏——MAME自从36RC1开始已经将这种4打类投币开始键位作为初始设定。

P:游戏暂停;

Shift+P:游戏暂停,同时显示下一帧;

F3:复位键;

F4:显示游戏所用调色板,再按一次恢复游戏;

F9:动态跳帧调节键,跳帧数在auto、0、1、2、3……11之间循环;

F10:游戏速度调节,偶尔用来玩一下"超速版"游戏也不错;

F11:F9、F10功能的状态显示开关,数据显示在画面右上角;

F12:抓图,游戏抓图以PNG格式储存在子目录当中;

~:控制台键(像Quakez一样,呵呵),呼出菜单后,↑、↓键选择功能,←、→键调节大小。可供调节的选项有:总音量,DAC数码音效音量、FM音源音量、画面Gamma和亮度等,也可以用手柄方向键来操作;

TAB:游戏配置键,在呼出的菜单中

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » ibm 发布新型 synapse 神经芯片,会对整个计算机乃至科技领域产生什么影响

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情