跨平台模拟器-RetroArch
2021-08-26 12:50:09 阿炯

RetroArch(复古拱门)是款功能强大的跨平台模拟器,不但能够模拟许多不同的游戏主机,还能在 Windows、MacOS、Linux、Android、iOS 以及多种游戏主机上执行。该电玩模拟器软件框架的官方预设前端用户使用界面,采用C/C++开发并在GPLv3许可证协议下授权的共享软件。


其采用类似SONY PS3游戏机的XMB界面、网络更新,统整了诸多电玩模拟器,让使用者单一一套软件中就能模拟各种游戏,同时除了电脑和安卓手机外,能透过第三方固件破解后安装在诸多游戏主机上。可以通过其流畅的图形界面在计算机和控制台上运行经典游戏。


RetroArch is a frontend for emulators, game engines and media players. It enables you to run classic games on a wide range of computers and consoles through its slick graphical interface. Settings are also unified so configuration is done once and for all.

RetroArch 是 libretro API 的前端。libretro 是一个公开通用音频/视频/输入回调的 API,libretro(如 RetroArch)的前端处理视频输出、音频输出、输入和应用程序生命周期。

该 API 的实现示例包括视频游戏系统模拟器、媒体播放器、游戏引擎以及更通用的 3D 程序。这些程序实例化为动态库,这些称为“Libretro Core”。用 C 或 C++ 编写的 libretro core 可以在许多平台上无缝运行,几乎不需要移植。



特性:
跨平台:RetroArch 可以在 Windows、MacOSX 和 Linux 等常用平台上运行,RetroArch 还运行在苹果和 Android 平板电脑和手机,以及游戏控制台,如 PS3,PSP,PS Vita,Wii,Wii U 等
图形界面:XMB 是 RetroArch 的默认图形界面。它是为 Joypad 导航优化的,可以使用播放列表系统进行扩展,可以使用元数据和缩略图浏览游戏集合,它还允许你调整设置并在活动游戏上执行操作。
下一帧响应时间与实际硬件无法区分:从实际硬件、FPGA/Clone 或原始硬件的输入延迟来看,几乎没有任何可辨的差别
高度可配置:高级设置界面,让你调整每一个选项:如何运行和显示游戏。
着色器:着色器是高效的图形过滤器,可以大大改善旧游戏的渲染
网游:使用 RetroArch 的内置网络大厅发现很多游戏,也可以使用观众模式来观看其他人的比赛
Joypad 自动配置:普通的 Joypad 在插入时会自动配置,就像一个真正的游戏控制台。还可以手动配置joypad,以便将特殊操作分配给按钮组合体
RetroArch 可以将你的游戏会话记录到视频文件中
扩展应用程序库:新的程序不断被添加到 RetroArch 的应用程序库中

RetroArch 已移植到多个以下平台:
DOS
Windows
Linux
Emscripten (WebAssembly and JavaScript)
FreeBSD
NetBSD
OpenBSD
Haiku
Solaris
macOS (PPC, x86-32 and x86-64)
PlayStation 3
PlayStation Portable
PlayStation Vita
Original Microsoft Xbox
Microsoft Xbox 360 (Libxenon/XeXDK)
Nintendo GameCube
Nintendo Wii
Nintendo Wii U
Nintendo 3DS
Nintendo Switch
Nintendo NES/SNES Classic Edition
Raspberry Pi
Android
iOS
Blackberry


最新版本:1.9
RetroArch 1.9.8 已于2021年8月未旬发布。主要更新内容如下:
AUDIO/WINDOWS/WASAPI:停止在快进时停用音频
CHEEVOS:重置时隐藏 challenge indicators
CHEEVOS:支持超过 64 个内存区域
CHEEVOS:自动重试“http error code -1”
CONTENT INFORMATION:始终显示内容信息标签+路径行
CORE OPTIONS:实施的核心选项类别
CORE OPTIONS:添加选项以禁用核心选项类别
D3D10/11/12:修复 gfx_display_draw_texture - 修复 OSK(屏幕键盘)问题
DATABASE:修复获取 CRC 值时的堆缓冲区溢出
DATABASE/EXPLORE:修复探索菜单中的 CRC32 读取问题
DATABASE/LIBRETRODB:修复数值的写入
DATABASE/LIBRETRODB:修复 big endian 上的 libretro-db 加载
INPUT/SDL2/WINDOWS:修复 keyboard event keycodes
LIBNX/SWITCH:修复布局未正确应用并在拆分 Joycon 时挂起
LIBRETRO:实现了核心选项类别 API
LIBRETRO:修复RETRO_ENVIRONMENT_SET_FASTFORWARDING_OVERRIDE回调,当runahead被启用时。
MENU:将“Manage Playlists”重新定位到顶部
OSX:修复一些内存泄漏
WIIU:修复 L3/R3 按钮
WIIU:添加 ICInvalidateRange(对于 JIT 是必需的)
WIIU:轻微的文件系统优化
WIIU:添加在没有 core info 的情况下运行的选项(emscripten-style)
......
详情可查看此处


官方主页:https://www.retroarch.com/