【教程】制作一个GBA上玩PS游戏的外设 心得研究

二级用户 orz_emu 2022-2-24 7383

该设备基于树莓派,基于 https://github.com/rodri042/gba-remote-play 项目设计,PCB由ZaindORp(也就是我啦…)设计。项目支持GBA和GBA sp,以及GBM(但是该机型不支持超频,因此只能运行在标准速度下。而且你得找到昂贵且稀有的GBM的联机线然后剪断进行改装,想想都心疼)。那个GBA卡带壳只起到固定作用,真正数据传输的是联机线接口,因此没有联机线接口的NDS/L不支持该项目。

由于未知原因,项目在我手上这台K101P不正常工作。但目前观察到部分其它人报告可以正常使用的外设在我的这一台上面不工作,因此不确定该情况是个例还是正常。由于没有其它硬解机类型,无法测试其它硬解方案能否运行。


A guy using a GB Micro with a Raspberry Pi attached to it.



该设备不对GBA本体进行任何修改,所有组件均以外接方式连接。尽管如此,建议使用12MHz的晶振在项目运行时使用,以超频三倍实现更高性能。

首先上成品图(因为个穷学生,改不起高亮屏,凑合看吧):


设备主体:

QQ图片20220224134513.jpg


主菜单:

PXL_20220222_074217206.jpg


要制作此项目,你需要:

制作好的PCB*1(你可以在 https://github.com/orzgithub/GBA-pi-extboard/archive/refs/tags/Tested.zip 找到它,是KiCAD的源文件,至于怎么打样,自己找厂家,这里不做推荐。该项目为开源硬件,你可以标注原作者的前提下采用相同开源标准,进行任意的修改和分发。)

直插式的18650电池座*1

14*2pin直双排母*2

14*2pin弯双排针*1

贴片转直插的micro USB接口*1(或者可以使用四个定位脚的Micro USB接口,但是那种我技术不够所以焊不好)

如下图所示的充放电一体模块*1(为什么不直接把充电电路做在电路板上一体化?因为我不会设计充放电电路只好用现成的了QwQ 欢迎有能力的人设计一个把充放电电路集成上去的电路板,GitHub上面的版本欢迎PR)

GBA联机线*1(一个杂牌的就可以,但有些杂牌的GBA联机线是四芯的,没有需要的线序。请自行拆开调整线序。)

需要的线序如下所示:

(从突起一侧为上方看)

空 线 线

线 空 线

18650电池*1

扬声器*2

Micro SD*1(虽然理论上讲8G足够运行这个系统,但仍建议更大容量以装下足够的游戏)

GBA卡外壳*1

M2螺母*2

M2*10螺丝*2

一个树莓派主板*1(推荐购买TPCAST的3B Mini,其与树莓派3B程序兼容而且精简了接口所以体积较小适合该项目,该PCB本为该型号设计。在其它大的树莓派上需要拆除树莓派原排针是麻烦事。此外树莓派Zero w或Zero2也是不错的选择,但它们比较贵且性能稍弱。)


如果你购买的是3B Mini,则还需要以下元件:

2xUSB双层接口*1

USB无线网卡*1(建议选择支持树莓派免驱的网卡。需要额外驱动的网卡请自行配置,这里不提供教程。)

可以焊接的AV接口*1


3B mini应该焊接成这样:


37B18B972599A9C7C7FA2D4B81029378.png

FB6525438CACA05EA03012E4B7575B91.png

其余版型喇叭自行参考。其中排母应该焊接在主板背面1~28号的GPIO位置,对于大树莓派而言你需要先拆除原本焊接的排针。


随后焊接pcb部分。请将PCB和联机线按照这个方向,一一对应的焊接到边缘的六孔接口内(每有对应线的就不接)

5C7D6749367403EBE327F0E76EAF74E8.png

各元件按照此排列方式焊接

EFF77FF5DC601F75240D18F47307DD4A.png

在GBA卡外壳顶部打孔,使得孔距和PCB上凸起部分预留螺丝孔孔距接近,使用螺丝和螺母将PCB垂直固定在GBA卡壳上。

将树莓派主板向下,连接到这块PCB。

如果是3B Mini,请将Wifi网卡插到USB接口上。

到此,硬件部分构建完成。


从Retropi官网下载适用于当前设备的系统,写入储存卡。

连接一个手柄及一个键盘到设备上,连接到显示器。RetroPi的设置相关问题这里不过多讲解。

打开raspi-config,在其中启用ssh和spi。

下载https://github.com/rodri042/gba-remote-play/releases/download/v1.1/gba-remote-play.zip,解压到~/gba-remote-play文件夹当中。

进入gba-remote-play文件夹,使用指令 chmod +x gbarplay.sh multiboot.tool raspi.run 给程序主题增加运行权限。

使用指令 sudo apt-get install -y wiringpi python-pigpio python3-pigp 安装依赖文件。

编辑 /etc/rc.local ,在 exit 0 前加上 /home/pi/gba-remote-play/gbarplay.sh & 以使程序开机自启。

编辑 /boot/config.txt (或者把储存卡用读卡器读取,修改u盘根目录下的config.txt),在末尾加上如下内容:

# Set Aspect Ratio (4:3)

hdmi_safe=0

disable_overscan=1

hdmi_group=2

hdmi_mode=6


# Set GBA Resolution

framebuffer_width=240

framebuffer_height=160


到此,软件搭建完成。


现在,你可以把GBA卡插入GBA的卡带插槽,将联机线接入接口,启动GBA并按下电源模块的按钮启动供电。不久后GBA会进入一个选项界面,将前两项通过左/右调节至100%,然后选择列表最后一项。

至此, 成功进入系统。


上一篇:关于PS2原装网卡改sata的问题
下一篇:PC游戏系统Batocera 这么有些游戏打开闪退.有大神会解决吗
最新回复 (27)
  • 六级用户 进站劣人 2022-2-24
    0 2
    牛逼大了。就是拿GBA做显示器玩PS1游戏?
  • 二级用户 orz_emu 2022-2-24
    0 3
    (我到底在表述些什么…完全说不清楚…应该有人看得懂吧…)
  • 二级用户 orz_emu 2022-2-24
    0 4
    游戏玩家 牛逼大了。就是拿GBA做显示器玩PS1游戏?
    嗯,用GBA作屏幕和手柄,树莓派作主机,玩各种平台的游戏,不止于PS1。如果是基于树莓派3B,一些PSP都可以玩了。
  • 六级用户 进站劣人 2022-2-24
    0 5
    orz_emu 嗯,用GBA作屏幕和手柄,树莓派作主机,玩各种平台的游戏,不止于PS1。如果是基于树莓派3B,一些PSP都可以玩了。
    但是GBA屏幕的分辨率是240×160,这个不够看啊。。。
  • 受限用户 ilovezzg 2022-2-24
    1 6
  • 四级用户 Aiyan 2022-2-24
    0 7

    分享个接口定义图bFeLAs.png

  • 四级用户 onimerokyo 2022-2-24
    0 8
    我看不懂,但是我大受震撼
  • 六级用户 大内高高手 2022-2-24
    0 9
    确实没看懂,直到看了4楼的回复。。。
  • 二级用户 orz_emu 2022-2-24
    0 10
    游戏玩家 但是GBA屏幕的分辨率是240×160,这个不够看啊。。。
    是的,不过至少在GBA上面玩PSP,PS1,甚至是Windows,DOS的一些游戏会是很有趣很新鲜的体验?
  • 二级用户 orz_emu 2022-2-24
    0 11
    ilovezzg GBA说我太累了。。
    跑程序的活全给树莓派接着了,GBA一点都不累?
  • 受限用户 ilovezzg 2022-2-24
    0 12
  • 四级用户 snri 2022-2-24
    0 13
    gba又多了一种外设。不过很有意思,再接下来是不是还可以折腾下gb、gbc外设
  • 二级用户 orz_emu 2022-2-24
    0 14
    ilovezzg GBA被调教成这样还不累
    GBA在那里摸鱼呢,处理器都不用做太复杂的东西。脏活累活全交给树莓派了?看着远超GBA负担,实际上GBA闲着呢…
  • 受限用户 钉龙十 2022-2-24
    0 15
  • 受限用户 无毒有呕 2022-2-24
    0 16
  • 二级用户 orz_emu 2022-2-24
    0 17
    无毒有呕 全篇看完,就有一个疑问,为啥不给这个设备直接安个屏幕,插个手柄直接玩游戏,体验感更好,还能省下来一台GBA。
    大概…就是为了追求那种折腾的乐趣吧。确实很没有意义呢,但在GBA上面玩这些本身就是很有趣的不是吗。
  • 四级用户 三水一米田 2022-2-24
    0 18
    大佬在试图教会我们
  • 受限用户 无毒有呕 2022-2-24
    0 19
  • 二级用户 orz_emu 2022-2-24
    1 20
    无毒有呕 其实以前就有种gbasp外设,插上就可以把gbasp的屏幕当显示器,你都可以接个网络盒子在线看视频的

    那个东西我有一台,是GBA版本的,不能在GBA sp使用。但是只能作为屏幕而不支持手柄作为控制器,也就是说,GBA在那上面的概念是 显示器 而非 掌机。我做这个设备的想法,是保持GBA作为 掌机 的概念,它就像一张烧录卡一样,可以玩各种游戏,只不过这张“烧录卡”比较高级,支持不仅限于GBA的游戏。
    大概就是像NDS上面DSTWO那样的想法吧。尽管性能比原机更强,很多程序是运行在烧录卡本身而把主机只是作为屏幕与手柄使用,但给用户的感觉就是,这是一台整体的掌机。

    当然了,受制于现在我的技术水平,还做不到真正的把这个外设做成卡带那样的形式(如果是GB卡带的大小倒是不妨试试),但是我后续还会慢慢改进,或许可以实现呢…

    • 老男人游戏网配套论坛
      29
        立即登录 立即注册
发新帖
本论坛禁止发布SWITCH和PS4相关资源,若有其他侵权内容,请致邮3360342659#qq.com(#替换成@)删除。