RetroPie,唤醒你童年记忆的raspberrypi
(2023-01-07 23:14:22)
标签:
树莓派复古游戏 |
分类: 电脑 |
raspberry
pi可以用来做成游戏机。一开始看到完全DIY,那个厉害。现在国内微雪直接提供套件,配合你已经有的树莓派(不同版本)可以做成一个大版的Gameboy,什么都可以玩(言过其实了,PS1可以,PSP可以,PS2不行,NDS目前不行,但是8位16位家用游戏机,以及大量街机模拟是可以的)。微雪这个版本叫Pi43,GB的样子。
RetroPie是可以运行的模拟平台方案之一,我用的这个。最新版本4.8,具体安装各种坑其实还可以,烧录微雪提供的印象到micro
SD卡载入基本可以做到到手即玩,但是有一个坑这里要说一下。
微雪的方案是13个按钮,其中有一个HK也就是hotkey按钮用来调特殊菜单的。以往版本例如retropie
4.6可以用,但4.8这个按键直接消失了。问了客服,回答是官方驱动不支持。然后我就看了一下。
4.8是把这套硬连到GPIO针脚上的操作按键认为“GPIO手柄”,使用的驱动模块是mk arcade joystick
rpi。然而,默认的模块编译,或者说白了,c语言源代码里面是12个键。然而,github上有一个分支,是13个键的,偏偏就被忽略了。微雪是按照13个做的,结果新版官方选择性失明了?
不死心,本来想直接从branch上高高兴兴下载安装的,结果报错。因为内核版本不一致,因为,rpi-update不能运行。这不是新鲜事,也不是没办法。但是真的升级后会不会带进新的问题?所以没有死磕。于是我就查看了一下,retropie里面使用的mk
arcade joystick
rpi版本是0.1.7版本,是GH上根本没的,但不管,直接进去看c文件,的确写了12键。但是这有什么难的?改成13键不就好了!GH上也有源代码。
于是发挥了我的聪明才智,开一个可以compare的编辑器,两边对着改。不复杂,无非是把分别12个GPIO定义,加一个HK,而且肯定准确,因为以前是可以用的。然后就是要找出里面所有for语句,确定那些12循环改成13循环。以及其他类似相关,也就这几个地方。代码肯定不是同一个人写的,风格不一样,但可以改。
改好以后用dkms编译模块,就是原来版本的基础上操作,总可以吧。可以。最后用jstest测试,成功。重启系统以后,进入emulationstation,配置控制器,分配HK。成功。
如果还有其他问题,都是非核心周边问题。比如之前deb安装失败,这个尾巴要清理干净不然每次会跳出来恶心你。然而运行retropie的setup,各种安装,可能会出错,因为GH的关系,这是很狗血的。设置代理吧。还有就是raspbian版本问题,如果用stretch就惨了,源那里一些可能已经断了,所以非常不建议用这个系统,而要用buster。但是最新的又不支持,开发者说我们没有吃饱饭没事干去搞这个。那也好,继续这样吧。
而模拟器相关知识又是另外一个话题。折腾无止尽,为了童年也就拼了。

加载中…