每天进步一点点
加油(ง •̀_•́)ง
各位小伙伴们,大家好!
希望我的分享能伴随着大家每天进步一点点!
Retroarch
游戏机万能模拟器 - Retroarch - 最新版本1.10.3发布了!
各位小伙伴可以去更新自己的游戏机万能模拟器了!
以下内容为机翻,英语好的小伙伴可以去主页阅读。
更新内容如下:
RetroArch 1.10.3 发布!
RetroArch 1.10.3 刚刚发布。
核心更新FBNeo、LRMAME2003 Plus、UAE 和 VICE 已经看到了每周定期更新/改进。我们无法在此处列出所有更改,因此我们只建议您前往相应的 Github 存储库并查看那里的 chanes。
文件名LRMAME更新到版本 0.242(最新)。LRMAME 现在也可用于 ARM Mac。您可以从核心下载器中获取它。
雀巢为以下游戏添加了 FourScore 支持(4 人多击):
- 史派西麦克雷西
- NNNNNN
- 街机冲刺
- 正义决斗
- 小轮车模拟器
- 爆拳之道
这个核心有一个新的自动跳帧模式(基于空闲的音频缓冲区空间)。
Lightrec 动态重新编译器已经更新,它应该修复了之前发生的几个崩溃和错误。这只会影响使用 x86/x86_64 和 MIPS 架构处理器的用户,因为基于 ARM 架构的系统继续使用 Ari64 dynarec。
进行了 GunCon 大修,添加了以下输入描述符:
- 在玩家 1 和 2 的 RetroArch 菜单中添加 Trigger、Reload、Aux A 和 Aux B 作为可映射按钮。
- GunCon 触发器、A 和 B 按钮映射到 Gun Trigger、Gun Aux A 和 Gun Aux B,而不是硬编码为左键单击、右键单击和中键单击。
- 强制光标到屏幕角落以进行屏幕外重新加载,以便重新加载在屏幕的所有四个边缘上工作。
- 允许 Gun Reload RetroArch 输入以模拟屏幕外镜头。
- 将枪坐标从“指针”类型切换到“光枪”类型。
GW (Game & Watch) Libretro 核心现在可用于 MSVC 2005 和 2010 Windows 版本。这些版本可以在比常规版本更早的 Windows 操作系统版本上运行。
GPSPgpSP Libretro 核心现在使用 Miyoo 平台的小型翻译缓存。
帽32Amstrad CPC 8 位家用计算机系列的模拟器。这已经看到了一些改进。
- DB:来自逆袭的新游戏
- UI:将 DB 图标 DSK 添加到状态栏
- DB:您可以使用 $ 添加直接标记(用于操纵杆键绑定或清理)
- DB:使用 clean-cpc-db info 添加了 DB v1
- 核心:添加模型 664 以允许 DSK 和 BASIC 1.0
- 核心:从文件名中检测一些配置
- 视频:小修复(需要更多工作)
SMS Plus GX Libretro 核心现在应该在 RetroArch PSP 上更加稳定。我们通过避免未对齐的内存访问来实现这一点。以前,在开始游戏后,控制台会自动锁定并关闭。
其他相关更改——我们将 ALIGN_LONG 替换为 Miyoo 和 RetroFW 的 ALIGN_DWORD 以匹配独立版本。这修复了主系统背景渲染。它从 3DS 中删除,因为 ARMv6 允许未对齐的内存访问,并且定义该宏无论如何都没有效果。ALIGN_DWORD 从 Raspberry Pi (ARMv6/7/8)、Classic (ARMv7)、OS X non-PPC (x86, ARMv8)、Vita (ARMv7) 和 Switch (ARMv8) 中删除,因为这些平台支持未对齐的内存访问。
甲壳虫虚拟男孩修复了 VSU 调制仿真中的几个不准确之处,修复了“Virtual Boy Wario Land”中的一些音效。
梅森Nintendo Entertainment System 模拟器核心进行了一些改进。
以前,核心会通过每帧多次使用音频批处理回调来上传音频,过度“强调”前端音频缓冲区并导致 AV 同步不佳。
我们现在确保每帧只使用一次音频批处理回调(除非前端不支持足够大小的批处理,在这种情况下,样本将被适当地分割)。
我们还做了以下事情:
- 将默认音频采样率设置为 48000 Hz。之前的默认值 96000 Hz 太高了,以至于需要 RetroArch 每帧刷新两次音频驱动程序,这不利于 AV 同步。
- 删除 192000 和 384000 采样率选项,因为这些实际上不受底层仿真器代码的支持……
添加 4:3(保留)和 16:9(保留)纵横比Mesen 在裁剪过扫描时默认保留所有情况下的纵横比,这会导致核心提供的 4:3 和 16:9 AR 之间存在差异,并且RetroArch 自己的 4:3 和 16:9 AR,这并不总能产生理想的图像(特别是 16:9 在 16:9 显示器上应用裁剪时会看起来很奇怪)。
我们现在将 Mesen 保留的 4:3 和 16:9 AR 分离到他们自己的选择中,用于核心提供的纵横比,因此人们可以在使用任何一个选择作为其核心提供的纵横比时选择他们是否希望保留纵横比比率。
bsnes 水星/bsnes C 98Super Nintendo Entertainment System 模拟器核心进行了一些改进。
以前,内核会以 64 个样本的数据包的形式上传音频——这意味着每帧会多次使用音频批处理回调,过度“强调”前端音频缓冲区并导致 AV 同步不佳。
我们现在确保每帧只使用一次音频批处理回调。
怀旧这个闪回游戏引擎核心现在也已添加到 Miyoo 平台。
渣滓虚拟机由于我们更新了 libco coroutines 中间件库,现在应该修复几个严重的崩溃。
FCEUmm这个Nintendo Entertainment System模拟器核心已经看到了一些改进。
更多映射器添加和改进改进映射器 49、215/258、340、341、351 和 444。添加新(重新)分配的映射器 294 和 310。添加新的映射器 467。
公开内部音频射频滤波器选项核心已经包含一个低通音频滤波器,旨在通过射频调制器连接到电视时重现 NES 的“静音”声音 - 但由于某种原因,此功能未启用/公开。
我们只是简单地将它连接到一个新的音频射频滤波器核心选项。启用后,音频质量的(主观)改善非常显着。过滤器对性能的影响可以忽略不计。
(此过滤器产生此处讨论的效果:https ://forums.libretro.com/t/lowpass-filtering-for-nes-rf/37258 )
添加可选的“假”立体声音效我们添加了一个新的 Stereo Sound Effect 核心选项,可用于在上混 NES 的单声道输出时通过延迟右声道(相对于左声道)来模拟立体声。延迟可配置为 1 到 32 ms。
效果与 Mesen 核心中当前可用的假立体声相同。
微型计算机minivmac 是 Mini vMac 的模拟器,一个微型 Macintosh。我们现在为 ARM Mac 添加了这个内核。它可以从核心下载器下载。
创世纪加 GXGenesis Plus GX 是Sega Master System/Sega Game Gear/Sega Megadrive/Sega Genesis 仿真器核心。
我们现在为 Miyoo 系统使用低内存代码路径。因为这个平台只有 32MB RAM,就像 RS-90 一样。
瑞克为 Miyoo 平台添加了Rick Dangerous 游戏引擎核心。
Snes9x 2005这个超级任天堂娱乐系统模拟器核心已经看到了一些改进。
之前,核心的音频采样节奏很差:
- 内核的两个变体都没有发送每帧的样本数,这些样本数将匹配由 retro_get_system_av_info() 中设置的采样率和 fps 给出的标称预期值
- 由于整数舍入误差,非加核总是会发送太少的样本
- 就实际仿真而言,核心的“加号”版本将发送“正确”数量的样本——但这与报告给前端的采样率不符。此外,“加号”核心将每帧调用两次音频批处理回调,这会过度强调前端音频缓冲区。
结果,核心的音频/视频同步不佳,影响了帧节奏。
我们修复了几个问题:
- 音频采样率现在报告为 32040 Hz
- non-plus 核心使用累加器来确保“分数”音频样本在需要时被考虑和发送
- plus 核心现在每帧只上传一次音频样本
此外,我们还做了以下
- 修复了在核心中发现的三个内存泄漏
- 修改了控制台区域核心选项以要求重新启动(因为在运行时永远无法更改它......)
Snes9x2005 Non-Plus:添加可选的低通音频滤波器除了音频仿真精度的显着差异之外,核心的“plus”和“non-plus”版本之间最明显的区别可能是后者的水平不足低通音频过滤,导致声音细小/沙哑。
我们在“非加”核心的输出级添加了一个简单的可选低通滤波器。启用后,音频会更加柔和/低音,并且生成的声音更接近“加号”版本产生的声音——性能要求的增加可以忽略不计。
Snes9x 2010这个超级任天堂娱乐系统模拟器核心已经看到了一些改进。
每帧仅使用一次音频批处理回调
之前,核心会以大约 64 个批次上传样本,这意味着每帧会使用多次(大约 9)次音频批量回调。这会使前端音频缓冲区“压力过大”并导致 AV 同步不良。
我们已通过确保音频批处理回调用于每帧仅发送一次所有可用样本来解决此问题。
提高保存状态效率 修复保存状态大小
目前,每次调用retro_serialize_size() (即每当使用保存状态时),核心通过分配一个临时的5 MB 缓冲区并将实际保存状态写入该缓冲区来确定保存状态大小。此外,由于内存流包装器代码中的错误,它无法正确报告实际大小——这意味着保存状态的大小始终为 5 MB。这代表了一种可怕的低效率。
现在,保存状态大小的计算独立于常规保存状态的创建。不需要临时缓冲区,也不需要实际将保存状态写入内存 - 保存状态现在具有正确的大小(~830 kb)
天鹅站此Sony PlayStation1 仿真器核心已更新。
- 移除“Force Pop'n Mode”和“NeGcon Steering Axis Deadzone”选项
WonderSwan、Lynx 和 PokeMini 仿真器内核的重大改进,适用于大多数没有 VRR 显示器的系统!
甲虫 WonderSwan目前,核心以 ~75Hz 运行,与 WonderSwan 硬件的原生刷新率相匹配。如果核心运行在 VRR 显示器(或本机支持 75Hz 的显示器)上,这很好,但在常规 60Hz 面板上,它可能会导致问题。特别是很容易出现画面撕裂的情况。您可以在 Linux(不使用合成器且未在驱动程序级别强制使用 vsync 时)和 3DS 上体验这一点。3DS 上的撕裂非常严重,以至于我们之前认为核心在该平台上无法使用……
我们现在添加了一个新的 60Hz 模式核心选项,可用于强制核心以 60Hz 运行(实际上是 60.38Hz,但 RetroArch 通过动态速率控制很好地处理了这一点)。请注意,启用此选项后,内核仍以“正确”的速度运行 - 在内部,内核运行标称每秒约 75 帧,但每 5 帧“丢弃”一次。这会降低视频的平滑度,但是 60Hz 显示器上的 75Hz 也不是平滑的。更重要的是,启用此选项可消除屏幕撕裂。
此外,我们还做了以下小改动:
- 前端报告的帧速率现在在 75Hz 模式下正确设置(以前这被截断,导致前端音频缓冲区有轻微的欠载趋势)
- 内部音频样本缓冲区已从约 64kb (!) 静态数组减少为大小正确的动态创建的微小数组
- 在 3DS 上,视频缓冲区现在分配在线性内存中(以提高性能)
- 96000、192000 和 384000 音频采样率选项已被删除,因为它们毫无意义并且会损害 AV 同步
由于这种 60Hz 模式,Beetle WonderSwan 现在可以在 RetroArch 3DS 上完美播放。默认情况下,我们已启用此选项。如果您使用的是 VRR 显示器,或者如果您以原始 75Hz 分辨率运行并希望将其更改回原始刷新率,您可以在快速菜单 -> 选项中关闭此选项。
我们还为 RetroArch PS2 添加了核心,尽管它无法达到全速。它是否值得包括在内是有争议的,但现在我们保留它。
还有一个新的可选音频功能。WonderSwan 倾向于产生相当粗糙/磨蚀性的芯片调谐。低通音频滤波器使生成的声音变得柔和和“柔和”。
小精灵目前核心以 72Hz 运行,与 Pokemon Mini 硬件的原生刷新率相匹配。如果核心运行在 VRR 显示器(或本机支持 72Hz 的显示器)上,这很好,但在常规 60Hz 面板上可能会导致问题。特别是很容易出现画面撕裂的情况。我们可以在 Linux(不使用合成器并且没有在驱动程序级别强制使用 vsync 时)和 3DS 上体验到这一点。
我们现在添加了一个新的 60Hz Mode 内核选项(默认启用),可用于强制内核以 60Hz 运行。请注意,启用此选项后,内核仍以“正确”速度运行——在内部,内核运行标称每秒 72 帧,但每 6 帧“丢弃”一次。这会降低视频流畅度,但 60Hz 显示器上的 72Hz 也不流畅(很少有 Pokemon Mini 游戏一开始就“流畅”……)。更重要的是,启用此选项可消除屏幕撕裂。
便利这个 Atari Lynx 模拟器核心已经看到了几项重大改进。
修复帧节奏之前,这个核心完全打破了帧节奏。内核向前端报告了 75Hz 的固定刷新率,但 Lynx(和内部仿真代码)具有 0-75Hz 的可变刷新率;游戏可以按照他们喜欢的任何速度渲染。在 retro_run() 中,始终模拟 Lynx,直到发生下一个“帧结束”事件 - 如果游戏以例如 25 fps 的速度渲染,这意味着 retro_run() 实际上将对应于 (1/25) 秒的 Lynx 运行时间预期的 (1/75) 秒。在这种情况下,游戏被模拟得太快了——但它似乎在前端以正确的速度运行,因为核心上传了一个“超大”的音频缓冲区(相当于 1/25 秒的样本)。RetroArch 以这样的方式同步音频,当接收到太多样本时,前端以“慢动作”运行——因此“太快的仿真” “太多的音频样本”有效地抵消了。但结果很糟糕。这是对 libretro API 的严重违反,它破坏了前端正确同步音频和视频以及正确调整帧的能力。
我们现在修改了运行循环,以便在每次调用 retro_run() 时模拟固定数量的 CPU 周期,对应于实际的前端输出视频刷新率(可以通过新的 Video Refresh Rate 核心选项设置)。因此,Lynx 总是以正确的速度模拟,音频总是以正确大小的批次上传,并且生成的视频帧在可用时被捕获和输出(并且当前端可以接受它们时)。
默认视频刷新率已设置为 60Hz,这为大多数游戏提供了流畅的结果(并且还消除了 60Hz 显示器上的屏幕撕裂,这是核心仅报告 75Hz 刷新率时的问题)。如果游戏的帧速率高于此(很少见,但例如加利福尼亚游戏的介绍和菜单以 75 fps 的全速运行),则将丢弃“多余”帧。在这些情况下,拥有 75Hz VRR 显示器的用户可以设置更高的刷新率来提高视频流畅度。
提高保存状态效率之前,retro_serialize() 函数通过分配一个临时的 ~310kb 缓冲区来确定保存状态大小,将实际保存状态写入其中,然后获取结果缓冲区占用率。这是非常低效的——每次保存或加载状态时都会调用 retro_serialize() 3 次……
我们修改了序列化内存流代码以允许创建“虚拟”保存状态——不需要缓冲区,也不需要复制数据。这意味着 retro_serialize() 现在可以获取保存状态大小,而无需分配内存,也不会浪费精力。
添加可选的 LCD 重影过滤器
我们添加了一个新的 LCD 重影滤镜核心选项,可用于通过混合多个连续帧来应用 LCD 重影效果。混合帧数可设置为2-4;使用更多帧以提高性能要求为代价提高了效果的质量。
LCD 重影对 Lynx 尤其有益,因为许多游戏以非常低的帧速率运行,并且一些模糊有助于消除频繁的“生涩”屏幕更新。
RetroArch 更新有关已发生的所有更改的详细分类,请参阅下面的更改日志。
迄今为止,对 Steam 用户来说最大的变化之一是新的 Steam Discord Rich Presence 支持。注意:您需要使用桌面客户端才能使其正常工作。它不适用于 webbrowser 客户端。
变更日志1.10.3
- ANDROID:解耦 Play Core 依赖以使应用程序符合 F-Droid
- AI/SERVICE:默认禁用 AI 服务设置
- BLUETOOTH/LAKKA: bluetoothctl: 添加/修改配对步骤
- CHEEVOS:禁止在 Hardcore 模式下手动设置帧延迟
- 数据库:Wii 的串行扫描现在包括 WBFS
- 输入/映射:清除输入端口绑定时修复偏移 崩溃
- 输入/映射:修复使用配置覆盖时保存“模拟到数字类型”的问题
- 本地化:添加巴伦西亚语选项
- 本地化:更新
- 菜单/设置:在“窗口模式”设置下移动“显示菜单栏”
- 菜单/设置:为“子系统”和“输入死区/灵敏度”添加子标签
- 菜单/设置:将“屏幕通知”移至顶部
- MENU/XMB:将阴影 alpha 值统一为稍暗的值,以提高可读性
- MENU/XMB:更正了实际行为的选项标签和子标签
- MIYOO:启用 ALSA 音频驱动程序并默认为它
- PSP:去掉额外的语言/本地化,增加大约 4/5MB 到二进制文件,并且 RAM 在 PSP 上受限(32MB 和 64MB RAM 型号)
- 静态平台:从播放列表启动内容时填充所有历史列表元数据
- STEAM:引入 Steam Rich Presence
- 视频:快进跳帧改进
- 视频/线程:稳定性修复
- WINDOWS/WINRAW:修复多个光枪
- WIIU:修复 USB get_device_name(),不要截断为三个字符
如果你是刚开始看我的文章,并且对万能模拟器很感兴趣的话。
建议你去看看我前面的文章,相信会给你带来一点点的帮助。
如果你觉得文章好可以,请给我点个赞。
如果你有任何问题和想法,请给我留个言。
如果文章能给予你帮助,请关注我一下。
你的鼓励和支持将是我最大的动力!
谢谢捧场!
最后感谢各位小伙伴的支持!
,