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

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 14856|回复: 1

[项目] 树莓派Zero W复古游戏掌机

[复制链接]
发表于 2017-8-31 23:59 | 显示全部楼层 |阅读模式
本帖最后由 吹口琴的钢铁侠 于 2017-11-1 00:20 编辑

使用batocera配置树莓派Zero W掌机,batocera系统与其他游戏机系统相比性能要求低,非常适合用于Zero这种低配置的板子上使用。

开学之后没有图中这种小的hdmi屏幕了,就用另一个同样的系统的视频来做个演示。


IMG_8258.JPG

下载镜像
这个网站,选择针对树莓派Zero W的镜像下载,Windows用Win32DIskImager直接烧写,Linux用dd命令即可。

初次配置
通过HDMI线连接电视机或者显示器,给树莓派正常供电,系统会自动分配空间,自动配置完,然后强制关机直接切断电源就行。

0296054c4-b2d6-4579-8f5a-6db3c1dfeac5.jpeg

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

0cb6a43ef-3b95-4217-aed7-bb84230185fd.jpeg

0592b8731-8c2f-4052-8662-d37a2ce9d429.jpeg

需要修改一些配置文件,这个步骤需要Linux系统或者虚拟机。
首先需要修改/RECALBOX目录下的config.txt
将下面这段加到里面去(可能需要sudo命令行)。

[mw_shl_code=bash,true]framebuffer_width=800
framebuffer_height=480
hdmi_force_hotplug=1
hdmi_group=2
hdmi_mode=87
hdmi_cvt  800  480  60  6  0  0  0
device_tree=bcm2710-rpi-3-b.dtb
dtparam=spi=on[/mw_shl_code]

把/SHARE/system/recalbox.conf中的两处CEA 4 HDMI改成DMT 87 HDMI
使用其他屏幕的时候用类似的操作就行了,配置成功之后应该可以使batocera的主屏幕和游戏界面都完全适配使用的硬件屏幕。

0280620b0-8c0e-49f7-a153-c84ff37348bb.jpeg

0b5bbdd84-b8c0-4d5d-be98-a28e0f463870.jpeg

0120fd73b-e773-40b0-bc7a-804641aa5462.jpeg

设置GPIO控制
修改/SHARE/system/recalbox.conf中的两行配置

[mw_shl_code=bash,true]controllers.gpio.enabled=1  
controllers.gpio.args=map=1,2 => controllers.gpio.args=map=1[/mw_shl_code]
68747470733a2f2f7777772e64726f70626f782e636f6d2f732f6378786c386667686b6537786f34.jpg

重启之后就可以尝试用上面这张图的相关引脚了,默认是上拉的引脚,所以只要把引脚比如27号连一下GND,看他会不会有左滑的效果,如果有效果的话,就是说软件上配置成功了,硬件上还需要做一些事情,需要焊一块小型的掌机来操作才行。

总体思路就是在一块洞洞板上焊接需要数量的微动开关,然后每个开关一边连到相应的开关,另一边一起连到GND即可,具体随意就行,包括整个的布局之类的,只要按下去有效果就行了。

比如像我这样的很多飞线的,能用就行...


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

00bcc7210-c2dc-4d51-9a22-c765e7adc9b2.jpeg

配置WiFi

IMG_8256.JPG

IMG_8257.JPG

游戏上传

在无法联网的板子上,我们只能通过直接对SD卡读写,拔下SD卡然后往里面复制粘贴进去游戏ROM文件,需要用Linux系统或者虚拟机来打开SD卡,ROM放置的目录在/recalbox/share/roms,里面有分开各种模拟器的目录,把相应的游戏rom或者压缩包粘贴到相应的模拟器目录下就好了。


网络上传

对于能联网的板子,尤其是树莓派3和ZERO w这类有无线WiFi的板子,完全可以通过网络的方式上传游戏文件,而不需要麻烦的插拔SD卡。

首先肯定需要联网,可以看上一篇文章中的联网的步骤,确保板子和PC在同一局域网里面

打开我的电脑中的网络,应该能看到RECALBOX的一个网络位置


3-3.png


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

4-2.png


直接复制相应的ROM文件到对应的模拟器目录下面,然后在游戏机上,进入主菜单的游戏设置,然后选择更新游戏列表,之后再进入对应的模拟器目录,就能看到刚刚复制进去的游戏了。

有时候可能在网络中直接看不到这个网络位置,我们也能在我的电脑的地址栏里面,直接输入\\RECALBOX或者对用的ip地址,比如\\192.168.3.18,应该也能进入上面的那个目录结构,然后做类似的操作即可。


最后就能用自己做的手柄开始玩各种复古游戏了,只要你能找到它的ROM。


发表于 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号前公布,请耐心等待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-1 00:06 , Processed in 0.078805 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表