原帖由 @wonder1999 于 2017-12-29 10:44 发表
爆音问题实际上是编译器的锅。
微软编译器及X86 GCC对char 类型的定义是signed char ,MAME当初开发时也是以此为准,但ARM GCC却把char 定义为unsigned char ,所以同样的代码在ARM平台却有不同的运行结果。
编译时加入fsignedchar参数,要求ARM GCC把char按照signed char解释即可。
如果你的MAME2003来自buildbot.libreteo.com ,那可就说明很多时候官方核心仍不靠谱啊
原帖由 @genesisx 于 2017-12-29 11:15 发表
鲛鲛鲛的声音也ok了么?
原帖由 china_ktv 于 2017-12-29 11:15 发表
posted by wap, platform: 小米 红米 NOTE
是官方核心,不是我自己编译的。爆音问题在PPC平台的Wii上也存在,我编译过Wii用的irem92驱动,玩铁钩船长也是爆音。
原帖由 @wonder1999 于 2017-12-29 11:56 发表
mame2003的Makefile line 387 line 391 有如下一段
# use fsignedchar on ARM to solve potential problems with code written/tested on x86
# eg on mame2003 audio on rtype leo is wrong without it.
ifeq ($(ARM), 1)
PLATCFLAGS += fsignedchar
endif
我只不过把这个问题解释的更清楚了而已。
如果有编译环境,可以 make platform=rpi2 或make platform=rpi3 ,确保能引用到以上部分。
或者有树莓派的Retropie系统,则直接选用自sources更新, 也能编译得到正确的核心
建议楼主换掉这个爆音版本,还是提供一个完美些的好 。楼主辛苦了
欢迎光临 TGFC Lifestyle (http://club.tgfcer.com/) | Powered by Discuz! 6.0.0 |