树莓派Zero W复古游戏掌机-Arduino中文社区 - Powered by Discuz! Archiver

吹口琴的钢铁侠 发表于 2017-8-31 23:59

树莓派Zero W复古游戏掌机

本帖最后由 吹口琴的钢铁侠 于 2017-11-1 00:20 编辑

使用batocera配置树莓派Zero W掌机,batocera系统与其他游戏机系统相比性能要求低,非常适合用于Zero这种低配置的板子上使用。
开学之后没有图中这种小的hdmi屏幕了,就用另一个同样的系统的视频来做个演示。
http://v.youku.com/v_show/id_XMzEyNDg4NjE4MA==.html


下载镜像在这个网站,选择针对树莓派Zero W的镜像下载,Windows用Win32DIskImager直接烧写,Linux用dd命令即可。
初次配置通过HDMI线连接电视机或者显示器,给树莓派正常供电,系统会自动分配空间,自动配置完,然后强制关机直接切断电源就行。

配置分辨率考虑到我们需要用小屏幕来作为掌机的显示,系统不会默认就直接适配屏幕,以我的这个5寸屏幕为例


需要修改一些配置文件,这个步骤需要Linux系统或者虚拟机。首先需要修改/RECALBOX目录下的config.txt将下面这段加到里面去(可能需要sudo命令行)。
framebuffer_width=800
framebuffer_height=480
hdmi_force_hotplug=1
hdmi_group=2
hdmi_mode=87
hdmi_cvt800480606000
device_tree=bcm2710-rpi-3-b.dtb
dtparam=spi=on
把/SHARE/system/recalbox.conf中的两处CEA 4 HDMI改成DMT 87 HDMI使用其他屏幕的时候用类似的操作就行了,配置成功之后应该可以使batocera的主屏幕和游戏界面都完全适配使用的硬件屏幕。



设置GPIO控制修改/SHARE/system/recalbox.conf中的两行配置
controllers.gpio.enabled=1
controllers.gpio.args=map=1,2 => controllers.gpio.args=map=1
重启之后就可以尝试用上面这张图的相关引脚了,默认是上拉的引脚,所以只要把引脚比如27号连一下GND,看他会不会有左滑的效果,如果有效果的话,就是说软件上配置成功了,硬件上还需要做一些事情,需要焊一块小型的掌机来操作才行。
总体思路就是在一块洞洞板上焊接需要数量的微动开关,然后每个开关一边连到相应的开关,另一边一起连到GND即可,具体随意就行,包括整个的布局之类的,只要按下去有效果就行了。
比如像我这样的很多飞线的,能用就行...

使用游戏机正式玩游戏之前需要一些其他额外的配置

配置WiFi


游戏上传在无法联网的板子上,我们只能通过直接对SD卡读写,拔下SD卡然后往里面复制粘贴进去游戏ROM文件,需要用Linux系统或者虚拟机来打开SD卡,ROM放置的目录在/recalbox/share/roms,里面有分开各种模拟器的目录,把相应的游戏rom或者压缩包粘贴到相应的模拟器目录下就好了。
网络上传对于能联网的板子,尤其是树莓派3和ZERO w这类有无线WiFi的板子,完全可以通过网络的方式上传游戏文件,而不需要麻烦的插拔SD卡。首先肯定需要联网,可以看上一篇文章中的联网的步骤,确保板子和PC在同一局域网里面打开我的电脑中的网络,应该能看到RECALBOX的一个网络位置


进入这个位置,就能看到下面的目录结构



直接复制相应的ROM文件到对应的模拟器目录下面,然后在游戏机上,进入主菜单的游戏设置,然后选择更新游戏列表,之后再进入对应的模拟器目录,就能看到刚刚复制进去的游戏了。有时候可能在网络中直接看不到这个网络位置,我们也能在我的电脑的地址栏里面,直接输入\\RECALBOX或者对用的ip地址,比如\\192.168.3.18,应该也能进入上面的那个目录结构,然后做类似的操作即可。
最后就能用自己做的手柄开始玩各种复古游戏了,只要你能找到它的ROM。


syl312 发表于 2017-10-19 23:23

1.感谢对社区比赛的支持,项目贴中缺少作品的演示视频,请补充完整。具体要求请参考:
http://www.arduino.cn/thread-47517-1-1.html
2.开发者积分和贡献值已发放,请点击以下链接领取纪念衫并参与抽奖~
http://www.arduino.cn/thread-48132-1-1.html
3.比赛结果会在11.15号前公布,请耐心等待。
页: [1]
查看完整版本: 树莓派Zero W复古游戏掌机