分享一下我最近开始玩 MiSTer 上的 AO486 电脑的心得,主要着重在音效音乐方面的
模拟效果。
OPL/OPL3 FM 音源模拟问题
我发现 AO486 模拟 AdLib 声卡,也就是所谓 YAMAHA OPL2 / OPL3 这颗 FM 音源
是有缺陷的,并不是每一个游戏都会遇到问题,但是拿出当年 AdLib 的公用程式像是
点唱机或作曲机来播放音乐时,会发现打击乐器的音色表现不正常,多半缺乏或怪怪
的。
Sound Blaster 模拟问题
在 1992 年的芬兰组合语言大赛冠军作品 Unreal 中,若声卡选择 Sound Blaster
Pro,则出现的声音曲调慢一倍,频率也慢一倍,但选择 Sound Blaster 时就正常。
MIDI 模拟问题
MiSTer 内建 Midilink 模组,提供两种音源的模拟,一个是 Roland MT-32 也就是
Munt,另外一个是可以挂载任何 SoundFont 音色档的 FluidSynth。FluidSynth 使用
上很轻量,我还没有遇到问题,但是 Munt 是以软件模拟 Roland MT-32 的运作,这
需要大量的运算,以 MiSTer 用的 DE10-Nano 机板来说其实是不够力的,所以声音多
半会有问题,这是一个已知、不能解决、且不算是真正问题的问题。
但我遇到一个状况,就是使用 Munt 时完全无声,但是切换到 FluidSynth 又有声音
。看 scripts/midilink_update 的过程有更新过 /sbin 下的两个档案,因此知道
midilink 是安装于 /sbin 下,于是用 SSH 连入 MiSTer 操作 /sbin/midilink 看出
现的错误讯息后发现 Munt 确实无法正常启动,观察 /sbin/ 下有一个奇怪的档案叫
做 mt32d_old,把这个档案 mv 或 cp 成 mt32d 后,Munt 就可以正常启动,也就听
得到声音了。
目前我推测是某一版 MiSTer 核心错置了档案,之后没有人发现此问题,可能已经错
了好几版,且这个问题不能透过 scripts/midilink_update 修正过来,/sbin 这个路
径也无法使用 FTP 进来操作,一定要使用 SSH terminal 类的工具连入 MiSTer 进行
操作才能修正回来。
当然听得到声音的前提是有安装正确的 MT-32 或 CM-32L 的 ROM BIOS 与音色档,这
方面只要有执行过 scripts/midilink_update 就没问题了,会自动安装进来放在正确
的路径下。
另外就是 AO486 虽然模拟了 MPU-401,但是不具备 MPU-401 的 Intelligent Mode
,这方面看网络讨论都是说安装一个近年由 DOSBox 团队技术提供的 SOFTMPU 工具,
这是一个 DOS 下的常驻工具程式(TSR),目的是让实体电脑上的 MPU-401 相容卡提供
出 Intelligent Mode,所以自然也可以让 AO486 提供出 Intelligent Mode。但不管
我怎么配置,都是看到 SOFTMPU 的成功执行画面,但没有正确效果,这包括在美少女
梦工厂2中还是听不到音乐,也无法在 Dynaware Ballade2 编曲软件中操作且会当机,
研究努力了数小时依然如此,就先把这个经验分享于此给大家参考。
====写在后面====
最近两个月玩 MiSTer 这东西,要感谢板上的大大 chris38c28,他分享了很多
MiSTer 的知识,减少了我不少的时间。
以上这些心得,以及更多关于我玩 MiSTer 的心得,有做成部落格文章和影片,都分
享在我的部落格了:
https://www.dearhoney.idv.tw/2352/mister-de10-nano-zero-lag-emulator/
https://www.youtube.com/watch?v=4UpCPGzq8XA