EmuELEC/街机模拟

EmuELEC/街机模拟

EmuELEC 的街机模拟器(核心)

EmuELEC 的街机模拟器分为独立版本和 LIBRETRO(简称 LR)核心或者 RETROARCH核心,独立版本为ADVANCEMAME,而LR核心包括多个MAME移植版和两个FBA版本。

FBN/FBA

EmuELEC 所用的 RETROARCH,FBA 核心有两个,一个是 lr-fbalpha,代码更新自最新版 FBA(截止 2019 年 4 月 23 日最新版本为 0.2.97.44),该核心一直有着活跃的维护,支持的街机主板较多较新,是主力街机模拟器,还有一个是 lr-fbalpha2012,采用 0.2.97.34 移植,维护相对少很多。这个版本的 FBA 模拟效率高,对一些类似树莓派 2、全志 H3 之类的机能比较弱的 ARM 板子来说价值比较高,但是驱动老旧,很多基板模拟有不少问题。

FBA 相对于 MAME 来说,效率较高,尤其是 M68K 和 Z80 的基板,模拟效率尤其突出,即使在 Wii/NGC 这样老旧的家用主机上,都可以全速模拟 CPS/CPS2/MVS 等主机。2016 年下半年开始,RETROARCH 的两个 FBA 核心支持同时根据①压缩包内文件名和②压缩包内文件的 CRC 读取相关文件,因此你所用的 ROMSET,只要符合①②两者之一,就能被 FBA 读取并正常模拟。如果你想通过 FBA 玩打过 IPS 补丁的 HACK 版 ROM,那么只要保证打过补丁的 ROM 包内文件解压缩后的大小不变,并且文件名不变,那么直接就可以通过 FBA 运行该改版 ROM。当然,压缩包的文件名也不能变。由于 FBA 的运营人 Barry 瞒着所有组员把 FBA 项目“卖”给 CAPCOM 的街机摇杆(具体始末见:https://www.bilibili.com/video/av49920866/),导致所有组员出走并建立了新的分支 FB Neo,目前 FBA 已经名存实亡,Libretro 现在已经用 FBNeo 代替了原来的 FBAlpha。因此,EmuELEC 用户可以将最新版的 lr-fbneo 作为街机首选模拟器。

MAME

相对于 FBA,MAME 支持的街机基板更多。LR 的 MAME 核心有 MAME2000(基于MAME 0.37 移植)、MAME2003(基于 MAME 0.78 移植)、MAME2010(基于 MAME 0.139移植)、MAME2014(基于 MAME 0.159 移植)、MAME2016(基于 MAME 0.174 移植)、MAME(同步于最新版 MAME),越新的版本支持的基板越多,模拟准确度越高,但是相对的效率越差,运行起来速度越慢,基本上 MAME2010 以上的版本对于 S905、树莓派 3 等ARM 平台来说已经没有实际价值了。出于模拟效率考虑,EmuELEC 我们推荐MAME2003Plus 核心,这个核心基于 MAME2003 强化,虽然是底子移植自 2003 年的 MAME0.78,但是近来很多开发者在不断完善其驱动,支持和修复了很多游戏,比如增加了电精 1代、大量 MVS 后期游戏、婆娑罗等新版 MAME 才能支持的游戏驱动。需要说明的是 MAME2003Plus 核心不仅可以通过压缩包内的 CRC 来读取文件的,还可以根据压缩包内的文件名来读取文件,因此现在可以用 MAME2003 直接运行修改过的 ROM,不会像以前那样闪退。要想用 MAME2003 运行 HACK 过的 ROM,可以仿照上面 FBA 模拟EmuELEC 使用指南器那样修改 ROM。但是如果 HACK 过的 ROM 进行了扩容,那么除了从源代码上着手修改,直接修改 ROM 的文件名就没用了。

ADVANCEMAME

EmuELEC 的 ADVANCEMAME 是用 MAME 0.106 移植的,所以配套的 ROM 需要用MAME 0.106 版,而且由于是独立核心,手柄映射、分辨率设置等都独立于 RA 版本的 MAME,使用起来要复杂一点,但是比起 RA 核心的 MAME,这个 ADVMAME 支持自动跳帧,速度也比 MAME2010 快,支持的 ROM 又比 MAME2003 多,因此可以起着一定的补充作用。

街机游戏 ROM

EmuELEC 所使用的街机游戏 ROM 有着如下特点:

  • ROM 必须保持 ZIP 格式,不能解压。
  • 街机游戏 ROM 的 ZIP 包不能改名,模拟器是通过读取压缩包的文件名来决定使用
    哪个驱动,并根据压缩包内文件的 CRC 或文件名来读取相应文件的。
  • 街机游戏 ROM 有不同的版本,每个模拟器都有相应 配套的 ROM,一般情况下不
    能混用,并不是网上随便下载一个 ROM 就能使用的。
  • 街机游戏 ROM 分为母版和子版,一般来说,最先的 DUMP 的街机 ROM 会作为母
    版,后 DUMP 的 ROM 作为子版。子版的 ROM 压缩包一般会省去与母版相同的文件,仅含
    与母版不同的文件。
  • 街机游戏 ROM 通常分为三种:
    1. Non-merged(非合并式): 每个版本的 ROM 都包含完整的文件,虽然文件名依然分为子版ROM压缩包名和母版ROM压缩包名,但是子版ROM包里并不省去与母版ROM包相同的文件,子版 ROM 的压缩包里包含基板模拟器所需的全部 ROM 文件。
    2. Split(分割式): 游戏分为子版和母版 ROM 包,子版 ROM 的压缩包内略去与母版 ROM 压缩包相同的文件,因此运行子版 ROM 压缩包时,同路径下还需要母版 ROM包的存在。
    3. Merged(合并式): 与①相反,不同版本的游戏不分子母 ROM,所有版本的 ROM文件统统压缩在一个压缩包内。这种 ROM 包只适合 PC 上的 MAME、WINKAWAKS 等模拟器使用,EmuELEC 所用的街机模拟器不支持这种方式的 ROM 包,如果你使用这种方式的 ROM 包,将只能运行以压缩包名命名的游戏版本。

更多有关街机模拟器的信息,可以查阅如下网站的资料:


Last update: 2020-05-22 08:30:19 UTC